3_1_6_180

This commit is contained in:
Компания 1С committed 2022-04-04 17:00:00 +03:00
1 parent 9623494cce
commit 5b5aa608ea
299 files changed
+5277 -3996

No files matched your search

@@ -1960,7 +1960,7 @@
ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетовПереопределяемый.Описание КАК СТРОКА(1000))
КОНЕЦ КАК Описание,
&ИмяОтчета КАК ИмяОтчета,
СведенияОРасширениях.ПолноеИмяОбъекта КАК ПолноеИмяОтчета,
СведенияОРасширенияхПереопределяемый.ПолноеИмяОбъекта КАК ПолноеИмяОтчета,
ВЫБОР
КОГДА ВариантыОтчетовПереопределяемый.ПометкаУдаления = ИСТИНА
ТОГДА 4
@@ -1974,9 +1974,9 @@
ПО ВариантыОтчетовПереопределяемый.ПредопределенныйВариант = ВариантыКонфигурацииПереопределяемый.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширенийПереопределяемый
ПО ВариантыОтчетовПереопределяемый.ПредопределенныйВариант = ВариантыРасширенийПереопределяемый.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИдентификаторыОбъектовВерсийРасширений КАК СведенияОРасширениях
ПО СведенияОРасширениях.ВерсияРасширений = &ВерсияРасширений
И СведенияОРасширениях.Идентификатор = ВариантыОтчетовПереопределяемый.Отчет
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИдентификаторыОбъектовВерсийРасширений КАК СведенияОРасширенияхПереопределяемый
ПО СведенияОРасширенияхПереопределяемый.ВерсияРасширений = &ВерсияРасширений
И СведенияОРасширенияхПереопределяемый.Идентификатор = ВариантыОтчетовПереопределяемый.Отчет
ГДЕ
ВариантыОтчетовПереопределяемый.Отчет В (&ДоступныеОтчеты)
И ВЫБОР
@@ -106,7 +106,7 @@
СтандартнаяОбработка = Ложь;
Если ПараметрыОткрытия.ТипОтчета = "Дополнительный" Тогда // Для платформы.
ВыбраннаяФорма = "Справочник.ВариантыОтчетов.Форма.ФормаЭлемента";
ВыбраннаяФорма = "Справочник.ВариантыОтчетов.ФормаОбъекта";
Параметры.Вставить("ПараметрыОткрытияФормыОтчета", ПараметрыОткрытия);
Возврат;
КонецЕсли;
@@ -1146,7 +1146,7 @@
ВерсииФайловПереопределяемый.Комментарий КАК Комментарий,
ВерсииФайловПереопределяемый.Автор КАК Автор,
ВерсииФайловПереопределяемый.ДатаСоздания КАК ДатаСоздания,
ВерсииФайловПереопределяемый.ПолноеНаименование КАК ПолноеНаименование,
ВерсииФайловПереопределяемый.Наименование КАК ПолноеНаименование,
ВерсииФайловПереопределяемый.РодительскаяВерсия КАК РодительскаяВерсия,
ВЫБОР
КОГДА ВерсииФайловПереопределяемый.ПометкаУдаления
@@ -299,7 +299,7 @@
| ВерсииФайлов.Комментарий КАК Комментарий,
| ВерсииФайлов.Автор КАК Автор,
| ВерсииФайлов.ДатаСоздания КАК ДатаСоздания,
| ВерсииФайлов.ПолноеНаименование КАК ПолноеНаименование,
| ВерсииФайлов.Наименование КАК ПолноеНаименование,
| ВерсииФайлов.РодительскаяВерсия КАК РодительскаяВерсия,
| ВЫБОР
| КОГДА ВерсииФайлов.ПометкаУдаления
@@ -287,7 +287,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Список.ПолноеНаименование</segments>
<segments>Список.Description</segments>
</dataPath>
<extendedTooltip>
<name>СписокПолноеНаименованиеРасширеннаяПодсказка</name>
@@ -969,7 +969,7 @@
ВерсииФайлов.Комментарий,
ВерсииФайлов.Автор,
ВерсииФайлов.ДатаСоздания,
ВерсииФайлов.ПолноеНаименование,
ВерсииФайлов.Наименование,
ВерсииФайлов.ИндексКартинки,
ВерсииФайлов.ПометкаУдаления,
ВерсииФайлов.Расширение,
@@ -31,10 +31,6 @@
СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
КонецЕсли;
Если ТипЗнч(Владелец) = Тип("СправочникСсылка.Файлы") Тогда
Наименование = СокрЛП(ПолноеНаименование);
КонецЕсли;
Если Владелец.ТекущаяВерсия = Ссылка Тогда
Если ПометкаУдаления = Истина И Владелец.ПометкаУдаления <> Истина Тогда
ВызватьИсключение НСтр("ru = 'Активную версию нельзя удалить.'");
@@ -230,25 +230,6 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="f8ab477c-8e78-48c0-9f99-27748b109706">
<name>УдалитьЗашифрован</name>
<synonym>
<key>ru</key>
<value>(не используется) Зашифрована</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<toolTip>
<key>ru</key>
<value>Признак того, что версия файла зашифрована</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="24cff6c8-6c20-4383-b97c-6afa52738960">
<name>ИндексКартинки</name>
<synonym>
@@ -315,50 +296,6 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="2d51aae9-650d-4719-a94d-2609b69a2d36">
<name>УдалитьПодписанЭП</name>
<synonym>
<key>ru</key>
<value>(не используется) Подписана электронно</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<toolTip>
<key>ru</key>
<value>Признак того, что версия файла подписана электронно</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="6025f5b5-6dc7-46b8-96e6-02823c5b4de7">
<name>ПолноеНаименование</name>
<synonym>
<key>ru</key>
<value>Полное наименование</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>256</length>
</stringQualifiers>
</type>
<toolTip>
<key>ru</key>
<value>Имя версии файла (без расширения) длиной до 256 символов</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value> </value>
</fillValue>
<indexing>Index</indexing>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="5d9d88ea-b2e4-425c-bb4d-a005e867d56c">
<name>ПутьКФайлу</name>
<synonym>
@@ -369,7 +369,7 @@
<titleLocation>Right</titleLocation>
<toolTip>
<key>ru</key>
<value>Поле контактной информации хранит не только текущее значение, но и его историю изменений на указанную дату. Для просмотра истории необходимо в контекстном меню элемента контактной информации выбрать пункт «История изменений».</value>
<value>Поле контактной информации хранит не только текущее значение, но и его историю изменений на указанную дату. Для просмотра истории выберите в контекстном меню пункт &quot;История изменений&quot;.</value>
</toolTip>
<toolTipRepresentation>Button</toolTipRepresentation>
<handlers>
@@ -238,7 +238,7 @@
КонецПроцедуры
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНастройкеНачальногоЗаполненияЭлемента
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНастройкеНачальногоЗаполненияЭлементов
//
// Параметры:
// Объект - СправочникОбъект.ВидыКонтактнойИнформации - заполняемый объект.
@@ -22,7 +22,7 @@
ПараметрыФормы.Вставить("Отображение", "Список");
ПараметрыФормы.Вставить("ПроверкаДополнительныхОтчетовИОбработок", Истина);
ОткрытьФорму("Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаСписка", ПараметрыФормы);
ОткрытьФорму("Справочник.ДополнительныеОтчетыИОбработки.ФормаСписка", ПараметрыФормы);
КонецПроцедуры
&НаКлиенте
@@ -107,7 +107,7 @@
ВозможнаяПричина = НСтр("ru = 'График не был заполнен на очередной календарный год'");
Иначе
Если Выборка.ДатаОкончания < ДатаНеобходимойЗаполненности Тогда
ВозможнаяПричина = НСтр("ru = 'Период заполнения графика ограничен (см. поле «Дата окончания»)'")
ВозможнаяПричина = НСтр("ru = 'Период заполнения графика ограничен (см. поле ""Дата окончания"").'")
КонецЕсли;
КонецЕсли;
КонецЕсли;
@@ -269,7 +269,7 @@
</title>
<toolTip>
<key>ru</key>
<value>Если дата «по» не заполнена, график будет заполняться
<value>Если дата &quot;по&quot; не заполнена, график будет заполняться
по указанному шаблону до конца года производственного календаря</value>
</toolTip>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
@@ -726,7 +726,7 @@
КонецЕсли;
// Переносим результат в исходное соответствие заполнения,
// чтобы не «затереть» даты, не входящие в интервал заполнения.
// чтобы не затереть даты, не входящие в интервал заполнения.
ДниГрафикаСоответствие = Новый Соответствие(ДниГрафика);
ДатаДня = Объект.ДатаНачала;
ДатаОкончания = Объект.ДатаОкончания;
@@ -912,7 +912,7 @@
ДоступноЗаполнениеПоШаблону = Ложь;
Если Форма.РучноеРедактирование Тогда
ИнформационныйТекст = НСтр("ru = 'График работы на текущий год изменен вручную.
|Нажмите «Заполнить по шаблону» чтобы вернуться к автоматическому заполнению.'");
|Нажмите ""Заполнить по шаблону"", чтобы вернуться к автоматическому заполнению.'");
ИнформационнаяКартинка = БиблиотекаКартинок.Предупреждение;
ДоступноЗаполнениеПоШаблону = Истина;
Иначе
@@ -923,7 +923,7 @@
КонецЕсли;
Иначе
ИнформационныйТекст = НСтр("ru = 'Отображаемый результат не соответствует настройке шаблона.
|Нажмите «Заполнить по шаблону», чтобы увидеть как выглядит график работы с учетом изменений шаблона.'");
|Нажмите ""Заполнить по шаблону"", чтобы увидеть как выглядит график работы с учетом изменений шаблона.'");
ИнформационнаяКартинка = БиблиотекаКартинок.Предупреждение;
ДоступноЗаполнениеПоШаблону = Истина;
КонецЕсли;
@@ -214,7 +214,7 @@
</type>
<toolTip>
<key>ru</key>
<value>Значение доступа, группа значений доступа, ключ доступа, идентификатор списка или значение для условия, которое извлекается через поле доступа (непосредственно или как группа значения доступа или через «точку» или через соединение)</value>
<value>Значение доступа, группа значений доступа, ключ доступа, идентификатор списка или значение для условия, которое извлекается через поле доступа (непосредственно или как группа значения доступа или через &quot;точку&quot; или через соединение)</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
@@ -324,7 +324,7 @@
ПараметрыФормы.Вставить("ЭтоДополнительноеСведение", ЭтоНаборыДополнительныхСведений);
ПараметрыФормы.Вставить("ТекущийНаборСвойств", ТекущийНабор);
ОткрытьФорму("ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Форма.ФормаЭлемента",
ОткрытьФорму("ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.ФормаОбъекта",
ПараметрыФормы, Элементы.Свойства);
КонецПроцедуры
@@ -317,7 +317,7 @@
КонецПроцедуры
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНастройкеНачальногоЗаполненияЭлемента
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНастройкеНачальногоЗаполненияЭлементов
//
// Параметры:
// Объект - СправочникОбъект.ВидыКонтактнойИнформации - заполняемый объект.
@@ -399,7 +399,9 @@
// Только для внутреннего использования.
//
// Параметры:
// НаборыСвойств - Соответствие
// НаборыСвойств - Соответствие из КлючЗначение:
// * Ключ - Строка, СправочникСсылка.НаборыДополнительныхРеквизитовИСведений
// * Значение - см. НовыеСвойстваНабора
// Набор - СтрокаДереваЗначений:
// * Имя - Строка
// * ЭтоГруппа - Булево
@@ -420,13 +422,10 @@
//
Функция СвойстваНабора(НаборыСвойств, Набор, Родитель = Неопределено, Наименования = Неопределено) Экспорт
ЗаголовокОшибки =
НСтр("ru = 'Ошибка в процедуре %1
|общего модуля %2.'")
+ Символы.ПС
+ Символы.ПС;
ЗаголовокОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ЗаголовокОшибки, "ПриСозданииПредопределенныхНаборовСвойств", "УправлениеСвойствамиПереопределяемый");
ЗаголовокОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка в процедуре %1 общего модуля %2.'"),
"ПриСозданииПредопределенныхНаборовСвойств", "УправлениеСвойствамиПереопределяемый")
+ Символы.ПС + Символы.ПС;
Если Не ЗначениеЗаполнено(Набор.Имя) Тогда
ВызватьИсключение ЗаголовокОшибки + НСтр("ru = 'Имя набора свойств не заполнено.'");
@@ -451,7 +450,7 @@
КонецЕсли;
Если НаборыСвойств.Получить(НаборСсылка) <> Неопределено Тогда
СвойстваНабора = НаборыСвойств.Получить(НаборСсылка);
СвойстваНабора = НаборыСвойств.Получить(НаборСсылка); // см. НовыеСвойстваНабора
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Идентификатор ""%1"" набора свойств
|""%2"" уже используется для набора ""%3"".'"),
@@ -11,7 +11,13 @@
#Область ОбработчикиСобытий
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Наименование = ВладелецДанных + " / " + ИмяИнтернетСервиса;
КонецПроцедуры
#КонецОбласти
@@ -97,6 +97,10 @@
<createOnInput>Use</createOnInput>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<objectPresentation>
<key>ru</key>
<value>Настройки авторизации Интернет-сервиса</value>
</objectPresentation>
<levelCount>2</levelCount>
<foldersOnTop>true</foldersOnTop>
<descriptionLength>50</descriptionLength>
@@ -12,17 +12,12 @@
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ПараметрыФормы = Новый Структура;
Если ТипЗнч(ПараметрыВыполненияКоманды.Источник) = Тип("ФормаКлиентскогоПриложения") Тогда
Если ПараметрыВыполненияКоманды.Источник.ИмяФормы =
"Справочник.Пользователи.Форма.ФормаСписка" Тогда
"Справочник.Пользователи.Форма.ФормаСписка" Тогда
ПараметрыФормы.Вставить("Отбор", "Пользователи");
ИначеЕсли ПараметрыВыполненияКоманды.Источник.ИмяФормы =
"Справочник.ВнешниеПользователи.Форма.ФормаСписка" Тогда
"Справочник.ВнешниеПользователи.Форма.ФормаСписка" Тогда
ПараметрыФормы.Вставить("Отбор", "ВнешниеПользователи");
КонецЕсли;
КонецЕсли;
@@ -9,7 +9,7 @@
////////////////////////////////////////////////////////////////////////////////
// ИСПОЛЬЗОВАНИЕ ФОРМЫ //
//
// Описание параметров формы см. ПользователиПереопределяемый.ПриОпределенииФормыПодбораПользователей
// Описание параметров формы см. ПользователиПереопределяемый.ПриОпределенииФормыВыбораПользователей
//
#Область ОписаниеПеременных
@@ -47,7 +47,7 @@
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Производственный календарь «%1» на %2 год'"),
НСтр("ru = 'Производственный календарь ""%1"" на %2 год'"),
ПараметрыПечати.ПроизводственныйКалендарь,
Формат(ПараметрыПечати.НомерГода, "ЧГ=;"));
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
@@ -764,7 +764,7 @@
Блокировка.Заблокировать();
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
ОтменитьТранзакцию();
ЗафиксироватьТранзакцию();
Возврат;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
@@ -62,7 +62,7 @@
Выборка.Следующий();
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Календарь уже является базовым для календаря «%1» и не может зависеть от другого.'"),
НСтр("ru = 'Календарь уже является базовым для календаря ""%1"" и не может зависеть от другого.'"),
Выборка.Ссылка);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, Выборка.Ссылка, , "Объект.БазовыйКалендарь", Отказ);
@@ -375,7 +375,7 @@
Дело.Важное = Истина;
Дело.Представление = НСтр("ru = 'Профили групп доступа'");
Дело.Количество = КоличествоНесовместимыхПрофилейГруппДоступа;
Дело.Форма = "Справочник.ПрофилиГруппДоступа.Форма.ФормаСписка";
Дело.Форма = "Справочник.ПрофилиГруппДоступа.ФормаСписка";
Дело.ПараметрыФормы= Новый Структура("ПрофилиСРолямиПомеченнымиНаУдаление", Истина);
Дело.Владелец = ИдентификаторПрофиля;
@@ -2349,11 +2349,6 @@
////////////////////////////////////////////////////////////////////////////////
// Клиент, Сервер
&НаКлиентеНаСервереБезКонтекста
Процедура ПереключитьСтраницу(Элементы, ИмяНабораСтраниц, СуффиксТекущейСтраницы)
Элементы[ИмяНабораСтраниц].ТекущаяСтраница = Элементы[ИмяНабораСтраниц + СуффиксТекущейСтраницы];
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ПарольСкрыт()
Возврат "********";
@@ -2431,7 +2426,8 @@
// Видимость & Доступность
Элементы.Родитель.Доступность = Не Объект.Личная;
ПереключитьСтраницу(Элементы, "ВидыРассылки", ?(Объект.Личная, "Личная", "ДляПолучателей"));
Элементы.ВидыРассылки.ТекущаяСтраница = ?(Объект.Личная, Элементы.ВидыРассылкиЛичная,
Элементы.ВидыРассылкиДляПолучателей);
Элементы.ДругиеСпособыДоставки.Видимость = РассылкаОбщая;
Элементы.ИспользоватьЭлектроннуюПочту.Видимость = РассылкаОбщая;
@@ -2532,8 +2528,11 @@
Элементы.СтраницаДоставка.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Доставка (%1)'"), СпособыДоставки);
КонецЕсли;
Если Изменения = "" Или Изменения = "ПисьмоВФорматеHTML" Тогда
ПереключитьСтраницу(Элементы, "СтраницыТекстПисьма", ?(Объект.ПисьмоВФорматеHTML, "HTML", "ОбычныйТекст"));
Если ПустаяСтрока(Изменения) Или СтрСравнить(Изменения, "ПисьмоВФорматеHTML") = 0 Тогда
Элементы.СтраницыТекстПисьма.ТекущаяСтраница = ?(Объект.ПисьмоВФорматеHTML,
Элементы.СтраницыТекстПисьмаHTML, Элементы.СтраницыТекстПисьмаОбычныйТекст);
КонецЕсли;
Если Изменения = "" Или Изменения = "Архивировать" Тогда
@@ -2924,16 +2923,11 @@
&НаСервере
Процедура ЗаполнитьРасписаниеПоВарианту(Вариант, ОбновитьВидимость = Ложь)
// Список вариантов - см. РассылкаОтчетовКлиентСервер.СписокВариантовЗаполненияРасписаний().
Расписание = Новый РасписаниеРегламентногоЗадания;
// в 7:30 утра
Расписание.ВремяНачала = '00010101073000';
// каждый день
Расписание.ПериодПовтораДней = 1;
Расписание.ВремяНачала = '00010101073000'; // в 7:30 утра
Расписание.ПериодПовтораДней = 1; // каждый день
// по дням недели
ДеньНеделиМин = 1;
ДеньНеделиМакс = 7;
@@ -192,7 +192,7 @@
КонецПроцедуры
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНастройкеНачальногоЗаполненияЭлемента
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНастройкеНачальногоЗаполненияЭлементов
//
// Параметры:
// Объект - СправочникОбъект.РолиИсполнителей - заполняемый объект.
@@ -70,8 +70,10 @@
&НаКлиенте
Процедура Перевыпустить(Команда)
ПараметрыФормы = Новый Структура("СертификатОснование", Сертификат);
ОткрытьФорму("Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Форма.Форма", ПараметрыФормы);
ПараметрыСоздания = Новый Структура;
ПараметрыСоздания.Вставить("СоздатьЗаявление", Истина);
ПараметрыСоздания.Вставить("СертификатОснование", Сертификат);
ЭлектроннаяПодписьСлужебныйКлиент.ДобавитьСертификат(ПараметрыСоздания);
КонецПроцедуры
@@ -83,7 +85,7 @@
Процедура ОткрытьСертификатПослеВыбораИзСписка(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Неопределено Тогда
ОткрытьФорму("Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Форма.ФормаЭлемента",
ОткрытьФорму("Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.ФормаОбъекта",
Новый Структура("Ключ", Результат.Значение));
КонецЕсли;
@@ -520,7 +520,9 @@
Если ЭлектроннаяПодписьСлужебныйКлиент.ЭтоОперацияОблачнойПодписи(ЭтотОбъект) Тогда
ЭлектроннаяПодписьСлужебныйКлиент.УстановитьСвойстваОблачнойПодписи(ОписаниеДанных,
Новый Структура("УчетнаяЗапись, ДанныеПодтверждения", ЭтотОбъект.НастройкиПользователя, ЭтотОбъект.ДанныеПодтверждения));
Новый Структура("УчетнаяЗапись, ДанныеПодтверждения",
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьДанныеОблачнойПодписи(ЭтотОбъект, "НастройкиПользователя"),
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьДанныеОблачнойПодписи(ЭтотОбъект, "ДанныеПодтверждения")));
Иначе
ЭлектроннаяПодписьСлужебныйКлиент.УстановитьСвойстваОблачнойПодписи(ОписаниеДанных,
Новый Структура("УчетнаяЗапись, ДанныеПодтверждения"));
@@ -1327,8 +1327,10 @@
ИначеЕсли Результат.Выполнено И Результат.Результат Тогда
ОписаниеОшибки = "";
Иначе
ОписаниеОшибки = Результат.СтатусОшибки.ИсходныйТекст;
ОписаниеОшибки = ЭлектроннаяПодписьСлужебныйКлиент.ТекстОшибкиОблачнаяПодпись("ПроверкаСертификата",
Результат, Истина);
КонецЕсли;
УстановитьЭлемент(ЭтотОбъект, "ДанныеСертификата", Истина, ОписаниеОшибки, Истина, ОбъединятьРезультаты);
Если Контекст.ПроверкаВСервисеВместоПроверкиНаСервере Тогда
@@ -1453,7 +1455,8 @@
ОписаниеОшибки = НСтр("ru = 'Форма проверки закрыта.'");
ИначеЕсли РезультатВызова <> Неопределено Тогда
Если Не РезультатВызова.Выполнено Тогда
ОписаниеОшибки = РезультатВызова.СтатусОшибки.ИсходныйТекст;
ОписаниеОшибки = ЭлектроннаяПодписьСлужебныйКлиент.ТекстОшибкиОблачнаяПодпись(
"ПроверкаПодписи", РезультатВызова, Истина);
Иначе
ОписаниеОшибки = "";
КонецЕсли;
@@ -1913,15 +1916,19 @@
КонецЕсли;
КонецЕсли;
Иначе
ГруппаОшибка = Форма.Элементы[НачалоЭлемента + ?(НаСервере, "ОшибкаСервер", "ОшибкаКлиент")];
ЭлементРешение = Форма.Элементы[НачалоЭлемента
+ ?(НаСервере, "РешениеСерверНадпись", "РешениеКлиентНадпись")];
ЗначениеПроверки = ?(ОписаниеОшибки = Неопределено, Неопределено, Истина);
Если (ОбъединятьРезультаты = "ОбъединятьПоИ"
Или ОбъединятьРезультаты = "ОбъединятьПоИли") Тогда
Если ЗначениеПроверки = Неопределено
И ЗначениеПроверкиВторогоКонтекста = Неопределено Тогда
ГруппаОшибка.Видимость = Ложь;
ЭлементРешение.Видимость = Ложь;
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаНеВыполнялась;
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка не выполнялась.'");
@@ -1940,6 +1947,7 @@
ИначеЕсли ЗначениеПроверки <> Неопределено
И ЗначениеПроверкиВторогоКонтекста = Неопределено Тогда
ГруппаОшибка.Видимость = Ложь;
ЭлементРешение.Видимость = Ложь;
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
@@ -1952,6 +1960,7 @@
ЗначениеПроверки Или ЗначениеПроверкиВторогоКонтекста);
Если РезультатПроверки Тогда
ГруппаОшибка.Видимость = Ложь;
ЭлементРешение.Видимость = Ложь;
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
@@ -1972,6 +1981,7 @@
Или Не ПроверкиВторогоКонтекста.Свойство(НачалоЭлемента + "Ошибка")
Или ПустаяСтрока(ПроверкиВторогоКонтекста[НачалоЭлемента + "Ошибка"]) Тогда
ГруппаОшибка.Видимость = Ложь;
ЭлементРешение.Видимость = Ложь;
ЭлементНадпись.Гиперссылка = Ложь;
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
@@ -535,7 +535,9 @@
Если ЭлектроннаяПодписьСлужебныйКлиент.ЭтоОперацияОблачнойПодписи(ЭтотОбъект) Тогда
ЭлектроннаяПодписьСлужебныйКлиент.УстановитьСвойстваОблачнойПодписи(ОписаниеДанных,
Новый Структура("УчетнаяЗапись, ДанныеПодтверждения", ЭтотОбъект.НастройкиПользователя, ЭтотОбъект.ДанныеПодтверждения));
Новый Структура("УчетнаяЗапись, ДанныеПодтверждения",
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьДанныеОблачнойПодписи(ЭтотОбъект, "НастройкиПользователя"),
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьДанныеОблачнойПодписи(ЭтотОбъект, "ДанныеПодтверждения")));
Иначе
ЭлектроннаяПодписьСлужебныйКлиент.УстановитьСвойстваОблачнойПодписи(ОписаниеДанных,
Новый Структура("УчетнаяЗапись, ДанныеПодтверждения"));
@@ -519,7 +519,7 @@
Процедура ОткрытьСертификатПослеВыбораИзСписка(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Неопределено Тогда
ОткрытьФорму("Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Форма.ФормаЭлемента",
ОткрытьФорму("Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.ФормаОбъекта",
Новый Структура("Ключ", Результат.Значение));
КонецЕсли;
@@ -878,7 +878,8 @@
Если ЭлектроннаяПодписьСлужебныйКлиент.ЭтоОперацияОблачнойПодписи(ЭтотОбъект) Тогда
ЭлектроннаяПодписьСлужебныйКлиент.УстановитьСвойстваОблачнойПодписи(ОписаниеДанных,
Новый Структура("УчетнаяЗапись", ЭтотОбъект.НастройкиПользователя));
Новый Структура("УчетнаяЗапись",
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьДанныеОблачнойПодписи(ЭтотОбъект, "НастройкиПользователя")));
Иначе
ЭлектроннаяПодписьСлужебныйКлиент.УстановитьСвойстваОблачнойПодписи(ОписаниеДанных, Новый Структура("УчетнаяЗапись"));
КонецЕсли;
@@ -113,9 +113,14 @@
Если ЭлектроннаяПодпись.ОбщиеНастройки().ЗаявлениеНаВыпускСертификатаДоступно Тогда
МодульЗаявлениеНаВыпускНовогоКвалифицированногоСертификата = ОбщегоНазначения.ОбщийМодуль(
"Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеЗаявления",
"СертификатыКлючейЭлектроннойПодписиИШифрования.УдалитьСостояниеЗаявления <> &ПустаяСсылка");
Запрос.УстановитьПараметр("ПустаяСсылка", Перечисления.СостоянияЗаявленияНаВыпускСертификата.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустаяСсылка",
МодульЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.СостоянияЗаявленияПустаяСсылка());
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ИЛИ &УсловиеЗаявления", "");
КонецЕсли;
@@ -3739,7 +3739,7 @@ vasyapupkin@example.com завершена.</value>
</edit>
</attributes>
<attributes>
<name>НастройкиАвторизации</name>
<name>НастройкиАвторизацииНаПочтовомСервере</name>
<id>55</id>
<valueType/>
<view>
@@ -70,7 +70,9 @@
СпособАутентификации = "OAuth";
Элементы.Пароль.Доступность = Ложь;
Если ТолькоАвторизация Тогда
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере();
НастройкиАвторизацииНаПочтовомСервере = НастройкиАвторизацииНаПочтовомСервере();
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
Если ЗначениеЗаполнено(НастройкиАвторизации) И ЗначениеЗаполнено(НастройкиАвторизации.ИдентификаторПриложения) Тогда
ИдентификаторПриложения = НастройкиАвторизации.ИдентификаторПриложения;
АдресПеренаправления = НастройкиАвторизации.АдресПеренаправления;
@@ -83,6 +85,7 @@
Если ЭтоВебКлиент() Тогда
Элементы.ВариантыАвторизации.ТекущаяСтраница = Элементы.БраузерОперационнойСистемы;
ТекущийЭлемент = Элементы.ВебСтраница;
Иначе
Элементы.ВариантыАвторизации.ТекущаяСтраница = Элементы.ВстроенныйБраузер;
КонецЕсли;
@@ -297,6 +300,7 @@
&НаКлиенте
Процедура ПерейтиНаСледующуюСтраницу(Команда = Неопределено)
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
Отказ = Ложь;
ТекущаяСтраница = Элементы.Страницы.ТекущаяСтраница;
@@ -310,7 +314,9 @@
Если Не Отказ И СпособАутентификации = "OAuth" Тогда
ПроверкаЗавершиласьСОшибками = Ложь;
СледующаяСтраница = Элементы.НастройкиАвторизацииПриложения;
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере();
НастройкиАвторизацииНаПочтовомСервере = НастройкиАвторизацииНаПочтовомСервере();
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
Если ЗначениеЗаполнено(НастройкиАвторизации) Тогда
Если ЗначениеЗаполнено(НастройкиАвторизации.АдресАвторизации) Тогда
@@ -432,6 +438,8 @@
&НаКлиенте
Процедура УстановитьТекстыПоясненийПоРегистрацииПриложения()
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
Если Не ЗначениеЗаполнено(НастройкиАвторизации) Тогда
Возврат;
КонецЕсли;
@@ -633,6 +641,11 @@
|%1 успешно завершена.'"), АдресЭлектроннойПочты);
КонецЕсли;
Если ТекущаяСтраница = Элементы.Авторизация
И Элементы.ВариантыАвторизации.ТекущаяСтраница = Элементы.ВстроенныйБраузер Тогда
Активизировать();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
@@ -743,6 +756,8 @@
&НаСервере
Процедура СоздатьУчетнуюЗапись()
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
СистемнаяУчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты;
НастроитьСистемнуюУчетнуюЗапись = КонтекстныйРежим И ВидУчетнойЗаписи = "Общая"
И Не РаботаСПочтовымиСообщениями.УчетнаяЗаписьНастроена(СистемнаяУчетнаяЗапись)
@@ -820,6 +835,7 @@
&НаСервере
Процедура ЗаписатьНастройкиАвторизации()
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
НастройкиАвторизации.ПарольПриложения = ПарольПриложения;
НастройкиАвторизации.ИдентификаторПриложения = ИдентификаторПриложения;
НастройкиАвторизации.АдресПеренаправления = АдресПеренаправления;
@@ -968,7 +984,7 @@
КонецЕсли;
Если ЭтоВебКлиент() Тогда
ПерейтиПоНавигационнойСсылке(АдресПерехода);
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку(АдресПерехода);
Возврат;
КонецЕсли;
@@ -988,6 +1004,7 @@
&НаКлиенте
Процедура АвторизоватьсяНаПочтовомСервере()
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
СтрокаЗапросаАвторизации = СтрокаЗапросаАвторизации();
Если ЭтоВебКлиент() Тогда
@@ -1018,7 +1035,8 @@
&НаСервере
Функция СтрокаЗапросаАвторизации()
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(НастройкиАвторизации.АдресАвторизации);
АдресСервера = СтруктураURI.Хост;
АдресРесурса = "/" + СтруктураURI.ПутьНаСервере;
@@ -1043,6 +1061,8 @@
&НаСервере
Функция ПараметрыЗапросаАвторизации()
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("client_id", ИдентификаторПриложения);
ПараметрыЗапроса.Вставить("response_type", "code");
@@ -1087,6 +1107,7 @@
Процедура ВебСтраницаДокументСформирован(Элемент)
#Если Не ВебКлиент Тогда
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
Если СтрНачинаетсяС(НРег(Элемент.Документ.URL), НРег(АдресПеренаправления)) Тогда
ПриПолученииОтветаПочтовогоСервера(Элемент.Документ.URL, НастройкиАвторизации.АдресПолученияКлюча);
ПерейтиНаСледующуюСтраницу();
@@ -1136,6 +1157,8 @@
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("client_id", ИдентификаторПриложения);
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
Если ЗначениеЗаполнено(НастройкиАвторизации["ЗапрашиваемыеРазрешения"]) Тогда
ПараметрыЗапроса.Вставить("scope", НастройкиАвторизации["ЗапрашиваемыеРазрешения"]);
КонецЕсли;
@@ -1287,6 +1310,8 @@
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("client_id", ИдентификаторПриложения);
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
Если ЗначениеЗаполнено(НастройкиАвторизации["ЗапрашиваемыеРазрешения"]) Тогда
ПараметрыЗапроса.Вставить("scope", НастройкиАвторизации["ЗапрашиваемыеРазрешения"]);
КонецЕсли;
@@ -1367,6 +1392,8 @@
&НаСервере
Функция ПолучитьКлючДоступаУстройства()
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(НастройкиАвторизации.АдресПолученияКлюча);
АдресСервера = СтруктураURI.Хост;
АдресРесурса = "/" + СтруктураURI.ПутьНаСервере;
@@ -1460,8 +1487,10 @@
&НаКлиенте
Функция ДоступнаАвторизацияПоКоду()
Возврат ЗначениеЗаполнено(НастройкиАвторизации) И
(ЗначениеЗаполнено(НастройкиАвторизации.АдресРегистрацииУстройства)
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
Возврат ЗначениеЗаполнено(НастройкиАвторизации)
И (ЗначениеЗаполнено(НастройкиАвторизации.АдресРегистрацииУстройства)
Или ЗначениеЗаполнено(НастройкиАвторизации.АдресПеренаправленияВебКлиент));
КонецФункции
@@ -1469,6 +1498,8 @@
&НаКлиенте
Процедура НастроитьЭлементыТекущейСтраницыПриОткрытии()
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
Если ТолькоАвторизация Тогда
Если Не ЗначениеЗаполнено(НастройкиАвторизации) Тогда
Закрыть(НСтр("ru = 'Не найдены настройки авторизации для указанного адреса электронной почты.
@@ -743,7 +743,7 @@
</userVisible>
<title>
<key>ru</key>
<value>Атата</value>
<value>Выбор способа аутентификации</value>
</title>
<extendedTooltip>
<name>ВыборСпособаАутентификацииРасширеннаяПодсказка</name>
@@ -997,7 +997,7 @@
// outlook.com
Если ИмяСервераВУчетнойЗаписи = "outlook.com" Тогда
ВариантНастройки = Результат.Добавить();
ВариантНастройки.СерверВходящейПочты = "imap-mail.outlook.com";
ВариантНастройки.СерверВходящейПочты = "outlook.office365.com";
ВариантНастройки.ПортСервераВходящейПочты = 993;
ВариантНастройки.ИспользоватьЗащищенноеСоединениеДляВходящейПочты = Истина;
Возврат Результат;
@@ -1615,6 +1615,32 @@
<contextMenu>
<name>СписокКонтекстноеМеню</name>
<id>4</id>
<items xsi:type="form:Button">
<name>СписокКонтекстноеМенюСравнить</name>
<id>446</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СписокКонтекстноеМенюСравнитьРасширеннаяПодсказка</name>
<id>447</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.Сравнить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СписокКонтекстноеМенюСоздать</name>
<id>96</id>
@@ -576,7 +576,7 @@
Отказ = Истина;
ПараметрыОткрытияФормы = Новый Структура("Ключ, ПараметрыОтправки", Элемент.ТекущаяСтрока, ПараметрыОтправки);
ОткрытьФорму("Справочник.Файлы.Форма.ФормаЭлемента", ПараметрыОткрытияФормы);
ОткрытьФорму("Справочник.Файлы.ФормаОбъекта", ПараметрыОткрытияФормы);
КонецПроцедуры
@@ -1301,7 +1301,7 @@
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено
И ТипЗнч(Элементы.Список.ТекущаяСтрока) <> Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
УстановитьДоступностьКоманд(ТекущиеДанные);
УстановитьДоступностьКоманд(ТекущиеДанные, Элементы.Список.ВыделенныеСтроки.Количество() > 1);
Иначе
СделатьКомандыНедоступными();
КонецЕсли;
@@ -1368,10 +1368,12 @@
Элементы.ФормаУдалить.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюСравнить.Видимость = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьДоступностьКоманд(ДанныеКоманд)
Процедура УстановитьДоступностьКоманд(Знач ДанныеКоманд, Знач ВыделеноНесколькоСтрок)
Служебный = ДанныеКоманд.Служебный;
Зашифрован = ДанныеКоманд.Зашифрован;
@@ -1446,6 +1448,8 @@
И АвторТекущийПользователь
И Не ЗначениеЗаполнено(Редактирует)
И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюСравнить.Видимость = ВыделеноНесколькоСтрок;
КонецПроцедуры
@@ -4828,7 +4828,6 @@
<name>ПродлитьДействиеПодписей</name>
</handler>
</action>
<modifiesStoredData>true</modifiesStoredData>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
@@ -361,31 +361,6 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="0526492c-be48-4c84-8d68-19fa1c7e9d6e">
<name>УдалитьПолноеНаименование</name>
<synonym>
<key>ru</key>
<value>(не используется) Полное наименование</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>256</length>
</stringQualifiers>
</type>
<toolTip>
<key>ru</key>
<value>Имя файла (без расширения) длиной до 256 символов</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value> </value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<use>ForFolderAndItem</use>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="54ecaf7b-9bc5-483c-96e1-270bcd323590">
<name>Редактирует</name>
<synonym>
@@ -473,8 +473,7 @@
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Владелец", ЭтотОбъект[Элемент.СвязьПоТипу.ПутьКДанным]);
ПараметрыОтбора.Вставить("ПометкаУдаления", Ложь);
ОткрытьФорму("Справочник.ВариантыОтветовАнкет.Форма.ФормаВыбора",Новый Структура("Отбор",ПараметрыОтбора),Элемент);
ОткрытьФорму("Справочник.ВариантыОтветовАнкет.ФормаВыбора", Новый Структура("Отбор",ПараметрыОтбора),Элемент);
КонецЕсли;
@@ -20,7 +20,7 @@
Отказ = Истина;
НовыйЭлементСсылка = ВыполнитьКопированиеЭлемента(ТекущиеДанные.Ссылка);
Если НовыйЭлементСсылка <> Неопределено Тогда
ОткрытьФорму("Справочник.ШаблоныАнкет.Форма.ФормаЭлемента",Новый Структура("Ключ",НовыйЭлементСсылка));
ОткрытьФорму("Справочник.ШаблоныАнкет.ФормаОбъекта", Новый Структура("Ключ", НовыйЭлементСсылка));
Элементы.Список.Обновить();
КонецЕсли;
@@ -158,6 +158,7 @@
</dataPath>
<defaultItem>true</defaultItem>
<titleLocation>None</titleLocation>
<excludedCommands>Copy</excludedCommands>
<items xsi:type="form:FormField">
<name>Наименование</name>
<id>16</id>
@@ -275,6 +276,10 @@
<id>5</id>
<horizontalAlign>Left</horizontalAlign>
</autoCommandBar>
<handlers>
<event>BeforeAddRow</event>
<name>СписокПередНачаломДобавления</name>
</handlers>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
@@ -70,6 +70,14 @@
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, ЭтоГруппа, Параметр)
Отказ = Истина;
ДобавитьЯзык();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -77,8 +85,7 @@
&НаКлиенте
Процедура Создать(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ПриВыбореЯзыка", ЭтотОбъект);
ОткрытьФорму("Справочник.ЯзыкиПечатныхФорм.Форма.ПодборЯзыкаИзСпискаДоступных", , ЭтотОбъект, , , , ОписаниеОповещения);
ДобавитьЯзык();
КонецПроцедуры
@@ -169,4 +176,12 @@
КонецФункции
&НаКлиенте
Процедура ДобавитьЯзык()
ОписаниеОповещения = Новый ОписаниеОповещения("ПриВыбореЯзыка", ЭтотОбъект);
ОткрытьФорму("Справочник.ЯзыкиПечатныхФорм.Форма.ПодборЯзыкаИзСпискаДоступных", , ЭтотОбъект, , , , ОписаниеОповещения);
КонецПроцедуры
#КонецОбласти
@@ -76,6 +76,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<warningOnEditRepresentation>Show</warningOnEditRepresentation>
<warningOnEdit>
<key>ru</key>
@@ -92,6 +92,7 @@
<value>Код локализации</value>
</synonym>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
@@ -403,7 +403,7 @@
КонецЕсли;
КонецЕсли;
ОткрытьФорму("Справочник.ВариантыОтветовАнкет.Форма.ФормаЭлемента",СтруктураПараметров,Элемент);
ОткрытьФорму("Справочник.ВариантыОтветовАнкет.ФормаОбъекта", СтруктураПараметров,Элемент);
КонецПроцедуры
@@ -4125,8 +4125,8 @@
<toolTip>
<key>ru</key>
<value>Требуется для программного обращения к дополнительным реквизитам или сведениям.
Имя должно состоять из одного слова, начинаться с буквы и не содержать специальных символов, кроме «_».
Если не указано - заполняется автоматически при записи.</value>
Имя должно состоять из одного слова, начинаться с буквы и не содержать специальных символов, кроме &quot;_&quot;.
Если не указано, то заполняется автоматически при записи.</value>
</toolTip>
<toolTipRepresentation>Button</toolTipRepresentation>
<extendedTooltip>
@@ -2643,7 +2643,7 @@
Или ИмяНачинаетсяСЦифры(Имя)
Или СтрРазделить(НовоеИмя, " ", Истина).Количество() > 1 Тогда
ТекстВопроса = НСтр("ru = 'Имя (группа Для разработчиков) должно состоять из одного слова, начинаться с буквы и не содержать специальных символов, кроме «_».'");
ТекстВопроса = НСтр("ru = 'Имя (группа Для разработчиков) должно состоять из одного слова, начинаться с буквы и не содержать специальных символов, кроме ""_"".'");
Возврат ТекстВопроса;
КонецЕсли;
@@ -126,7 +126,7 @@
КонецПроцедуры
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНастройкеНачальногоЗаполненияЭлемента
// Смотри также ОбновлениеИнформационнойБазыПереопределяемый.ПриНастройкеНачальногоЗаполненияЭлементов
//
// Параметры:
// Объект - заполняемый объект.
@@ -18,7 +18,7 @@
ПараметрыФормы.РежимАнкетирования = ПредопределенноеЗначение("Перечисление.РежимыАнкетирования.Интервью");
ОткрытьФорму(
"Обработка.ДоступныеАнкеты.Форма.Форма",
"Обработка.ДоступныеАнкеты.Форма",
ПараметрыФормы,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
@@ -130,9 +130,7 @@
КонецЦикла;
КонецЕсли;
Если МультиязычныеСтрокиВРеквизитах
ИначеЕсли МультиязычныеСтрокиВРеквизитах
И (ИспользуетсяПервыйДополнительныйЯзык
ИЛИ ИспользуетсяВторойДополнительныйЯзык) Тогда
@@ -278,12 +278,58 @@
Возврат;
КонецЕсли;
Контекст.Вставить("МенеджерКриптографии", МенеджерКриптографии);
Если ЭлектроннаяПодписьКлиент.ОбщиеНастройки().ДоступнаУсовершенствованнаяПодпись Тогда
МенеджерКриптографии.НачатьПолучениеКонтейнераПодписейКриптографии(Новый ОписаниеОповещения(
"ВыбратьФайлПослеПолученияКонтейнераПодписи", ЭтотОбъект, Контекст,
"ВыбратьФайлПослеОшибкиПолученияКонтейнераПодписи", ЭтотОбъект), Контекст.ДанныеПодписи);
Возврат;
КонецЕсли;
Контекст.Вставить("ПараметрыПодписи", Неопределено);
МенеджерКриптографии.НачатьПолучениеСертификатовИзПодписи(Новый ОписаниеОповещения(
"ВыбратьФайлПослеПолученияСертификатовИзПодписи", ЭтотОбъект, Контекст,
"ВыбратьФайлПослеОшибкиПолученияСертификатовИзПодписи", ЭтотОбъект), Контекст.ДанныеПодписи);
КонецПроцедуры
// Продолжение процедуры ВыбратьФайл.
&НаКлиенте
Процедура ВыбратьФайлПослеОшибкиПолученияКонтейнераПодписи(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
СтандартнаяОбработка = Ложь;
ОшибкаНаКлиенте = Новый Структура("ОписаниеОшибки", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При получении контейнера подписи из файла подписи произошла ошибка:
|%1'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке)));
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ПоказатьИнструкцию", Истина);
ДополнительныеПараметры.Вставить("Подпись", Контекст.ДанныеПодписи);
ПоказатьОшибку(ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере, ДополнительныеПараметры);
КонецПроцедуры
// Продолжение процедуры ВыбратьФайл.
&НаКлиенте
Процедура ВыбратьФайлПослеПолученияКонтейнераПодписи(КонтейнерПодписи, Контекст) Экспорт
ДатаСеанса = ОбщегоНазначенияКлиент.ДатаСеанса();
ДобавкаВремени = ДатаСеанса - ОбщегоНазначенияКлиент.ДатаУниверсальная();
ПараметрыПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыПодписиКриптографии(
КонтейнерПодписи, ДобавкаВремени, ДатаСеанса);
Контекст.Вставить("ПараметрыПодписи", ПараметрыПодписи);
Контекст.МенеджерКриптографии.НачатьПолучениеСертификатовИзПодписи(Новый ОписаниеОповещения(
"ВыбратьФайлПослеПолученияСертификатовИзПодписи", ЭтотОбъект, Контекст,
"ВыбратьФайлПослеОшибкиПолученияСертификатовИзПодписи", ЭтотОбъект), Контекст.ДанныеПодписи);
КонецПроцедуры
// Продолжение процедуры ВыбратьФайл.
&НаКлиенте
Процедура ВыбратьФайлПослеОшибкиПолученияСертификатовИзПодписи(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
@@ -331,7 +377,7 @@
СвойстваСертификата.Вставить("ДвоичныеДанные", ДанныеСертификата);
СвойстваПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваПодписи(Контекст.ДанныеПодписи,
СвойстваСертификата, "", ПользователиКлиент.АвторизованныйПользователь(), Контекст.ИмяФайла);
СвойстваСертификата, "", ПользователиКлиент.АвторизованныйПользователь(), Контекст.ИмяФайла, Контекст.ПараметрыПодписи);
ДобавитьСтроку(ЭтотОбъект, Контекст.ДобавитьНовуюСтроку, СвойстваПодписи,
Контекст.ИмяФайла, Контекст.АдресСвойствПодписи);
@@ -437,11 +483,18 @@
Возврат Ложь;
КонецЕсли;
ПараметрыПодписи = Неопределено;
Если ЭлектроннаяПодпись.ОбщиеНастройки().ДоступнаУсовершенствованнаяПодпись Тогда
КонтейнерПодписи = МенеджерКриптографии.ПолучитьКонтейнерПодписейКриптографии(ДанныеПодписи);
ПараметрыПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыПодписиКриптографии(КонтейнерПодписи,
ЭлектроннаяПодписьСлужебный.ДобавкаВремени(), ТекущаяДатаСеанса());
КонецЕсли;
СвойстваСертификата = ЭлектроннаяПодпись.СвойстваСертификата(Сертификаты[0]);
СвойстваСертификата.Вставить("ДвоичныеДанные", Сертификаты[0].Выгрузить());
СвойстваПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваПодписи(ДанныеПодписи,
СвойстваСертификата, "", Пользователи.АвторизованныйПользователь(), ИмяФайла);
СвойстваСертификата, "", Пользователи.АвторизованныйПользователь(), ИмяФайла, ПараметрыПодписи);
ДобавитьСтроку(ЭтотОбъект, ДобавитьНовуюСтроку, СвойстваПодписи, ИмяФайла, АдресСвойствПодписи);
@@ -501,4 +554,4 @@
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -3,7 +3,7 @@
<name>НастройкаДоступаКСервисуMorpher</name>
<synonym>
<key>ru</key>
<value>Настройка доступа к сервису «Морфер»</value>
<value>Настройка доступа к сервису Морфер</value>
</synonym>
<help>
<pages>
@@ -3604,6 +3604,22 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СостоянияЗаявленияНеВРаботе</name>
<id>22</id>
<valueType>
<types>ValueList</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<extInfo xsi:type="form:ValueListExtInfo">
<itemValueType/>
</extInfo>
</attributes>
<formCommands>
<name>Обновить</name>
<title>
@@ -85,6 +85,7 @@
МодульЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ДополнитьЗапросСостояниемВСпискеСертификатов(ТекстЗапроса);
МодульЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ДобавитьЛегенду(ЭтотОбъект, Элементы.ГруппаЛегенда);
Элементы.СертификатыПоказать.СписокВыбора.Добавить("МоиЗаявленияВРаботе", НСтр("ru = 'Мои заявления в работе'"));
СостоянияЗаявленияНеВРаботе = МодульЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.СостоянияЗаявленияНеВРаботе();
Если Не ПравоДоступа("Добавление", Метаданные.Справочники.СертификатыКлючейЭлектроннойПодписиИШифрования) Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
@@ -115,7 +116,7 @@
СертификатыВЛичномХранилище = Новый СписокЗначений;
УстановитьПараметрыВСпискеСертификатовНаСервере();
СертификатыОбновитьОтбор(ЭтотОбъект);
СертификатыОбновитьОтбор(ЭтотОбъект, СостоянияЗаявленияНеВРаботе);
Если ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
// Состав и настройки предусмотренных программ нельзя изменять.
@@ -162,7 +163,7 @@
ОпределитьУстановленныеПрограммы();
Если ЗначениеЗаполнено(Параметры.СертификатыПоказать) Тогда
СертификатыПоказать = Параметры.СертификатыПоказать;
СертификатыОбновитьОтбор(ЭтотОбъект);
СертификатыОбновитьОтбор(ЭтотОбъект, СостоянияЗаявленияНеВРаботе);
КонецЕсли;
КонецПроцедуры
@@ -225,28 +226,28 @@
&НаКлиенте
Процедура СертификатыПоказатьПриИзменении(Элемент)
СертификатыОбновитьОтбор(ЭтотОбъект, ПользователиКлиент.ТекущийПользователь());
СертификатыОбновитьОтбор(ЭтотОбъект, СостоянияЗаявленияНеВРаботе, ПользователиКлиент.ТекущийПользователь());
КонецПроцедуры
&НаКлиенте
Процедура СертификатыПоказатьЗаявленияПриИзменении(Элемент)
СертификатыОбновитьОтбор(ЭтотОбъект);
СертификатыОбновитьОтбор(ЭтотОбъект, СостоянияЗаявленияНеВРаботе);
КонецПроцедуры
&НаКлиенте
Процедура СертификатыТолькоДействующиеПриИзменении(Элемент)
СертификатыОбновитьОтбор(ЭтотОбъект);
СертификатыОбновитьОтбор(ЭтотОбъект, СостоянияЗаявленияНеВРаботе);
КонецПроцедуры
&НаКлиенте
Процедура ПользовательОтборПриИзменении(Элемент)
СертификатыОбновитьОтбор(ЭтотОбъект);
СертификатыОбновитьОтбор(ЭтотОбъект, СостоянияЗаявленияНеВРаботе);
КонецПроцедуры
@@ -675,7 +676,7 @@
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура СертификатыОбновитьОтбор(Форма, ТекущийПользователь = Неопределено)
Процедура СертификатыОбновитьОтбор(Форма, СостоянияЗаявленияНеВРаботе, ТекущийПользователь = Неопределено)
Элементы = Форма.Элементы;
@@ -711,13 +712,9 @@
Форма.СертификатыПоказатьЗаявления = Неопределено;
Форма.Элементы.СертификатыПоказатьЗаявления.Видимость = Ложь;
СостоянияЗаявления = Новый Массив;
СостоянияЗаявления.Добавить(ПредопределенноеЗначение("Перечисление.СостоянияЗаявленияНаВыпускСертификата.Исполнено"));
СостоянияЗаявления.Добавить(ПредопределенноеЗначение("Перечисление.СостоянияЗаявленияНаВыпускСертификата.Отклонено"));
ОтборПоСостояниюЗаявления = Неопределено;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Форма.Сертификаты,
"СостояниеЗаявления", СостоянияЗаявления, ВидСравненияКомпоновкиДанных.НеВСписке, , Истина);
"СостояниеЗаявления", СостоянияЗаявленияНеВРаботе, ВидСравненияКомпоновкиДанных.НеВСписке, , Истина);
Иначе
Форма.Элементы.СертификатыПоказатьЗаявления.Видимость = Форма.ЗаявлениеНаВыпускСертификатаДоступно
@@ -11,41 +11,47 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ЗначениеЗаполнено(Параметры.Подпись) Тогда
Подпись = ПоместитьВоВременноеХранилище(Параметры.Подпись, УникальныйИдентификатор);
КонецЕсли;
Если ТипЗнч(Параметры.Подпись) = Тип("Структура") Тогда
Если ЗначениеЗаполнено(Параметры.Подпись.ПодписанныйОбъект) Тогда
ПодписанныйОбъект = Параметры.Подпись.ПодписанныйОбъект;
КонецЕсли;
КонецЕсли;
Элементы.ПодписанныйОбъект.Видимость = Ложь;
Если ЗначениеЗаполнено(Параметры.РежимПродления) Тогда
ОбновитьПредставлениеДанных(Истина);
КонецЕсли;
Если Параметры.РежимПродления = "ТребуетсяУсовершенствоватьПодписи" Тогда
ТипПодписи = Константы.ТипПодписиКриптографииПоУмолчанию.Получить();
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Ложь;
Элементы.ТипПодписи.Видимость = Ложь;
Элементы.ДекорацияУсовершенствование.Видимость = Истина;
Элементы.ДекорацияУсовершенствование.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
Если Параметры.РежимПродления = "ТребуетсяУсовершенствоватьПодписи" Тогда
ТипПодписи = Константы.ТипПодписиКриптографииПоУмолчанию.Получить();
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Ложь;
Элементы.ТипПодписи.Видимость = Ложь;
Элементы.ДекорацияУсовершенствование.Видимость = Истина;
Элементы.ДекорацияУсовершенствование.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Подписи будут усовершенствованы до типа
|%1'"), ТипПодписи);
ИначеЕсли Параметры.РежимПродления = "ТребуетсяДобавитьАрхивныеМетки" Тогда
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Ложь;
Элементы.ДекорацияДобавлениеМетокВремени.Видимость = Истина;
Элементы.ДекорацияДобавлениеМетокВремени.Заголовок = НСтр("ru='В подписи будут добавлены архивные метки времени'");
Элементы.ТипПодписи.Видимость = Ложь;
ИначеЕсли Параметры.РежимПродления = "НеобработанныеПодписи" Тогда
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Истина;
Элементы.ТипПодписи.Видимость = Истина;
ИначеЕсли ЗначениеЗаполнено(Параметры.РежимПродления) Тогда
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Истина;
Элементы.ТипПодписи.Видимость = Истина;
|%1'"), ТипПодписи);
ИначеЕсли Параметры.РежимПродления = "ТребуетсяДобавитьАрхивныеМетки" Тогда
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Ложь;
Элементы.ДекорацияДобавлениеМетокВремени.Видимость = Истина;
Элементы.ДекорацияДобавлениеМетокВремени.Заголовок = НСтр("ru='В подписи будут добавлены архивные метки времени'");
Элементы.ТипПодписи.Видимость = Ложь;
ИначеЕсли Параметры.РежимПродления = "НеобработанныеПодписи" Тогда
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Истина;
Элементы.ТипПодписи.Видимость = Истина;
Иначе
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Истина;
Элементы.ТипПодписи.Видимость = Истина;
КонецЕсли;
Иначе
Если ЗначениеЗаполнено(Параметры.Подпись) Тогда
Подпись = ПоместитьВоВременноеХранилище(Параметры.Подпись, УникальныйИдентификатор);
КонецЕсли;
Если ТипЗнч(Параметры.Подпись) = Тип("Структура") Тогда
Если ЗначениеЗаполнено(Параметры.Подпись.ПодписанныйОбъект) Тогда
ПодписанныйОбъект = Параметры.Подпись.ПодписанныйОбъект;
ПорядковыйНомер = Параметры.Подпись.ПорядковыйНомер;
Элементы.ПодписанныйОбъект.Видимость = Истина;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(Параметры.ЗаголовокДанных) Тогда
Элементы.ПредставлениеДанных.Заголовок = Параметры.ЗаголовокДанных;
Иначе
@@ -55,32 +61,32 @@
ПредставлениеДанных = Параметры.ПредставлениеДанных;
Элементы.ПредставлениеДанных.Гиперссылка = Параметры.ПредставлениеДанныхОткрывается;
Если ЗначениеЗаполнено(Параметры.ТипПодписи) Тогда
Если Параметры.ТипПодписи = Перечисления.ТипыПодписиКриптографии.АрхивнаяCAdESAv3
Или Параметры.ТипПодписи = Перечисления.ТипыПодписиКриптографии.CAdESAv2 Тогда
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Ложь;
Элементы.ДекорацияДобавлениеМетокВремени.Видимость = Истина;
Элементы.ДекорацияДобавлениеМетокВремени.Заголовок = НСтр("ru='В подпись будут добавлены архивные метки времени'");
Элементы.ТипПодписи.Видимость = Ложь;
ДобавитьАрхивнуюМеткуВремени = Истина;
Иначе
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Ложь;
Элементы.ТипПодписи.Видимость = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(Параметры.ТипПодписи) Тогда
Если Параметры.ТипПодписи = Перечисления.ТипыПодписиКриптографии.АрхивнаяCAdESAv3
Или Параметры.ТипПодписи = Перечисления.ТипыПодписиКриптографии.CAdESAv2 Тогда
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Ложь;
Элементы.ДекорацияДобавлениеМетокВремени.Видимость = Истина;
Элементы.ДекорацияДобавлениеМетокВремени.Заголовок = НСтр("ru='В подписи будут добавлены архивные метки времени'");
Элементы.ТипПодписи.Видимость = Ложь;
ДобавитьАрхивнуюМеткуВремени = Истина;
Иначе
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Ложь;
Элементы.ТипПодписи.Видимость = Истина;
КонецЕсли;
Иначе
Если ЗначениеЗаполнено(ПодписанныйОбъект) Тогда
ОпределитьТипПодписейОбъекта();
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(ПредставлениеДанных) Тогда
Элементы.ПредставлениеДанных.Видимость = Ложь;
КонецЕсли;
Если Не ЗначениеЗаполнено(ПодписанныйОбъект) Тогда
Элементы.ПодписанныйОбъект.Видимость = Ложь;
КонецЕсли;
Если Элементы.ТипПодписи.Видимость Тогда
ЭлектроннаяПодписьСлужебный.ЗаполнитьСписокТиповПодписейКриптографии(Элементы.ТипПодписи.СписокВыбора,
"Усовершенствование", ?(ЗначениеЗаполнено(Параметры.ТипПодписи), Параметры.ТипПодписи, Неопределено));
@@ -265,5 +271,62 @@
Возврат ОбщегоНазначения.ЭтоСсылка(ТипЗнч(ПодписанныйОбъект));
КонецФункции
&НаСервере
Процедура ОпределитьТипПодписейОбъекта()
УстановленныеПодписи = ЭлектроннаяПодпись.УстановленныеПодписи(
ПодписанныйОбъект, ?(ЗначениеЗаполнено(ПорядковыйНомер), ПорядковыйНомер, Неопределено));
ЕстьCAdESBES = Ложь; ЕстьCAdESТ = Ложь; ЕстьCAdESA = Ложь;
Для Каждого ТекущаяПодпись Из УстановленныеПодписи Цикл
Если Не ТекущаяПодпись.ПодписьВерна Тогда
Продолжить;
КонецЕсли;
Если Не ЗначениеЗаполнено(ТекущаяПодпись.ТипПодписи) Тогда
Прервать;
КонецЕсли;
Если Не ЕстьCAdESBES И ЭлектроннаяПодписьСлужебныйКлиентСервер.ПодлежитУсовершенствованию(
ТекущаяПодпись.ТипПодписи, Перечисления.ТипыПодписиКриптографии.СМеткойДоверенногоВремениCAdEST) Тогда
ЕстьCAdESBES = Истина;
Продолжить;
КонецЕсли;
Если Не ЕстьCAdESТ И ЭлектроннаяПодписьСлужебныйКлиентСервер.ПодлежитУсовершенствованию(
ТекущаяПодпись.ТипПодписи, Перечисления.ТипыПодписиКриптографии.АрхивнаяCAdESAv3) Тогда
ЕстьCAdESТ = Истина;
Продолжить;
КонецЕсли;
Если Не ЕстьCAdESA
И (ТекущаяПодпись.ТипПодписи = Перечисления.ТипыПодписиКриптографии.CAdESAv2
Или ТекущаяПодпись.ТипПодписи = Перечисления.ТипыПодписиКриптографии.АрхивнаяCAdESAv3) Тогда
ЕстьCAdESA = Истина;
Продолжить;
КонецЕсли;
КонецЦикла;
Если ЕстьCAdESA Тогда
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Истина;
ИначеЕсли ЕстьCAdESТ Или ЕстьCAdESBES Тогда
Элементы.ДобавитьАрхивнуюМеткуВремени.Видимость = Ложь;
КонецЕсли;
Если ЕстьCAdESBES Тогда
Параметры.ТипПодписи = Перечисления.ТипыПодписиКриптографии.БазоваяCAdESBES;
Элементы.ТипПодписи.Видимость = Истина;
ИначеЕсли ЕстьCAdESТ Тогда
Параметры.ТипПодписи = Перечисления.ТипыПодписиКриптографии.СМеткойДоверенногоВремениCAdEST;
Элементы.ТипПодписи.Видимость = Истина;
ИначеЕсли ЕстьCAdESA Тогда
Параметры.ТипПодписи = Перечисления.ТипыПодписиКриптографии.АрхивнаяCAdESAv3;
Элементы.ТипПодписи.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -2342,7 +2342,7 @@
ТекущийЯзык = ОбщегоНазначения.КодОсновногоЯзыка();
ЗагрузитьТабличныйДокументИзМетаданных(ТекущийЯзык);
Если ЗначениеЗаполнено(ВладелецМакета) Тогда
ПрочитатьМакет();
ТабличныйДокумент = ПрочитатьМакет();
КонецЕсли;
Элементы.Язык.Заголовок = Элементы["Язык_" + ТекущийЯзык].Заголовок;
@@ -379,7 +379,7 @@
<id>49</id>
<title>
<key>ru</key>
<value>Не удалось просклонять с помощью альтернативного внешнего сервиса склонения «Морфер».
<value>Не удалось просклонять с помощью сервиса Морфер.
Склонение выполнено с помощью встроенных возможностей программы.</value>
</title>
<visible>true</visible>
@@ -689,6 +689,36 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>АдресТабличныхДокументов</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>ЗаголовокЛевый</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<keyParameter>true</keyParameter>
</parameters>
<parameters>
<name>ЗаголовокПравый</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<keyParameter>true</keyParameter>
</parameters>
<parameters>
<name>Заголовок</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -17,12 +17,17 @@
КонецЕсли;
ТабличныеДокументыДляСравнения = ПолучитьИзВременногоХранилища(Параметры.АдресТабличныхДокументов);
УдалитьИзВременногоХранилища(Параметры.АдресТабличныхДокументов);
ТабличныйДокументЛевый = ПодготовитьТабличныйДокумент(ТабличныеДокументыДляСравнения.Левый);
ТабличныйДокументПравый = ПодготовитьТабличныйДокумент(ТабличныеДокументыДляСравнения.Правый);
Элементы.ГруппаЛевыйТабличныйДокумент.Заголовок = Параметры.ЗаголовокЛевый;
Элементы.ГруппаПравыйТабличныйДокумент.Заголовок = Параметры.ЗаголовокПравый;
Если Не ПустаяСтрока(Параметры.Заголовок) Тогда
Заголовок = Параметры.Заголовок;
КонецЕсли;
СравнитьНаСервере();
КонецПроцедуры
@@ -73,7 +73,7 @@
Отказ = Истина;
Если Не РазделениеВключено И Не ЭтоПодчиненныйУзелРИБ Тогда
Оповещение = Новый ОписаниеОповещения("ПослеУстановкиИсправлений", ЭтотОбъект);
ОткрытьФорму("Обработка.УстановкаОбновлений.Форма.Форма",,,,,, Оповещение);
ОткрытьФорму("Обработка.УстановкаОбновлений.Форма",,,,,, Оповещение);
КонецЕсли;
КонецПроцедуры
@@ -70,7 +70,7 @@
КонецЕсли;
// Параметры по умолчанию.
Если Не НастройкиОтчета.ВыводитьСуммуВыделенныхЯчеек Тогда
Если Не НастройкиОтчета.ВыводитьСуммуВыделенныхЯчеек Или НастройкиОтчета.ОтключитьСтандартноеКонтекстноеМеню Тогда
Элементы.ГруппаПоказатель.Видимость = Ложь;
Элементы.ОбластьПоказателей.Видимость = Ложь;
Элементы.КомандыВидовПоказателейЕще.Видимость = Ложь;
@@ -107,7 +107,7 @@
Если ЭлектроннаяПодпись.ДоступнаУсовершенствованнаяПодпись() И ЭлектроннаяПодпись.ДобавлениеИзменениеЭлектронныхПодписей() Тогда
Если (ЗначениеЗаполнено(СрокДействияПоследнейМеткиВремени) И СрокДействияПоследнейМеткиВремени <= ТекущаяДатаСеанса())
Или ТипПодписи = Перечисления.ТипыПодписиКриптографии.ОбычнаяCMS Тогда
Или ТипПодписи = Перечисления.ТипыПодписиКриптографии.ОбычнаяCMS Или Не ПодписьВерна Тогда
Элементы.ФормаПродлитьДействиеПодписи.Видимость = Ложь;
Иначе
Элементы.ФормаПродлитьДействиеПодписи.Видимость = Истина;
@@ -209,4 +209,27 @@
КонецФункции
// Возвращает список разрешений для использования сервиса перевода.
//
// Возвращаемое значение:
// Массив
//
Функция Разрешения() Экспорт
Протокол = "HTTPS";
Адрес = "translation.googleapis.com";
Порт = Неопределено;
Описание = НСтр("ru = 'Сервис перевода текста Google Translate'");
МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
Разрешение = МодульРаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(Протокол, Адрес, Порт, Описание);
Разрешения = Новый Массив;
Разрешения.Добавить(Разрешение);
Возврат Разрешения;
КонецФункции
#КонецОбласти
@@ -342,11 +342,13 @@
// Возвращает соответствие полных наименований адресных объектов и их сокращения.
//
// Параметры:
// НаименованияАдресныхОбъектов - Массив - полные наименования адресных объектов. Если передан пустой массив,
// то будут возвращен полный список наименований и сокращений.
// НаименованияАдресныхОбъектов - Массив из Строка - полные наименования адресных объектов.
// Если передан пустой массив, то будут возвращен полный список наименований и сокращений.
//
// Возвращаемое значение:
// Соответствие - соответствие найденных полных наименований адресных объектов их сокращениям.
// Соответствие из КлючЗначение:
// * Ключ - Строка - полное наименование адресного объекта.
// * Значение - Строка - сокращение адресного объекта.
//
Функция СокращенияАдресныхОбъектов(НаименованияАдресныхОбъектов) Экспорт
Возврат АдресныйКлассификаторСлужебный.СокращенияАдресныхОбъектов(НаименованияАдресныхОбъектов);
@@ -882,6 +882,7 @@
// Возвращаемое значение:
// Структура - найденные варианты. Содержит поля:
// * Отказ - Булево - поставщик не доступен.
// * ИсключатьГородИзМуниципальногоАдреса - Булево - если Ложь, то представление муниципального адреса включает город.
// * ПодробноеПредставлениеОшибки - Строка - описание ошибки, если поставщик недоступен. Неопределено, если Отказ
// = Ложь.
// * КраткоеПредставлениеОшибки - Строка - описание ошибки, если поставщик недоступен. Неопределено, если Отказ
@@ -892,9 +893,10 @@
Данные = Новый Структура;
Результат = Новый Структура("Данные", Данные);
Результат.Вставить("ИсключатьГородИзМуниципальногоАдреса", Ложь);
СтруктураОписанияОшибкиПоставщика(Результат);
Если СведенияОбАдресномОбъекте.Свойство("ЗагруженныеДанные") Тогда
Если СведенияОбАдресномОбъекте.Свойство("ЗагруженныеДанные") И ТипЗнч(СведенияОбАдресномОбъекте.ЗагруженныеДанные) = Тип("Булево") Тогда
ЗагруженныеДанные = СведенияОбАдресномОбъекте.ЗагруженныеДанные;
Иначе
ЗагруженныеАдресныеСведения = АдресныйКлассификаторПовтИсп.СведенияОЗагрузкеСубъектовРФ();
@@ -909,6 +911,8 @@
Если ЗагруженныеДанные = Истина Тогда
ЗаполнитьАктуальныеАдресныеСведенияВнутр(Результат.Данные, СведенияОбАдресномОбъекте);
Результат.ИсключатьГородИзМуниципальногоАдреса = ИсключатьГородИзМуниципальногоАдреса(Результат.Данные);
КонецЕсли;
Если АдресПустой(Результат.Данные) Тогда
@@ -924,6 +928,27 @@
КонецФункции
// Параметры:
// Адрес - Структура
//
// Возвращаемое значение:
// Булево
//
Функция ИсключатьГородИзМуниципальногоАдреса(Адрес) Экспорт
Если АдресПустой(Адрес) Тогда
Возврат Ложь;
КонецЕсли;
УровеньРодительскогоОбъекта = УровеньМуниципальногоРодительскогоОбъектаПоАдресу(Адрес);
Если УровеньРодительскогоОбъекта = 31 ИЛИ УровеньРодительскогоОбъекта = 41 Тогда
Возврат Истина;
КонецЕсли;
Возврат Ложь;
КонецФункции
// Проверяет данные на соответствие классификатору.
//
// Параметры:
@@ -4510,6 +4535,7 @@
Запрос.Текст = ТекстЗапроса;
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
@@ -4909,6 +4935,8 @@
Адрес = КлючЗначение.Значение;
Счетчик = 0;
ИсключатьГород = ИсключатьГородИзМуниципальногоАдреса(Адрес);
// Обратная совместимость
Адрес.munDistrictType = ИсправлениеСокращений(Адрес.munDistrictType);
Адрес.munDistrict = КраткоеНаписаниеМуниципальныхРайонов(Адрес.munDistrict, Адрес.munDistrictType);
@@ -4917,7 +4945,7 @@
Адрес.settlement = КраткоеНаписаниеПоселений(Адрес.settlement, Адрес.settlementType);
ПроверяемыеУровниАдреса = Новый Соответствие;
ИменаУровнейАдреса = ИменаУровнейАдреса(Адрес.AddressType, Истина);
ИменаУровнейАдреса = ИменаУровнейАдреса(Адрес.AddressType, Истина, ИсключатьГород);
АдресПоПолям = АдресаПоПолям.Добавить();
АдресПоПолям.ЭтоМуниципальныйАдрес = ЭтоМуниципальныйАдрес(Адрес.AddressType);
@@ -6126,12 +6154,12 @@
Адрес = Новый Структура;
Адрес.Вставить("ZIPcode"); // postalCode -> ZIPCode
Адрес.Вставить("apartments"); // Массив из (См. ДомДляДляПередачиВСервис())
Адрес.Вставить("apartments"); // Массив из см. ДомДляДляПередачиВСервис
Адрес.Вставить("area");
Адрес.Вставить("areaCode");
Адрес.Вставить("areaId");
Адрес.Вставить("areaType");
Адрес.Вставить("buildings"); // Массив из (См. ДомДляДляПередачиВСервис())
Адрес.Вставить("buildings"); // Массив из см. ДомДляДляПередачиВСервис
Адрес.Вставить("city");
Адрес.Вставить("cityDistrict");
Адрес.Вставить("cityDistrictId");
@@ -7626,7 +7654,7 @@
Возврат СтрСравнить(ТипАдреса, АдминистративноТерриториальныйАдрес()) = 0;
КонецФункции
Функция ИменаУровнейАдреса(ТипАдреса, ВключатьУлицу)
Функция ИменаУровнейАдреса(ТипАдреса, ВключатьУлицу, ИсключатьГород = Ложь)
Уровни = Новый Массив;
@@ -7642,11 +7670,14 @@
Если ЭтоМуниципальныйАдрес(ТипАдреса) Тогда
Уровни.Добавить("MunDistrict");
Уровни.Добавить("Settlement");
Если Не ИсключатьГород Тогда
Уровни.Добавить("City");
КонецЕсли;
Иначе
Уровни.Добавить("District");
Уровни.Добавить("City");
КонецЕсли;
Уровни.Добавить("City");
Уровни.Добавить("CityDistrict");
Уровни.Добавить("Locality");
Уровни.Добавить("Territory");
@@ -10792,6 +10823,58 @@
КонецФункции
Функция УровеньМуниципальногоРодительскогоОбъектаПоАдресу(Адрес)
УровеньРодительскогоОбъекта = 0;
ИдентификаторОбъекта = Неопределено;
Если ЗначениеЗаполнено(Адрес.localityId) Тогда
ИдентификаторОбъекта = Адрес.localityId;
ИначеЕсли ЗначениеЗаполнено(Адрес.territoryId) Тогда
ИдентификаторОбъекта = Адрес.territoryId;
КонецЕсли;
Если ИдентификаторОбъекта <> Неопределено Тогда
УровеньРодительскогоОбъекта = УровеньМуниципальногоРодительскогоОбъекта(ИдентификаторОбъекта);
КонецЕсли;
Возврат УровеньРодительскогоОбъекта;
КонецФункции
Функция УровеньМуниципальногоРодительскогоОбъекта(Идентификатор)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| РодительскийАдресныйОбъект.Уровень КАК УровеньРодительскогоОбъекта
|ИЗ
| РегистрСведений.АдресныеОбъекты КАК АдресныйОбъект
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныеОбъекты КАК РодительскийАдресныйОбъект
| ПО АдресныйОбъект.МуниципальныйРодительскийИдентификатор = РодительскийАдресныйОбъект.Идентификатор
|ГДЕ
| АдресныйОбъект.Идентификатор = &Идентификатор";
Запрос.УстановитьПараметр("Идентификатор", Идентификатор);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
Возврат ВыборкаДетальныеЗаписи.УровеньРодительскогоОбъекта;
КонецЕсли;
КонецЕсли;
Возврат 0;
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -29,8 +29,6 @@
// АПК:547-выкл Вызывается в подписке на событие ПолучитьПредставлениеБизнесПроцесса
// Для клиентских вызовов следует использовать БизнесПроцессыИЗадачиКлиент.ОбработкаПолученияПредставленияБизнесПроцесса
// Для серверных вызовов следует использовать БизнесПроцессыИЗадачиСервер.ОбработкаПолученияПредставленияБизнесПроцесса
// Обработка получения представления бизнес-процесса на основании полей данных.
//
// Параметры:
@@ -759,9 +759,9 @@
//
// Пример:
// // Перенос всех пользовательских вариантов отчетов при обновлении.
// ВариантыОтчетов.ПеренестиВариантыОтчетовИзСтандартногоХранилища();
// ВариантыОтчетов.ПеренестиПользовательскиеИзСтандартногоХранилища();
// // Перенос пользовательских вариантов отчетов, переведенных в хранилище подсистемы "Варианты отчетов".
// ВариантыОтчетов.ПеренестиВариантыОтчетовИзСтандартногоХранилища("АнализЖурналаРегистрации, ЗадачиИстекающиеНаДату");
// ВариантыОтчетов.ПеренестиПользовательскиеИзСтандартногоХранилища("АнализЖурналаРегистрации, ЗадачиИстекающиеНаДату");
//
Процедура ПеренестиПользовательскиеИзСтандартногоХранилища(ИменаОтчетов = "") Экспорт
ПредставлениеПроцедуры = НСтр("ru = 'Прямая конвертация вариантов отчетов'");
@@ -900,7 +900,7 @@
ЗаписатьВЖурналЗапускПроцедуры(ПредставлениеПроцедуры);
// Замена имен колонок под структуру справочника.
Колонки = ПользовательскиеВарианты.Колонки;
Колонки = ПользовательскиеВарианты.Колонки; // КоллекцияКолонокТаблицыЗначений
Колонки.Найти("Отчет").Имя = "ОтчетПолноеИмя";
Колонки.Найти("Вариант").Имя = "КлючВарианта";
@@ -1361,9 +1361,6 @@
// * Представление - Строка - представление варианта отчета.
// * СтандартнаяОбработка - Булево - если Истина - вариант отчета сохранен в стандартном хранилище.
// СтандартнаяОбработка - Булево - если Истина - вариант отчета сохранен в стандартном хранилище.
//
// Места использования:
// ПользователиСлужебный.ПриПолученииПользовательскихВариантовОтчетов().
//
Процедура ПользовательскиеВариантыОтчетов(ПолноеИмяОтчета, ПользовательИнформационнойБазы, ТаблицаВариантовОтчетов, СтандартнаяОбработка) Экспорт
КлючОтчета = ПолноеИмяОтчета;
@@ -1402,9 +1399,6 @@
// Удаляет переданный вариант отчета из хранилища вариантов отчетов.
//
// Места использования:
// ПользователиСлужебный.ПриУдаленииПользовательскихВариантовОтчета().
//
Процедура УдалитьПользовательскийВариантОтчета(СведенияОВариантеОтчета, ПользовательИнформационнойБазы, СтандартнаяОбработка) Экспорт
Если СведенияОВариантеОтчета.СтандартнаяОбработка Тогда
@@ -2583,6 +2583,8 @@
Результат.ТолькоПросмотр = Истина;
Результат.ОтображатьЗаголовки = Ложь;
Возврат Результат;
КонецФункции
Процедура ВывестиШапкуПоВерсии(Результат, Знач Текст, Знач НомерСтроки, Знач НомерКолонки)
@@ -1002,7 +1002,7 @@
ДелоРодитель = ТекущиеДела.Добавить();
ДелоРодитель.Идентификатор = ИдентификаторВзаимодействия;
ДелоРодитель.Представление = НСтр("ru = 'Почта'");
ДелоРодитель.Форма = "ЖурналДокументов.Взаимодействия.Форма.ФормаСписка";
ДелоРодитель.Форма = "ЖурналДокументов.Взаимодействия.ФормаСписка";
ДелоРодитель.Владелец = Раздел;
Индекс = 1;
@@ -25,7 +25,7 @@
// ПараметрыПодключения = ВнешниеКомпонентыКлиент.ПараметрыПодключения();
// ПараметрыПодключения.ТекстПояснения =
// НСтр("ru = 'Для использования сканера штрихкодов требуется
// |внешняя компонента «1С:Сканеры штрихкода (NativeApi)».'");
// |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
Функция ПараметрыПодключения() Экспорт
@@ -66,7 +66,7 @@
// ПараметрыПодключения = ВнешниеКомпонентыКлиент.ПараметрыПодключения();
// ПараметрыПодключения.ТекстПояснения =
// НСтр("ru = 'Для использования сканера штрихкодов требуется
// |внешняя компонента «1С:Сканеры штрихкода (NativeApi)».'");
// |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
// ВнешниеКомпонентыКлиент.ПодключитьКомпоненту(Оповещение, "InputDevice",, ПараметрыПодключения);
//
@@ -171,7 +171,7 @@
// ПараметрыУстановки = ВнешниеКомпонентыКлиент.ПараметрыУстановки();
// ПараметрыУстановки.ТекстПояснения =
// НСтр("ru = 'Для использования сканера штрихкодов требуется
// |внешняя компонента «1С:Сканеры штрихкода (NativeApi)».'");
// |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
Функция ПараметрыУстановки() Экспорт
@@ -204,7 +204,7 @@
// ПараметрыУстановки = ВнешниеКомпонентыКлиент.ПараметрыУстановки();
// ПараметрыУстановки.ТекстПояснения =
// НСтр("ru = 'Для использования сканера штрихкодов требуется
// |внешняя компонента «1С:Сканеры штрихкода (NativeApi)».'");
// |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
// ВнешниеКомпонентыКлиент.УстановитьКомпоненту(Оповещение, "InputDevice",, ПараметрыУстановки);
//
@@ -410,7 +410,7 @@
// Параметры:
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
// Версия - Строка - версия компоненты.
// ПараметрыПодключения - см. ОбщегоНазначения.ПараметрыПодключения.
// ПараметрыПодключения - см. ВнешниеКомпонентыСервер.ПараметрыПодключения.
//
// Возвращаемое значение:
// Строка - краткое описание ошибки.
@@ -106,7 +106,7 @@
Пока Выборка.Следующий() Цикл
Если Выборка.ДатаПоКалендарю = Неопределено Тогда
СообщениеОбОшибке = НСтр("ru = 'График работы «%1» не заполнен с даты %2 на указанное количество рабочих дней.'");
СообщениеОбОшибке = НСтр("ru = 'График работы ""%1"" не заполнен с даты %2 на указанное количество рабочих дней.'");
Если ВызыватьИсключение Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СообщениеОбОшибке, ГрафикРаботы, Формат(ДатаОт, "ДЛФ=D"));
Иначе
@@ -495,7 +495,7 @@
// Делимое - Цел(Делимое / Делитель) * Делитель, где Цел() - функция выделения целой части.
// Для выделения целой части используется конструкция:
// если результат округления числа по правилам «1.5 как 2» больше исходного значения, уменьшаем результат на 1.
// если результат округления числа по правилам "1.5 как 2" больше исходного значения, уменьшаем результат на 1.
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
@@ -631,7 +631,7 @@
Обработчик.ИзменяемыеОбъекты = "Справочник.Календари";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("fe8c3f3a-8973-4538-a993-ba74fa9162d8");
Обработчик.Комментарий = НСтр("ru = 'Установка нового признака «Учитывать нерабочие периоды» в положение по умолчанию.'");
Обработчик.Комментарий = НСтр("ru = 'Установка нового признака ""Учитывать нерабочие периоды"" в положение по умолчанию.'");
Обработчик.БлокируемыеОбъекты = "Справочник.Календари";
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
@@ -497,21 +497,29 @@
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("ДлительныеОперации.ВыполнитьВФоне", "ПараметрыВыполнения",
ПараметрыВыполнения, Тип("Структура"));
Если ПараметрыВыполнения.ЗапуститьНеВФоне И ПараметрыВыполнения.ЗапуститьВФоне Тогда
ВызватьИсключение НСтр("ru = 'Параметры ""ВсегдаНеВФоне"" и ""ВсегдаВФоне""
|не могут одновременно принимать значение Истина в ДлительныеОперации.ВыполнитьВФоне.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Параметры ""%1"" и ""%2""
|не могут одновременно принимать значение %3 в %4.'"),
"ЗапуститьНеВФоне", "ЗапуститьВФоне", "Истина", "ДлительныеОперации.ВыполнитьВФоне");
КонецЕсли;
Если ПараметрыВыполнения.БезРасширений И ПараметрыВыполнения.СРасширениямиБазыДанных Тогда
ВызватьИсключение НСтр("ru = 'Параметры ""БезРасширений"" и ""СРасширениямиБазыДанных""
|не могут одновременно принимать значение Истина в ДлительныеОперации.ВыполнитьВФоне.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Параметры ""%1"" и ""%2""
|не могут одновременно принимать значение %3 в %4.'"),
"БезРасширений", "СРасширениямиБазыДанных", "Истина", "ДлительныеОперации.ВыполнитьВФоне");
КонецЕсли;
#Если ВнешнееСоединение Тогда
ИнформационнаяБазаФайловая = ОбщегоНазначения.ИнформационнаяБазаФайловая();
Если ПараметрыВыполнения.БезРасширений И ИнформационнаяБазаФайловая Тогда
ВызватьИсключение НСтр("ru = 'Фоновое задание не может быть запущено с параметром ""БезРасширений""
|в файловой информационной базе в ДлительныеОперации.ВыполнитьВФоне.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Фоновое задание не может быть запущено с параметром ""%1""
|в файловой информационной базе в %2.'"),
"БезРасширений", "ДлительныеОперации.ВыполнитьВФоне");
ИначеЕсли ПараметрыВыполнения.СРасширениямиБазыДанных И ИнформационнаяБазаФайловая Тогда
ВызватьИсключение НСтр("ru = 'Фоновое задание не может быть запущено с параметром ""СРасширениямиБазыДанных""
|в файловой информационной базе в ДлительныеОперации.ВыполнитьВФоне.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Фоновое задание не может быть запущено с параметром ""%1""
|в файловой информационной базе в %2.'"),
"СРасширениямиБазыДанных", "ДлительныеОперации.ВыполнитьВФоне");
КонецЕсли;
#КонецЕсли
@@ -522,9 +530,12 @@
Если ПараметрыВыполнения.АдресРезультата = Неопределено Тогда
Если Не ЗначениеЗаполнено(ПараметрыВыполнения.ИдентификаторФормы) И ОбщегоНазначения.РежимОтладки() Тогда
Попытка
ВызватьИсключение НСтр("ru = 'Не указан ни уникальный идентификатор формы в параметре ПараметрыВыполнения.ИдентификаторФормы,
|ни адрес временного хранилища в ПараметрыВыполнения.АдресРезультата в ДлительныеОперации.ВыполнитьВФоне.
|Убедиться, что при обработке результата временное хранилище очищается явно методом УдалитьИзВременногоХранилища.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Не указан ни уникальный идентификатор формы в параметре %1,
|ни адрес временного хранилища в %2 в %3.
|Убедиться, что при обработке результата временное хранилище очищается явно методом %4.'"),
"ПараметрыВыполнения.ИдентификаторФормы", "ПараметрыВыполнения.АдресРезультата",
"ДлительныеОперации.ВыполнитьВФоне", "УдалитьИзВременногоХранилища");
Исключение
// АПК:154-выкл Не ошибка, а предупреждение (рекомендация разработчику).
ЗаписьЖурналаРегистрации(НСтр("ru = 'Длительные операции.Диагностика'", ОбщегоНазначения.КодОсновногоЯзыка()),
@@ -534,8 +545,10 @@
КонецЕсли;
ПараметрыВыполнения.АдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, ПараметрыВыполнения.ИдентификаторФормы);
ИначеЕсли Не ЭтоАдресВременногоХранилища(ПараметрыВыполнения.АдресРезультата) Тогда
ВызватьИсключение НСтр("ru = 'Не указан адрес временного хранилища в параметре ПараметрыВыполнения.АдресРезультата
|в ДлительныеОперации.ВыполнитьВФоне.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Не указан адрес временного хранилища в параметре %1
|в %2.'"),
"ПараметрыВыполнения.АдресРезультата", "ДлительныеОперации.ВыполнитьВФоне");
КонецЕсли;
Результат.Вставить("АдресРезультата", ПараметрыВыполнения.АдресРезультата);
КонецЕсли;
@@ -1292,7 +1305,7 @@
КонецЕсли;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неверный формат параметра ИмяПроцедуры (переданное значение: %1)'"), ИмяПроцедуры);
НСтр("ru = 'Неверный формат параметра %2 (переданное значение: %1)'"), ИмяПроцедуры, "ИмяПроцедуры");
КонецПроцедуры
@@ -1328,7 +1341,7 @@
КонецЕсли;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неверный формат параметра ИмяФункции (переданное значение: %1)'"), ИмяФункции);
НСтр("ru = 'Неверный формат параметра %2 (переданное значение: %1)'"), ИмяФункции, "ИмяФункции");
КонецПроцедуры
@@ -211,7 +211,7 @@
// Значение по умолчанию Истина (обработка будет выполняться безопасно).
// В безопасном режиме:
// Игнорируется привилегированный режим.
// Запрещены внешние по отношению к платформе «1С:Предприятия» действия:
// Запрещены внешние по отношению к платформе 1С:Предприятия действия:
// COM;
// загрузка внешних компонент;
// запуск внешних приложений и команд операционной системы;
@@ -1625,9 +1625,6 @@
// ПолноеИмяОбъектаМетаданных - Строка - полное имя объекта метаданных,
// для которого требуется получить список печатных форм.
//
// Места использования:
// УправлениеПечатью.ПриПолученииСпискаВнешнихПечатныхФорм().
//
Процедура ПриПолученииСпискаВнешнихПечатныхФорм(ВнешниеПечатныеФормы, ПолноеИмяОбъектаМетаданных) Экспорт
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьДополнительныеОтчетыИОбработки") Тогда
@@ -1656,9 +1653,6 @@
// Возвращает ссылку на объект внешней печатной формы.
//
// Места использования:
// УправлениеПечатью.ПриПолученииВнешнейПечатнойФормы
//
Процедура ПриПолученииВнешнейПечатнойФормы(Идентификатор, ПолноеИмяОбъектаМетаданных, ВнешняяПечатнаяФормаСсылка) Экспорт
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьДополнительныеОтчетыИОбработки") Тогда
Возврат;
@@ -905,7 +905,6 @@
//
// Параметры:
// ТаблицаПараметров - ТаблицаЗначений - таблица описания параметров.
// Описание состав колонок - см. РаботаВМоделиСервиса.ПолучитьТаблицуПараметровИБ().
//
Процедура ПриЗаполненииТаблицыПараметровИБ(Знач ТаблицаПараметров) Экспорт
@@ -850,7 +850,7 @@
Дело.Количество = ИстекшиеСогласия.Количество();
Дело.Подсказка = НСтр("ru = 'Истекли согласия на обработку персональных данных (ПДн). Прекратите обработку ПДн или запросите у субъекта продление согласия на обработку.'");
Дело.ПараметрыФормы = Новый Структура("ИстекшиеСогласия", ИстекшиеСогласия);
Дело.Форма = "ЖурналДокументов.СогласияНаОбработкуПерсональныхДанных.Форма.ФормаСписка";
Дело.Форма = "ЖурналДокументов.СогласияНаОбработкуПерсональныхДанных.ФормаСписка";
КонецЦикла;
КонецПроцедуры
@@ -865,7 +865,7 @@
КонецПроцедуры
// См. ДатыЗапретаИзмененияПереопределяемый.ПриЗаполненииИсточниковДанныхДляПроверкиЗапретаИзменения.
// См. ДатыЗапретаИзмененияПереопределяемый.ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения.
Процедура ПриЗаполненииИсточниковДанныхДляПроверкиЗапретаИзменения(ИсточникиДанных) Экспорт
МодульДатыЗапретаИзменения = ОбщегоНазначения.ОбщийМодуль("ДатыЗапретаИзменения");
@@ -1508,7 +1508,7 @@
Для Каждого ТекущийСубъект Из ТекущиеСубъекты Цикл
ТекстСообщения = НСтр("ru = 'Персональные данные субъекта «%1» не могут быть скрыты.
ТекстСообщения = НСтр("ru = 'Персональные данные субъекта ""%1"" не могут быть скрыты.
|%2'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, ТекущийСубъект, ТекстПричины);
@@ -79,7 +79,7 @@
ТекстПричины = НСтр("ru = 'Скрытие уже выполнено.'");
КонецЕсли;
ТекстСообщения = НСтр("ru = 'Персональные данные субъекта «%1» не могут быть скрыты.
ТекстСообщения = НСтр("ru = 'Персональные данные субъекта ""%1"" не могут быть скрыты.
|%2'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Субъект, ТекстПричины);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
@@ -1112,7 +1112,12 @@
КонецПроцедуры
// См. ОбщегоНазначенияПереопределяемый.ПередПоискомМестИспользования.
// Добавляет к коллекции дублей связанные подчиненные объекты.
//
// Параметры:
// ПарыЗамен - см. ОбщегоНазначения.ЗаменитьСсылки.ПарыЗамен
// ПараметрыЗамены - см. ОбщегоНазначения.ПараметрыЗаменыСсылок
//
Процедура ПередПоискомМестИспользования(ПарыЗамен, ПараметрыВыполнения) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПоискИУдалениеДублей") Тогда
@@ -2247,7 +2252,7 @@
КонецПроцедуры
// См. ДатыЗапретаИзмененияПереопределяемый.ПриЗаполненииИсточниковДанныхДляПроверкиЗапретаИзменения.
// См. ДатыЗапретаИзмененияПереопределяемый.ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения.
Процедура ПриЗаполненииИсточниковДанныхДляПроверкиЗапретаИзменения(ИсточникиДанных) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
@@ -3556,7 +3561,7 @@
КонецПроцедуры
// См. ПоискИУдалениеДублей.ПриОпределенииОбъектовСПоискомДублей
// См. ПоискИУдалениеДублейПереопределяемый.ПриОпределенииОбъектовСПоискомДублей
Процедура ПриДобавленииТиповИсключаемыхИзВозможныхДублей(ИсключаемыеТипы) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗаметкиПользователя") Тогда
@@ -3677,22 +3682,22 @@
КонецПроцедуры
// См. ПользователиПереопределяемый.ПриОпределенииДействийВФорме.
Процедура ПриОпределенииДействийВФорме(Ссылка, ДействияВФорме) Экспорт
// См. ПользователиПереопределяемый.ИзменитьДействияВФорме.
Процедура ПриОпределенииДействийВФорме(Знач ПользовательИлиГруппа, Знач ДействияВФорме) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступомСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступомСлужебный");
МодульУправлениеДоступомСлужебный.ПриОпределенииДействийВФорме(Ссылка, ДействияВФорме);
МодульУправлениеДоступомСлужебный.ПриОпределенииДействийВФорме(ПользовательИлиГруппа, ДействияВФорме);
КонецЕсли;
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиБТС().ПриОпределенииДействийВФорме Тогда
МодульИнтеграцияПодсистемБТС = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБТС");
МодульИнтеграцияПодсистемБТС.ПриОпределенииДействийВФорме(Ссылка, ДействияВФорме);
МодульИнтеграцияПодсистемБТС.ПриОпределенииДействийВФорме(ПользовательИлиГруппа, ДействияВФорме);
КонецЕсли;
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиБИП().ПриОпределенииДействийВФорме Тогда
МодульИнтеграцияПодсистемБИП = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБИП");
МодульИнтеграцияПодсистемБИП.ПриОпределенииДействийВФорме(Ссылка, ДействияВФорме);
МодульИнтеграцияПодсистемБИП.ПриОпределенииДействийВФорме(ПользовательИлиГруппа, ДействияВФорме);
КонецЕсли;
КонецПроцедуры
@@ -3873,11 +3878,10 @@
// Переопределяет текст комментария при авторизации пользователя ИБ,
// созданного в конфигураторе с административными правами.
// Вызывается из Пользователи.АвторизоватьТекущегоПользователя().
// Комментарий записывается в журнал регистрации.
// Комментарий записывается в журнал регистрации.
//
// Параметры:
// Комментарий - Строка - начальное значение задано.
// Комментарий - Строка
//
Процедура ПослеЗаписиАдминистратораПриАвторизации(Комментарий) Экспорт
@@ -4250,7 +4254,12 @@
КонецЕсли;
СтандартныеПодсистемыСервер.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность.ПереводТекста") Тогда
МодульПереводТекстаНаДругиеЯзыки = ОбщегоНазначения.ОбщийМодуль("ПереводТекстаНаДругиеЯзыки");
МодульПереводТекстаНаДругиеЯзыки.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
МодульУправлениеПечатью.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
@@ -4471,34 +4480,34 @@
#Область Свойства
// См. УправлениеСвойствамиПереопределяемый.ПриСозданииПредопределенныхНаборовСвойств.
Процедура ПриПолученииПредопределенныхНаборовСвойств(ДеревоНаборов) Экспорт
// См. УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств.
Процедура ПриПолученииПредопределенныхНаборовСвойств(Наборы) Экспорт
ПользователиСлужебный.ПриПолученииПредопределенныхНаборовСвойств(ДеревоНаборов);
ПользователиСлужебный.ПриПолученииПредопределенныхНаборовСвойств(Наборы);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Взаимодействия") Тогда
МодульВзаимодействия = ОбщегоНазначения.ОбщийМодуль("Взаимодействия");
МодульВзаимодействия.ПриПолученииПредопределенныхНаборовСвойств(ДеревоНаборов);
МодульВзаимодействия.ПриПолученииПредопределенныхНаборовСвойств(Наборы);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
МодульЗащитаПерсональныхДанных = ОбщегоНазначения.ОбщийМодуль("ЗащитаПерсональныхДанных");
МодульЗащитаПерсональныхДанных.ПриПолученииПредопределенныхНаборовСвойств(ДеревоНаборов);
МодульЗащитаПерсональныхДанных.ПриПолученииПредопределенныхНаборовСвойств(Наборы);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаСФайламиСлужебный");
МодульРаботаСФайламиСлужебный.ПриПолученииПредопределенныхНаборовСвойств(ДеревоНаборов);
МодульРаботаСФайламиСлужебный.ПриПолученииПредопределенныхНаборовСвойств(Наборы);
КонецЕсли;
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиБТС().ПриПолученииПредопределенныхНаборовСвойств Тогда
МодульИнтеграцияПодсистемБТС = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБТС");
МодульИнтеграцияПодсистемБТС.ПриПолученииПредопределенныхНаборовСвойств(ДеревоНаборов);
МодульИнтеграцияПодсистемБТС.ПриПолученииПредопределенныхНаборовСвойств(Наборы);
КонецЕсли;
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиБИП().ПриПолученииПредопределенныхНаборовСвойств Тогда
МодульИнтеграцияПодсистемБИП = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБИП");
МодульИнтеграцияПодсистемБИП.ПриПолученииПредопределенныхНаборовСвойств(ДеревоНаборов);
МодульИнтеграцияПодсистемБИП.ПриПолученииПредопределенныхНаборовСвойств(Наборы);
КонецЕсли;
КонецПроцедуры
@@ -5021,10 +5030,6 @@
// исполнителей задач, которые соответствуют ключам адресации
// (РольИсполнителя + ОсновнойОбъектАдресации + ДополнительныйОбъектАдресации).
//
// При изменении состава дополнительных групп пользователей необходимо вызвать
// процедуру УправлениеДоступом.ОбновитьПользователейГруппИсполнителей,
// чтобы применить изменения к внутренним данным подсистемы.
//
// Параметры:
// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - в который можно поместить таблицу
// ТаблицаГруппИсполнителей с полями:
@@ -435,7 +435,7 @@
КонецПроцедуры
// См. ОтчетыКлиентПереопределяемый.ПриОбработкеВыбора.
// См. ОтчетыКлиентПереопределяемый.ОбработкаВыбора.
Процедура ПриОбработкеВыбора(ФормаОтчета, ВыбранноеЗначение, ИсточникВыбора, Результат) Экспорт
Если ИнтеграцияПодсистемБСПКлиентПовтИсп.ПодпискиБТС().ПриОбработкеВыбора Тогда
@@ -418,6 +418,7 @@
Найденные = НайтиФайлы(КаталогПолныйПуть, "*", Ложь);
Для Каждого Файл Из Найденные Цикл
ФайлОтносительноеИмя = КаталогОтносительныйПуть + Файл.Имя;
Если Файл.ЭтоКаталог() Тогда
@@ -426,6 +427,9 @@
Продолжить;
КонецЕсли;
// Снимаем атрибут ТолькоЧтение для избежания ошибок при удалении.
Файл.УстановитьТолькоЧтение(Ложь);
Расширение = СтрЗаменить(НРег(Файл.Расширение), ".", "");
Если Расширение = "htm" ИЛИ Расширение = "html" Тогда
@@ -103,7 +103,7 @@
Пока Выборка.Следующий() Цикл
Если Выборка.ДатаПоКалендарю = Неопределено Тогда
СообщениеОбОшибке = НСтр("ru = 'Производственный календарь «%1» не заполнен с даты %2 на указанное количество рабочих дней.'");
СообщениеОбОшибке = НСтр("ru = 'Производственный календарь ""%1"" не заполнен с даты %2 на указанное количество рабочих дней.'");
Если ВызыватьИсключение Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СообщениеОбОшибке, ГрафикРаботы, Формат(ДатаОт, "ДЛФ=D"));
Иначе
@@ -186,7 +186,7 @@
ДатыГрафика = Новый Массив;
ДатыГрафика.Добавить(ДатаНачала);
Если Год(ДатаНачала) <> Год(ДатаОкончания) И КонецДня(ДатаНачала) <> КонецГода(ДатаНачала) Тогда
// Если даты разных годов, то добавляем «границы» годов.
// Если даты разных годов, то добавляем "границы" годов.
Для НомерГода = Год(ДатаНачала) По Год(ДатаОкончания) - 1 Цикл
ДатыГрафика.Добавить(Дата(НомерГода, 12, 31));
КонецЦикла;
@@ -301,7 +301,7 @@
Если Результат.Пустой() Тогда
Если ВызыватьИсключение Тогда
СообщениеОбОшибке = НСтр("ru = 'График работы «%1» не заполнен на период %2.'");
СообщениеОбОшибке = НСтр("ru = 'График работы ""%1"" не заполнен на период %2.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СообщениеОбОшибке, ГрафикРаботы, ПредставлениеПериода(ДатаНачала, КонецДня(ДатаОкончания)));
Иначе
Возврат Неопределено;
@@ -504,7 +504,7 @@
Возврат МодульГрафикиРаботы.РасписанияРаботыНаПериод(Графики, ДатаНачала, ДатаОкончания);
КонецЕсли;
ВызватьИсключение НСтр("ru = 'Подсистема «Графики работы» не обнаружена.'");
ВызватьИсключение НСтр("ru = 'Подсистема ""Графики работы"" не обнаружена.'");
КонецФункции
@@ -526,7 +526,7 @@
Возврат;
КонецЕсли;
ВызватьИсключение НСтр("ru = 'Подсистема «Графики работы» не обнаружена.'");
ВызватьИсключение НСтр("ru = 'Подсистема ""Графики работы"" не обнаружена.'");
КонецПроцедуры
@@ -861,7 +861,7 @@
Если ДанныеФайлов = Неопределено Тогда
ТекстСообщения = НСтр("ru = 'Не удалось получить данные календаря.
|Классификаторы не поддерживаются или подсистема «Работа с классификаторами» отсутствует.'");
|Классификаторы не поддерживаются или подсистема ""Работа с классификаторами"" отсутствует.'");
ВызватьИсключение ТекстСообщения;
КонецЕсли;
@@ -8,70 +8,6 @@
#Область СлужебныеПроцедурыИФункции
Функция ЭлементыФормулы(Знач Формула) Экспорт
Операнды = Новый Массив;
Функции = Новый Массив;
ЛогическиеОператоры = СтрРазделить("И,ИЛИ,НЕ", ",", Ложь);
Разделители = "()/*-+%=<>, " + Символы.Таб + Символы.ПС;
ОткрывающихСкобок = 0;
ЭтоСтрокаВКавычках = Ложь;
Операнд = "";
Для Индекс = 1 По СтрДлина(Формула) Цикл
Символ = Сред(Формула, Индекс, 1);
ЭтоРазделитель = СтрНайти(Разделители, Символ) > 0;
Если ОткрывающихСкобок = 0 И Символ = """" Тогда
ЭтоСтрокаВКавычках = Не ЭтоСтрокаВКавычках;
Продолжить;
КонецЕсли;
Если ЭтоСтрокаВКавычках Тогда
Продолжить;
КонецЕсли;
Если Символ = "[" Тогда
ОткрывающихСкобок = ОткрывающихСкобок + 1;
КонецЕсли;
Если Символ = "]" И ОткрывающихСкобок > 0 Тогда
ОткрывающихСкобок = ОткрывающихСкобок - 1;
КонецЕсли;
Если ЭтоРазделитель И ОткрывающихСкобок = 0 Тогда
Если ЗначениеЗаполнено(Операнд) Тогда
Если Символ = "(" И СтрНайти(Операнд, ".") = 0
Или ЛогическиеОператоры.Найти(ВРег(Операнд)) <> Неопределено Тогда
Функции.Добавить(Операнд);
КонецЕсли;
Если Не ОбщегоНазначенияКлиентСервер.ЭтоЧисло(Операнд) Тогда
Операнды.Добавить(Операнд);
КонецЕсли;
Операнд = "";
КонецЕсли;
Иначе
Операнд = Операнд + Символ;
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(Операнд) И Не ОбщегоНазначенияКлиентСервер.ЭтоЧисло(Операнд) Тогда
Операнды.Добавить(Операнд);
КонецЕсли;
Результат = Новый Структура;
Результат.Вставить("Операнды", Операнды);
Результат.Вставить("Функции", Функции);
Возврат Результат;
КонецФункции
// Возвращаемое значение:
// СтрокаТаблицыЗначений: см. КонструкторФормулСлужебный.ОписаниеСписковПолей
//
@@ -38,7 +38,7 @@
КонецЕсли;
КонецЕсли;
ДополнительныеПараметры = Новый Структура("Порядок");
ДополнительныеПараметры = Новый Структура("Порядок,ЭтоФункция");
ЗаполнитьЗначенияСвойств(ДополнительныеПараметры, СтрокаТаблицы);
ДополнительныеПараметры.Вставить("Картинка", Base64Строка(СтрокаТаблицы.Картинка.ПолучитьДвоичныеДанные()));
@@ -194,8 +194,74 @@
КонецФункции
Функция ЭлементыФормулы(Знач Формула) Экспорт
ВсеЭлементы = Новый Массив;
ОперандыИФункции = Новый Соответствие;
Возврат КонструкторФормулКлиентСервер.ЭлементыФормулы(Формула);
ЛогическиеОператоры = СтрРазделить("И,ИЛИ,НЕ", ",", Ложь);
Разделители = "()/*-+%=<>, " + Символы.Таб + Символы.ПС;
ОткрывающихСкобок = 0;
ЭтоСтрокаВКавычках = Ложь;
Операнд = "";
Для Индекс = 1 По СтрДлина(Формула) Цикл
Символ = Сред(Формула, Индекс, 1);
ЭтоРазделитель = СтрНайти(Разделители, Символ) > 0;
Если ОткрывающихСкобок = 0 И Символ = """" Тогда
ЭтоСтрокаВКавычках = Не ЭтоСтрокаВКавычках;
ВсеЭлементы.Добавить(Символ);
Продолжить;
КонецЕсли;
Если ЭтоСтрокаВКавычках Тогда
ВсеЭлементы.Добавить(Символ);
Продолжить;
КонецЕсли;
Если Символ = "[" Тогда
ОткрывающихСкобок = ОткрывающихСкобок + 1;
КонецЕсли;
Если Символ = "]" И ОткрывающихСкобок > 0 Тогда
ОткрывающихСкобок = ОткрывающихСкобок - 1;
КонецЕсли;
Если ЭтоРазделитель И ОткрывающихСкобок = 0 Тогда
Если ЗначениеЗаполнено(Операнд) Тогда
ЭтоФункция = Ложь;
Если Символ = "(" И СтрНайти(Операнд, ".") = 0
Или ЛогическиеОператоры.Найти(ВРег(Операнд)) <> Неопределено Тогда
ЭтоФункция = Истина;
КонецЕсли;
Если ЭтоФункция Или Не ОбщегоНазначенияКлиентСервер.ЭтоЧисло(Операнд) Тогда
ОперандыИФункции.Вставить(ВсеЭлементы.ВГраница() + 1, ЭтоФункция);
КонецЕсли;
ВсеЭлементы.Добавить(Операнд);
Операнд = "";
КонецЕсли;
ВсеЭлементы.Добавить(Символ);
Иначе
Операнд = Операнд + Символ;
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(Операнд) И Не ОбщегоНазначенияКлиентСервер.ЭтоЧисло(Операнд) Тогда
ОперандыИФункции.Вставить(ВсеЭлементы.ВГраница() + 1, Ложь);
КонецЕсли;
ВсеЭлементы.Добавить(Операнд);
Результат = Новый Структура;
Результат.Вставить("ВсеЭлементы", ВсеЭлементы);
Результат.Вставить("ОперандыИФункции", ОперандыИФункции);
Возврат Результат;
КонецФункции
@@ -212,45 +278,47 @@
Функция ПроверитьФормулу(Форма, ПредставлениеФормулы) Экспорт
ЭлементыФормулы = КонструкторФормулКлиентСервер.ЭлементыФормулы(ПредставлениеФормулы);
Выражение = ПредставлениеФормулы;
ЭлементыФормулы = ЭлементыФормулы(ПредставлениеФормулы);
НайденныеОперанды = Новый Соответствие;
РаспознанныеЭлементы = Новый Соответствие;
Для Каждого Элемент Из Форма.ПодключенныеСпискиПолей Цикл
ИмяСпискаПолей = Элемент.ИмяСпискаПолей;
КоллекцияПолей = Форма[ИмяСпискаПолей];
СкобкиИдентификаторов = Элемент.СкобкиИдентификаторов;
Для Каждого ПредставлениеОперанда Из ЭлементыФормулы.Операнды Цикл
Для Каждого ОписаниеЭлемента Из ЭлементыФормулы.ОперандыИФункции Цикл
ПредставлениеОперанда = ЭлементыФормулы.ВсеЭлементы[ОписаниеЭлемента.Ключ];
ЭтоФункция = ОписаниеЭлемента.Значение;
ПутьКДанным = ОчиститьКвадратныеСкобки(ПредставлениеОперанда);
Реквизит = НайтиРеквизит(Форма, ИмяСпискаПолей, ПутьКДанным, КоллекцияПолей.ПолучитьЭлементы(), Истина);
Если Реквизит <> Неопределено Тогда
Если ЭтоФункция <> Реквизит.ЭтоФункция Тогда
Продолжить;
КонецЕсли;
Операнд = Реквизит.ПутьКДанным;
Если СкобкиИдентификаторов Тогда
Операнд = ОбернутьВКвадратныеСкобки(Операнд);
КонецЕсли;
НайденныеОперанды.Вставить(ПредставлениеОперанда, Операнд);
РаспознанныеЭлементы.Вставить(ОписаниеЭлемента.Ключ, Операнд);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Ошибки = Новый Массив;
Для Каждого Операнд Из ЭлементыФормулы.Операнды Цикл
Позиция = СтрНайти(Выражение, Операнд);
Если Позиция = 0 Тогда
Продолжить;
КонецЕсли;
Для Каждого ОписаниеЭлемента Из ЭлементыФормулы.ОперандыИФункции Цикл
Операнд = ЭлементыФормулы.ВсеЭлементы[ОписаниеЭлемента.Ключ];
ЭтоФункция = ОписаниеЭлемента.Значение;
Если НайденныеОперанды[Операнд] = Неопределено Тогда
Если ЭлементыФормулы.Функции.Найти(Операнд) = Неопределено Тогда
Если РаспознанныеЭлементы[ОписаниеЭлемента.Ключ] = Неопределено Тогда
Если ЭтоФункция Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Поле %1 не найдено в списке доступных полей'"),
НСтр("ru = 'Неизвестная функция в выражении - ""%1""'"),
Операнд);
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неизвестная функция в выражении - ""%1""'"),
НСтр("ru = 'Поле %1 не найдено в списке доступных полей'"),
Операнд);
КонецЕсли;
Ошибки.Добавить(ТекстОшибки);
@@ -478,6 +546,7 @@
Результат.Колонки.Добавить("Картинка", Новый ОписаниеТипов("Картинка"));
Результат.Колонки.Добавить("Порядок", Новый ОписаниеТипов("Число"));
Результат.Колонки.Добавить("Формат", Новый ОписаниеТипов("Строка"));
Результат.Колонки.Добавить("ЭтоФункция", Новый ОписаниеТипов("Булево"));
Возврат Результат;
@@ -494,6 +563,7 @@
Результат.Колонки.Добавить("Папка", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("Таблица", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("Формат", Новый ОписаниеТипов("Строка"));
Результат.Колонки.Добавить("ЭтоФункция", Новый ОписаниеТипов("Булево"));
Возврат Результат;
@@ -607,6 +677,8 @@
Реквизит.Папка = Реквизит.ЭтоГруппа;
КонецЕсли;
Реквизит.ЭтоФункция = ДополнительныеПараметры["ЭтоФункция"];
Если Не ЗначениеЗаполнено(Реквизит.Картинка) Тогда
Реквизит.Картинка = КартинкаТипа(ОписаниеПоля.Тип);
@@ -1475,7 +1547,7 @@
Поле.Поле = Элемент.Идентификатор;
ЭтоГруппа = Элемент.Строки.Количество() > 0 И Не ЗначениеЗаполнено(Элемент.ТипЗначения);
ДополнительныеПараметры = Новый Структура("Порядок,ЭтоГруппа");
ДополнительныеПараметры = Новый Структура("Порядок,ЭтоГруппа,ЭтоФункция");
ЗаполнитьЗначенияСвойств(ДополнительныеПараметры, Элемент);
ДополнительныеПараметры.ЭтоГруппа = ЭтоГруппа;
ДополнительныеПараметры.Вставить("Картинка", Base64Строка(Элемент.Картинка.ПолучитьДвоичныеДанные()));
@@ -1509,68 +1581,81 @@
Функция ФормулаИзПредставления(Форма, ПредставлениеФормулы) Экспорт
ЭлементыФормулы = КонструкторФормулКлиентСервер.ЭлементыФормулы(ПредставлениеФормулы);
ЭлементыФормулы = ЭлементыФормулы(ПредставлениеФормулы);
Выражение = ПредставлениеФормулы;
НайденныеОперанды = Новый Соответствие;
ЗаменяемыеЭлементы = Новый Соответствие;
Для Каждого Элемент Из Форма.ПодключенныеСпискиПолей Цикл
ИмяСпискаПолей = Элемент.ИмяСпискаПолей;
КоллекцияПолей = Форма[ИмяСпискаПолей];
СкобкиИдентификаторов = Элемент.СкобкиИдентификаторов;
Для Каждого ПредставлениеОперанда Из ЭлементыФормулы.Операнды Цикл
Для Каждого ОписаниеЭлемента Из ЭлементыФормулы.ОперандыИФункции Цикл
ПредставлениеОперанда = ЭлементыФормулы.ВсеЭлементы[ОписаниеЭлемента.Ключ];
ЭтоФункция = ОписаниеЭлемента.Значение;
ПутьКДанным = ОчиститьКвадратныеСкобки(ПредставлениеОперанда);
Реквизит = НайтиРеквизит(Форма, ИмяСпискаПолей, ПутьКДанным, КоллекцияПолей.ПолучитьЭлементы(), Истина);
Если Реквизит <> Неопределено Тогда
Операнд = Реквизит.ПутьКДанным;
Если ЭтоФункция <> Реквизит.ЭтоФункция Тогда
Продолжить;
КонецЕсли;
Операнд = ОчиститьКвадратныеСкобки(Реквизит.ПутьКДанным);
Если СкобкиИдентификаторов Тогда
Операнд = ОбернутьВКвадратныеСкобки(Операнд);
КонецЕсли;
НайденныеОперанды.Вставить(ПредставлениеОперанда, Операнд);
ЗаменяемыеЭлементы.Вставить(ОписаниеЭлемента.Ключ, Операнд);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ЗаменитьЭлементыФормулы(Выражение, ЭлементыФормулы, НайденныеОперанды);
ЗаменитьЭлементыФормулы(Выражение, ЭлементыФормулы, ЗаменяемыеЭлементы);
Возврат Выражение;
КонецФункции
Функция ПредставлениеФормулы(Форма, Формула) Экспорт
ЭлементыФормулы = КонструкторФормулКлиентСервер.ЭлементыФормулы(Формула);
ЭлементыФормулы = ЭлементыФормулы(Формула);
Выражение = Формула;
НайденныеОперанды = Новый Соответствие;
ЗаменяемыеЭлементы = Новый Соответствие;
Для Каждого Элемент Из Форма.ПодключенныеСпискиПолей Цикл
ИмяСпискаПолей = Элемент.ИмяСпискаПолей;
КоллекцияПолей = Форма[ИмяСпискаПолей];
СкобкиПредставлений = Элемент.СкобкиПредставлений;
Для Каждого Операнд Из ЭлементыФормулы.Операнды Цикл
Для Каждого ОписаниеЭлемента Из ЭлементыФормулы.ОперандыИФункции Цикл
Операнд = ЭлементыФормулы.ВсеЭлементы[ОписаниеЭлемента.Ключ];
ЭтоФункция = ОписаниеЭлемента.Значение;
ПутьКДанным = ОчиститьКвадратныеСкобки(Операнд);
Реквизит = НайтиРеквизит(Форма, ИмяСпискаПолей, ПутьКДанным, КоллекцияПолей.ПолучитьЭлементы(), Ложь);
Если Реквизит <> Неопределено Тогда
Если ЭтоФункция <> Реквизит.ЭтоФункция Тогда
Продолжить;
КонецЕсли;
ПредставлениеОперанда = Реквизит.ПредставлениеПутиКДанным;
Если СкобкиПредставлений Тогда
ПредставлениеОперанда = ОбернутьВКвадратныеСкобки(Реквизит.ПредставлениеПутиКДанным);
КонецЕсли;
НайденныеОперанды.Вставить(Операнд, ПредставлениеОперанда);
ЗаменяемыеЭлементы.Вставить(ОписаниеЭлемента.Ключ, ПредставлениеОперанда);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ЗаменитьЭлементыФормулы(Выражение, ЭлементыФормулы, НайденныеОперанды);
ЗаменитьЭлементыФормулы(Выражение, ЭлементыФормулы, ЗаменяемыеЭлементы);
Возврат Выражение;
КонецФункции
Функция ПредставлениеВыражения(Знач Выражение, СпискиПолей) Экспорт
ЭлементыФормулы = КонструкторФормулКлиентСервер.ЭлементыФормулы(Выражение);
ЭлементыФормулы = ЭлементыФормулы(Выражение);
Результат = Выражение;
НайденныеПоля = Новый Соответствие;
ЗаменяемыеЭлементы = Новый Соответствие;
Для Каждого НастройкиСписка Из СпискиПолей Цикл
КоллекцияПолей = НастройкиСписка.КоллекцияПолей;
@@ -1580,20 +1665,27 @@
ЗаполнитьСписокДоступныхРеквизитов(КоллекцияПолей, ИсточникиДоступныхПолей, , НастройкиСписка);
КонецЕсли;
Для Каждого Операнд Из ЭлементыФормулы.Операнды Цикл
Для Каждого ОписаниеЭлемента Из ЭлементыФормулы.ОперандыИФункции Цикл
Операнд = ЭлементыФормулы.ВсеЭлементы[ОписаниеЭлемента.Ключ];
ЭтоФункция = ОписаниеЭлемента.Значение;
ПутьКДанным = ОчиститьКвадратныеСкобки(Операнд);
Реквизит = НайтиПоле(ПутьКДанным, ПодчиненныеЭлементы(КоллекцияПолей), Ложь, ИсточникиДоступныхПолей, НастройкиСписка);
Если Реквизит <> Неопределено Тогда
Если ЭтоФункция <> Реквизит.ЭтоФункция Тогда
Продолжить;
КонецЕсли;
ПредставлениеОперанда = Реквизит.ПредставлениеПутиКДанным;
Если НастройкиСписка.СкобкиПредставлений Тогда
ПредставлениеОперанда = ОбернутьВКвадратныеСкобки(Реквизит.ПредставлениеПутиКДанным);
КонецЕсли;
НайденныеПоля.Вставить(Операнд, ПредставлениеОперанда);
ЗаменяемыеЭлементы.Вставить(ОписаниеЭлемента.Ключ, ПредставлениеОперанда);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ЗаменитьЭлементыФормулы(Результат, ЭлементыФормулы, НайденныеПоля);
ЗаменитьЭлементыФормулы(Результат, ЭлементыФормулы, ЗаменяемыеЭлементы);
Возврат Результат;
КонецФункции
@@ -1622,20 +1714,26 @@
Функция ВыражениеДляПроверки(Форма, ПредставлениеФормулы, ИмяСпискаОперандов) Экспорт
ЭлементыФормулы = КонструкторФормулКлиентСервер.ЭлементыФормулы(ПредставлениеФормулы);
ЭлементыФормулы = ЭлементыФормулы(ПредставлениеФормулы);
Выражение = ПредставлениеФормулы;
НайденныеОперанды = Новый Соответствие;
ЗаменяемыеЭлементы = Новый Соответствие;
Для Каждого Элемент Из Форма.ПодключенныеСпискиПолей Цикл
ИмяСпискаПолей = Элемент.ИмяСпискаПолей;
КоллекцияПолей = Форма[ИмяСпискаПолей];
СкобкиИдентификаторов = Элемент.СкобкиИдентификаторов;
Для Каждого ПредставлениеОперанда Из ЭлементыФормулы.Операнды Цикл
Для Каждого ОписаниеЭлемента Из ЭлементыФормулы.ОперандыИФункции Цикл
ПредставлениеОперанда = ЭлементыФормулы.ВсеЭлементы[ОписаниеЭлемента.Ключ];
ЭтоФункция = ОписаниеЭлемента.Значение;
ПутьКДанным = ОчиститьКвадратныеСкобки(ПредставлениеОперанда);
Реквизит = НайтиРеквизит(Форма, ИмяСпискаПолей, ПутьКДанным, КоллекцияПолей.ПолучитьЭлементы(), Истина);
Если Реквизит <> Неопределено Тогда
Если ЭтоФункция <> Реквизит.ЭтоФункция Тогда
Продолжить;
КонецЕсли;
Если ИмяСпискаОперандов = ИмяСпискаПолей Тогда
Операнд = Реквизит.Тип.ПривестиЗначение(1);
Если ТипЗнч(Операнд) = Тип("Строка") Тогда
@@ -1657,35 +1755,26 @@
КонецЕсли;
КонецЕсли;
НайденныеОперанды.Вставить(ПредставлениеОперанда, Операнд);
ЗаменяемыеЭлементы.Вставить(ОписаниеЭлемента.Ключ, Операнд);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ЗаменитьЭлементыФормулы(Выражение, ЭлементыФормулы, НайденныеОперанды);
ЗаменитьЭлементыФормулы(Выражение, ЭлементыФормулы, ЗаменяемыеЭлементы);
Выражение = ФорматироватьЧисла(Выражение);
Возврат Выражение;
КонецФункции
Процедура ЗаменитьЭлементыФормулы(Выражение, ЭлементыФормулы, Значения) Экспорт
Процедура ЗаменитьЭлементыФормулы(Выражение, ЭлементыФормулы, Значения)
ЧастиСтроки = Новый Массив;
Для Каждого Операнд Из ЭлементыФормулы.Операнды Цикл
Позиция = СтрНайти(Выражение, Операнд);
Если Позиция = 0 Тогда
Продолжить;
КонецЕсли;
Если Позиция > 1 Тогда
ЧастиСтроки.Добавить(Лев(Выражение, Позиция - 1));
КонецЕсли;
Значение = Значения[Операнд];
Для Каждого ОписаниеЭлемента Из ЭлементыФормулы.ОперандыИФункции Цикл
Операнд = ЭлементыФормулы.ВсеЭлементы[ОписаниеЭлемента.Ключ];
ЭтоФункция = ОписаниеЭлемента.Значение;
Значение = Значения[ОписаниеЭлемента.Ключ];
Если Значение = Неопределено Тогда
Если ЭлементыФормулы.Функции.Найти(Операнд) <> Неопределено
Если ЭтоФункция
И Не СтрЗаканчиваетсяНа(Операнд, СуффиксОтключеннойФункции()) Тогда
Значение = Операнд + СуффиксОтключеннойФункции();
Иначе
@@ -1693,13 +1782,10 @@
КонецЕсли;
КонецЕсли;
ЧастиСтроки.Добавить(Значение);
Выражение = Сред(Выражение, Позиция + СтрДлина(Операнд));
ЭлементыФормулы.ВсеЭлементы[ОписаниеЭлемента.Ключ] = Значение;
КонецЦикла;
ЧастиСтроки.Добавить(Выражение);
Выражение = СтрСоединить(ЧастиСтроки);
Выражение = СтрСоединить(ЭлементыФормулы.ВсеЭлементы);
КонецПроцедуры
@@ -1827,6 +1913,7 @@
Результат.Вставить("СоответствуетОтбору", Новый ОписаниеТипов("Булево"));
Результат.Вставить("ПодчиненныйЭлементСоответствуетОтбору", Новый ОписаниеТипов("Булево"));
Результат.Вставить("ЭтоГруппа", Новый ОписаниеТипов("Булево"));
Результат.Вставить("ЭтоФункция", Новый ОписаниеТипов("Булево"));
Возврат Результат;
@@ -2001,10 +2088,10 @@
Тип = Новый ОписаниеТипов("Число");
ДобавитьОператорВГруппу(Группа, "Макс", НСтр("ru = 'Максимум'"), Тип);
ДобавитьОператорВГруппу(Группа, "Мин", НСтр("ru = 'Минимум'"), Тип);
ДобавитьОператорВГруппу(Группа, "Окр", НСтр("ru = 'Округлить'"), Тип);
ДобавитьОператорВГруппу(Группа, "Цел", НСтр("ru = 'ЦелаяЧасть'"), Тип);
ДобавитьОператорВГруппу(Группа, "Макс", НСтр("ru = 'Максимум'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "Мин", НСтр("ru = 'Минимум'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "Окр", НСтр("ru = 'Округлить'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "Цел", НСтр("ru = 'ЦелаяЧасть'"), Тип, Истина);
КонецПроцедуры
@@ -2018,17 +2105,19 @@
Тип = Новый ОписаниеТипов("Строка");
ДобавитьОператорВГруппу(Группа, "Строка", НСтр("ru = 'ПреобразоватьВСтроку'"), Тип);
ДобавитьОператорВГруппу(Группа, "ВРег", НСтр("ru = 'ВсеПрописные'"), Тип);
ДобавитьОператорВГруппу(Группа, "НРег", НСтр("ru = 'ВсеСтрочные'"), Тип);
ДобавитьОператорВГруппу(Группа, "ТРег", НСтр("ru = 'КаждоеСловоСПрописной'"), Тип);
ДобавитьОператорВГруппу(Группа, "Лев", НСтр("ru = 'СимволыСлева'"), Тип);
ДобавитьОператорВГруппу(Группа, "Прав", НСтр("ru = 'СимволыСправа'"), Тип);
ДобавитьОператорВГруппу(Группа, "СокрЛ", НСтр("ru = 'УбратьПробелыСлева'"), Тип);
ДобавитьОператорВГруппу(Группа, "СокрЛП", НСтр("ru = 'УбратьПробелыСлеваИСправа'"), Тип);
ДобавитьОператорВГруппу(Группа, "СокрП", НСтр("ru = 'УбратьПробелыСправа'"), Тип);
ДобавитьОператорВГруппу(Группа, "СтрЗаменить", НСтр("ru = 'ЗаменитьСимволыВСтроке'"), Тип);
ДобавитьОператорВГруппу(Группа, "СтрДлина", НСтр("ru = 'ДлинаСтроки'"), Новый ОписаниеТипов("Число"));
// В НСтр переводимые на другие языки идентификаторы.
ДобавитьОператорВГруппу(Группа, "Строка", НСтр("ru = 'ПреобразоватьВСтроку'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "ВРег", НСтр("ru = 'ВсеПрописные'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "НРег", НСтр("ru = 'ВсеСтрочные'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "ТРег", НСтр("ru = 'КаждоеСловоСПрописной'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "Лев", НСтр("ru = 'СимволыСлева'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "Прав", НСтр("ru = 'СимволыСправа'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "СокрЛ", НСтр("ru = 'УбратьПробелыСлева'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "СокрЛП", НСтр("ru = 'УбратьПробелыСлеваИСправа'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "СокрП", НСтр("ru = 'УбратьПробелыСправа'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "СтрЗаменить", НСтр("ru = 'ЗаменитьСимволыВСтроке'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "СтрДлина", НСтр("ru = 'ДлинаСтроки'"), Новый ОписаниеТипов("Число"), Истина);
КонецПроцедуры
@@ -2040,14 +2129,14 @@
Группа.Порядок = 6;
Группа.Картинка = БиблиотекаКартинок.ТипФункция;
ДобавитьОператорВГруппу(Группа, "?", НСтр("ru = 'Условие'"), Новый ОписаниеТипов("Булево"));
ДобавитьОператорВГруппу(Группа, "ПредопределенноеЗначение", НСтр("ru = 'ПредопределенноеЗначение'"), Новый ОписаниеТипов);
ДобавитьОператорВГруппу(Группа, "ЗначениеЗаполнено", НСтр("ru = 'ЗначениеЗаполнено'"), Новый ОписаниеТипов("Булево"));
ДобавитьОператорВГруппу(Группа, "Формат", НСтр("ru = 'Формат'"), Новый ОписаниеТипов("Строка"));
ДобавитьОператорВГруппу(Группа, "?", НСтр("ru = 'Условие'"), Новый ОписаниеТипов("Булево"), Истина);
ДобавитьОператорВГруппу(Группа, "ПредопределенноеЗначение", НСтр("ru = 'ПредопределенноеЗначение'"), Новый ОписаниеТипов, Истина);
ДобавитьОператорВГруппу(Группа, "ЗначениеЗаполнено", НСтр("ru = 'ЗначениеЗаполнено'"), Новый ОписаниеТипов("Булево"), Истина);
ДобавитьОператорВГруппу(Группа, "Формат", НСтр("ru = 'Формат'"), Новый ОписаниеТипов("Строка"), Истина);
КонецПроцедуры
Процедура ДобавитьОператорВГруппу(Группа, Идентификатор, Знач Представление = Неопределено, Тип = Неопределено)
Процедура ДобавитьОператорВГруппу(Группа, Идентификатор, Знач Представление = Неопределено, Тип = Неопределено, ЭтоФункция = Ложь)
Если Представление = Неопределено Тогда
Представление = Идентификатор;
@@ -2058,6 +2147,7 @@
Оператор.Представление = Представление;
Оператор.ТипЗначения = Тип;
Оператор.Картинка = БиблиотекаКартинок.Пустая;
Оператор.ЭтоФункция = ЭтоФункция;
КонецПроцедуры
@@ -2088,7 +2178,7 @@
ДобавитьОператорВГруппу(Группа, Идентификатор, , Тип);
КонецЦикла;
ДобавитьОператорВГруппу(Группа, "В", НСтр("ru = 'В'"), Тип);
ДобавитьОператорВГруппу(Группа, "В", НСтр("ru = 'В'"), Тип, Истина);
КонецПроцедуры
@@ -2117,11 +2207,11 @@
Тип = Новый ОписаниеТипов("Число");
ДобавитьОператорВГруппу(Группа, "СУММА", НСтр("ru = 'СУММА'"), Тип);
ДобавитьОператорВГруппу(Группа, "КОЛИЧЕСТВО", НСтр("ru = 'КОЛИЧЕСТВО'"), Тип);
ДобавитьОператорВГруппу(Группа, "МАКСИМУМ", НСтр("ru = 'МАКСИМУМ'"), Тип);
ДобавитьОператорВГруппу(Группа, "МИНИМУМ", НСтр("ru = 'МИНИМУМ'"), Тип);
ДобавитьОператорВГруппу(Группа, "СРЕДНЕЕ", НСтр("ru = 'СРЕДНЕЕ'"), Тип);
ДобавитьОператорВГруппу(Группа, "СУММА", НСтр("ru = 'СУММА'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "КОЛИЧЕСТВО", НСтр("ru = 'КОЛИЧЕСТВО'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "МАКСИМУМ", НСтр("ru = 'МАКСИМУМ'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "МИНИМУМ", НСтр("ru = 'МИНИМУМ'"), Тип, Истина);
ДобавитьОператорВГруппу(Группа, "СРЕДНЕЕ", НСтр("ru = 'СРЕДНЕЕ'"), Тип, Истина);
КонецПроцедуры
@@ -1842,7 +1842,7 @@
КонецПроцедуры
// См. КонтрольВеденияУчетаПереопределяемый.ПроверкаПоИдентификатору.
// См. КонтрольВеденияУчета.ПроверкаПоИдентификатору.
Функция ПроверкаПоИдентификатору(Идентификатор) Экспорт
Запрос = Новый Запрос(
@@ -1865,7 +1865,7 @@
КонецФункции
// См. КонтрольВеденияУчетаПереопределяемый.ВыполнитьПроверкиВКонтексте.
// См. КонтрольВеденияУчета.ВыполнитьПроверкиВКонтексте.
Функция ПроверкиПоКонтексту(КонтекстПроверокВеденияУчета) Экспорт
Запрос = Новый Запрос(
@@ -2044,33 +2044,33 @@
Если ЕстьОграничениеПоДате Тогда
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Ссылка КАК ПроблемныйОбъект,
| ПсевдонимЗаданнойТаблицы.Ссылка КАК ПроблемныйОбъект,
| &СсылочныеРеквизиты
| ,&РеквизитыТабличныхЧастей
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| &Условие
| И ИмяТаблицы.Дата > &ДатаНачалаПроверки
| И НЕ ИмяТаблицы.ПометкаУдаления
| И ПсевдонимЗаданнойТаблицы.Дата > &ДатаНачалаПроверки
| И НЕ ПсевдонимЗаданнойТаблицы.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Ссылка";
| ПсевдонимЗаданнойТаблицы.Ссылка";
Запрос.УстановитьПараметр("ДатаНачалаПроверки", ПараметрыПроверки.ДатаНачалаПроверки);
Иначе
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Ссылка КАК ПроблемныйОбъект,
| ПсевдонимЗаданнойТаблицы.Ссылка КАК ПроблемныйОбъект,
| &СсылочныеРеквизиты
| ,&РеквизитыТабличныхЧастей
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| &Условие
| И НЕ ИмяТаблицы.ПометкаУдаления
| И НЕ ПсевдонимЗаданнойТаблицы.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Ссылка";
| ПсевдонимЗаданнойТаблицы.Ссылка";
КонецЕсли;
ИмяТаблицы = СтрЗаменить(ОбъектМетаданных.ПолноеИмя(), ".", "");
@@ -2082,7 +2082,7 @@
Запрос.УстановитьПараметр("Ссылка", "");
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ИмяТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Условие", Условие);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ОбъектМетаданных.ПолноеИмя());
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СсылочныеРеквизиты", СтрСоединить(СсылочныеРеквизиты, ","));
@@ -2445,19 +2445,19 @@
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Регистратор КАК РегистраторРеквизитСсылка,
| ИмяТаблицы.Период КАК Период
| ПсевдонимЗаданнойТаблицы.Регистратор КАК РегистраторРеквизитСсылка,
| ПсевдонимЗаданнойТаблицы.Период КАК Период
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| ИмяТаблицы.Период > &ДатаНачалаПроверки
| ПсевдонимЗаданнойТаблицы.Период > &ДатаНачалаПроверки
|
|СГРУППИРОВАТЬ ПО
| ИмяТаблицы.Период,
| ИмяТаблицы.Регистратор
| ПсевдонимЗаданнойТаблицы.Период,
| ПсевдонимЗаданнойТаблицы.Регистратор
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Период");
| ПсевдонимЗаданнойТаблицы.Период");
Запрос.УстановитьПараметр("ДатаНачалаПроверки", ПараметрыПроверки.ДатаНачалаПроверки);
@@ -2465,24 +2465,24 @@
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Регистратор КАК РегистраторРеквизитСсылка
| ПсевдонимЗаданнойТаблицы.Регистратор КАК РегистраторРеквизитСсылка
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| ИмяТаблицы.Регистратор > &Регистратор
| ПсевдонимЗаданнойТаблицы.Регистратор > &Регистратор
|
|СГРУППИРОВАТЬ ПО
| ИмяТаблицы.Регистратор
| ПсевдонимЗаданнойТаблицы.Регистратор
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Регистратор");
| ПсевдонимЗаданнойТаблицы.Регистратор");
Запрос.УстановитьПараметр("Регистратор", "");
КонецЕсли;
ИмяТаблицы = СтрЗаменить(ПолноеИмя, ".", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ИмяТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОбъектМетаданных", ПолноеИмя);
Результат = Запрос.Выполнить().Выгрузить();
@@ -2558,14 +2558,14 @@
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Период КАК Период,
| ПсевдонимЗаданнойТаблицы.Период КАК Период,
| &ПоляВыборки КАК ПоляВыборки
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| (ИмяТаблицы.Период > &Период
| (ПсевдонимЗаданнойТаблицы.Период > &Период
| И НЕ &ТолькоУказанныйПериод
| ИЛИ ИмяТаблицы.Период = &Период
| ИЛИ ПсевдонимЗаданнойТаблицы.Период = &Период
| И &ТолькоУказанныйПериод)
| И &Условие
|
@@ -2575,7 +2575,7 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляУпорядочивания", ПоляУпорядочивания);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляВыборки КАК ПоляВыборки", ПоляВыборки);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ОбъектМетаданных.ПолноеИмя());
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ИмяТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
ТекстПервогоЗапроса = СтрЗаменить(ТекстЗапроса, "&Условие", "Истина");
ТекстЗапросаСУсловием = СтрЗаменить(ТекстЗапроса, "&Условие", УсловиеПоИзмерениям);
@@ -2680,7 +2680,7 @@
"ВЫБРАТЬ ПЕРВЫЕ 1000
| &ПоляВыборки КАК ПоляВыборки
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| &Условие
|
@@ -2690,7 +2690,7 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляУпорядочивания", ПоляУпорядочивания);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляВыборки КАК ПоляВыборки", ПоляВыборки);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ОбъектМетаданных.ПолноеИмя());
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ИмяТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
ТекстПервогоЗапроса = СтрЗаменить(ТекстЗапроса, "&Условие", "Истина");
ТекстЗапросаСУсловием = СтрЗаменить(ТекстЗапроса, "&Условие", УсловиеПоИзмерениям);
@@ -3059,7 +3059,7 @@
Для Каждого Измерение Из Измерения Цикл
ИмяИзмерения = Измерение.Имя;
ПоляВыборки = ПоляВыборки + ?(ЗначениеЗаполнено(ПоляВыборки), ",", "")
+ "ИмяТаблицы" + "." + ИмяИзмерения + " Как " + ИмяИзмерения + "ИзмерениеСсылка";
+ "ПсевдонимЗаданнойТаблицы" + "." + ИмяИзмерения + " Как " + ИмяИзмерения + "ИзмерениеСсылка";
ЗаполнитьЗначенияСвойств(ИнформацияОРегистре.Добавить(),
Новый Структура("ТипМетаданныхВИменительномПадеже, ТипМетаданныхВТворительномПадеже, ИмяМетаданных",
"Измерение", НСтр("ru = 'измерении'"), ИмяИзмерения));
@@ -3071,7 +3071,7 @@
Для Каждого Ресурс Из Ресурсы Цикл
ИмяРесурса = Ресурс.Имя;
ПоляВыборки = ПоляВыборки + ?(ЗначениеЗаполнено(ПоляВыборки), ",", "")
+ "ИмяТаблицы" + "." + ИмяРесурса + " Как " + ИмяРесурса + "РесурсСсылка";
+ "ПсевдонимЗаданнойТаблицы" + "." + ИмяРесурса + " Как " + ИмяРесурса + "РесурсСсылка";
ЗаполнитьЗначенияСвойств(ИнформацияОРегистре.Добавить(),
Новый Структура("ТипМетаданныхВИменительномПадеже, ТипМетаданныхВТворительномПадеже, ИмяМетаданных",
"Ресурс", НСтр("ru = 'ресурсе'"), ИмяРесурса));
@@ -3083,7 +3083,7 @@
Для Каждого Реквизит Из Реквизиты Цикл
ИмяРеквизита = Реквизит.Имя;
ПоляВыборки = ПоляВыборки + ?(ЗначениеЗаполнено(ПоляВыборки), ",", "")
+ "ИмяТаблицы" + "." + ИмяРеквизита + " Как " + ИмяРеквизита + "РеквизитСсылка";
+ "ПсевдонимЗаданнойТаблицы" + "." + ИмяРеквизита + " Как " + ИмяРеквизита + "РеквизитСсылка";
ЗаполнитьЗначенияСвойств(ИнформацияОРегистре.Добавить(),
Новый Структура("ТипМетаданныхВИменительномПадеже, ТипМетаданныхВТворительномПадеже, ИмяМетаданных",
"Реквизит", НСтр("ru = 'реквизите'"), ИмяРеквизита));
@@ -3120,15 +3120,15 @@
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Ссылка КАК ПроблемныйОбъект
| ПсевдонимЗаданнойТаблицы.Ссылка КАК ПроблемныйОбъект
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| &Условие
| И НЕ ИмяТаблицы.ПометкаУдаления
| И НЕ ПсевдонимЗаданнойТаблицы.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Ссылка";
| ПсевдонимЗаданнойТаблицы.Ссылка";
ИмяТаблицы = СтрЗаменить(ПолноеИмя, ".", "");
Если ПараметрыПроверки.Свойство("ПроверяемыеОбъекты") И ПараметрыПроверки.ПроверяемыеОбъекты <> Неопределено Тогда
@@ -3139,7 +3139,7 @@
Запрос.УстановитьПараметр("Ссылка", "");
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ИмяТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Условие", Условие);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ПолноеИмя);
@@ -3257,21 +3257,21 @@
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Регистратор КАК РегистраторРеквизитСсылка,
| ИмяТаблицы.ПериодРегистрации КАК Период
| ПсевдонимЗаданнойТаблицы.Регистратор КАК РегистраторРеквизитСсылка,
| ПсевдонимЗаданнойТаблицы.ПериодРегистрации КАК Период
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| ИмяТаблицы.ПериодРегистрации > &ДатаНачалаПроверки
| ПсевдонимЗаданнойТаблицы.ПериодРегистрации > &ДатаНачалаПроверки
|
|СГРУППИРОВАТЬ ПО
| ИмяТаблицы.ПериодРегистрации,
| ИмяТаблицы.Регистратор
| ПсевдонимЗаданнойТаблицы.ПериодРегистрации,
| ПсевдонимЗаданнойТаблицы.Регистратор
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.ПериодРегистрации");
| ПсевдонимЗаданнойТаблицы.ПериодРегистрации");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ИмяТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОбъектМетаданных", ПолноеИмя);
Запрос.УстановитьПараметр("ДатаНачалаПроверки", ПараметрыПроверки.ДатаНачалаПроверки);
@@ -3279,19 +3279,19 @@
Запрос = Новый Запрос(
"ВЫБРАТЬ
| ИмяТаблицы.Регистратор КАК РегистраторРеквизитСсылка,
| ИмяТаблицы.Период КАК Период
| ПсевдонимЗаданнойТаблицы.Регистратор КАК РегистраторРеквизитСсылка,
| ПсевдонимЗаданнойТаблицы.Период КАК Период
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|
|СГРУППИРОВАТЬ ПО
| ИмяТаблицы.Период,
| ИмяТаблицы.Регистратор
| ПсевдонимЗаданнойТаблицы.Период,
| ПсевдонимЗаданнойТаблицы.Регистратор
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Период");
| ПсевдонимЗаданнойТаблицы.Период");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ИмяТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОбъектМетаданных",
ПолноеИмя + ".ДвиженияССубконто(, , Период > &ДатаНачалаПроверки И Регистратор > &Регистратор, , 1000)");
Запрос.УстановитьПараметр("ДатаНачалаПроверки", ПараметрыПроверки.ДатаНачалаПроверки);
@@ -3300,21 +3300,21 @@
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Регистратор КАК РегистраторРеквизитСсылка,
| ИмяТаблицы.Период КАК Период
| ПсевдонимЗаданнойТаблицы.Регистратор КАК РегистраторРеквизитСсылка,
| ПсевдонимЗаданнойТаблицы.Период КАК Период
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| ИмяТаблицы.Период > &ДатаНачалаПроверки
| ПсевдонимЗаданнойТаблицы.Период > &ДатаНачалаПроверки
|
|СГРУППИРОВАТЬ ПО
| ИмяТаблицы.Период,
| ИмяТаблицы.Регистратор
| ПсевдонимЗаданнойТаблицы.Период,
| ПсевдонимЗаданнойТаблицы.Регистратор
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Период");
| ПсевдонимЗаданнойТаблицы.Период");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ИмяТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОбъектМетаданных", ПолноеИмя);
Запрос.УстановитьПараметр("ДатаНачалаПроверки", ПараметрыПроверки.ДатаНачалаПроверки);
@@ -3388,20 +3388,20 @@
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Регистратор КАК РегистраторРеквизитСсылка
| ПсевдонимЗаданнойТаблицы.Регистратор КАК РегистраторРеквизитСсылка
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| ИмяТаблицы.Регистратор > &Регистратор
| ПсевдонимЗаданнойТаблицы.Регистратор > &Регистратор
|
|СГРУППИРОВАТЬ ПО
| ИмяТаблицы.Регистратор
| ПсевдонимЗаданнойТаблицы.Регистратор
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Регистратор");
| ПсевдонимЗаданнойТаблицы.Регистратор");
ИмяТаблицы = СтрЗаменить(ПолноеИмя, ".", "");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ИмяТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОбъектМетаданных", ПолноеИмя);
Запрос.УстановитьПараметр("Регистратор", "");
@@ -3491,7 +3491,7 @@
"ВЫБРАТЬ ПЕРВЫЕ 1000
| &ПоляВыборки КАК ПоляВыборки
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| &Условие
|
@@ -3501,7 +3501,7 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляУпорядочивания", ПоляУпорядочивания);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляВыборки КАК ПоляВыборки", ПоляВыборки);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ОбъектМетаданных.ПолноеИмя());
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ИмяТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
ТекстПервогоЗапроса = СтрЗаменить(ТекстЗапроса, "&Условие", "Истина");
ТекстЗапросаСУсловием = СтрЗаменить(ТекстЗапроса, "&Условие", УсловиеПоИзмерениям);
@@ -3621,14 +3621,14 @@
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Период КАК Период,
| ПсевдонимЗаданнойТаблицы.Период КАК Период,
| &ПоляВыборки КАК ПоляВыборки
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| (ИмяТаблицы.Период > &Период
| (ПсевдонимЗаданнойТаблицы.Период > &Период
| И НЕ &ТолькоУказанныйПериод
| ИЛИ ИмяТаблицы.Период = &Период
| ИЛИ ПсевдонимЗаданнойТаблицы.Период = &Период
| И &ТолькоУказанныйПериод)
| И &Условие
|УПОРЯДОЧИТЬ ПО &ПоляУпорядочивания";
@@ -3636,7 +3636,7 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляУпорядочивания", ПоляУпорядочивания);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоляВыборки КАК ПоляВыборки", ПоляВыборки);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ОбъектМетаданных.ПолноеИмя());
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ИмяТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
ТекстПервогоЗапроса = СтрЗаменить(ТекстЗапроса, "&Условие", "Истина");
ТекстЗапросаСУсловием = СтрЗаменить(ТекстЗапроса, "&Условие", УсловиеПоИзмерениям);
@@ -3748,19 +3748,19 @@
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1000
| ИмяТаблицы.Ссылка КАК ПроблемныйОбъект,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ИмяТаблицы.Ссылка) КАК Представление,
| ИмяТаблицы.Родитель КАК Родитель
| ПсевдонимЗаданнойТаблицы.Ссылка КАК ПроблемныйОбъект,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ПсевдонимЗаданнойТаблицы.Ссылка) КАК Представление,
| ПсевдонимЗаданнойТаблицы.Родитель КАК Родитель
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| ИмяТаблицы.Ссылка > &Ссылка
| ПсевдонимЗаданнойТаблицы.Ссылка > &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| ИмяТаблицы.Ссылка";
| ПсевдонимЗаданнойТаблицы.Ссылка";
ИмяТаблицы = СтрЗаменить(ОбъектМетаданных.ПолноеИмя(), ".", "");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ИмяТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ПолноеИмя);
Запрос = Новый Запрос(ТекстЗапроса);
@@ -3935,16 +3935,16 @@
Перем Результат;
ТекстЗапроса =
"ВЫБРАТЬ
| ИмяТаблицы.Ссылка КАК Ссылка
| ПсевдонимЗаданнойТаблицы.Ссылка КАК Ссылка
|ИЗ
| &ОбъектМетаданных КАК ИмяТаблицы
| &ОбъектМетаданных КАК ПсевдонимЗаданнойТаблицы
|ГДЕ
| ИмяТаблицы.Родитель = &Родитель
| И ИмяТаблицы.Ссылка <> &ИсключениеВыборки";
| ПсевдонимЗаданнойТаблицы.Родитель = &Родитель
| И ПсевдонимЗаданнойТаблицы.Ссылка <> &ИсключениеВыборки";
ПолноеИмя = СсылкаНаОбъект.Метаданные().ПолноеИмя();
ИмяТаблицы = СтрЗаменить(ПолноеИмя, ".", "");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПсевдонимЗаданнойТаблицы", ИмяТаблицы);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданных", ПолноеИмя);
Запрос = Новый Запрос(ТекстЗапроса);
@@ -286,7 +286,7 @@
СуффиксТекущегоЯзыка = СуффиксТекущегоЯзыка();
Если ЗначениеЗаполнено(СуффиксТекущегоЯзыка) Тогда
Если МультиязычныеСтрокиВРеквизитах(ОбъектМетаданных) И ЗначениеЗаполнено(СуффиксТекущегоЯзыка) Тогда
ИменаЛокализуемыхРеквизитов = НаименованияЛокализуемыхРеквизитовОбъекта(ОбъектМетаданных);
@@ -885,7 +885,7 @@
// * ОсновнойЯзык - Строка
// * КодЯзыка2 - Строка
// * КодЯзыка1 - Строка
// * ЛокализуемыеРеквизитыОбъекта - Соответствие
// * ЛокализуемыеРеквизитыОбъекта - см. НастройкиОбновлениеПредопределенныхДанных
//
Процедура ОбновитьМультиязычныеСтрокиПредопределенногоЭлемента(СсылкаНаОбъект, НастройкиОбновления) Экспорт
@@ -940,6 +940,20 @@
КонецПроцедуры
// Параметры:
// ОбъектМетаданных - ОбъектМетаданных
//
// Возвращаемое значение:
// Структура:
// * ЛокализуемыеРеквизитыОбъекта - Соответствие из КлючЗначение:
// ** Ключ - Строка
// ** Значение - Булево
// * КодЯзыка1 - Строка
// * КодЯзыка2 - Строка
// * ОсновнойЯзык - Строка
// * ИмяОбъектМетаданных - Строка
// * ПредопределенныеДанные - ТаблицаЗначений
//
Функция НастройкиОбновлениеПредопределенныхДанных(ОбъектМетаданных) Экспорт
Результат = Новый Структура;
@@ -1028,8 +1042,10 @@
КонецФункции
// Параметры:
// ИменаРеквизитовОбъекта - Массив
// ЛокализуемыеРеквизитыОбъекта - Соответствие
// ИменаРеквизитовОбъекта - Массив из Строка
// ЛокализуемыеРеквизитыОбъекта - Соответствие из КлючЗначение:
// * Ключ - Строка
// * Значение - Булево
//
Процедура СформироватьИменаМультиязычныхРеквизитов(Знач ИменаРеквизитовОбъекта, Знач ЛокализуемыеРеквизитыОбъекта) Экспорт
@@ -1782,6 +1782,7 @@
Запрос = Новый Запрос;
ТекстыЗапроса = Новый Массив;
ТекстыЗапросаРегистров = Новый Массив;
ОтборУстановлен = Ложь;
Для Каждого ОбрабатываемыйТип Из ПолныеИменаОбрабатываемыхОбъектов Цикл
@@ -1793,12 +1794,14 @@
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ОбрабатываемыйТип);
ПолноеИмяОбъекта = ОбрабатываемыйТип;
КонецЕсли;
ПроверкаРегистра = Ложь;
ИмяОбъекта = СтрРазделить(ПолноеИмяОбъекта,".",Ложь)[1];
УсловиеОтбораДанных = "ИСТИНА";
УсловиеПроверкиРегистратора = "ИСТИНА";
Если ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта) Тогда
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
@@ -1876,6 +1879,7 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстВыборкиИзмерений", ТекстВыборкиИзмерений);
ИначеЕсли ОбщегоНазначения.ЭтоРегистр(МетаданныеОбъекта) Тогда
ПроверкаРегистра = Истина;
ШаблонЗапросаПроверки =
"ИСТИНА В (ВЫБРАТЬ ПЕРВЫЕ 1
@@ -1927,7 +1931,11 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеОтбораДанных", УсловиеОтбораДанных);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеПоРегистраторам", УсловиеПроверкиРегистратора);
ТекстыЗапроса.Добавить(ТекстЗапроса);
Если ПроверкаРегистра Тогда
ТекстыЗапросаРегистров.Добавить(ТекстЗапроса);
Иначе
ТекстыЗапроса.Добавить(ТекстЗапроса);
КонецЕсли;
КонецЦикла;
@@ -1938,29 +1946,40 @@
ТекстЗапроса = СтрСоединить(ТекстыЗапроса, Соединитель);
Если Очередь = Неопределено Тогда
УсловиеОтбораУзла = " ТаблицаИзменений.Узел ССЫЛКА ПланОбмена.ОбновлениеИнформационнойБазы ";
Иначе
УсловиеОтбораУзла = " ТаблицаИзменений.Узел В (&Узлы) ";
Если ТипЗнч(Очередь) = Тип("Массив") Тогда
Запрос.УстановитьПараметр("Узлы", Очередь);
ИтоговыйМассивЗапросов = Новый Массив;
ИтоговыйМассивЗапросов.Добавить(ТекстЗапроса);
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ИтоговыйМассивЗапросов, ТекстыЗапросаРегистров);
Для Каждого ТекстЗапроса Из ИтоговыйМассивЗапросов Цикл
Если Очередь = Неопределено Тогда
УсловиеОтбораУзла = " ТаблицаИзменений.Узел ССЫЛКА ПланОбмена.ОбновлениеИнформационнойБазы ";
Иначе
Запрос.УстановитьПараметр("Узлы", ОчередьСсылкой(Очередь));
УсловиеОтбораУзла = " ТаблицаИзменений.Узел В (&Узлы) ";
Если ТипЗнч(Очередь) = Тип("Массив") Тогда
Запрос.УстановитьПараметр("Узлы", Очередь);
Иначе
Запрос.УстановитьПараметр("Узлы", ОчередьСсылкой(Очередь));
КонецЕсли;
КонецЕсли;
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеОтбораУзла", УсловиеОтбораУзла);
Если Не ОтборУстановлен Тогда
Запрос.УстановитьПараметр("Отбор", Отбор);
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Возврат Не Запрос.Выполнить().Пустой();
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеОтбораУзла", УсловиеОтбораУзла);
Если Не ОтборУстановлен Тогда
Запрос.УстановитьПараметр("Отбор", Отбор);
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Если Не Запрос.Выполнить().Пустой() Тогда
Возврат Истина;
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтключениеБезопасногоРежима(Ложь);
КонецЦикла;
Возврат Ложь;
КонецФункции
// Проверяет, что все данные обработаны.
@@ -3190,7 +3209,7 @@
//
// Если количество указано в параметре запуска "ЧислоПотоковОбновления", то возвращается оно.
// Иначе, если значение константы КоличествоПотоковОбновленияИнформационнойБазы установлено, то возвращается оно.
// Иначе возвращается значение по умолчанию (см. КоличествоПотоковОбновленияИнформационнойБазыПоУмолчанию()).
// Иначе возвращается значение по умолчанию, см. КоличествоПотоковОбновленияИнформационнойБазыПоУмолчанию.
//
// Возвращаемое значение:
// Число - количество потоков.
@@ -5548,7 +5567,7 @@
КонецФункции
// Имя поля, полученное из колонки таблицы условий постраничной выборки (см. НовыеУсловияПостраничнойВыборки()).
// Имя поля, полученное из колонки таблицы условий постраничной выборки, см. НовыеУсловияПостраничнойВыборки.
//
// Параметры:
// ИмяПоля - Строка - имя поля.
@@ -5928,7 +5947,7 @@
КонецФункции
// Возвращает вид источника данных (см. ДополнительныеПараметрыВыборкиДанныхДляОбработки(), п. 1 и п. 2.
// Возвращает вид источника данных, см. ДополнительныеПараметрыВыборкиДанныхДляОбработки п. 1 и п. 2.
//
// Параметры:
// ДополнительныеИсточникиДанных - см. ДополнительныеПараметрыВыборкиДанныхДляОбработки
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.6.159";
Описание.Версия = "3.1.6.180";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -164,8 +164,6 @@
//
Процедура ПередФормированиеСпискаОтложенныхОбработчиков(ИтерацииОбновления) Экспорт
КонецПроцедуры
// Необходимо для того, чтобы выгружать новые или измененные описания
@@ -197,8 +195,6 @@
//
Процедура ПриЗаполненииПриоритетовТиповМетаданных(ПриоритетыТиповМетаданных) Экспорт
КонецПроцедуры
// Вызывается при выполнении функции ОбновлениеИнформационнойБазы.ОбъектОбработан.
@@ -213,8 +209,6 @@
//
Процедура ПриВыполненииПроверкиОбъектОбработан(ПолноеИмяОбъекта, БлокироватьИзменение, ТекстСообщения) Экспорт
КонецПроцедуры
// Определяет настройки начального заполнения элементов
@@ -995,7 +995,7 @@
//
// Если количество указано в параметре запуска "ЧислоПотоковОбновления", то возвращается оно.
// Иначе, если значение константы КоличествоПотоковОбновленияИнформационнойБазы установлено, то возвращается оно.
// Иначе возвращается значение по умолчанию (см. КоличествоПотоковОбновленияИнформационнойБазыПоУмолчанию()).
// Иначе возвращается значение по умолчанию, см. КоличествоПотоковОбновленияИнформационнойБазыПоУмолчанию.
//
// Возвращаемое значение:
// Число - количество потоков.
@@ -1160,6 +1160,7 @@
ОписанияБиблиотек = СтандартныеПодсистемыПовтИсп.ОписанияПодсистем().ПоИменам;
ГруппаОбновления = 1;
ТекущийРежимВыполнения = "";
ТекстОшибок = "";
ДобавленныеОбработчики = Новый Массив;
Для Каждого ИтерацияОбновления Из ИтерацииОбновления Цикл
@@ -1254,7 +1255,7 @@
УпорядочитьВерсииОбработчиков(ОбработчикиПоВерсиям);
ДобавитьОтложенныеОбработчики(ИмяБиблиотеки, ОбработчикиПоВерсиям.Строки, ГруппаОбновления, ТекстОшибок);
ДобавитьОтложенныеОбработчики(ИмяБиблиотеки, ОбработчикиПоВерсиям.Строки, ГруппаОбновления, ТекстОшибок, ТекущийРежимВыполнения);
КонецЕсли;
КонецЦикла;
@@ -1264,6 +1265,7 @@
КонецЕсли;
Если Не ТолькоМонопольные И ЗаполнитьВерсииПодсистем Тогда
СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы();
СведенияОбОбновлении.ВерсииПодсистемНаНачалоОбновления = ВерсииПодсистемНаНачалоОбновления;
ЗаписатьСведенияОбОбновленииИнформационнойБазы(СведенияОбОбновлении);
КонецЕсли;
@@ -2012,14 +2014,24 @@
КонецЕсли;
Если ЕстьКолонкаСсылка И ЗначениеЗаполнено(СтрокаТаблицы.Ссылка) Тогда
ЗаполняемыйЭлемент.УстановитьСсылкуНового(СтрокаТаблицы.Ссылка);
Если ЗначениеЗаполнено(СтрокаТаблицы[ИмяКлючевогоРеквизита]) Тогда
СуществующиеЭлементы.Вставить(СтрокаТаблицы[ИмяКлючевогоРеквизита], СтрокаТаблицы.Ссылка);
КонецЕсли;
Иначе
НоваяСсылка = МенеджерОбъекта.ПолучитьСсылку();
ЗаполняемыйЭлемент.УстановитьСсылкуНового(НоваяСсылка);
Если ЗначениеЗаполнено(СтрокаТаблицы[ИмяКлючевогоРеквизита]) Тогда
СуществующиеЭлементы.Вставить(СтрокаТаблицы[ИмяКлючевогоРеквизита], НоваяСсылка);
КонецЕсли;
КонецЕсли;
СуществующиеЭлементы.Вставить(СтрокаТаблицы[ИмяКлючевогоРеквизита], НоваяСсылка);
КонецЕсли;
Если Не ОбновитьМультиязычныеСтроки Тогда
@@ -3877,7 +3889,7 @@
КонецПроцедуры
Процедура ДобавитьОтложенныеОбработчики(ИмяБиблиотеки, ОбработчикиПоВерсиям, ГруппаОбновления, ТекстОшибок)
Процедура ДобавитьОтложенныеОбработчики(ИмяБиблиотеки, ОбработчикиПоВерсиям, ГруппаОбновления, ТекстОшибок, ТекущийРежимВыполнения = "")
ЭтоПодчиненныйУзелРИБ = ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ();
ЭтоПодчиненныйУзелРИБСФильтром = ОбщегоНазначения.ЭтоПодчиненныйУзелРИБСФильтром();
@@ -3894,7 +3906,6 @@
ЗависимостьГруппОбработчиков = СведенияОбОбновлении.ЗависимостьГруппОбработчиков;
ПропуститьПроверку = Ложь;
ТекущийРежимВыполнения = "";
СоздаватьНовуюИтерацию = Истина;
Итерация = 1;
ЕстьОбработчикиТолькоГлавногоУзла = Ложь;
@@ -3903,6 +3914,11 @@
ЗаполнитьБлокируемыеОбъекты(СтрокаВерсия, СведенияОБлокируемыхОбъектах);
Если РежимВыполненияОтложенныхОбработчиков = "Последовательно" Тогда
Если ТекущийРежимВыполнения = "Параллельно" Тогда
// У предыдущей библиотеки был параллельный режим, поэтому
// для текущей создаем отдельную группу обновления.
ГруппаОбновления = ГруппаОбновления + 1;
КонецЕсли;
ЗависимостьГруппОбработчиков.Вставить(ГруппаОбновления, Итерация <> 1);
ТекущийРежимВыполнения = "Последовательно";
ИначеЕсли РежимВыполненияОтложенныхОбработчиков = "Параллельно" И Не ЗначениеЗаполнено(ПараллельноСВерсии) Тогда
@@ -3920,6 +3936,11 @@
КонецЕсли;
Если Результат < 0 Тогда
Если ТекущийРежимВыполнения = "Параллельно" Тогда
// У предыдущей библиотеки был параллельный режим, поэтому
// для текущей создаем отдельную группу обновления.
ГруппаОбновления = ГруппаОбновления + 1;
КонецЕсли;
ЗависимостьГруппОбработчиков.Вставить(ГруппаОбновления, Итерация <> 1);
ТекущийРежимВыполнения = "Последовательно";
Иначе
@@ -3970,9 +3991,6 @@
Итерация = Итерация + 1;
КонецЦикла;
// Обработчики обновления следующей библиотеки добавляются в новую группу.
ГруппаОбновления = ГруппаОбновления + 1;
ЗаписатьСведенияОБлокируемыхОбъектах(СведенияОБлокируемыхОбъектах);
ТекущееЗначение = Константы.ОтложенноеОбновлениеВГлавномУзлеЗавершеноУспешно.Получить();
Константы.ОтложенноеОбновлениеВГлавномУзлеЗавершеноУспешно.Установить(ТекущееЗначение И Не ЕстьОбработчикиТолькоГлавногоУзла);
@@ -5035,7 +5053,7 @@
//
// Параметры:
// Группы - Соответствие
// Поток - СтрокаТаблицыЗначений - описание потока (см. Потоки в НовоеОписаниеПотоков()).
// Поток - СтрокаТаблицыЗначений - описание потока, см. Потоки в НовоеОписаниеПотоков.
// ИдентификаторФормы - УникальныйИдентификатор - идентификатор формы, если есть.
//
Процедура ВыполнитьПоток(Группы, Поток, ИдентификаторФормы = Неопределено)
@@ -6235,8 +6253,8 @@
// Возвращаемое значение:
// Структура - описание порции со следующей структурой:
// * Идентификатор - УникальныйИдентификатор - идентификатор порции.
// * ПерваяЗапись - СписокЗначений - ключ первой записи порции (см. НовыйКлючЗаписиИзДанныхПорции()).
// * ПоследняяЗапись - СписокЗначений - ключ последней записи порции (см. НовыйКлючЗаписиИзДанныхПорции()).
// * ПерваяЗапись - СписокЗначений - ключ первой записи порции, см. НовыйКлючЗаписиИзДанныхПорции.
// * ПоследняяЗапись - СписокЗначений - ключ последней записи порции, см. НовыйКлючЗаписиИзДанныхПорции.
// * НаборДанных - см. НовыйНаборДанныхДляОбновления
//
Функция НоваяПорцияДляОбновления()
@@ -6466,7 +6484,7 @@
Функция ИмяКлючевогоРеквизита(НаборДанныхДляЗаполнения)
ИмяКлючевогоРеквизита = НаборДанныхДляЗаполнения.НастройкиПредопределенныхЭлементов.ИмяКлючевогоРеквизита;
ИмяКлючевогоРеквизита = НаборДанныхДляЗаполнения.ПереопределяемыеНастройки.ИмяКлючевогоРеквизита;
Если Не ЗначениеЗаполнено(ИмяКлючевогоРеквизита) Тогда
ИмяКлючевогоРеквизита = "ИмяПредопределенныхДанных";
КонецЕсли;
@@ -6593,7 +6611,7 @@
Процедура ЗаполнитьРеквизитыНачальнымиДанными(ЗаполняемыйЭлемент, НаборДанныхДляЗаполнения, НастройкиЗаполнения)
ИмяКлючевогоРеквизита = ИмяКлючевогоРеквизита(НаборДанныхДляЗаполнения);
ИмяКлючевогоРеквизита = ИмяКлючевогоРеквизита(НаборДанныхДляЗаполнения.НастройкиПредопределенныхЭлементов);
ЗначениеКлючаОбъекта = ЗаполняемыйЭлемент[ИмяКлючевогоРеквизита];
МенеджерОбъекта = НаборДанныхДляЗаполнения.МенеджерОбъекта;
@@ -6636,13 +6654,12 @@
НаборДанныхДляЗаполнения.ПоддерживаетсяИерархия, СтрокаТаблицы);
КонецЕсли;
Если НаборДанныхДляЗаполнения.НастройкиПредопределенныхЭлементов.ПриНачальномЗаполненииЭлемента Тогда
МенеджерОбъекта.ПриНачальномЗаполненииЭлемента(ЗаполняемыйЭлемент, СтрокаТаблицы, НаборДанныхДляЗаполнения.НастройкиПредопределенныхЭлементов.ДополнительныеПараметры);
Если НаборДанныхДляЗаполнения.НастройкиПредопределенныхЭлементов.ПереопределяемыеНастройки.ПриНачальномЗаполненииЭлемента Тогда
МенеджерОбъекта.ПриНачальномЗаполненииЭлемента(ЗаполняемыйЭлемент, СтрокаТаблицы, НаборДанныхДляЗаполнения.НастройкиПредопределенныхЭлементов.ПереопределяемыеНастройки.ДополнительныеПараметры);
КонецЕсли;
КонецПроцедуры
// Обновить элементы предопределенных элементов в обработчиках обновления
//
// Параметры:
@@ -6665,6 +6682,7 @@
ПараметрыДляЗаполненияОбъекта = НаборПараметровДляЗаполненияОбъекта(МетаданныеОбъекта);
ИмяКлючевогоРеквизита = ИмяКлючевогоРеквизита(ПараметрыДляЗаполненияОбъекта.НастройкиПредопределенныхЭлементов);
ПоддерживаетсяИерархия = ПараметрыДляЗаполненияОбъекта.ПоддерживаетсяИерархия;
РеквизитыИсключения = ПараметрыДляЗаполненияОбъекта.РеквизитыИсключения;
МенеджерОбъекта = ПараметрыДляЗаполненияОбъекта.МенеджерОбъекта;
@@ -660,7 +660,7 @@
//
Функция ИмяФормыУстановкиОбновления() Экспорт
Возврат "Обработка.УстановкаОбновлений.Форма.Форма";
Возврат "Обработка.УстановкаОбновлений.Форма";
КонецФункции
@@ -122,7 +122,7 @@
ПараметрыТекста["[НаименованиеПродукта]"] = НСтр("ru = '1С:ПРЕДПРИЯТИЕ 8.3'");
ПараметрыТекста["[Копирайт]"] = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '© ООО «1С-Софт», 1996-%1'"), Формат(Год(ТекущаяДатаСеанса()), "ЧГ=0"));
НСтр("ru = '© ООО ""1С-Софт"", 1996-%1'"), Формат(Год(ТекущаяДатаСеанса()), "ЧГ=0"));
Возврат ПодставитьПараметрыВТекст(ШаблонТекста, ПараметрыТекста);;
@@ -108,7 +108,7 @@
Если Результат.Поддерживается
Или Результат.ПоддерживаетсяУстановкаИсправлений Тогда
ОткрытьФорму("Обработка.УстановкаОбновлений.Форма.Форма", ПараметрыУстановкиОбновлений);
ОткрытьФорму("Обработка.УстановкаОбновлений.Форма", ПараметрыУстановкиОбновлений);
Иначе
ПоказатьПредупреждение(, Результат.ОписаниеОшибки);
КонецЕсли;
@@ -344,8 +344,9 @@
ПараметрыПредупреждения.ВывестиОдноПредупреждение = Истина;
ДействиеПриУстановленномФлажке = ПараметрыПредупреждения.ДействиеПриУстановленномФлажке;
ДействиеПриУстановленномФлажке.Форма = "Обработка.УстановкаОбновлений.Форма.Форма";
ДействиеПриУстановленномФлажке.ПараметрыФормы = Новый Структура("ЗавершениеРаботыСистемы, ВыполнитьОбновление", Истина, Истина);
ДействиеПриУстановленномФлажке.Форма = "Обработка.УстановкаОбновлений.Форма";
ДействиеПриУстановленномФлажке.ПараметрыФормы = Новый Структура("ЗавершениеРаботыСистемы, ВыполнитьОбновление",
Истина, Истина);
Предупреждения.Добавить(ПараметрыПредупреждения);
КонецЕсли;
@@ -92,18 +92,11 @@
ИдентификаторОбсуждения = Обсуждение.Идентификатор;
Иначе
ИдентификаторОбсуждения = ОбсуждениеКонтекст;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
СообщениеСВ = СообщениеИзОписания(
Автор,
ИдентификаторОбсуждения,
Получатели,
Сообщение);
СообщениеСВ = СообщениеИзОписания(Автор, ИдентификаторОбсуждения, Получатели, Сообщение);
СообщениеСВ.Записать();
КонецПроцедуры
@@ -539,7 +532,7 @@
// Параметры:
// ПолучателиПриемник - КоллекцияИдентификаторовПользователейСистемыВзаимодействия
// ПолучателиИсточник - Соответствие
// ПолучателиИсточник - Массив из СправочникСсылка.Пользователи
// - Массив из ПользовательСистемыВзаимодействия
//
Процедура ДобавитьПолучателей(ПолучателиПриемник, ПолучателиИсточник)
@@ -548,10 +541,7 @@
Возврат;
КонецЕсли;
ПолучателиПользователиИБ = ТипЗнч(ПолучателиИсточник) = Тип("Соответствие")
ИЛИ (ТипЗнч(ПолучателиИсточник) = Тип("Массив")
И ТипЗнч(ПолучателиИсточник[0]) = Тип("СправочникСсылка.Пользователи"));
ПолучателиПользователиИБ = (ТипЗнч(ПолучателиИсточник[0]) = Тип("СправочникСсылка.Пользователи"));
Если ПолучателиПользователиИБ Тогда
Для каждого Получатель Из ПолучателиИсточник Цикл
@@ -1886,8 +1886,6 @@
// Возвращаемое значение:
// Структура:
// * ИмяФормыПерсональныхНастроек - Строка - имя формы для редактирования персональных настроек.
// Ранее определялись в
// ОбщегоНазначенияПереопределяемый.ИмяФормыПерсональныхНастроек.
// * ЗапрашиватьПодтверждениеПриЗавершенииПрограммы - Булево - по умолчанию Истина. Если установить в Ложь, то
// подтверждение при завершении работы программы не
// будет запрашиваться, если явно не разрешить в
@@ -5865,7 +5863,7 @@
// Выгружает запрос в строку XML, которую можно вставить в Консоль запросов.
// Для переноса запроса и всех его параметров в Консоль запросов, необходимо вызвать функцию в окне.
// «Вычислить выражение»(Shift + F9), скопировать полученный XML в поле "Текст запроса"
// "Вычислить выражение" (Shift + F9), скопировать полученный XML в поле "Текст запроса"
// консоли запросов и выполнить команду "Заполнить из XML" из меню "Еще".
// Подробнее об использование функции смотрите в справке к консоли запросов.
//
@@ -7592,14 +7590,19 @@
ИначеЕсли Действие = "ПометкаУдаления" Тогда
Объект.ОбменДанными.Загрузка = Не ПараметрыЗаписи.ВключатьБизнесЛогику;
МетаданныеОбъекта = Объект.Метаданные();
Если ЭтоСправочник(МетаданныеОбъекта)
Или ЭтоПланВидовХарактеристик(МетаданныеОбъекта)
Или ЭтоПланСчетов(МетаданныеОбъекта) Тогда
Объект.ОбменДанными.Загрузка = Не ПараметрыЗаписи.ВключатьБизнесЛогику;
Объект.УстановитьПометкуУдаления(Истина, Ложь);
ИначеЕсли ЭтоДокумент(МетаданныеОбъекта)
И МетаданныеОбъекта.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
Объект.УстановитьПометкуУдаления(Истина);
Иначе
Объект.ОбменДанными.Загрузка = Не ПараметрыЗаписи.ВключатьБизнесЛогику;
Объект.УстановитьПометкуУдаления(Истина);
КонецЕсли;
@@ -382,15 +382,15 @@
////////////////////////////////////////////////////////////////////////////////
// Функции для работы с цветами стиля в клиентском коде.
// (См. ОбщегоНазначенияКлиент.ЦветСтиля)
Функция ЦветСтиля(ИмяЦветаСтиля) Экспорт
// См. ОбщегоНазначенияКлиент.ЦветСтиля
Функция ЦветСтиля(Знач ИмяЦветаСтиля) Экспорт
Возврат ЦветаСтиля[ИмяЦветаСтиля];
КонецФункции
// (См. ОбщегоНазначенияКлиент.ШрифтСтиля)
Функция ШрифтСтиля(ИмяШрифтаСтиля) Экспорт
// См. ОбщегоНазначенияКлиент.ШрифтСтиля
Функция ШрифтСтиля(Знач ИмяШрифтаСтиля) Экспорт
Возврат ШрифтыСтиля[ИмяШрифтаСтиля];
@@ -618,7 +618,7 @@
// Пример:
// ТекстПредупреждения = НСтр("ru = 'Закрыть помощник?'");
// ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияПроизвольнойФормы(
// ЭтотОбъект, Отказ, ТекстПредупреждения, "ЗакрытьФормуБезПодтверждения");
// ЭтотОбъект, Отказ, ЗавершениеРаботы, ТекстПредупреждения, "ЗакрытьФормуБезПодтверждения");
//
Процедура ПоказатьПодтверждениеЗакрытияПроизвольнойФормы(
Знач Форма,
@@ -857,13 +857,13 @@
////////////////////////////////////////////////////////////////////////////////
// Функции для работы с цветами стиля в клиентском коде.
// Функция получает цвет стиля по имени элемента стиля.
// Получает цвет стиля по имени элемента стиля.
//
// Параметры:
// ИмяЦветаСтиля - Строка - имя элемента стиля.
// ИмяЦветаСтиля - Строка
//
// Возвращаемое значение:
// Цвет - цвет стиля.
// Цвет
//
Функция ЦветСтиля(ИмяЦветаСтиля) Экспорт
@@ -871,13 +871,13 @@
КонецФункции
// Функция получает шрифт стиля по имени элемента стиля.
// Получает шрифт стиля по имени элемента стиля.
//
// Параметры:
// ИмяШрифтаСтиля - Строка - имя элемента стиля.
// ИмяШрифтаСтиля - Строка
//
// Возвращаемое значение:
// Шрифт - шрифт стиля.
// Шрифт
//
Функция ШрифтСтиля(ИмяШрифтаСтиля) Экспорт
@@ -908,7 +908,7 @@
//
// ПараметрыПодключения = ОбщегоНазначенияКлиент.ПараметрыПодключенияКомпоненты();
// ПараметрыПодключения.ТекстПояснения = НСтр("ru = 'Для использования сканера штрихкодов требуется
// |внешняя компонента «1С:Сканеры штрихкода (NativeApi)».'");
// |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
Функция ПараметрыПодключенияКомпоненты() Экспорт
@@ -949,7 +949,7 @@
//
// ПараметрыПодключения = ОбщегоНазначенияКлиент.ПараметрыПодключенияКомпоненты();
// ПараметрыПодключения.ТекстПояснения = НСтр("ru = 'Для оформления заявления на выпуск сертификата требуется
// |внешняя компонента «Криптография (CryptS)».'");
// |внешняя компонента ""Криптография (CryptS)"".'");
//
// ОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(Оповещение,
// "CryptS",
@@ -1005,7 +1005,7 @@
//
// ПараметрыУстановки = ОбщегоНазначенияКлиент.ПараметрыУстановкиКомпоненты();
// ПараметрыУстановки.ТекстПояснения = НСтр("ru = 'Для использования сканера штрихкодов требуется
// |внешняя компонента «1С:Сканеры штрихкода (NativeApi)».'");
// |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
Функция ПараметрыУстановкиКомпоненты() Экспорт
@@ -1035,7 +1035,7 @@
//
// ПараметрыУстановки = ОбщегоНазначенияКлиент.ПараметрыУстановкиКомпоненты();
// ПараметрыУстановки.ТекстПояснения = НСтр("ru = 'Для оформления заявления на выпуск сертификата требуется
// |внешняя компонента «Криптография (CryptS)».'");
// |внешняя компонента ""Криптография (CryptS)"".'");
//
// ОбщегоНазначенияКлиент.УстановитьКомпонентуИзМакета(Оповещение,
// "Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Макет.КомпонентаОбмена",
@@ -8,29 +8,15 @@
#Область СлужебныеПроцедурыИФункции
// Функция получает цвет стиля по имени элемента стиля.
//
// Параметры:
// ИмяЦветаСтиля - Строка - имя элемента стиля.
//
// Возвращаемое значение:
// Цвет
//
Функция ЦветСтиля(ИмяЦветаСтиля) Экспорт
// См. ОбщегоНазначенияКлиент.ЦветСтиля
Функция ЦветСтиля(Знач ИмяЦветаСтиля) Экспорт
Возврат ОбщегоНазначенияВызовСервера.ЦветСтиля(ИмяЦветаСтиля);
КонецФункции
// Функция получает шрифт стиля по имени элемента стиля.
//
// Параметры:
// ИмяШрифтаСтиля - Строка - имя шрифта стиля.
//
// Возвращаемое значение:
// Шрифт
//
Функция ШрифтСтиля(ИмяШрифтаСтиля) Экспорт
// См. ОбщегоНазначенияКлиент.ШрифтСтиля
Функция ШрифтСтиля(Знач ИмяШрифтаСтиля) Экспорт
Возврат ОбщегоНазначенияВызовСервера.ШрифтСтиля(ИмяШрифтаСтиля);
@@ -639,12 +639,11 @@
// Возвращаемое значение:
// Массив - массив из одного элемента.
//
Функция ЗначениеВМассиве(Значение) Экспорт
Функция ЗначениеВМассиве(Знач Значение) Экспорт
Массив = Новый Массив;
Массив.Добавить(Значение);
Возврат Массив;
Результат = Новый Массив;
Результат.Добавить(Значение);
Возврат Результат;
КонецФункции
@@ -1879,9 +1878,8 @@
КонецФункции
// Возвращает шаблон структуры параметров для установки внешнего соединения.
// Параметрам необходимо задать требуемые значения и передать
// в метод ОбщегоНазначения.УстановитьВнешнееСоединение().
// Конструктор параметра Параметры функций ОбщегоНазначения.УстановитьВнешнееСоединениеСБазой()
// и ОбщегоНазначенияКлиент.УстановитьВнешнееСоединениеСБазой()
//
// Возвращаемое значение:
// Структура - коллекция параметров.
@@ -3680,15 +3678,17 @@
Если ВыполнитьСНаивысшимиПравами Тогда
#Если ВнешнееСоединение Тогда
ВызватьИсключение
НСтр("ru = 'Недопустимое значение параметра ПараметрыЗапускаПрограммы.ВыполнитьСНаивысшимиПравами.
|Повышение привилегий системы не доступно из внешнего соединения.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Недопустимое значение параметра %1.
|Повышение привилегий системы не доступно из внешнего соединения.'"),
"ПараметрыЗапускаПрограммы.ВыполнитьСНаивысшимиПравами");
#КонецЕсли
#Если Сервер Тогда
ВызватьИсключение
НСтр("ru = 'Недопустимое значение параметра ПараметрыЗапускаПрограммы.ВыполнитьСНаивысшимиПравами.
|Повышение привилегий системы не доступно на сервере.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Недопустимое значение параметра %1.
|Повышение привилегий системы не доступно на сервере.'"),
"ПараметрыЗапускаПрограммы.ВыполнитьСНаивысшимиПравами");
#КонецЕсли
КонецЕсли;
@@ -3746,12 +3746,14 @@
Если ВыполнитьСНаивысшимиПравами Тогда
Если ДождатьсяЗавершения Тогда
ВызватьИсключение
НСтр("ru = 'Недопустимо одновременно устанавливать параметры
| - ПараметрыЗапускаПрограммы.ДождатьсяЗавершения и
| - ПараметрыЗапускаПрограммы.ВыполнитьСНаивысшимиПравами:
|Операционная система не позволяет отслеживать от имени пользователя процессы,
|запущенные администратором.'");
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Недопустимо одновременно устанавливать параметры
| - %1 и
| - %2:
|Операционная система не позволяет отслеживать от имени пользователя процессы,
|запущенные администратором.'"),
"ПараметрыЗапускаПрограммы.ДождатьсяЗавершения",
"ПараметрыЗапускаПрограммы.ВыполнитьСНаивысшимиПравами");
КонецЕсли;
// После начала исполнения файла команды отследить статус процесса будет невозможно,
@@ -4035,6 +4037,42 @@
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
// Создает массив и помещает в него переданные значения.
//
// Параметры:
// Значение1 - Произвольный - любое значение.
// Значение2 - Произвольный
// Значение3 - Произвольный
// Значение4 - Произвольный
//
// Возвращаемое значение:
// Массив
//
// Пример:
// Результат = ОбщегоНазначенияКлиентСервер.МассивЗначений(1, 2, 3);
//
Функция МассивЗначений(Знач Значение1, Знач Значение2 = Неопределено, Знач Значение3 = Неопределено,
Знач Значение4 = Неопределено) Экспорт
Результат = Новый Массив;
Если Значение4 <> Неопределено Тогда
Результат.Добавить(Значение4);
КонецЕсли;
Если Значение3 <> Неопределено Тогда
Результат.Добавить(Значение3);
КонецЕсли;
Если Значение2 <> Неопределено Тогда
Результат.Добавить(Значение2);
КонецЕсли;
Результат.Добавить(Значение1);
Возврат Результат;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Данные
Loaded 100 of 299 files, more files were not shown because too many files have changed in this diff. Show more