3_1_4_207

This commit is contained in:
Компания 1С committed 2021-04-01 18:17:00 +03:00
1 parent b9c8db6fd8
commit 9cde442a03
73 files changed
+5749 -2570

No files matched your search

@@ -165,7 +165,7 @@
Элементы.ГруппаИзменитьОграничение.Видимость = Ложь;
КонецЕсли;
Если Не ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей()
Если Не ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей()
Или ОбщегоНазначения.РазделениеВключено() Тогда
Элементы.ПользовательИБЗапрещеноВосстанавливатьПароль.Видимость = Ложь;
КонецЕсли;
@@ -133,14 +133,16 @@
ПроблемныхОбъектов = 0;
ОбъектовОбработано = 0;
СписокОшибок = Новый Массив;
Пока ВнешнийПользовательСсылка.Следующий() Цикл
ОбъектАвторизации = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВнешнийПользовательСсылка.Ссылка, "ОбъектАвторизации");
Результат = ПользователиСлужебный.ОбновитьПочтуДляВосстановленияПароля(ВнешнийПользовательСсылка.Ссылка, ОбъектАвторизации);
Если Результат = "Ошибка" Тогда
Если Результат.Статус = "Ошибка" Тогда
ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
СписокОшибок.Добавить(Результат.ТекстОшибки);
Иначе
ОбъектовОбработано = ОбъектовОбработано + 1;
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(ВнешнийПользовательСсылка.Ссылка);
@@ -152,8 +154,8 @@
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Процедуре ОбработатьДанныеДляПереходаНаНовуюВерсию не удалось обработать некоторых внешних пользователей (пропущены): %1'"),
ПроблемныхОбъектов);
НСтр("ru = 'Процедуре ОбработатьДанныеДляПереходаНаНовуюВерсию не удалось обработать некоторых внешних пользователей (пропущены): %1
|%2'"), ПроблемныхОбъектов, СтрСоединить(СписокОшибок, Символы.ПС));
ВызватьИсключение ТекстСообщения;
Иначе
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Информация,
@@ -1887,7 +1887,7 @@
<horizontalLinesBWA>false</horizontalLinesBWA>
<verticalLinesBWA>false</verticalLinesBWA>
<useAlternationRowColorBWA>false</useAlternationRowColorBWA>
<searchOnInput>DontUse</searchOnInput>
<searchOnInput>Auto</searchOnInput>
<initialListView>Auto</initialListView>
<horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch>
@@ -215,7 +215,7 @@
АдресФотографии = ПоместитьВоВременноеХранилище(БиблиотекаКартинок.ПользовательБезФотографии, УникальныйИдентификатор);
КонецЕсли;
Если Не ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если Не ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Элементы.ПользовательИБЗапрещеноВосстанавливатьПароль.Видимость = Ложь;
КонецЕсли;
@@ -589,7 +589,7 @@
ОписаниеПользователяИБ = ОписаниеПользователяИБ();
ОписаниеПользователяИБ.Вставить("ИдентификаторПользователяИБ", Объект.ИдентификаторПользователяИБ);
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей()
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей()
И ЗначениеЗаполнено(ИмяРеквизитаСПочтойДляВосстановленияПароля) Тогда
ОписаниеПользователяИБ.АдресЭлектроннойПочты = ЭтотОбъект[ИмяРеквизитаСПочтойДляВосстановленияПароля];
КонецЕсли;
@@ -1701,7 +1701,7 @@
Если УровеньДоступа.ИзменениеТекущего Тогда
Результат.Вставить("Пароль", ПользовательИБПароль);
Результат.Вставить("Язык", ПользовательИБЯзык);
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Результат.Вставить("АдресЭлектроннойПочты", ПользовательИБАдресЭлектроннойПочты);
КонецЕсли;
КонецЕсли;
@@ -1714,7 +1714,7 @@
Результат.Вставить("Язык", ПользовательИБЯзык);
Результат.Вставить("РежимЗапуска", ПользовательИБРежимЗапуска);
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Результат.Вставить("ЗапрещеноВосстанавливатьПароль", ПользовательИБЗапрещеноВосстанавливатьПароль);
Результат.Вставить("АдресЭлектроннойПочты", ПользовательИБАдресЭлектроннойПочты);
КонецЕсли;
@@ -2459,8 +2459,8 @@
КонецЕсли;
// Поддерживается в новых версиях платформы
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей()
И Форма.ПользовательИБЗапрещеноВосстанавливатьПароль <> Шаблон.ЗапрещеноВосстанавливатьПароль Тогда
Если Шаблон.Свойство("ЗапрещеноВосстанавливатьПароль")
И Форма.ПользовательИБЗапрещеноВосстанавливатьПароль <> Шаблон.ЗапрещеноВосстанавливатьПароль Тогда
Возврат Истина;
КонецЕсли;
@@ -148,12 +148,14 @@
ПроблемныхОбъектов = 0;
ОбъектовОбработано = 0;
СписокОшибок = Новый Массив;
Пока ПользовательСсылка.Следующий() Цикл
Результат = ПользователиСлужебный.ОбновитьПочтуДляВосстановленияПароля(ПользовательСсылка.Ссылка);
Если Результат = "Ошибка" Тогда
Если Результат.Статус = "Ошибка" Тогда
ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
СписокОшибок.Добавить(Результат.ТекстОшибки);
Иначе
ОбъектовОбработано = ОбъектовОбработано + 1;
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(ПользовательСсылка.Ссылка);
@@ -165,8 +167,8 @@
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Процедуре ОбработатьДанныеДляПереходаНаНовуюВерсию не удалось обработать некоторых пользователей (пропущены): %1'"),
ПроблемныхОбъектов);
НСтр("ru = 'Процедуре ОбработатьДанныеДляПереходаНаНовуюВерсию не удалось обработать некоторых пользователей (пропущены): %1
|%2'"), ПроблемныхОбъектов, СтрСоединить(СписокОшибок, Символы.ПС));
ВызватьИсключение ТекстСообщения;
Иначе
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Информация,
@@ -103,6 +103,29 @@
Настройка.НетВLinux = Истина;
Настройка.НетВMacOS = Истина;
// Microsoft Enhanced RSA and AES CSP
Настройка = Настройки.Добавить();
Настройка.Представление = НСтр("ru = 'Microsoft Enhanced RSA and AES CSP'");
Настройка.ИмяПрограммы = "Microsoft Enhanced RSA and AES Cryptographic Provider";
Настройка.ТипПрограммы = 24;
Настройка.АлгоритмПодписи = "RSA_SIGN"; // Один вариант.
Настройка.АлгоритмХеширования = "SHA-256"; // Варианты: SHA-256, SHA-1, MD2, MD4, MD5.
Настройка.АлгоритмШифрования = "3DES"; // Варианты: RC2, RC4, DES, 3DES.
Настройка.Идентификатор = "MicrosoftEnhanced_RSA_AES";
Настройка.АлгоритмыПодписи.Добавить("RSA_SIGN");
Настройка.АлгоритмыХеширования.Добавить("SHA-256");
Настройка.АлгоритмыХеширования.Добавить("SHA-1");
Настройка.АлгоритмыХеширования.Добавить("MD2");
Настройка.АлгоритмыХеширования.Добавить("MD4");
Настройка.АлгоритмыХеширования.Добавить("MD5");
Настройка.АлгоритмыШифрования.Добавить("RC2");
Настройка.АлгоритмыШифрования.Добавить("RC4");
Настройка.АлгоритмыШифрования.Добавить("DES");
Настройка.АлгоритмыШифрования.Добавить("3DES");
Настройка.НетВLinux = Истина;
Настройка.НетВMacOS = Истина;
КонецПроцедуры
Функция ПоставляемыеПутиКМодулямПрограмм() Экспорт
@@ -61,12 +61,12 @@
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(РегламентноеЗадание);
Если Задание <> Неопределено Тогда
Задание.Удалить();
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
ОбщегоНазначения.УдалитьДанныеИзБезопасногоХранилища(Ссылка);
КонецПроцедуры
@@ -414,10 +414,24 @@
Если НайденныеНастройки = Неопределено Тогда
ИменаСерверов = ОпределитьИменаПочтовыхСерверовДомена(СтруктураАдреса.Хост);
Для Каждого ИмяСервера Из ИменаСерверов Цикл
НайденныеНастройки = НастройкиПочтовыхСерверов[ИмяСервера];
Если ТипЗнч(НайденныеНастройки) = Тип("Строка") Тогда
НайденныеНастройки = НастройкиПочтовыхСерверов[НайденныеНастройки];
КонецЕсли;
УровниДомена = СтрРазделить(ИмяСервера, ".", Ложь);
Пока УровниДомена.Количество() > 1 Цикл
Хост = СтрСоединить(УровниДомена, ".");
НайденныеНастройки = НастройкиПочтовыхСерверов[Хост];
Если ТипЗнч(НайденныеНастройки) = Тип("Строка") Тогда
НайденныеНастройки = НастройкиПочтовыхСерверов[НайденныеНастройки];
КонецЕсли;
Если ТипЗнч(НайденныеНастройки) = Тип("Соответствие") Тогда
Прервать;
Иначе
НайденныеНастройки = Неопределено;
КонецЕсли;
УровниДомена.Удалить(0);
КонецЦикла;
Если ТипЗнч(НайденныеНастройки) = Тип("Соответствие") Тогда
Прервать;
КонецЕсли;
@@ -2402,7 +2402,7 @@
|ВЫБРАТЬ
| ""ВерсияДанных"" КАК ВерсияДанных";
Запрос.УстановитьПараметр("ЭтоДополнительноеСведение", ЭтоДополнительноеСведение);
Запрос.УстановитьПараметр("ЭтоДополнительноеСведение", ЭтоДополнительноеСведение = 1);
КонецЕсли;
Если ЭтоДополнительноеСведение Тогда
Запрос.Текст = СтрЗаменить(
@@ -15,7 +15,7 @@
ВызватьИсключение НСтр("ru = 'Недостаточно прав для выполнения операции.'");
КонецЕсли;
Если Не ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если Не ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
ВызватьИсключение НСтр("ru = 'Восстановление паролей пользователей не поддерживается.
|Необходимо обновить версию платформы 1С: Предприятие.'");
КонецЕсли;
@@ -304,7 +304,7 @@
&НаСервере
Функция ТребуетсяЗапускЗаполненияПочтыПользователей()
Если Не ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если Не ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Возврат Ложь;
КонецЕсли;
@@ -1217,11 +1217,7 @@
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ВЫБОР
| КОГДА РезультатыОбменаДанными.ПроблемныйОбъект ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьПроблемыОбменов
| ИСТИНА КАК ЕстьПроблемыОбменов
|ИЗ
| РегистрСведений.РезультатыОбменаДанными КАК РезультатыОбменаДанными
|ГДЕ
@@ -3280,6 +3280,134 @@
<importance>Normal</importance>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиЗаголовкаМенюОформитьСтандартныеКоманды</name>
<id>990</id>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиЗаголовкаМенюОформитьБуферОбмена</name>
<id>994</id>
<items xsi:type="form:Button">
<name>ОтчетТабличныйДокументКонтекстноеМенюКопироватьВБуферОбмена</name>
<id>992</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОтчетТабличныйДокументКонтекстноеМенюКопироватьВБуферОбменаРасширеннаяПодсказка</name>
<id>993</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.ОтчетТабличныйДокумент.StandardCommand.CopyToClipboard</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Буфер обмена</value>
</title>
<extendedTooltip>
<name>КонтекстноеМенюОбластиЗаголовкаМенюОформитьБуферОбменаРасширеннаяПодсказка</name>
<id>995</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<items xsi:type="form:FormGroup">
<name>КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок</name>
<id>986</id>
<items xsi:type="form:Button">
<name>КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок</name>
<id>988</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировокРасширеннаяПодсказка</name>
<id>989</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>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Уровни группировок</value>
</title>
<extendedTooltip>
<name>КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировокРасширеннаяПодсказка</name>
<id>987</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo">
<representation>Auto</representation>
<importance>Normal</importance>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Стандартные команды</value>
</title>
<extendedTooltip>
<name>КонтекстноеМенюОбластиЗаголовкаМенюОформитьСтандартныеКомандыРасширеннаяПодсказка</name>
<id>991</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<enabled>true</enabled>
<userVisible>
<common>true</common>
@@ -5414,6 +5542,26 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВыбранныйУровеньГруппировок</name>
<id>15</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>5</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<settingsSavedData xsi:type="form:DataPath">
<segments>ВыбранныйУровеньГруппировок</segments>
</settingsSavedData>
</attributes>
<formCommands>
<name>ВсеНастройки</name>
<title>
@@ -6434,6 +6582,24 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ПоказатьУровеньГруппировок</name>
<title>
<key>ru</key>
<value>По умолчанию</value>
</title>
<id>48</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Подключаемый_ПоказатьУровеньГруппировок</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>Ссылка</name>
<valueType>
@@ -168,10 +168,14 @@
Если Элементы.ФормироватьСразу.Пометка Тогда
ФормированиеПриОткрытии = Истина;
ПодключитьОбработчикОжидания("Сформировать", 0.1, Истина);
Иначе
СброситьТекущуюОбласть();
КонецЕсли;
ОбщегоНазначенияСлужебныйКлиент.УстановитьВидимостьПанелиПоказателей(Элементы, РазвернутьОбластьПоказателей);
ОбщегоНазначенияСлужебныйКлиент.РассчитатьПоказатели(ЭтотОбъект, "ОтчетТабличныйДокумент", ОсновнойПоказатель);
ПодключитьОбработчикОжидания("ОпределитьПоведениеНаНачальнойСтранице", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
@@ -1015,6 +1019,18 @@
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПоказатьУровеньГруппировок(Команда)
УровеньГруппировкиСтрокой = СтрЗаменить(Команда.Имя, Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок.Имя, "");
ОписаниеЧисла = Новый ОписаниеТипов("Число");
УровеньГруппировки = ОписаниеЧисла.ПривестиЗначение(УровеньГруппировкиСтрокой);
ПоказатьВыбранныйУровеньГруппировок(УровеньГруппировки);
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьУсловияОтборов(Команда)
ПараметрыФормы = Новый Структура;
@@ -1048,6 +1064,52 @@
////////////////////////////////////////////////////////////////////////////////
// Клиент
&НаКлиенте
Процедура ОпределитьПоведениеНаНачальнойСтранице()
ОкноНачальнойСтраницы = Неопределено;
ОкнаПрограммы = ПолучитьОкна();
Для Каждого ОкноПрограммы Из ОкнаПрограммы Цикл
Если ОкноПрограммы.НачальнаяСтраница Тогда
ОкноНачальнойСтраницы = ОкноПрограммы;
Прервать;
КонецЕсли;
КонецЦикла;
Если ОкноНачальнойСтраницы = Неопределено Тогда
Возврат;
КонецЕсли;
ЭтоФормаНачальнойСтраницы = Ложь;
Для Каждого ФормаНачальнойСтраницы Из ОкноНачальнойСтраницы.Содержимое Цикл
Если ФормаНачальнойСтраницы.ИмяФормы = ИмяФормы
И ФормаНачальнойСтраницы.КлючУникальности = КлючУникальности Тогда
ЭтоФормаНачальнойСтраницы = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если Не ЭтоФормаНачальнойСтраницы Тогда
Возврат;
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппаСохранениеВыборВариантаОтчета", "Видимость", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "Найти", "Видимость", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ГруппаВывод", "Видимость", Ложь);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьЭлементыФормыНастроек(ПараметрыОбновления)
ОбновитьЭлементыФормыНастроекНаСервере(ПараметрыОбновления);
@@ -1166,6 +1228,9 @@
ИнтеграцияПодсистемБСПКлиент.ПослеФормирования(ЭтотОбъект, ОтчетСформирован);
ОтчетыКлиентПереопределяемый.ПослеФормирования(ЭтотОбъект, ОтчетСформирован);
СброситьТекущуюОбласть();
ПоказатьВыбранныйУровеньГруппировок();
КонецПроцедуры
&НаСервере
@@ -1313,6 +1378,7 @@
ОтчетДанныеРасшифровки = ПоместитьВоВременноеХранилище(Результат.Расшифровка, УникальныйИдентификатор);
ВариантыОтчетовСлужебный.ИнициализироватьЗаголовкиОтчета(ЭтотОбъект);
ИнициализироватьМенюУровнейГруппировок();
Если Не Результат.ВариантМодифицирован
И Не Результат.ПользовательскиеНастройкиМодифицированы Тогда
@@ -1559,6 +1625,190 @@
КонецЕсли;
КонецПроцедуры
#Область УровниГруппировок
&НаСервере
Процедура ИнициализироватьМенюУровнейГруппировок()
АдресИндексаСтруктурыОтчета = НастройкиОтчета.СвойстваРезультата.АдресИндексаСтруктурыОтчета;
ИндексСтруктурыОтчета = Неопределено;
Если ЭтоАдресВременногоХранилища(АдресИндексаСтруктурыОтчета) Тогда
ИндексСтруктурыОтчета = ПолучитьИзВременногоХранилища(АдресИндексаСтруктурыОтчета);
КонецЕсли;
ОчиститьМенюУровнейГруппировок();
Если ИндексСтруктурыОтчета <> Неопределено
И ИндексСтруктурыОтчета.Количество() > 0 Тогда
ЗаполнитьМенюУровнейГруппировок(ИндексСтруктурыОтчета);
КонецЕсли;
УстановитьДоступностьМенюУровнейГруппировок();
КонецПроцедуры
&НаСервере
Процедура ОчиститьМенюУровнейГруппировок()
Кнопки = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок.ПодчиненныеЭлементы;
Индекс = Кнопки.Количество() - 1;
Пока Индекс >= 0 Цикл
Кнопка = Кнопки[Индекс];
Индекс = Индекс - 1;
Если Кнопка = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок Тогда
Продолжить;
КонецЕсли;
Команда = Команды.Найти(Кнопка.Имя);
Если Команда <> Неопределено Тогда
Команды.Удалить(Команда);
КонецЕсли;
Элементы.Удалить(Кнопка);
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьМенюУровнейГруппировок(ИндексСтруктурыОтчета)
КоличествоРазделов = ИндексСтруктурыОтчета[0].КоличествоРазделов;
ГруппировкиРазделов = ГруппировкиРазделовОтчета(ИндексСтруктурыОтчета);
Если КоличествоРазделов = ГруппировкиРазделов.Количество() Тогда
Возврат;
КонецЕсли;
СвойстваМеню = СвойстваМенюУровнейГруппировок(ИндексСтруктурыОтчета);
Для Каждого Свойства Из СвойстваМеню Цикл
Команда = Команды.Добавить(Свойства.ИмяКоманды);
Команда.Заголовок = Свойства.ПредставлениеУровняГруппировки;
Команда.Действие = "Подключаемый_ПоказатьУровеньГруппировок";
Кнопка = Элементы.Добавить(Свойства.ИмяКоманды, Тип("КнопкаФормы"), Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок);
Кнопка.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
Кнопка.ИмяКоманды = Свойства.ИмяКоманды;
Кнопка.Заголовок = Свойства.ПредставлениеУровняГруппировки;
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция СвойстваМенюУровнейГруппировок(ИндексСтруктурыОтчета)
СвойстваМеню = ИндексСтруктурыОтчета.СкопироватьКолонки("ПорядокГруппировки, ПредставлениеГруппировки");
КолонкиСвойстваМеню = СвойстваМеню.Колонки; // КоллекцияКолонокТаблицыЗначений
КолонкиСвойстваМеню.Вставить(1, "ИмяКоманды", Новый ОписаниеТипов("Строка"));
НайденнаяКолонка = КолонкиСвойстваМеню.Найти("ПорядокГруппировки"); // КолонкаТаблицыЗначений
НайденнаяКолонка.Имя = "УровеньГруппировки";
НайденнаяКолонка = КолонкиСвойстваМеню.Найти("ПредставлениеГруппировки"); // КолонкаТаблицыЗначений
НайденнаяКолонка.Имя = "ПредставлениеУровняГруппировки";
КоличествоУровнейГруппировок = ОтчетТабличныйДокумент.КоличествоУровнейГруппировокСтрок();
Для УровеньГруппировки = 1 По КоличествоУровнейГруппировок Цикл
Свойства = СвойстваМеню.Добавить();
Свойства.ИмяКоманды = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок.Имя + УровеньГруппировки;
Свойства.УровеньГруппировки = УровеньГруппировки;
Свойства.ПредставлениеУровняГруппировки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Уровня %1'"), УровеньГруппировки);
КонецЦикла;
СвойстваМеню.Сортировать("УровеньГруппировки");
Возврат СвойстваМеню;
КонецФункции
&НаСервере
Функция ГруппировкиРазделовОтчета(ИндексСтруктурыОтчета)
ГруппировкиРазделов = ИндексСтруктурыОтчета.Скопировать();
Индекс = ГруппировкиРазделов.Количество() - 1;
Пока Индекс >= 0 Цикл
Если СтрНайти(ГруппировкиРазделов[Индекс].ИдентификаторГруппировки, "/column/") > 0 Тогда
ГруппировкиРазделов.Удалить(Индекс);
КонецЕсли;
Индекс = Индекс - 1;
КонецЦикла;
ГруппировкиРазделов.Свернуть("ПорядокРаздела, ПорядокГруппировки, ПредставлениеГруппировки");
ГруппировкиРазделов.Сортировать("ПорядокРаздела, ПорядокГруппировки");
Возврат ГруппировкиРазделов;
КонецФункции
&НаСервере
Процедура УстановитьДоступностьМенюУровнейГруппировок()
МенюЗаполнено = (Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок.ПодчиненныеЭлементы.Количество() > 1);
Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок.Видимость = Не МенюЗаполнено;
Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок.Видимость = МенюЗаполнено;
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьВыбранныйУровеньГруппировок(УровеньГруппировки = Неопределено)
Если УровеньГруппировки = Неопределено Тогда
УровеньГруппировки = ВыбранныйУровеньГруппировок;
КонецЕсли;
Индекс = УровеньГруппировки - 1;
Граница = ОтчетТабличныйДокумент.КоличествоУровнейГруппировокСтрок() - 1;
Пока Граница > Индекс Цикл
ОтчетТабличныйДокумент.ПоказатьУровеньГруппировокСтрок(Граница);
Граница = Граница - 1;
КонецЦикла;
ОтчетТабличныйДокумент.ПоказатьУровеньГруппировокСтрок(Индекс);
ВыбранныйУровеньГруппировок = УровеньГруппировки;
Кнопки = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюУровниГруппировок.ПодчиненныеЭлементы;
Для Каждого Кнопка Из Кнопки Цикл
Кнопка.Пометка = Ложь;
КонецЦикла;
ИмяКнопки = Элементы.КонтекстноеМенюОбластиЗаголовкаМенюПоказатьУровеньГруппировок.Имя + УровеньГруппировки;
Кнопка = Кнопки.Найти(ИмяКнопки);
Если Кнопка <> Неопределено Тогда
Кнопка.Пометка = Истина;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
////////////////////////////////////////////////////////////////////////////////
// Вызов сервера
@@ -2371,4 +2621,33 @@
КонецФункции
&НаКлиенте
Процедура СброситьТекущуюОбласть()
ПолеДокумента = Элементы.ОтчетТабличныйДокумент;
Область = ПолеДокумента.ТекущаяОбласть;
Если Область.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Прямоугольник Тогда
Возврат;
КонецЕсли;
СвойстваРезультата = НастройкиОтчета.СвойстваРезультата; // см. ВариантыОтчетовСлужебный.СвойстваРезультатаОтчета
СвойстваЗаголовка = СвойстваРезультата.Заголовки[Область.Имя];
Если ТипЗнч(СвойстваЗаголовка) <> Тип("Структура") Тогда
Возврат;
КонецЕсли;
Если ОтчетТабличныйДокумент.ШиринаСтраницы > ОтчетТабличныйДокумент.ШиринаТаблицы Тогда
ПолеДокумента.ТекущаяОбласть = ОтчетТабличныйДокумент.Область(1, ОтчетТабличныйДокумент.ШиринаТаблицы + 1);
ИначеЕсли ОтчетТабличныйДокумент.ВысотаСтраницы > ОтчетТабличныйДокумент.ВысотаТаблицы Тогда
ПолеДокумента.ТекущаяОбласть = ОтчетТабличныйДокумент.Область(ОтчетТабличныйДокумент.ВысотаТаблицы + 1, 1);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -24,6 +24,7 @@
Функция СвойстваРезультатаОтчета() Экспорт
СвойстваРезультата = Новый Структура;
СвойстваРезультата.Вставить("АдресИндексаСтруктурыОтчета", Неопределено);
СвойстваРезультата.Вставить("Заголовки", Новый Соответствие);
СвойстваРезультата.Вставить("ГраницыРазделов", Новый СписокЗначений);
СвойстваРезультата.Вставить("РолиПолей", Новый Структура);
@@ -139,6 +140,9 @@
УстановитьИдентификаторыИндексаСтруктурыОтчета(ИндексСтруктурыОтчета);
ОпределитьДоступныеДействияПолейОтчета(ИндексСтруктурыОтчета);
СвойстваРезультата.АдресИндексаСтруктурыОтчета = ПоместитьВоВременноеХранилище(
ИндексСтруктурыОтчета, Форма.УникальныйИдентификатор);
СвойстваРезультата.ИндексПолей = ИндексПолейСтруктурыОтчета(ИндексСтруктурыОтчета);
СвойстваРезультата.ОсновныеПоля = ОсновныеПоляОтчета(Форма);
@@ -1065,7 +1069,7 @@
КонецЕсли;
Если (Запись.Верх - ВерхниеГраницы[Индекс - 1].Верх) > 1 Тогда
Границы.Добавить(Запись.Верх);
Границы.Добавить(Макс(0, Запись.Верх - 1));
КонецЕсли;
КонецЦикла;
@@ -1435,17 +1439,27 @@
Если Не РежимВариантаОтчета(Форма.КлючТекущегоВарианта)
Или Не Форма.НастройкиОтчета.РазрешеноИзменятьВарианты
Или Не ТипЗнч(Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
Или ТипЗнч(Расшифровка) <> Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
Возврат Неопределено;
КонецЕсли;
Отчет = Форма.Отчет;
Документ = Форма.ОтчетТабличныйДокумент;
ПолеДокумента = Форма.Элементы.ОтчетТабличныйДокумент;
ВыделенныеОбластиДокумента = ПолеДокумента.ПолучитьВыделенныеОбласти();
Данные = ПолучитьИзВременногоХранилища(Форма.ОтчетДанныеРасшифровки);
ЭлементРасшифровки = Данные.Элементы.Получить(Расшифровка);
Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
ТипЭлементаРасшифровки = ТипГруппировка();
Родители = ЭлементРасшифровки.ПолучитьРодителей();
Родитель = ?(Родители.Количество() = 0, Неопределено, Родители[0]);
Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка")
Или ТипЗнч(Родитель) <> Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
ТипЭлементаРасшифровки = ВариантыОтчетовСлужебныйКлиентСервер.ТипЭлементаРасшифровкиГруппировка();
Иначе
ТипЭлементаРасшифровки = ТипРеквизит();
КонецЕсли;
@@ -1454,12 +1468,14 @@
ДанныеЭлементаРасшифровки.Вставить("Тип", ТипЭлементаРасшифровки);
ДанныеЭлементаРасшифровки.Вставить("Настройки", Данные.Настройки);
ДанныеЭлементаРасшифровки.Вставить("Отбор", ОтборЭлементаРасшифровки(ЭлементРасшифровки));
ДанныеЭлементаРасшифровки.Вставить("Отборы", ОтборыВыделенныхЭлементовРасшифровки(Документ, ВыделенныеОбластиДокумента, Данные));
Поля = ЭлементРасшифровки.ПолучитьПоля();
Если Поля.Количество() = 0 Тогда
ДанныеЭлементаРасшифровки.Вставить("Значение", Неопределено);
ДанныеЭлементаРасшифровки.Вставить("Значения", Неопределено);
ДанныеЭлементаРасшифровки.Вставить("Поле", "");
Иначе
@@ -1467,6 +1483,7 @@
СвойстваПоля = Поля[0];
ДанныеЭлементаРасшифровки.Вставить("Значение", ?(СвойстваПоля.Значение = Null, Неопределено, СвойстваПоля.Значение));
ДанныеЭлементаРасшифровки.Вставить("Значения", ДанныеЭлементаРасшифровки.Отборы[СвойстваПоля.Поле]);
ДанныеЭлементаРасшифровки.Вставить("Поле", СвойстваПоля.Поле);
КонецЕсли;
@@ -1492,8 +1509,10 @@
Если ДанныеЭлементаРасшифровки.Значение = Неопределено Тогда
Область = Форма.Элементы.ОтчетТабличныйДокумент.ТекущаяОбласть;
Область = ПолеДокумента.ТекущаяОбласть;
ДанныеЭлементаРасшифровки.Значение = ДоступноеПоле.ТипЗначения.ПривестиЗначение(Область.Текст);
ДанныеЭлементаРасшифровки.Значения = ПриведенныеЗначенияВыделенныхОбластей(
Документ, ВыделенныеОбластиДокумента, ДоступноеПоле.ТипЗначения);
КонецЕсли;
@@ -1547,10 +1566,27 @@
Для каждого Поле Из Поля Цикл
Если Поле.Значение <> Null Тогда
Результат.Вставить(Поле.Поле, Поле.Значение);
Если Поле.Значение = Null Тогда
Продолжить;
КонецЕсли;
Значение = Результат[Поле.Поле];
Если Значение = Неопределено Тогда
Результат.Вставить(Поле.Поле, Поле.Значение);
Продолжить;
КонецЕсли;
Значения = ОтчетыКлиентСервер.ЗначенияСписком(Значение);
Если Значения.НайтиПоЗначению(Поле.Значение) = Неопределено Тогда
Значения.Добавить(Поле.Значение);
КонецЕсли;
Результат.Вставить(Поле.Поле, Значения);
КонецЦикла;
КонецЕсли;
@@ -1564,9 +1600,65 @@
КонецФункции
Функция ТипГруппировка()
Функция ОтборыВыделенныхЭлементовРасшифровки(Документ, ВыделенныеОбластиДокумента, Данные)
Возврат "Группировка";
Результат = Новый Соответствие;
Для Каждого ВыделеннаяОбласть Из ВыделенныеОбластиДокумента Цикл
Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Тогда
Продолжить;
КонецЕсли;
Для НомерСтроки = ВыделеннаяОбласть.Верх По ВыделеннаяОбласть.Низ Цикл
Область = Документ.Область(НомерСтроки, ВыделеннаяОбласть.Лево, НомерСтроки, ВыделеннаяОбласть.Право);
Если Область.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Прямоугольник
И ТипЗнч(Область.Расшифровка) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
ЭлементРасшифровки = Данные.Элементы.Получить(Область.Расшифровка);
ОтборЭлементаРасшифровки(ЭлементРасшифровки, Результат);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат Результат;
КонецФункции
Функция ПриведенныеЗначенияВыделенныхОбластей(Документ, ВыделенныеОбластиДокумента, ТипЗначения)
Результат = Новый СписокЗначений;
Для Каждого ВыделеннаяОбласть Из ВыделенныеОбластиДокумента Цикл
Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Тогда
Продолжить;
КонецЕсли;
Для НомерСтроки = ВыделеннаяОбласть.Верх По ВыделеннаяОбласть.Низ Цикл
Область = Документ.Область(НомерСтроки, ВыделеннаяОбласть.Лево, НомерСтроки, ВыделеннаяОбласть.Право);
Если Область.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Прямоугольник Тогда
Значение = ТипЗначения.ПривестиЗначение(Область.Текст);
Если Результат.НайтиПоЗначению(Значение) = Неопределено Тогда
Результат.Добавить(Значение);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат Результат;
КонецФункции
@@ -252,7 +252,7 @@
Иначе
ПараметрыРаскраски.Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ПараметрыРаскраски.Условие.ВидСравнения = ВидСравненияУсловияОформления(Значение);
ПараметрыРаскраски.Условие.ПравоеЗначение = Значение;
КонецЕсли;
@@ -299,7 +299,7 @@
Иначе
ПараметрыРаскраски.Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ПараметрыРаскраски.Условие.ВидСравнения = ВидСравненияУсловияОформления(Значение);
ПараметрыРаскраски.Условие.ПравоеЗначение = Значение;
КонецЕсли;
@@ -487,13 +487,23 @@
КонецПроцедуры
Процедура СнятьФильтр(Форма, СвойстваЗаголовка) Экспорт
Процедура СнятьФильтр(Форма, СвойстваЗаголовка, ДанныеРасшифровки = Неопределено) Экспорт
ЭтоГруппировка = (ДанныеРасшифровки <> Неопределено
И ДанныеРасшифровки.Тип = ВариантыОтчетовСлужебныйКлиентСервер.ТипЭлементаРасшифровкиГруппировка());
Настройки = ИспользуемыеНастройки(Форма, СвойстваЗаголовка.ИдентификаторНастроек);
Фильтры = ВариантыОтчетовСлужебныйКлиентСервер.ФильтрыРазделаОтчета(Настройки, СвойстваЗаголовка);
Фильтры = ВариантыОтчетовСлужебныйКлиентСервер.ФильтрыРазделаОтчета(Настройки, СвойстваЗаголовка, ЭтоГруппировка);
Фильтр = ВариантыОтчетовСлужебныйКлиентСервер.ФильтрРазделаОтчета(Фильтры, СвойстваЗаголовка.Поле);
Если Фильтр = Неопределено Тогда
Фильтры = ВариантыОтчетовСлужебныйКлиентСервер.ФильтрыРазделаОтчета(Настройки, СвойстваЗаголовка, Не ЭтоГруппировка);
Фильтр = ВариантыОтчетовСлужебныйКлиентСервер.ФильтрРазделаОтчета(Фильтры, СвойстваЗаголовка.Поле);
КонецЕсли;
Если Фильтр = Неопределено Тогда
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -516,6 +526,10 @@
Процедура СкрытьПоле(Форма, Команда) Экспорт
Если Не ДействиеДоступно(Форма, Команда) Тогда
Возврат;
КонецЕсли;
СвойстваЗаголовка = СвойстваЗаголовкаОтчета(Форма);
Если СвойстваЗаголовка.ИдентификаторНастроек = Неопределено Тогда
@@ -554,6 +568,10 @@
Процедура ПереименоватьПоле(Форма, Команда, Заголовок = "") Экспорт
Если Не ДействиеДоступно(Форма, Команда) Тогда
Возврат;
КонецЕсли;
СвойстваЗаголовка = СвойстваЗаголовкаОтчета(Форма);
КомпоновщикНастроек = КомпоновщикНастроекОтчета(Форма);
@@ -609,6 +627,8 @@
Настройки = ИспользуемыеНастройки(Форма, СвойстваЗаголовка.ИдентификаторНастроек);
СброситьСортировку(Настройки, СвойстваЗаголовка);
Если СвойстваЗаголовка.КоличествоРазделов = 1 Тогда
ЭлементыСортировки = Настройки.Порядок.Элементы;
@@ -1118,9 +1138,11 @@
КонецЕсли;
ЭтоГруппировка = (ДанныеРасшифровки.Тип = ВариантыОтчетовСлужебныйКлиентСервер.ТипЭлементаРасшифровкиГруппировка());
Настройки = ИспользуемыеНастройки(Форма, СвойстваЗаголовка.ИдентификаторНастроек);
Фильтры = ВариантыОтчетовСлужебныйКлиентСервер.ФильтрыРазделаОтчета(Настройки, СвойстваЗаголовка);
Фильтры = ВариантыОтчетовСлужебныйКлиентСервер.ФильтрыРазделаОтчета(Настройки, СвойстваЗаголовка, ЭтоГруппировка);
Фильтр = ВариантыОтчетовСлужебныйКлиентСервер.ФильтрРазделаОтчета(Фильтры, СвойстваЗаголовка.Поле);
Если Фильтр = Неопределено Тогда
@@ -1218,6 +1240,80 @@
КонецФункции
Процедура СброситьСортировку(Настройки, СвойстваЗаголовка, ЭлементыСтруктуры = Неопределено)
Если ЭлементыСтруктуры = Неопределено Тогда
УдалитьЭлементыСортировки(Настройки.Порядок.Элементы);
Если СвойстваЗаголовка.КоличествоРазделов = 1 Тогда
СброситьСортировку(Настройки, СвойстваЗаголовка, Настройки.Структура);
Иначе
Раздел = Настройки.ПолучитьОбъектПоИдентификатору(СвойстваЗаголовка.ИдентификаторРаздела);
Если ТипЗнч(Раздел) = Тип("ГруппировкаКомпоновкиДанных") Тогда
УдалитьЭлементыСортировки(Раздел.Порядок.Элементы);
СброситьСортировку(Настройки, СвойстваЗаголовка, Раздел.Структура);
ИначеЕсли ТипЗнч(Раздел) = Тип("ТаблицаКомпоновкиДанных") Тогда
СброситьСортировку(Настройки, СвойстваЗаголовка, Раздел.Строки);
СброситьСортировку(Настройки, СвойстваЗаголовка, Раздел.Колонки);
КонецЕсли;
КонецЕсли;
Иначе
Для Каждого Элемент Из ЭлементыСтруктуры Цикл
ТипЭлемента = ТипЗнч(Элемент);
Если ТипЭлемента = Тип("ТаблицаКомпоновкиДанных") Тогда
СброситьСортировку(Настройки, СвойстваЗаголовка, Элемент.Строки);
СброситьСортировку(Настройки, СвойстваЗаголовка, Элемент.Колонки);
ИначеЕсли ТипЭлемента = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
СброситьСортировку(Настройки.Настройки, СвойстваЗаголовка);
ИначеЕсли ТипЭлемента = Тип("ГруппировкаКомпоновкиДанных")
Или ТипЭлемента = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда
УдалитьЭлементыСортировки(Элемент.Порядок.Элементы);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура УдалитьЭлементыСортировки(ЭлементыСортировки)
Индекс = ЭлементыСортировки.Количество() - 1;
Пока Индекс >= 0 Цикл
Элемент = ЭлементыСортировки[Индекс];
Если ТипЗнч(Элемент) <> Тип("АвтоЭлементПорядкаКомпоновкиДанных") Тогда
ЭлементыСортировки.Удалить(Элемент);
КонецЕсли;
Индекс = Индекс - 1;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область Оформление
@@ -1230,7 +1326,7 @@
ПараметрыРаскраски = ПараметрыРаскраскиРазделаОтчета(ДействиеКоманды(Команда));
ПараметрыРаскраски.Условие.ЛевоеЗначение = СвойстваЗаголовка.Поле;
ПараметрыРаскраски.Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ПараметрыРаскраски.Условие.ВидСравнения = ВидСравненияУсловияОформления(Значение);
ПараметрыРаскраски.Условие.ПравоеЗначение = Значение;
ЭлементыСтиля = СтандартныеПодсистемыКлиент.ЭлементыСтиля();
@@ -1735,13 +1831,23 @@
Условие = Новый Структура;
Условие.Вставить("ЛевоеЗначение", Поле);
Условие.Вставить("ВидСравнения", ВидСравненияКомпоновкиДанных.Равно);
Условие.Вставить("ВидСравнения", ВидСравненияУсловияОформления(Значение));
Условие.Вставить("ПравоеЗначение", Значение);
Возврат Условие;
КонецФункции
Функция ВидСравненияУсловияОформления(Значение)
Если ТипЗнч(Значение) = Тип("СписокЗначений") Тогда
Возврат ВидСравненияКомпоновкиДанных.ВСписке;
КонецЕсли;
Возврат ВидСравненияКомпоновкиДанных.Равно;
КонецФункции
// Параметры:
// Результат - Структура
// ДополнительныеПараметры - Структура
@@ -2338,6 +2444,10 @@
Процедура ВыбратьПолеОтчетаИзМеню(Форма, Команда, ИмяКоллекции = "ВыбранныеПоля")
Если Не ДействиеДоступно(Форма, Команда) Тогда
Возврат;
КонецЕсли;
Обработчик = ОбработчикВыбораПоляОтчета(Форма, ДействиеКоманды(Команда));
УточнитьИмяКоллекции(ИмяКоллекции, Обработчик);
@@ -2673,6 +2783,10 @@
Процедура ПереместитьПолеГоризонтально(Форма, Команда)
Если Не ДействиеДоступно(Форма, Команда) Тогда
Возврат;
КонецЕсли;
СвойстваЗаголовка = СвойстваЗаголовкаОтчета(Форма);
КомпоновщикНастроек = КомпоновщикНастроекОтчета(Форма);
@@ -2720,6 +2834,10 @@
Процедура ПереместитьПолеВертикально(Форма, Команда)
Если Не ДействиеДоступно(Форма, Команда) Тогда
Возврат;
КонецЕсли;
СвойстваЗаголовка = СвойстваЗаголовкаОтчета(Форма);
КомпоновщикНастроек = КомпоновщикНастроекОтчета(Форма);
@@ -2930,6 +3048,7 @@
Функция КонтекстноеМенюОбластиЗаголовка()
КонтекстноеМеню = Новый СписокЗначений;
КонтекстноеМеню.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение, НСтр("ru = 'Открыть'"));
// Фильтровать
КонтекстноеМеню.Добавить("СнятьФильтр", НСтр("ru = 'Снять фильтр'"));
@@ -3065,7 +3184,7 @@
Если ТипЗнч(ВыполненноеДействие) = Тип("Строка")
И ВыполненноеДействие = "СнятьФильтр" Тогда
СнятьФильтр(Форма, СвойстваОбласти.СвойстваЗаголовка);
СнятьФильтр(Форма, СвойстваОбласти.СвойстваЗаголовка, Данные);
Возврат;
КонецЕсли;
@@ -3106,16 +3225,16 @@
Если ВыполненноеДействие = "ОформитьКрасным"
Или ВыполненноеДействие = "ОформитьОтрицательные" Тогда
ОформитьКрасным(Форма, Команда, СвойстваОбласти.СвойстваЗаголовка, Данные.Значение);
ОформитьКрасным(Форма, Команда, СвойстваОбласти.СвойстваЗаголовка, Данные.Значения);
ИначеЕсли ВыполненноеДействие = "ОформитьЖелтым" Тогда
ОформитьЖелтым(Форма, Команда, СвойстваОбласти.СвойстваЗаголовка, Данные.Значение);
ОформитьЖелтым(Форма, Команда, СвойстваОбласти.СвойстваЗаголовка, Данные.Значения);
ИначеЕсли ВыполненноеДействие = "ОформитьЗеленым"
Или ВыполненноеДействие = "ОформитьПоложительные" Тогда
ОформитьЗеленым(Форма, Команда, СвойстваОбласти.СвойстваЗаголовка, Данные.Значение);
ОформитьЗеленым(Форма, Команда, СвойстваОбласти.СвойстваЗаголовка, Данные.Значения);
ИначеЕсли ВыполненноеДействие = "УстановитьВысотуСтроки" Тогда
@@ -3127,7 +3246,7 @@
ИначеЕсли ВыполненноеДействие = "ОформитьЕще" Тогда
ОформитьЕще(Форма, Команда, СвойстваОбласти.СвойстваЗаголовка, Данные.Значение);
ОформитьЕще(Форма, Команда, СвойстваОбласти.СвойстваЗаголовка, Данные.Значения);
КонецЕсли;
@@ -3312,6 +3431,10 @@
Функция ДействиеКоманды(Команда)
Если Команда = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
Возврат ?(ЗначениеЗаполнено(Команда.Действие), Команда.Действие, Команда.Имя);
КонецФункции
@@ -3407,6 +3530,23 @@
КонецФункции
Функция ДействиеДоступно(Форма, Команда = Неопределено)
СвойстваЗаголовка = СвойстваЗаголовкаОтчета(Форма);
ДействиеКоманды = ДействиеКоманды(Команда);
Если ТипЗнч(СвойстваЗаголовка) <> Тип("Структура")
Или ДействиеКоманды <> Неопределено И Не СвойстваЗаголовка[ДействиеКоманды] Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Действие недоступно'"));
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
Функция ДействиеНадПолемДоступно(Действие, СвойстваЗаголовка)
Если Не СвойстваЗаголовка[Действие] Тогда
@@ -160,7 +160,7 @@
// Настройки - НастройкиКомпоновкиДанных
// СвойстваЗаголовка - см. ВариантыОтчетовСлужебный.СтандартныеСвойстваЗаголовкаОтчета
//
Функция ГруппировкаФильтра(Настройки, СвойстваЗаголовка) Экспорт
Функция ГруппировкаФильтра(Настройки, СвойстваЗаголовка, ЭтоГруппировка = Ложь) Экспорт
Если СвойстваЗаголовка.ИдентификаторНастроек = Неопределено Тогда
Возврат Настройки;
@@ -173,10 +173,12 @@
ИспользуемыеНастройки = Настройки;
КонецЕсли;
Если СвойстваЗаголовка.КоличествоРазделов = 1 Тогда
Раздел = ИспользуемыеНастройки;
Иначе
Если ЭтоГруппировка
Или СвойстваЗаголовка.КоличествоРазделов > 1 Тогда
Раздел = ИспользуемыеНастройки.ПолучитьОбъектПоИдентификатору(СвойстваЗаголовка.ИдентификаторРаздела);
Иначе
Раздел = ИспользуемыеНастройки;
КонецЕсли;
Если ТипЗнч(Раздел) = Тип("ТаблицаКомпоновкиДанных") Тогда
@@ -206,9 +208,9 @@
// Возвращаемое значение:
// ОтборКомпоновкиДанных
//
Функция ФильтрыРазделаОтчета(Настройки, СвойстваЗаголовка) Экспорт
Функция ФильтрыРазделаОтчета(Настройки, СвойстваЗаголовка, ЭтоГруппировка = Ложь) Экспорт
ГруппировкаФильтра = ГруппировкаФильтра(Настройки, СвойстваЗаголовка);
ГруппировкаФильтра = ГруппировкаФильтра(Настройки, СвойстваЗаголовка, ЭтоГруппировка);
Возврат ГруппировкаФильтра.Отбор;
КонецФункции
@@ -285,4 +287,14 @@
#КонецОбласти
#Область ДанныеЭлементаРасшифровки
Функция ТипЭлементаРасшифровкиГруппировка() Экспорт
Возврат "Группировка";
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -434,11 +434,7 @@
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| ВЫБОР
| КОГДА ВерсииОбъектов.Объект ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьПроблемыВерсий
| ИСТИНА КАК ЕстьПроблемыВерсий
|ИЗ
| РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
|ГДЕ
@@ -13,10 +13,14 @@
// Параметры:
// Параметры - Структура:
//
// * Организация - ОпределяемыйТип.Организация - организация, которую нужно заполнить.
// * ТипОрганизации - ОписаниеТипов - (возвращаемое значение) содержит ссылочные типы, из которых
// можно сделать выбор. Начальное значение ОпределяемыйТип.Организация.
// - Неопределено - (возвращаемое значение) выбор организации не поддерживается.
//
// * Организация - СправочникСсылка - организация из ТипОрганизации, которую нужно заполнить.
// Если организация уже заполнена, требуется перезаполнить ее свойства - например,
// при повтором вызове, когда пользователь выбрал другую организацию.
// - Неопределено - если ОпределяемыйТип.Организация не настроен.
// - Неопределено - если ТипОрганизации не настроен.
// Пользователю недоступен выбор организации.
//
// * ЭтоИндивидуальныйПредприниматель - Булево - (возвращаемое значение):
@@ -54,10 +58,6 @@
// возвращает функция КонтактнаяИнформацияОбъекта общего модуля УправлениеКонтактнойИнформацией.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
// * ФактическийАдрес - Строка - (возвращаемое значение) фактический адрес организации в формате JSON, как его
// возвращает функция КонтактнаяИнформацияОбъекта общего модуля УправлениеКонтактнойИнформацией.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
Процедура ПриЗаполненииРеквизитовОрганизацииВЗаявленииНаСертификат(Параметры) Экспорт
@@ -68,22 +68,24 @@
//
// Параметры:
// Параметры - Структура:
// * Организация - ОпределяемыйТип.Организация - выбранная организация, на которую оформляется сертификат.
// - Неопределено - если ОпределяемыйТип.Организация не настроен.
// * ЭтоФизическоеЛицо - Булево - если Истина, тогда заявление заполняется для физического лица, иначе для организации.
//
// * Организация - СправочникСсылка - выбранная организация из ТипОрганизации, на которую оформляется сертификат.
// - Неопределено - если ТипОрганизации не настроен или составной и тип организации не выбран.
//
// * ТипВладельца - ОписаниеТипов - (возвращаемое значение) содержит ссылочные типы, из которых можно сделать выбор.
// - Неопределено - (возвращаемое значение) выбор владельца не поддерживается.
//
// * Сотрудник - ТипВладельца - (возвращаемое значение) - это владелец сертификата, которого нужно заполнить.
// Если уже заполнен (выбран пользователем), его не следует изменять.
// * Сотрудник - СправочникСсылка - (возвращаемое значение) - это владелец сертификата из ТипВладельца,
// которого нужно заполнить. Если уже заполнен (выбран пользователем), его не следует изменять.
// - Неопределено - если ТипВладельца не определен, тогда реквизит не доступен пользователю.
//
// * Директор - ТипВладельца - (возвращаемое значение) - это директор, который может быть выбран,
// как владелец сертификата.
// * Директор - СправочникСсылка - (возвращаемое значение) - это директор из ТипВладельца, который может быть
// выбран, как владелец сертификата. Не учитывается, если заявление для ИП или физического лица.
// - Неопределено - начальное значение - скрыть директора из списка выбора.
//
// * ГлавныйБухгалтер - ТипВладельца - (возвращаемое значение) это главный бухгалтер, который может быть выбран
// как владелец сертификата.
// * ГлавныйБухгалтер - СправочникСсылка - (возвращаемое значение) это главный бухгалтер из ТипВладельца, который может
// быть выбран как владелец сертификата. Не учитывается, если заявление для ИП или физического лица.
// - Неопределено - начальное значение - скрыть главного бухгалтера из списка выбора.
//
// * Пользователь - СправочникСсылка.Пользователи - (возвращаемое значение) пользователь - владелец сертификата.
@@ -111,14 +113,19 @@
// * Гражданство - СправочникСсылка.СтраныМира - (возвращаемое значение) гражданство сотрудника.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
// * ИНН - Строка - (возвращаемое значение) ИНН физического лица.
// Учитывается только в заявлении для физического лица.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
// * СтраховойНомерПФР - Строка - (возвращаемое значение) СНИЛС сотрудника.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
// * Должность - Строка - (возвращаемое значение) должность сотрудника в организации.
// Не учитывается, если заявление для ИП или физического лица.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
// * Подразделение - Строка - (возвращаемое значение) обособленное подразделение организации,
// в котором работает сотрудник.
// * Подразделение - Строка - (возвращаемое значение) обособленное подразделение организации, в котором
// работает сотрудник. Не учитывается, если заявление для ИП или физического лица.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
//
@@ -126,28 +133,33 @@
// 91 - иной документ, предусмотренный законодательством РФ (по СПДУЛ).
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
//
// * ДокументНомер - Строка - (возвращаемое значение) номер документа сотрудника (серия и
// номер для паспорта гражданина РФ).
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
//
// * ДокументКемВыдан - Строка - (возвращаемое значение) кем выдан документ сотрудника.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
//
// * ДокументКодПодразделения - Строка - (возвращаемое значение) - код подразделения, если вид документа 21.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
//
// * ДокументДатаВыдачи - Дата - (возвращаемое значение) дата выдачи документа сотрудника.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
// * АдресРегистрации - Строка - (возвращаемое значение) адрес постоянной или временной регистрации
// физического лица (минимум регион, населенный пункт) в формате JSON, как его возвращает
// функция КонтактнаяИнформацияОбъекта общего модуля УправлениеКонтактнойИнформацией.
// Учитывается только в заявлении для физического лица.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
// * ЭлектроннаяПочта - Строка - (возвращаемое значение) адрес электронной почты сотрудника в формате XML, как его
// возвращает функция КонтактнаяИнформацияВXML общего модуля УправлениеКонтактнойИнформацией.
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
// * Телефон - Строка - (возвращаемое значение) телефон физического лица в формате JSON, как его
// возвращает функция КонтактнаяИнформацияОбъекта общего модуля УправлениеКонтактнойИнформацией.
// Учитывается только в заявлении для физического лица.
//
//
Процедура ПриЗаполненииРеквизитовВладельцаВЗаявленииНаСертификат(Параметры) Экспорт
@@ -156,17 +168,18 @@
КонецПроцедуры
// Вызывается в форме добавления заявления на новый сертификат для заполнения реквизитов руководителя и при его выборе.
// Только для юридического лица. Для индивидуального предпринимателя не требуется.
// Только для юридического лица. Для индивидуального предпринимателя и физического лица не требуется.
//
// Параметры:
// Параметры - Структура:
// * Организация - ОпределяемыйТип.Организация - выбранная организация, на которую оформляется сертификат.
// - Неопределено - если ОпределяемыйТип.Организация не настроен.
// * Организация - СправочникСсылка - выбранная организация из ТипОрганизации, на которую оформляется сертификат.
// - Неопределено - если ТипОрганизации не настроен.
//
// * ТипРуководителя - ОписаниеТипов - (возвращаемое значение) содержит ссылочные типы, из которых можно сделать выбор.
// - Неопределено - (возвращаемое значение) выбор партнера не поддерживается.
//
// * Руководитель - ТипРуководителя - это значение, выбранное пользователем по которому нужно заполнить должность.
// * Руководитель - СправочникСсылка - это значение из ТипРуководителя, выбранное пользователем,
// по которому нужно заполнить должность.
// - Неопределено - ТипРуководителя не определен.
// - ЛюбаяСсылка - (возвращаемое значение) - руководитель, который будет подписывать документы.
//
@@ -190,14 +203,16 @@
//
// Параметры:
// Параметры - Структура:
// * Организация - ОпределяемыйТип.Организация - выбранная организация, на которую оформляется сертификат.
// - Неопределено - если ОпределяемыйТип.Организация не настроен.
// * ЭтоФизическоеЛицо - Булево - если Истина, тогда заявление заполняется для физического лица, иначе для организации.
//
// * Организация - СправочникСсылка - выбранная организация из ТипОрганизации, на которую оформляется сертификат.
// - Неопределено - если ТипОрганизации не настроен.
//
// * ТипПартнера - ОписаниеТипов - содержит ссылочные типы из которых можно сделать выбор.
// - Неопределено - выбор партнера не поддерживается.
//
// * Партнер - ТипПартнера - это контрагент (обслуживающая организация), выбранный пользователем,
// по которому нужно заполнить реквизиты, описанные ниже.
// * Партнер - СправочникСсылка - это контрагент (обслуживающая организация) из ТипПартнера,
// выбранный пользователем, по которому нужно заполнить реквизиты, описанные ниже.
// - Неопределено - ТипПартнера не определен.
// - ЛюбаяСсылка - (возвращаемое значение) - значение, сохраняемое в заявке для истории.
//
@@ -3173,252 +3173,310 @@
//
// Параметры:
// РежимОбновления - Строка - определяет, по какому этапу обновления необходимо получить данные.
// Доступные значения: "Оперативное", "Отложенное", "ОбщиеДанные".
// Доступные значения: "Оперативное", "Отложенное".
//
// Возвращаемое значение:
// Структура:
// * Обновлено - Массив - обновленные области.
// - Булево - признак окончания обновления для режима ОбщиеДанные.
// * Выполняется - Массив из Число - области, где обработчики выполняются.
// - Булево - признак выполнения обновления для режима ОбщиеДанные.
// * Ожидают - Массив из Число - области, в которых отложенное обновление еще не началось
// - Булево - признак окончания обновления для режима выполнения ОбщиеДанные.
// * Проблемы - Массив из Число - области, где обновление завершилось с ошибкой.
// - Булево - признак, что обновление завершилось с ошибкой для режима ОбщиеДанные.
// * ОбластиСПроблемами - Массив из Число - только для режимов "Оперативное" и "Отложенное".
// * ОбластиВыполняется - Массив из Число - только для режимов "Оперативное" и "Отложенное".
// * Обновлено - Число - количество областей, этап обновления которых завершен.
// * Выполняется - Число - количество областей, по которым обновление выполняется.
// * Ожидают - Число - количество областей, ожидающих начало этапа обновления.
// * Проблемы - Число - количество областей, в процессе обновления которых произошли ошибки.
// * ОбластиСПроблемами - Массив из Число - номера областей, в процессе обновления которых произошли ошибки.
// * ОбластиВыполняется - Массив из Число - номера областей, по которым обновление выполняется.
// * ОбластиОжидает - Массив из Число - номера областей, ожидающих начало этапа обновления.
// * ОбластиОбновлено - Массив из Число - номера областей, этап обновления которых завершен.
//
Функция ПрогрессОбновленияОбластейДанных(РежимОбновления) Экспорт
РежимОбновленияДляЗапроса = Новый Массив;
Если РежимОбновления = "Отложенное" Тогда
РежимОбновленияДляЗапроса.Добавить(Перечисления.РежимыВыполненияОбработчиков.Отложенно);
ИначеЕсли РежимОбновления = "Оперативное" Или РежимОбновления = "ОбщиеДанные" Тогда
РежимОбновленияДляЗапроса.Добавить(Перечисления.РежимыВыполненияОбработчиков.Оперативно);
РежимОбновленияДляЗапроса.Добавить(Перечисления.РежимыВыполненияОбработчиков.Монопольно);
Иначе
ВызватьИсключение НСтр("ru = 'Некорректное значение параметра ""РежимОбновления"".
|Доступные значения: ""Оперативное"", ""Отложенное"", ""ОбщиеДанные""'");
Если Не ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
Возврат Неопределено;
КонецЕсли;
РежимОбновленияОперативное = "Оперативное";
РежимОбновленияОтложенное = "Отложенное";
Если РежимОбновления = РежимОбновленияОперативное Тогда
РежимыВыполнения = Новый Массив;
РежимыВыполнения.Добавить(Перечисления.РежимыВыполненияОбработчиков.Оперативно);
РежимыВыполнения.Добавить(Перечисления.РежимыВыполненияОбработчиков.Монопольно);
ИначеЕсли РежимОбновления = РежимОбновленияОтложенное Тогда
РежимыВыполнения = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
Перечисления.РежимыВыполненияОбработчиков.Отложенно);
Иначе
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Некорректное значение параметра ""РежимОбновления"".
|Доступные значения: ""%1"", ""%2""'"), РежимОбновленияОперативное, РежимОбновленияОтложенное);
КонецЕсли;
ПорядокСостоянияОбновлено = 4;
ПорядокСостоянияОжидает = 3;
ПорядокСостоянияВыполняется = 2;
ПорядокСостоянияОшибка = 1;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("РежимыВыполнения", РежимыВыполнения);
Запрос.УстановитьПараметр("РежимОбновления", РежимОбновления);
Запрос.УстановитьПараметр("РежимОбновленияОперативное", РежимОбновленияОперативное);
Запрос.УстановитьПараметр("РежимОбновленияОтложенное", РежимОбновленияОтложенное);
Запрос.УстановитьПараметр("ПорядокСостоянияОбновлено", ПорядокСостоянияОбновлено);
Запрос.УстановитьПараметр("ПорядокСостоянияВыполняется", ПорядокСостоянияВыполняется);
Запрос.УстановитьПараметр("ПорядокСостоянияОжидает", ПорядокСостоянияОжидает);
Запрос.УстановитьПараметр("ПорядокСостоянияОшибка", ПорядокСостоянияОшибка);
ОбластиОбновленныеНаВерсию = Новый Массив;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбновлениеВерсииИБВМоделиСервиса") Тогда
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса");
ОбластиОбновленныеНаВерсию = МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса.ОбластиОбновленныеНаВерсию(Метаданные.Имя, Метаданные.Версия);
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("СтатусВыполняется", Перечисления.СтатусыОбработчиковОбновления.Выполняется);
Запрос.УстановитьПараметр("СтатусОшибка", Перечисления.СтатусыОбработчиковОбновления.Ошибка);
Запрос.УстановитьПараметр("СтатусНеВыполнялся", Перечисления.СтатусыОбработчиковОбновления.НеВыполнялся);
Запрос.УстановитьПараметр("СтатусВыполнен", Перечисления.СтатусыОбработчиковОбновления.Выполнен);
Запрос.УстановитьПараметр("РежимВыполнения", РежимОбновленияДляЗапроса);
Запрос.УстановитьПараметр("ОбластиОбновленныеНаВерсию", ОбластиОбновленныеНаВерсию);
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
Запрос.УстановитьПараметр("ИспользуемыеОбласти", МодульРаботаВМоделиСервиса.ИспользуемыеОбластиДанных().Выгрузить());
Запрос.УстановитьПараметр("ОбновленныеОбласти", ОбластиОбновленныеНаВерсию);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные КАК ОбластьДанных,
| КОЛИЧЕСТВО(ВЫБОР
| КОГДА ОбработчикиОбновления.Статус = &СтатусВыполняется
| ТОГДА ОбработчикиОбновления.Статус
| КОНЕЦ) КАК Выполняется,
| КОЛИЧЕСТВО(ВЫБОР
| КОГДА ОбработчикиОбновления.Статус = &СтатусОшибка
| ТОГДА ОбработчикиОбновления.Статус
| КОНЕЦ) КАК Ошибки,
| КОЛИЧЕСТВО(ВЫБОР
| КОГДА ОбработчикиОбновления.Статус = &СтатусНеВыполнялся
| ТОГДА ОбработчикиОбновления.Статус
| КОНЕЦ) КАК НеВыполнялись,
| КОЛИЧЕСТВО(ВЫБОР
| КОГДА ОбработчикиОбновления.Статус = &СтатусВыполнен
| ТОГДА ОбработчикиОбновления.Статус
| КОНЕЦ) КАК Выполнены
|ПОМЕСТИТЬ СтатистикаОбновленияПоОбластям
|ИЗ
| РегистрСведений.ОбработчикиОбновления КАК ОбработчикиОбновления
|ГДЕ
| ОбработчикиОбновления.РежимВыполнения В(&РежимВыполнения)";
"ВЫБРАТЬ
| ИспользуемыеОбласти.ОбластьДанных КАК ОбластьДанных
|ПОМЕСТИТЬ ИспользуемыеОбласти
|ИЗ
| &ИспользуемыеОбласти КАК ИспользуемыеОбласти
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОбновленныеОбласти.ОбластьДанныхВспомогательныеДанные КАК ОбластьДанныхВспомогательныеДанные
|ПОМЕСТИТЬ ВерсииПодсистемОбластейДанных
|ИЗ
| &ОбновленныеОбласти КАК ОбновленныеОбласти
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ИспользуемыеОбласти.ОбластьДанных КАК ОбластьДанных,
| ВЫБОР
| КОГДА ВерсииПодсистемОбластейДанных.ОбластьДанныхВспомогательныеДанные ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ОперативноеОбновлениеЗавершено
|ПОМЕСТИТЬ ОбластиДанных
|ИЗ
| ИспользуемыеОбласти КАК ИспользуемыеОбласти
| ЛЕВОЕ СОЕДИНЕНИЕ ВерсииПодсистемОбластейДанных КАК ВерсииПодсистемОбластейДанных
| ПО (ВерсииПодсистемОбластейДанных.ОбластьДанныхВспомогательныеДанные = ИспользуемыеОбласти.ОбластьДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОбластиДанных.ОбластьДанных КАК ОбластьДанных,
| МИНИМУМ(ВЫБОР
| КОГДА &РежимОбновления = &РежимОбновленияОперативное
| И ОбластиДанных.ОперативноеОбновлениеЗавершено
| ТОГДА &ПорядокСостоянияОбновлено
| КОГДА &РежимОбновления = &РежимОбновленияОтложенное
| И НЕ ОбластиДанных.ОперативноеОбновлениеЗавершено
| ТОГДА &ПорядокСостоянияОжидает
| КОГДА &РежимОбновления = &РежимОбновленияОтложенное
| И ЕСТЬNULL(ОбработчикиОбновления.Статус, ЗНАЧЕНИЕ(Перечисление.СтатусыОбработчиковОбновления.Выполнен)) = ЗНАЧЕНИЕ(Перечисление.СтатусыОбработчиковОбновления.Выполнен)
| ТОГДА &ПорядокСостоянияОбновлено
| КОГДА ОбработчикиОбновления.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОбработчиковОбновления.Выполняется)
| ТОГДА &ПорядокСостоянияВыполняется
| КОГДА ОбработчикиОбновления.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыОбработчиковОбновления.Ошибка)
| ТОГДА &ПорядокСостоянияОшибка
| ИНАЧЕ &ПорядокСостоянияОжидает
| КОНЕЦ) КАК ПорядокСостояния
|ПОМЕСТИТЬ СтатистикаОбновления
|ИЗ
| ОбластиДанных КАК ОбластиДанных
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОбработчикиОбновления КАК ОбработчикиОбновления
| ПО (ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные = ОбластиДанных.ОбластьДанных)
| И (ОбработчикиОбновления.РежимВыполнения В (&РежимыВыполнения))
|
|СГРУППИРОВАТЬ ПО
| ОбластиДанных.ОбластьДанных
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СтатистикаОбновления.ПорядокСостояния КАК ПорядокСостояния,
| СтатистикаОбновления.ОбластьДанных КАК ОбластьДанных
|ИЗ
| СтатистикаОбновления КАК СтатистикаОбновления
|
|УПОРЯДОЧИТЬ ПО
| ОбластьДанных
|ИТОГИ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОбластьДанных)
|ПО
| ПорядокСостояния";
Если РежимОбновления <> "ОбщиеДанные" Тогда
Запрос.Текст = Запрос.Текст + Символы.ПС + Символы.ПС
+ "СГРУППИРОВАТЬ ПО
| ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные"
ПрогрессОбновления = ОбновлениеИнформационнойБазыСлужебный.НовыйПрогрессОбновленияОбластейДанных();
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат ПрогрессОбновления;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| СтатистикаОбновленияПоОбластям.ОбластьДанных КАК ОбластьДанных
|ИЗ
| СтатистикаОбновленияПоОбластям КАК СтатистикаОбновленияПоОбластям
|ГДЕ
| СтатистикаОбновленияПоОбластям.Выполнены <> 0
| И СтатистикаОбновленияПоОбластям.Выполняется = 0
| И СтатистикаОбновленияПоОбластям.Ошибки = 0
| И СтатистикаОбновленияПоОбластям.НеВыполнялись = 0
| И СтатистикаОбновленияПоОбластям.ОбластьДанных В(&ОбластиОбновленныеНаВерсию)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СтатистикаОбновленияПоОбластям.ОбластьДанных КАК ОбластьДанных
|ИЗ
| СтатистикаОбновленияПоОбластям КАК СтатистикаОбновленияПоОбластям
|ГДЕ
| СтатистикаОбновленияПоОбластям.Выполняется <> 0
| И СтатистикаОбновленияПоОбластям.Ошибки = 0
| И СтатистикаОбновленияПоОбластям.ОбластьДанных В(&ОбластиОбновленныеНаВерсию)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СтатистикаОбновленияПоОбластям.ОбластьДанных КАК ОбластьДанных
|ИЗ
| СтатистикаОбновленияПоОбластям КАК СтатистикаОбновленияПоОбластям
|ГДЕ
| СтатистикаОбновленияПоОбластям.Ошибки <> 0
| И СтатистикаОбновленияПоОбластям.ОбластьДанных В(&ОбластиОбновленныеНаВерсию)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СтатистикаОбновленияПоОбластям.ОбластьДанных КАК ОбластьДанных
|ИЗ
| СтатистикаОбновленияПоОбластям КАК СтатистикаОбновленияПоОбластям
|ГДЕ
| (СтатистикаОбновленияПоОбластям.Выполнены = 0
| И СтатистикаОбновленияПоОбластям.Выполняется = 0
| И СтатистикаОбновленияПоОбластям.Ошибки = 0
| И СтатистикаОбновленияПоОбластям.НеВыполнялись <> 0
| ИЛИ НЕ СтатистикаОбновленияПоОбластям.ОбластьДанных В (&ОбластиОбновленныеНаВерсию))";
Запрос.Текст = Запрос.Текст + Символы.ПС + ";" + Символы.ПС + ТекстЗапроса;
Если РежимОбновления = "ОбщиеДанные" Тогда
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"РегистрСведений.ОбработчикиОбновления",
"РегистрСведений.ОбработчикиОбновленияОбщихДанных");
ВыборкаПорядокСостояния = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПорядокСостояния.Следующий() Цикл
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
"ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные КАК ОбластьДанных",
"0 КАК ОбластьДанных");
КонецЕсли;
Если ВыборкаПорядокСостояния.ПорядокСостояния = ПорядокСостоянияОбновлено Тогда
ПрогрессОбновления.Обновлено = ВыборкаПорядокСостояния.ОбластьДанных;
Расшифровка = ПрогрессОбновления.ОбластиОбновлено;
ИначеЕсли ВыборкаПорядокСостояния.ПорядокСостояния = ПорядокСостоянияВыполняется Тогда
ПрогрессОбновления.Выполняется = ВыборкаПорядокСостояния.ОбластьДанных;
Расшифровка = ПрогрессОбновления.ОбластиВыполняется;
ИначеЕсли ВыборкаПорядокСостояния.ПорядокСостояния = ПорядокСостоянияОшибка Тогда
ПрогрессОбновления.Проблемы = ВыборкаПорядокСостояния.ОбластьДанных;
Расшифровка = ПрогрессОбновления.ОбластиСПроблемами;
Иначе
ПрогрессОбновления.Ожидают = ВыборкаПорядокСостояния.ОбластьДанных;
Расшифровка = ПрогрессОбновления.ОбластиОжидает;
КонецЕсли;
РезультатЗапроса = Запрос.ВыполнитьПакет();
ВыборкаОбласти = ВыборкаПорядокСостояния.Выбрать();
Пока ВыборкаОбласти.Следующий() Цикл
Расшифровка.Добавить(ВыборкаОбласти.ОбластьДанных);
КонецЦикла;
ПрогрессОбновления = Новый Структура;
Если РежимОбновления = "ОбщиеДанные" Тогда
ПрогрессОбновления.Вставить("Обновлено", РезультатЗапроса[1].Выгрузить().Количество() > 0);
ПрогрессОбновления.Вставить("Проблемы", РезультатЗапроса[3].Выгрузить().Количество() > 0);
ПрогрессОбновления.Вставить("Выполняется", ВыполняетсяОбновлениеИнформационнойБазы());
Ожидает = Не ПрогрессОбновления.Обновлено
И Не ПрогрессОбновления.Проблем
И Не ПрогрессОбновления.Выполняется
И НеобходимоОбновлениеИнформационнойБазы();
ПрогрессОбновления.Вставить("Ожидают", Ожидает);
Иначе
Выполняются = РезультатЗапроса[2].Выгрузить();
Проблемы = РезультатЗапроса[3].Выгрузить();
ПрогрессОбновления.Вставить("Обновлено", РезультатЗапроса[1].Выгрузить().Количество());
ПрогрессОбновления.Вставить("Выполняется", Выполняются.Количество());
ПрогрессОбновления.Вставить("ОбластиВыполняется", Выполняются.ВыгрузитьКолонку("ОбластьДанных"));
ПрогрессОбновления.Вставить("Проблемы", Проблемы.Количество());
ПрогрессОбновления.Вставить("ОбластиСПроблемами", Проблемы.ВыгрузитьКолонку("ОбластьДанных"));
ПрогрессОбновления.Вставить("Ожидают", РезультатЗапроса[4].Выгрузить().Количество());
КонецЕсли;
КонецЦикла;
Возврат ПрогрессОбновления;
КонецФункции
// Возвращает таблицу обработчиков обновления по указанному отбору.
// В режиме сервиса, если не задан отбор по области данных, что возвращаются
// все обработчики - разделенные и неразделенные.
// В режиме сервиса, если не задан отбор по областям данных,
// возвращаются все обработчики - разделенные и неразделенные.
//
// Параметры:
// Отбор - Структура:
// * РежимВыполнения - Строка - режим выполнения обработчика обновления.
// * ОбластьДанных - Число - номер области, по которой нужно получить обработчики.
// * Статус - Строка - статус обработчика обновления. Доступные значения:
// "Выполнен", "Выполняется", "Ошибка", "НеВыполнялся".
// * РежимыВыполнения - Массив из Строка - Доступные значения соответствуют именам значений
// перечисления РежимыВыполненияОбработчиков.
// * Статусы - Массив из Строка - Доступные значения соответствуют именам значений
// перечисления СтатусыОбработчиковОбновления.
// * ОбластиДанных - Массив из Число - номера областей, по которым нужно получить обработчики.
//
// Возвращаемое значение:
// ТаблицаЗначений:
// * ИмяОбработчика - Строка
// * Статус - ПеречислениеСсылка.СтатусыОбработчиковОбновления
// * РежимВыполнения - Строка - имя соответствующего значения перечисления РежимыВыполненияОбработчиков
// * ИмяБиблиотеки - Строка
// * Версия - Строка
// * Статус - Строка - имя соответствующего значения перечисления СтатусыОбработчиковОбновления
// * ДлительностьОбработки - Число
// * ИнформацияОбОшибке - Строка
// * Версия - Строка
// * ИмяБиблиотеки - Строка
// * РежимВыполнения - ПеречислениеСсылка.РежимыВыполненияОбработчиков
// * ОбластьДанных - Число
//
Функция ОбработчикиОбновления(Отбор = Неопределено) Экспорт
Если Отбор = Неопределено Тогда
Отбор = Новый Структура;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОбработчикиОбновления.ИмяОбработчика КАК ИмяОбработчика,
| ОбработчикиОбновления.Статус КАК Статус,
| ОбработчикиОбновления.РежимВыполнения КАК РежимВыполненияСсылка,
| ОбработчикиОбновления.ИмяБиблиотеки КАК ИмяБиблиотеки,
| ОбработчикиОбновления.Версия КАК Версия,
| ОбработчикиОбновления.Статус КАК СтатусСсылка,
| ОбработчикиОбновления.ДлительностьОбработки КАК ДлительностьОбработки,
| ОбработчикиОбновления.ИнформацияОбОшибке КАК ИнформацияОбОшибке,
| ОбработчикиОбновления.РежимВыполнения КАК РежимВыполнения,
| ОбработчикиОбновления.Версия КАК Версия,
| ОбработчикиОбновления.ИмяБиблиотеки КАК ИмяБиблиотеки,
| ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные КАК ОбластьДанных
|ИЗ
| РегистрСведений.ОбработчикиОбновления КАК ОбработчикиОбновления
|ГДЕ
| &УсловиеЗапроса
| &УсловиеОбработчиковОбластей
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОбработчикиОбновления.ИмяОбработчика,
| ОбработчикиОбновления.РежимВыполнения,
| ОбработчикиОбновления.ИмяБиблиотеки,
| ОбработчикиОбновления.Версия,
| ОбработчикиОбновления.Статус,
| ОбработчикиОбновления.ДлительностьОбработки,
| ОбработчикиОбновления.ИнформацияОбОшибке,
| ОбработчикиОбновления.РежимВыполнения,
| ОбработчикиОбновления.Версия,
| ОбработчикиОбновления.ИмяБиблиотеки,
| 0 КАК ОбластьДанных
| 0
|ИЗ
| РегистрСведений.ОбработчикиОбновленияОбщихДанных КАК ОбработчикиОбновления
|ГДЕ
| &УсловиеЗапроса";
| &УсловиеОбработчиковОбщихДанных";
УсловиеЗапроса = "";
Если Отбор.Свойство("РежимВыполнения") Тогда
УсловиеЗапроса = "ОбработчикиОбновления.РежимВыполнения = &РежимВыполнения";
Запрос.УстановитьПараметр("РежимВыполнения", Перечисления.РежимыВыполненияОбработчиков[Отбор.РежимВыполнения]);
УсловияЗапроса = Новый Массив;
Если Отбор.Свойство("РежимыВыполнения") Тогда
РежимыВыполнения = Новый Массив;
Для Каждого ИмяЗначения Из Отбор.РежимыВыполнения Цикл
РежимыВыполнения.Добавить(ОбновлениеИнформационнойБазыСлужебный.ЗначениеПеречисленияПоИмени(ИмяЗначения,
Метаданные.Перечисления.РежимыВыполненияОбработчиков));
КонецЦикла;
УсловияЗапроса.Добавить("ОбработчикиОбновления.РежимВыполнения В (&РежимыВыполнения)");
Запрос.УстановитьПараметр("РежимыВыполнения", РежимыВыполнения);
КонецЕсли;
Если Отбор.Свойство("Статус") Тогда
Если ЗначениеЗаполнено(УсловиеЗапроса) Тогда
УсловиеЗапроса = УсловиеЗапроса + Символы.ПС + " И " + "ОбработчикиОбновления.Статус = &Статус";
Иначе
УсловиеЗапроса = "ОбработчикиОбновления.Статус = &Статус";
Если Отбор.Свойство("Статусы") Тогда
Статусы = Новый Массив;
Для Каждого ИмяЗначения Из Отбор.Статусы Цикл
Статусы.Добавить(ОбновлениеИнформационнойБазыСлужебный.ЗначениеПеречисленияПоИмени(ИмяЗначения,
Метаданные.Перечисления.СтатусыОбработчиковОбновления));
КонецЦикла;
УсловияЗапроса.Добавить("ОбработчикиОбновления.Статус В (&Статусы)");
Запрос.УстановитьПараметр("Статусы", Статусы);
КонецЕсли;
Если ЗначениеЗаполнено(УсловияЗапроса) Тогда
УсловиеОбработчиковОбщихДанных = СтрСоединить(УсловияЗапроса, Символы.ПС + " И ");
Иначе
УсловиеОбработчиковОбщихДанных = "ИСТИНА";
КонецЕсли;
Если Отбор.Свойство("ОбластиДанных") Тогда
ОбластиДанных = Отбор.ОбластиДанных;
ИначеЕсли ОбщегоНазначения.РазделениеВключено() Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
ОбластиДанных = МодульРаботаВМоделиСервиса.ИспользуемыеОбластиДанных().Выгрузить().ВыгрузитьКолонку(
"ОбластьДанных");
Иначе
ОбластиДанных = Неопределено;
КонецЕсли;
Если ОбластиДанных <> Неопределено Тогда
УсловияЗапроса.Добавить("ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные В (&ОбластиДанных)");
Запрос.УстановитьПараметр("ОбластиДанных", ОбластиДанных);
Если Отбор.ОбластиДанных.Найти(0) = Неопределено Тогда
УсловиеОбработчиковОбщихДанных = "ЛОЖЬ";
КонецЕсли;
Запрос.УстановитьПараметр("Статус", Перечисления.СтатусыОбработчиковОбновления[Отбор.Статус]);
КонецЕсли;
Если Отбор.Свойство("ОбластьДанных") Тогда
Если ЗначениеЗаполнено(УсловиеЗапроса) Тогда
УсловиеЗапроса = УсловиеЗапроса + Символы.ПС + " И " + "ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные = &ОбластьДанных";
Иначе
УсловиеЗапроса = "ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные = &ОбластьДанных";
КонецЕсли;
Запрос.УстановитьПараметр("ОбластьДанных", Отбор.ОбластьДанных);
Если ЗначениеЗаполнено(УсловияЗапроса) Тогда
УсловиеОбработчиковОбластей = СтрСоединить(УсловияЗапроса, Символы.ПС + " И ");
Иначе
УсловиеОбработчиковОбластей = "ИСТИНА";
КонецЕсли;
Если Не ЗначениеЗаполнено(УсловиеЗапроса) Тогда
УсловиеЗапроса = "ИСТИНА";
КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеЗапроса", УсловиеЗапроса);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеОбработчиковОбластей", УсловиеОбработчиковОбластей);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеОбработчиковОбщихДанных", УсловиеОбработчиковОбщихДанных);
Результат = Запрос.Выполнить().Выгрузить();
ИнформацияПоОбработчикам = ОбновлениеИнформационнойБазыСлужебный.НоваяТаблицаИнформацииОбОбработчиках();
ИменаРежимовПоЗначению = ОбновлениеИнформационнойБазыСлужебный.ИменаПоЗначениямПеречисления(Метаданные.Перечисления.РежимыВыполненияОбработчиков);
ИменаСтатусовПоЗначению = ОбновлениеИнформационнойБазыСлужебный.ИменаПоЗначениямПеречисления(Метаданные.Перечисления.СтатусыОбработчиковОбновления);
Возврат Результат;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Строка = ИнформацияПоОбработчикам.Добавить();
ЗаполнитьЗначенияСвойств(Строка, Выборка);
Строка.РежимВыполнения = ИменаРежимовПоЗначению[Выборка.РежимВыполненияСсылка];
Строка.Статус = ИменаСтатусовПоЗначению[Выборка.СтатусСсылка];
КонецЦикла;
Возврат ИнформацияПоОбработчикам;
КонецФункции
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.4.186";
Описание.Версия = "3.1.4.207";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -525,6 +525,12 @@
ОбработчикиВыполнялись = Истина;
Пока ОбработчикиВыполнялись Цикл
ОбработчикиВыполнялись = ВыполнитьОтложенныйОбработчикОбновления(ПараметрыОбновления);
Если ОбработчикиВыполнялись Тогда
СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы();
Если СведенияОбОбновлении.ОтложенноеОбновлениеЗавершеноУспешно <> Неопределено Тогда
Прервать;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
@@ -6297,6 +6303,7 @@
ОтключитьОбновлениеКлючейДоступа(Истина, ПодсистемаСуществует);
Попытка
УстановитьПараметрыОбработчикаОбновления(Обработчик);
УстановитьСтатусОбработчика(Обработчик.Процедура, "Выполняется");
НачалоОбработки = ТекущаяУниверсальнаяДатаВМиллисекундах();
ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика);
@@ -6866,6 +6873,80 @@
КонецФункции
Функция НоваяТаблицаИнформацииОбОбработчиках() Экспорт
ИнфоОбработчиков = Новый ТаблицаЗначений;
ИнфоОбработчиков.Колонки.Добавить("ИмяОбработчика", Новый ОписаниеТипов("Строка"));
ИнфоОбработчиков.Колонки.Добавить("РежимВыполнения", Новый ОписаниеТипов("Строка"));
ИнфоОбработчиков.Колонки.Добавить("ИмяБиблиотеки", Новый ОписаниеТипов("Строка"));
ИнфоОбработчиков.Колонки.Добавить("Версия", Новый ОписаниеТипов("Строка"));
ИнфоОбработчиков.Колонки.Добавить("Статус", Новый ОписаниеТипов("Строка"));
ИнфоОбработчиков.Колонки.Добавить("ДлительностьОбработки", Новый ОписаниеТипов("Число"));
ИнфоОбработчиков.Колонки.Добавить("ИнформацияОбОшибке", Новый ОписаниеТипов("Строка"));
ИнфоОбработчиков.Колонки.Добавить("ОбластьДанных", Новый ОписаниеТипов("Число"));
Возврат ИнфоОбработчиков;
КонецФункции
Функция НовыйПрогрессОбновленияОбластейДанных() Экспорт
Прогресс = Новый Структура;
Прогресс.Вставить("Обновлено", 0);
Прогресс.Вставить("Выполняется", 0);
Прогресс.Вставить("Ожидают", 0);
Прогресс.Вставить("Проблемы", 0);
Прогресс.Вставить("ОбластиОбновлено", Новый Массив);
Прогресс.Вставить("ОбластиВыполняется", Новый Массив);
Прогресс.Вставить("ОбластиОжидает", Новый Массив);
Прогресс.Вставить("ОбластиСПроблемами", Новый Массив);
Возврат Прогресс;
КонецФункции
Функция ИменаПоЗначениямПеречисления(МетаданныеПеречисления) Экспорт
МенеджерПеречисления = Перечисления[МетаданныеПеречисления.Имя];
Результат = Новый Соответствие;
Для Каждого ЭлементКоллекции Из МетаданныеПеречисления.ЗначенияПеречисления Цикл // ОбъектМетаданных
Результат.Вставить(МенеджерПеречисления[ЭлементКоллекции.Имя], ЭлементКоллекции.Имя);
КонецЦикла;
Возврат Результат;
КонецФункции
Функция ЗначениеПеречисленияПоИмени(ИмяЗначения, МетаданныеПеречисления) Экспорт
МенеджерПеречисления = Перечисления[МетаданныеПеречисления.Имя];
Если Не ЗначениеЗаполнено(ИмяЗначения) Тогда
Возврат МенеджерПеречисления.ПустаяСсылка();
КонецЕсли;
Результат = Неопределено;
ДоступныеЗначения = Новый Массив;
ИмяЗначенияДляСравнения = ВРег(ИмяЗначения);
Для Каждого ЭлементКоллекции Из МетаданныеПеречисления.ЗначенияПеречисления Цикл // ОбъектМетаданных
Если ВРег(ЭлементКоллекции.Имя) = ИмяЗначенияДляСравнения Тогда
Результат = МенеджерПеречисления[ЭлементКоллекции.Имя];
Прервать;
КонецЕсли;
ДоступныеЗначения.Добавить("""" + ЭлементКоллекции.Имя + """");
КонецЦикла;
Если Результат = Неопределено Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Некорректное имя ""%1"" значения перечисления ""%2"".
|Доступные значения: %3'"), ИмяЗначения, МетаданныеПеречисления, СтрСоединить(ДоступныеЗначения, ", "));
КонецЕсли;
Возврат Результат;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Протоколирование хода обновления.
@@ -290,13 +290,13 @@
Запрос.УстановитьПараметр("Версия", Версия);
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииПодсистемОбластейДанных.ОбластьДанныхВспомогательныеДанные КАК ОбластьДанных
| ВерсииПодсистемОбластейДанных.ОбластьДанныхВспомогательныеДанные КАК ОбластьДанныхВспомогательныеДанные
|ИЗ
| РегистрСведений.ВерсииПодсистемОбластейДанных КАК ВерсииПодсистемОбластейДанных
|ГДЕ
| ВерсииПодсистемОбластейДанных.ИмяПодсистемы = &ИмяПодсистемы
| И ВерсииПодсистемОбластейДанных.Версия = &Версия";
ОбластиОбновленныеНаВерсию = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ОбластьДанных");
ОбластиОбновленныеНаВерсию = Запрос.Выполнить().Выгрузить();
Возврат ОбластиОбновленныеНаВерсию;
КонецФункции
@@ -1594,55 +1594,48 @@
Функция АдресаЭлектроннойПочтыИзСтроки(Знач СписокАдресов) Экспорт
Результат = Новый Массив;
СимволыСкобок = "()[]";
СписокАдресов = СтрСоединить(СтрРазделить(СписокАдресов, СимволыСкобок, Ложь), " ");
СписокАдресов = СтрЗаменить(СписокАдресов, ">", ">;");
// заменяем скобки на пробелы
СимволыСкобок = "<>()[]";
Строка = ЗаменитьСимволыВСтрокеНаПробелы(СписокАдресов, СимволыСкобок);
// Приводим разделители к одному виду.
Строка = СтрЗаменить(Строка, ",", ";");
// Раскладываем mailbox-list на mailbox'ы.
МассивАдресов = СтрРазделить(Строка, ";", Ложь);
// Выделяем из строки адреса (mailbox'а) псевдоним (display-name) и адрес (addr-spec).
Для Каждого СтрокаАдреса Из МассивАдресов Цикл
Если ПустаяСтрока(СтрокаАдреса) Тогда
Продолжить;
КонецЕсли;
Псевдоним = "";
Адрес = "";
ОписаниеОшибки = "";
Если СтрЧислоВхождений(СтрокаАдреса, "@") <> 1 Тогда
Псевдоним = СтрокаАдреса;
Иначе
// Все, что не подходит в качестве адреса, складываем в псевдоним.
Для Каждого Подстрока Из СтрРазделить(СтрокаАдреса, " ", Ложь) Цикл
Если ПустаяСтрока(Адрес) И АдресЭлектроннойПочтыСоответствуетТребованиям(Подстрока) Тогда
Адрес = Подстрока;
Иначе
Псевдоним = Псевдоним + " " + Подстрока;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Псевдоним = СокрЛП(Псевдоним);
АдресОпределен = Не ПустаяСтрока(Адрес);
ЕстьПризнакНаличияАдресаВСтроке = СтрНайти(СтрокаАдреса, "@") > 0;
Если Не АдресОпределен Тогда
Если ЕстьПризнакНаличияАдресаВСтроке Тогда
ОписаниеОшибки = НСтр("ru = 'Адрес электронной почты содержит ошибки'");
Иначе
ОписаниеОшибки = НСтр("ru = 'Строка не содержит адреса электронной почты'");
Для Каждого Строка Из СтрРазделить(СписокАдресов, ";", Ложь) Цикл
ЧастьПредставления = "";
Для Каждого АдресСПредставлением Из СтрРазделить(Строка, ",", Ложь) Цикл
Если Не ЗначениеЗаполнено(АдресСПредставлением) Тогда
ЧастьПредставления = ЧастьПредставления + АдресСПредставлением;
Продолжить;
КонецЕсли;
КонецЕсли;
СтруктураАдреса = Новый Структура("Псевдоним, Адрес, ОписаниеОшибки", Псевдоним, Адрес, ОписаниеОшибки);
Результат.Добавить(СтруктураАдреса);
ЧастиСтроки = СтрРазделить(СокрП(АдресСПредставлением), " ", Ложь);
Адрес = ЧастиСтроки[ЧастиСтроки.ВГраница()];
Псевдоним = "";
ОписаниеОшибки = "";
Если СтрНайти(Адрес, "@") Или СтрНайти(Адрес, "<") Или СтрНайти(Адрес, ">") Тогда
Адрес = СтрСоединить(СтрРазделить(Адрес, "<>", Ложь), "");
Если АдресЭлектроннойПочтыСоответствуетТребованиям(Адрес) Тогда
ЧастиСтроки.Удалить(ЧастиСтроки.ВГраница());
Иначе
Адрес = "";
ОписаниеОшибки = НСтр("ru = 'Адрес электронной почты содержит ошибки'");
КонецЕсли;
Псевдоним = СокрЛП(ЧастьПредставления + СтрСоединить(ЧастиСтроки, " "));
ЧастьПредставления = "";
СтруктураАдреса = Новый Структура("Псевдоним, Адрес, ОписаниеОшибки", Псевдоним, Адрес, ОписаниеОшибки);
Результат.Добавить(СтруктураАдреса);
Иначе
ЧастьПредставления = ЧастьПредставления + АдресСПредставлением + ",";
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(СтрЗаменить(ЧастьПредставления, ",", "")) Тогда
Псевдоним = ЧастьПредставления;
Адрес = "";
ОписаниеОшибки = НСтр("ru = 'Строка адреса не соответствует формату ""Имя получателя <Адрес@Почты>""'");
СтруктураАдреса = Новый Структура("Псевдоним, Адрес, ОписаниеОшибки", Псевдоним, Адрес, ОписаниеОшибки);
Результат.Добавить(СтруктураАдреса);
КонецЕсли;
КонецЦикла;
Возврат Результат;
@@ -3893,20 +3886,6 @@
#Область РаботаСАдресамиЭлектроннойПочты
#Область АдресаЭлектроннойПочтыИзСтроки
Функция ЗаменитьСимволыВСтрокеНаПробелы(Строка, ЗаменяемыеСимволы)
Результат = Строка;
Для Позиция = 1 По СтрДлина(Символы) Цикл
Результат = СтрЗаменить(Результат, Сред(ЗаменяемыеСимволы, Позиция, 1), " ");
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область АдресЭлектроннойПочтыСоответствуетТребованиям
Функция ЕстьСимволыВНачалеВКонце(Строка, ПроверяемыеСимволы)
@@ -1276,6 +1276,10 @@
"ИдентификаторыСвойствНастроек",
ИдентификаторыСвойствПоУмолчанию);
Если ИдентификаторыСвойств.Количество() = 0 Тогда
Возврат ОбщегоНазначения.СкопироватьРекурсивно(ИдентификаторыСвойствПоУмолчанию);
КонецЕсли;
Возврат ОбщегоНазначения.СкопироватьРекурсивно(ИдентификаторыСвойств);
КонецФункции
@@ -867,7 +867,7 @@
Свойства.Вставить("ЗапрещеноИзменятьПароль", Ложь);
Свойства.Вставить("АутентификацияОС", Ложь);
Свойства.Вставить("ПользовательОС", "");
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Свойства.Вставить("ЗапрещеноВосстанавливатьПароль", Истина);
Свойства.Вставить("АдресЭлектроннойПочты", "");
КонецЕсли;
@@ -320,7 +320,7 @@
Процедура УстановитьНастройкиВосстановленияПароля(НастройкиВосстановленияПароля) Экспорт
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
НастройкиАутентификации = Вычислить("ДополнительныеНастройкиАутентификации");
НастройкиАутентификации.УстановитьНастройкиВосстановленияПароля(НастройкиВосстановленияПароля);
КонецЕсли;
@@ -350,7 +350,7 @@
Функция НастройкиВосстановленияПароля() Экспорт
НастройкиВосстановленияПароля = Неопределено;
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
НастройкиАутентификации = Вычислить("ДополнительныеНастройкиАутентификации");
НастройкиВосстановленияПароля = НастройкиАутентификации.ПолучитьНастройкиВосстановленияПароля();
КонецЕсли;
@@ -369,7 +369,7 @@
//
Функция НовыеНастройкиВосстановленияПароля() Экспорт
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
НастройкиВосстановленияПароля = Вычислить("Новый НастройкиВосстановленияПароля");
Возврат НастройкиВосстановленияПароля;
КонецЕсли;
@@ -1261,7 +1261,7 @@
Обработчик.Процедура = "ПользователиСлужебный.ЗаполнитьНаименованиеПредопределенныхГруппПользователей";
Если Не ОбщегоНазначения.РазделениеВключено()
И ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
И ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
// Пользователи
Обработчик = Обработчики.Добавить();
@@ -2835,7 +2835,7 @@
Если УровеньДоступа.ИзменениеТекущего Тогда
ДопустимыеСвойства.Вставить("Пароль");
ДопустимыеСвойства.Вставить("Язык");
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
ДопустимыеСвойства.Вставить("АдресЭлектроннойПочты");
КонецЕсли;
КонецЕсли;
@@ -2846,7 +2846,7 @@
ДопустимыеСвойства.Вставить("ЗапрещеноИзменятьПароль");
ДопустимыеСвойства.Вставить("Язык");
ДопустимыеСвойства.Вставить("РежимЗапуска");
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
ДопустимыеСвойства.Вставить("АдресЭлектроннойПочты");
ДопустимыеСвойства.Вставить("ЗапрещеноВосстанавливатьПароль");
КонецЕсли;
@@ -4347,7 +4347,7 @@
Возврат Ложь;
КонецЕсли;
Возврат ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей();
Возврат ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей();
КонецФункции
@@ -4409,11 +4409,16 @@
Возврат Новый Массив;
КонецЕсли;
Если ВнешниеПользователи.ИспользоватьВнешнихПользователей() Тогда
Возврат ПользователиДляВключенияВосстановленияПароляСУчетомВнешнихПользователей();
КонецЕсли;
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПользователиКонтактнаяИнформация.Ссылка КАК Ссылка
| МАКСИМУМ(ПользователиКонтактнаяИнформация.Ссылка) КАК Ссылка,
| ПользователиКонтактнаяИнформация.Представление КАК Представление
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
@@ -4421,15 +4426,95 @@
|ГДЕ
| ПользователиКонтактнаяИнформация.Вид = &ВидКонтактнойИнформации
| И Пользователи.Недействителен = ЛОЖЬ
| И Пользователи.Служебный = ЛОЖЬ";
| И Пользователи.Служебный = ЛОЖЬ
|
|СГРУППИРОВАТЬ ПО
| ПользователиКонтактнаяИнформация.Представление";
Запрос.УстановитьПараметр("ВидКонтактнойИнформации",
МодульУправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("EmailПользователя"));
МодульУправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("EmailПользователя"));
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат РезультатЗапроса.ВыгрузитьКолонку("Ссылка");
КонецФункции
Функция ПользователиДляВключенияВосстановленияПароляСУчетомВнешнихПользователей() Экспорт
ТипыВнешнихПользователей = Метаданные.ОпределяемыеТипы.ВнешнийПользователь.Тип.Типы();
Если ТипыВнешнихПользователей.Количество() = 0 Тогда
Возврат Новый Массив;
КонецЕсли;
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
ШаблонЗапроса = "ВЫБРАТЬ
| КонтактнаяИнформацияВнешнегоПользователя.Представление КАК Почта
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| Справочник.ВнешниеПользователи КАК ВнешниеПользователи
| ЛЕВОЕ СОЕДИНЕНИЕ #КонтактнаяИнформация КАК КонтактнаяИнформацияВнешнегоПользователя
| ПО (ВнешниеПользователи.ОбъектАвторизации = КонтактнаяИнформацияВнешнегоПользователя.Ссылка)
|ГДЕ
| ВнешниеПользователи.Недействителен = ЛОЖЬ
| И КонтактнаяИнформацияВнешнегоПользователя.Тип = &ТипКонтактнойИнформации";
НаборЗапросов = Новый Массив;
Для каждого ТипВнешнегоПользователя Из ТипыВнешнихПользователей Цикл
Если Не МодульУправлениеКонтактнойИнформацией.СодержитКонтактнуюИнформацию(ТипВнешнегоПользователя) Тогда
Продолжить;
КонецЕсли;
ИмяТаблицы = Метаданные.НайтиПоТипу(ТипВнешнегоПользователя).ПолноеИмя() + ".КонтактнаяИнформация";
НаборЗапросов.Добавить(СтрЗаменить(ШаблонЗапроса, "#КонтактнаяИнформация", ИмяТаблицы));
ШаблонЗапроса = СтрЗаменить(ШаблонЗапроса, "ПОМЕСТИТЬ ВременнаяТаблица", "");
КонецЦикла;
Если НаборЗапросов.Количество() = 0 Тогда
Возврат Новый Массив;
КонецЕсли;
ТекстЗапроса = СтрСоединить(НаборЗапросов, Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС);
ТекстЗапроса = ТекстЗапроса + ОбщегоНазначения.РазделительПакетаЗапросов() + "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| МАКСИМУМ(Пользователи.Ссылка) КАК Ссылка,
| ПользователиКонтактнаяИнформация.Представление КАК Представление
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
| ПО (ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица КАК ВременнаяТаблица
| ПО (ПользователиКонтактнаяИнформация.Представление = ВременнаяТаблица.Почта)
|
|ГДЕ
| ПользователиКонтактнаяИнформация.Вид = &ВидКонтактнойИнформации
| И Пользователи.Недействителен = ЛОЖЬ
| И Пользователи.Служебный = ЛОЖЬ
| И ВременнаяТаблица.Почта ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
| ПользователиКонтактнаяИнформация.Представление
|
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(ПользователиКонтактнаяИнформация.Ссылка) = 1";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.Параметры.Вставить("ТипКонтактнойИнформации",
МодульУправлениеКонтактнойИнформацией.ТипКонтактнойИнформацииПоНаименованию("АдресЭлектроннойПочты"));
Запрос.УстановитьПараметр("ВидКонтактнойИнформации",
МодульУправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("EmailПользователя"));
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат РезультатЗапроса.ВыгрузитьКолонку("Ссылка");
КонецФункции
Функция ВнешниеПользователиДляВключенияВосстановленияПароля() Экспорт
@@ -4445,9 +4530,26 @@
КонецЕсли;
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
НаборЗапросов = Новый Массив;
ШаблонЗапроса = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВнешниеПользователи.Ссылка КАК Ссылка
ТекстЗапроса = "ВЫБРАТЬ
| ПользователиКонтактнаяИнформация.Ссылка КАК Ссылка,
| ПользователиКонтактнаяИнформация.Представление КАК Представление
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
| ПО (ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка)
|ГДЕ
| ПользователиКонтактнаяИнформация.Вид = &ВидКонтактнойИнформации
| И Пользователи.Недействителен = ЛОЖЬ
| И Пользователи.Служебный = ЛОЖЬ";
НаборЗапросов.Добавить(ТекстЗапроса);
ШаблонЗапроса = "ВЫБРАТЬ
| ВнешниеПользователи.Ссылка КАК Ссылка,
| КонтактнаяИнформацияВнешнегоПользователя.Представление
|ИЗ
| Справочник.ВнешниеПользователи КАК ВнешниеПользователи
| ЛЕВОЕ СОЕДИНЕНИЕ #КонтактнаяИнформация КАК КонтактнаяИнформацияВнешнегоПользователя
@@ -4456,8 +4558,6 @@
| ВнешниеПользователи.Недействителен = ЛОЖЬ
| И КонтактнаяИнформацияВнешнегоПользователя.Тип = &ТипКонтактнойИнформации";
НаборЗапросов = Новый Массив;
Для каждого ТипВнешнегоПользователя Из ТипыВнешнихПользователей Цикл
Если Не МодульУправлениеКонтактнойИнформацией.СодержитКонтактнуюИнформацию(ТипВнешнегоПользователя) Тогда
@@ -4469,16 +4569,31 @@
КонецЦикла;
Если НаборЗапросов.Количество() = 0 Тогда
Если НаборЗапросов.Количество() < 2 Тогда
Возврат Новый Массив;
КонецЕсли;
ТекстЗапроса = СтрСоединить(НаборЗапросов, Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС);
ТекстЗапроса = ТекстЗапроса + ОбщегоНазначения.РазделительПакетаЗапросов() + "
|ВЫБРАТЬ
| МАКСИМУМ(ВременнаяТаблица.Ссылка) КАК Ссылка
|ИЗ
| ВременнаяТаблица КАК ВременнаяТаблица
|
|СГРУППИРОВАТЬ ПО
| ВременнаяТаблица.Представление
|
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(ВременнаяТаблица.Ссылка) = 1
| И ТИПЗНАЧЕНИЯ(МАКСИМУМ(ВременнаяТаблица.Ссылка)) <> ТИП(Справочник.Пользователи)";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.Параметры.Вставить("ТипКонтактнойИнформации",
МодульУправлениеКонтактнойИнформацией.ТипКонтактнойИнформацииПоНаименованию("АдресЭлектроннойПочты"));
Запрос.УстановитьПараметр("ВидКонтактнойИнформации",
МодульУправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("EmailПользователя"));
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
@@ -4488,7 +4603,9 @@
Функция ОбновитьПочтуДляВосстановленияПароля(ПользовательСсылка, ОбъектАвторизации = Неопределено) Экспорт
Результат = "ОбновлениеНеТребуется";
Результат = Новый Структура;
Результат.Вставить("Статус", "ОбновлениеНеТребуется");
Результат.Вставить("ТекстОшибки", "");
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
ИдентификаторПользователяИБ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПользовательСсылка, "ИдентификаторПользователяИБ");
@@ -4561,18 +4678,21 @@
КонецЕсли;
Результат = "Обновлен";
Результат.Статус = "Обновлен";
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ОтменитьТранзакцию();
// Если не удалось обработать пользователя, повторяем попытку снова.
Результат = "Ошибка";
ИнформацияОбОшибке = ИнформацияОбОшибке();
Результат.Статус = "Ошибка";
Результат.ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать пользователя %1 по причине: %2'"),
ПользовательСсылка, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ПользовательСсылка, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.Пользователи, ПользовательСсылка, ТекстСообщения);
@@ -4584,7 +4704,7 @@
Функция ПоляВосстановленияПаролей() Экспорт
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Возврат ",ЗапрещеноВосстанавливатьПароль,АдресЭлектроннойПочты";
КонецЕсли;
@@ -5021,7 +5141,7 @@
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Если ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей()
Если ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
Если ЗначениеЗаполнено(Выборка.ИдентификаторПользователяИБ) Тогда
@@ -32,25 +32,6 @@
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Восстановление паролей пользователей
Функция ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Экспорт
СистемнаяИнформация = Новый СистемнаяИнформация();
Поддерживает =
(ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.15.2106") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.16.0") < 0)
Или (ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.16.1790") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.17.0") < 0)
Или (ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.17.1822") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.18.0") < 0)
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.18.1200") > 0;
Возврат Поддерживает;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -117,6 +117,21 @@
КонецФункции
// Проверяет доступность восстановления пароля пользователя.
//
// Возвращаемое значение:
// Булево - Истина, если платформа поддерживает восстановления пароля пользователя.
//
Функция ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Экспорт
Свойства = Новый Структура("ЗапрещеноВосстанавливатьПароль, CannotRecoveryPassword");
ЗаполнитьЗначенияСвойств(Свойства, ПользователиИнформационнойБазы.ТекущийПользователь());
Возврат Свойства.ЗапрещеноВосстанавливатьПароль <> Неопределено
Или Свойства.CannotRecoveryPassword <> Неопределено;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -48,6 +48,13 @@
// Создать каталог для файлов.
Попытка
// В случае если передан каталог, имя которого запрещено в текущей файловой системе,
// исключение вызвано не будет, хотя каталог будет не доступен.
СведенияОКаталоге = Новый Файл(ИмяКаталога);
Если НЕ СведенияОКаталоге.Существует() Тогда
ВызватьИсключение НСтр("ru='Каталог не существует.'");
КонецЕсли;
СоздатьКаталог(ИмяКаталога);
ИмяКаталогаТестовое = ИмяКаталога + "ПроверкаДоступа\";
СоздатьКаталог(ИмяКаталогаТестовое);
@@ -55,8 +62,18 @@
Исключение
// Нет прав на создание каталога, или такой путь отсутствует,
// тогда установка настроек по умолчанию.
СообщениеЖурналаРегистрации = НСтр("ru='Не найден рабочий каталог %1 или нет права на запись. Восстановлены настройки по умолчанию.'");
СообщениеЖурналаРегистрации = СтрШаблон(СообщениеЖурналаРегистрации, ИмяКаталога);
ИмяКаталога = РаботаСФайламиСлужебныйКлиент.ВыбратьПутьККаталогуДанныхПользователя();
РаботаСФайламиСлужебныйКлиент.УстановитьРабочийКаталогПользователя(ИмяКаталога);
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
НСтр("ru='Работа с файлами'", ОбщегоНазначенияКлиент.КодОсновногоЯзыка()),
"Предупреждение",
СообщениеЖурналаРегистрации,
ОбщегоНазначенияКлиент.ДатаСеанса(),
Истина);
КонецПопытки;
#КонецЕсли
@@ -1381,7 +1381,7 @@
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Результат = Новый Структура("ПрепятствующиеУдалению, Удаленные, НеУдаленные");
Результат = Новый Структура("ПрепятствующиеУдалению, Удаленные, НеУдаленные, Успешно");
ПараметрыУдаления = Новый Структура("ПользовательскиеОбъекты", УдаляемыеОбъекты);
Если РежимУдаления = "Монопольный" Тогда
@@ -1406,6 +1406,7 @@
КонецПопытки;
ЗаполнитьЗначенияСвойств(Результат, РезультатУдаления);
Результат.Успешно = Результат.НеУдаленные.Количество() = 0;
Возврат Результат;
КонецФункции
@@ -9986,7 +9986,8 @@
Продолжить;
КонецЕсли;
Для Каждого ОписаниеЗависимыхТаблиц Из ОписаниеНабораПолей.Значение Цикл
Если ОписаниеЗависимыхТаблиц.Ключ = ОписаниеНабораПолей.Ключ Тогда
Если ОписаниеЗависимыхТаблиц.Ключ = ОписаниеНабораПолей.Ключ
Или СоставИзменений = Неопределено Тогда
ТекущийСоставИзменений = СоставИзменений;
Иначе
ТекущийСоставИзменений = СоставИзменений.Скопировать(, ОписаниеЗависимыхТаблиц.Ключ);
@@ -37931,7 +37932,7 @@
ИмяКоллекцииТипа = "";
ИмяОбъектаКоллекцииТипа = "";
Иначе
ИмяТипа = СвойстваТипаТаблиц.ЯзыкРусский + "Ссылка." + СоставИмени[1];
ИмяТипа = СвойстваТипаТаблиц.ЯзыкРусский + "Ссылка." + СоставИмени[1]; // @Non-NLS
ИмяКоллекцииТипа = СвойстваТипаТаблиц.ИмяКоллекции;
ИмяОбъектаКоллекцииТипа = СоставИмени[1];
КонецЕсли;
@@ -0,0 +1,20 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2021, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область СлужебныйПрограммныйИнтерфейс
Процедура ДополнительнаяИнформацияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
Если НавигационнаяСсылкаФорматированнойСтроки = "ПерейтиКЯзыкамПечатныхФорм" Тогда
СтандартнаяОбработка = Ложь;
ОткрытьФорму("Справочник.ЯзыкиПечатныхФорм.ФормаСписка");
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b91b93f0-29ca-452d-97be-7109fb248e22">
<name>УправлениеПечатьюМультиязычностьКлиент</name>
<synonym>
<key>ru</key>
<value>Управление печатью мультиязычность клиент</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>
@@ -332,7 +332,7 @@
Если ОбъектыПечати.Количество() > 1 Тогда
ОповеститьПользователяОбУстановкеСостояний(ОбъектыПечати.Количество(),,ПредопределенноеЗначение("Справочник.СостоянияОригиналовПервичныхДокументов.ФормаНапечатана"));
Иначе
ИначеЕсли ОбъектыПечати.Количество() = 1 Тогда
ОповеститьПользователяОбУстановкеСостояний(1,ОбъектыПечати[0].Значение,ПредопределенноеЗначение("Справочник.СостоянияОригиналовПервичныхДокументов.ФормаНапечатана"));
КонецЕсли;
@@ -1475,6 +1475,28 @@
#КонецОбласти
// Возвращает доступность создания заявления на выпуск
// квалифицированных сертификатов для организаций и физических лиц.
// Требуется для скрытия команд, использующих процедуру
// ДобавитьСертификат общего модуля ЭлектроннаяПодписьКлиент
// в режиме создания заявления.
//
// Возвращаемое значение:
// Структура:
// * ДляОрганизаций - Булево
// * ДляФизическихЛиц - Булево
//
Функция ДоступностьСозданияЗаявления() Экспорт
МосковскоеВремя = МосковскоеВремя();
ЗаявлениеДоступно = ОбщиеНастройки().ЗаявлениеНаВыпускСертификатаДоступно;
Возврат Новый Структура("ДляОрганизаций, ДляФизическихЛиц",
ЗаявлениеДоступно И НачалоДня(МосковскоеВремя) < '20211201',
ЗаявлениеДоступно И НачалоДня(МосковскоеВремя) >= '20210401');
КонецФункции
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
@@ -1795,4 +1817,17 @@
КонецПроцедуры
// Для функции ДоступностьСозданияЗаявления.
Функция МосковскоеВремя()
Если ПолучитьДопустимыеЧасовыеПояса().Найти("Europe/Moscow") <> Неопределено Тогда
ЧасовойПоясМосквы = "Europe/Moscow";
Иначе
ЧасовойПоясМосквы = "GMT+3";
КонецЕсли;
Возврат МестноеВремя(ТекущаяУниверсальнаяДата(), ЧасовойПоясМосквы);
КонецФункции
#КонецОбласти
@@ -1371,12 +1371,22 @@
// Значение по умолчанию - Ложь.
// * Организация - СправочникСсылка.Организация - организация, к которой относится сертификат.
// Значение по умолчанию - Неопределено.
// В случае, когда параметр используется для создания заявления, тогда значение
// передается в процедуру ПриЗаполненииРеквизитовОрганизацииВЗаявленииНаСертификат
// общего модуля ЗаявлениеНаСертификатПереопределяемый без изменения, а после вызова
// приводится к составу типов свойства ТипОрганизации.
// * СоздатьЗаявление - Булево - если параметр принимает значение Истина, добавляет возможность
// создать новое заявление на выпуск сертификата.
// Значение по умолчанию - Истина.
// * ИзЛичногоХранилища - Булево - если параметр принимает значение Истина, добавляет возможность
// выбрать сертификат из установленных в личном хранилище.
// Значение по умолчанию - Истина.
// * ФизическоеЛицо - СправочникСсылка - физическое лицо, для которого нужно создать заявление
// на выпуск сертификата (когда заполнено, имеет приоритет над организацией).
// Значение по умолчанию - Неопределено.
// Значение передается в процедуру ПриЗаполненииРеквизитовВладельцаВЗаявленииНаСертификат
// общего модуля ЗаявлениеНаСертификатПереопределяемый без изменения, а после вызова
// приводится к составу типов свойства ТипВладельца.
//
Функция ПараметрыДобавленияСертификата() Экспорт
@@ -1385,6 +1395,7 @@
ПараметрыДобавления.Вставить("Организация", Неопределено);
ПараметрыДобавления.Вставить("СоздатьЗаявление", Истина);
ПараметрыДобавления.Вставить("ИзЛичногоХранилища", Истина);
ПараметрыДобавления.Вставить("ФизическоеЛицо", Неопределено);
Возврат ПараметрыДобавления;
@@ -1406,6 +1417,7 @@
// ОписаниеОповещения.
// ПараметрыДобавления - Неопределено - без дополнительных параметров.
// - см. ЭлектроннаяПодписьКлиент.ПараметрыДобавленияСертификата.
// Смотри также функцию ДоступностьСозданияЗаявления общего модуля ЭлектроннаяПодпись.
//
// Пример:
// 1) Добавление сертификата из установленных в личном хранилище:
@@ -1427,7 +1439,7 @@
ПараметрыДобавления = ПараметрыДобавленияСертификата();
КонецЕсли;
ПараметрыИнтерактивногоВыбора = Новый Структура("ВЛичныйСписок, Организация");
ПараметрыИнтерактивногоВыбора = Новый Структура("ВЛичныйСписок, Организация, ФизическоеЛицо");
ЗаполнитьЗначенияСвойств(ПараметрыИнтерактивногоВыбора, ПараметрыДобавления);
Если Не ПараметрыДобавления.СоздатьЗаявление
@@ -1500,13 +1500,80 @@
Процедура СброситьРазмерыИПоложениеОкна(Форма) Экспорт
ИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
ХранилищеСистемныхНастроек.Удалить(Форма.ИмяФормы, "", ИмяПользователя);
Если Не ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Возврат;
КонецЕсли;
Форма.КлючСохраненияПоложенияОкна = Строка(Новый УникальныйИдентификатор);
ИмяФормы = Форма.ИмяФормы;
НовыйКлючСохраненияПоложенияОкна = СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", "_");
КлючОбъектаХранения = ИмяФормы + "/ВременныеКлючиСохраненияПоложенияОкна";
ИмяПользователя = ИмяПользователя();
НачалоДня = НачалоДня(ТекущаяУниверсальнаяДата());
ГраницаУстаревания = НачалоДня - 2*24*60*60;
Ключи = ХранилищеСистемныхНастроек.Загрузить(КлючОбъектаХранения);
Если ТипЗнч(Ключи) = Тип("Соответствие") Тогда
ИменаНастроек = Новый Массив;
ИменаНастроек.Добавить("/НастройкиОкна");
ИменаНастроек.Добавить("/НастройкиОкнаВебКлиента");
ИменаНастроек.Добавить("/НастройкиОкнаМобильногоКлиента");
ИменаНастроек.Добавить("/Такси/НастройкиОкна");
ИменаНастроек.Добавить("/Такси/НастройкиОкнаВебКлиента");
ИменаНастроек.Добавить("/Такси/НастройкиОкнаМобильногоКлиента");
Для Каждого КлючИЗначение Из Ключи Цикл
ТекущийДень = КлючИЗначение.Ключ;
Если ТипЗнч(ТекущийДень) <> Тип("Дата") Тогда
Ключи = Неопределено;
Прервать;
КонецЕсли;
Если ТекущийДень > ГраницаУстаревания Тогда
Продолжить;
КонецЕсли;
КлючиТекущегоДня = КлючИЗначение.Значение;
Если ТипЗнч(КлючиТекущегоДня) <> Тип("Массив") Тогда
Ключи = Неопределено;
Прервать;
КонецЕсли;
Для Каждого ТекущийКлюч Из КлючиТекущегоДня Цикл
НачалоКлючаОбъекта = ИмяФормы + "/" + ТекущийКлюч;
Для Каждого ИмяНастройки Из ИменаНастроек Цикл
ХранилищеСистемныхНастроек.Удалить(НачалоКлючаОбъекта + ИмяНастройки, "", ИмяПользователя);
КонецЦикла;
КонецЦикла;
Ключи.Удалить(ТекущийДень);
КонецЦикла;
КонецЕсли;
Если ТипЗнч(Ключи) <> Тип("Соответствие") Тогда
Ключи = Новый Соответствие;
Отбор = Новый Структура("Пользователь", ИмяПользователя);
Выборка = ХранилищеСистемныхНастроек.Выбрать(Отбор);
Пока Выборка.Следующий() Цикл
Если Не СтрНачинаетсяС(Выборка.КлючОбъекта, ИмяФормы) Или Выборка.КлючНастроек <> "" Тогда
Продолжить;
КонецЕсли;
ЧастиКлючаОбъекта = СтрРазделить(Выборка.КлючОбъекта, "/");
Если ЧастиКлючаОбъекта.Количество() < 2 Тогда
Продолжить;
КонецЕсли;
ПоследняяЧастьКлюча = ЧастиКлючаОбъекта[ЧастиКлючаОбъекта.ВГраница()];
Если СтрНайти(ПоследняяЧастьКлюча, "НастройкиОкна") > 0
Или СтрНайти(ПоследняяЧастьКлюча, "WindowSettings") > 0 Тогда
ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, "", ИмяПользователя);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КлючиДня = Ключи.Получить(НачалоДня);
Если ТипЗнч(КлючиДня) <> Тип("Массив") Тогда
КлючиДня = Новый Массив;
Ключи.Вставить(НачалоДня, КлючиДня);
КонецЕсли;
КлючиДня.Добавить(НовыйКлючСохраненияПоложенияОкна);
ХранилищеСистемныхНастроек.Сохранить(КлючОбъектаХранения,, Ключи);
Форма.КлючСохраненияПоложенияОкна = НовыйКлючСохраненияПоложенияОкна;
КонецПроцедуры
@@ -1908,6 +1908,9 @@
// * Организация - ОпределяемыйТип.Организация - значение по умолчанию.
// * СкрытьЗаявление - Булево - не предлагать создать заявление на выпуск сертификата.
// * СоздатьЗаявление - Булево - сразу открыть форму создания заявления на выпуск сертификата.
// * ФизическоеЛицо - СправочникСсылка - физическое лицо, для которого нужно создать заявление
// на выпуск сертификата (когда заполнено, имеет приоритет над организацией).
// Значение по умолчанию - Неопределено.
//
Процедура ДобавитьСертификат(ПараметрыСоздания = Неопределено, ОбработчикЗавершения = Неопределено) Экспорт
@@ -1923,6 +1926,10 @@
ПараметрыСоздания.Вставить("Организация", Неопределено);
КонецЕсли;
Если Не ПараметрыСоздания.Свойство("ФизическоеЛицо") Тогда
ПараметрыСоздания.Вставить("ФизическоеЛицо", Неопределено);
КонецЕсли;
Если Не ПараметрыСоздания.Свойство("СертификатОснование") Тогда
ПараметрыСоздания.Вставить("СертификатОснование", Неопределено);
КонецЕсли;
@@ -1955,8 +1962,8 @@
ПараметрыФормы = Новый Структура;
Если Назначение = "ЗаявлениеНаВыпускСертификата" Тогда
ПараметрыФормы.Вставить("ЛичныйСписокПриДобавлении", ПараметрыСоздания.ВЛичныйСписок);
ПараметрыФормы.Вставить("Организация", ПараметрыСоздания.Организация);
ПараметрыФормы.Вставить("ФизическоеЛицо", ПараметрыСоздания.ФизическоеЛицо);
ПараметрыФормы.Вставить("СертификатОснование", ПараметрыСоздания.СертификатОснование);
ИмяФормы = "Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Форма.Форма";
ОткрытьФорму(ИмяФормы, ПараметрыФормы, , , , , ПараметрыСоздания.ОбработчикЗавершения);
@@ -2429,6 +2429,39 @@
Свойства.ИмяАлгоритмаХешированияXML = "";
Наборы.Добавить(Свойства);
// sha256WithRSAEncryption
Свойства = НовыйНаборАлгоритмовДляСозданияПодписи();
Свойства.ИдентификаторАлгоритмаОткрытогоКлюча = "1.2.840.113549.1.1.1";
Свойства.ИдентификаторАлгоритмаПодписи = "1.2.840.113549.1.1.11";
Свойства.ИменаАлгоритмаПодписи = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве("RSA_SIGN");
Свойства.ИдентификаторАлгоритмаХеширования = "2.16.840.1.101.3.4.2.1";
Свойства.ИменаАлгоритмаХеширования = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве("SHA-256");
Свойства.ИмяАлгоритмаПодписиXML = "";
Свойства.ИмяАлгоритмаХешированияXML = "";
Наборы.Добавить(Свойства);
// sha384WithRSAEncryption
Свойства = НовыйНаборАлгоритмовДляСозданияПодписи();
Свойства.ИдентификаторАлгоритмаОткрытогоКлюча = "1.2.840.113549.1.1.1";
Свойства.ИдентификаторАлгоритмаПодписи = "1.2.840.113549.1.1.12";
Свойства.ИменаАлгоритмаПодписи = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве("RSA_SIGN");
Свойства.ИдентификаторАлгоритмаХеширования = "2.16.840.1.101.3.4.2.2";
Свойства.ИменаАлгоритмаХеширования = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве("SHA-384");
Свойства.ИмяАлгоритмаПодписиXML = "";
Свойства.ИмяАлгоритмаХешированияXML = "";
Наборы.Добавить(Свойства);
// sha512WithRSAEncryption
Свойства = НовыйНаборАлгоритмовДляСозданияПодписи();
Свойства.ИдентификаторАлгоритмаОткрытогоКлюча = "1.2.840.113549.1.1.1";
Свойства.ИдентификаторАлгоритмаПодписи = "1.2.840.113549.1.1.13";
Свойства.ИменаАлгоритмаПодписи = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве("RSA_SIGN");
Свойства.ИдентификаторАлгоритмаХеширования = "2.16.840.1.101.3.4.2.3";
Свойства.ИменаАлгоритмаХеширования = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве("SHA-512");
Свойства.ИмяАлгоритмаПодписиXML = "";
Свойства.ИмяАлгоритмаХешированияXML = "";
Наборы.Добавить(Свойства);
Возврат Наборы;
КонецФункции
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="2f2875d7-7598-4ed5-8cc0-a1982ffb5377">
<name>ВыпадающийСписок</name>
<synonym>
<key>ru</key>
<value>Выпадающий список</value>
</synonym>
</mdclass:CommonPicture>
+11 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c61d303e-87d9-11eb-9f8f-0242ac110002">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c0222860-92fb-11eb-9680-0242ac110002">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c61d3048-87d9-11eb-9f8f-0242ac110002"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="c61d3070-87d9-11eb-9f8f-0242ac110002"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="c61d307a-87d9-11eb-9f8f-0242ac110002"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c61d3084-87d9-11eb-9f8f-0242ac110002"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="c61d3085-87d9-11eb-9f8f-0242ac110002"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c61d308e-87d9-11eb-9f8f-0242ac110002"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="9688c03a-64cb-434d-9c96-c91432562056"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c0222861-92fb-11eb-9680-0242ac110002"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="c02228a6-92fb-11eb-9680-0242ac110002"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="c02228a7-92fb-11eb-9680-0242ac110002"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c02228b0-92fb-11eb-9680-0242ac110002"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="c02228b1-92fb-11eb-9680-0242ac110002"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c02228ba-92fb-11eb-9680-0242ac110002"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="07981975-b548-4e81-b25b-14df45a03a30"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.4.186</version>
<version>3.1.4.207</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -178,6 +178,7 @@
<commonPictures>CommonPicture.ВставитьКолонкуСправа</commonPictures>
<commonPictures>CommonPicture.Встреча</commonPictures>
<commonPictures>CommonPicture.ВыбратьВариантОтчета</commonPictures>
<commonPictures>CommonPicture.ВыпадающийСписок</commonPictures>
<commonPictures>CommonPicture.ВыполнитьРегламентноеЗаданиеВручную</commonPictures>
<commonPictures>CommonPicture.ВыравниваниеПоЛевомуКраю</commonPictures>
<commonPictures>CommonPicture.ВыравниваниеПоПравомуКраю</commonPictures>
@@ -1070,6 +1071,7 @@
<commonModules>CommonModule.УправлениеПечатьюКлиентПереопределяемый</commonModules>
<commonModules>CommonModule.УправлениеПечатьюКлиентСервер</commonModules>
<commonModules>CommonModule.УправлениеПечатьюМультиязычность</commonModules>
<commonModules>CommonModule.УправлениеПечатьюМультиязычностьКлиент</commonModules>
<commonModules>CommonModule.УправлениеПечатьюПереопределяемый</commonModules>
<commonModules>CommonModule.УправлениеПечатьюРФ</commonModules>
<commonModules>CommonModule.УправлениеПечатьюСлужебный</commonModules>
@@ -1 +1 @@
{6,1,1,035b805e-87da-11eb-cd99-0242ac110002,1,f4659f62-87d9-11eb-3493-0242ac110002,"3.1.4.186","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6266,1,0,c61d303e-87d9-11eb-9f8f-0242ac110002,c61d303e-87d9-11eb-9f8f-0242ac110002,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated
{6,1,1,1d81e78e-92fc-11eb-b593-0242ac110002,1,061c26ae-92fc-11eb-198e-0242ac110002,"3.1.4.207","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6268,1,0,c0222860-92fb-11eb-9680-0242ac110002,c0222860-92fb-11eb-9680-0242ac110002,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 18;
Возврат 20;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.4.128";
Возврат "3.1.4.203";
КонецФункции
@@ -199,7 +199,9 @@
КонецЕсли;
// 5 апреля - День принятия Степного Уложения (Конституции).
ДобавитьПраздничныйДень(ПраздничныеДни, 5, 4, НомерГода);
Если НомерГода < 2021 Тогда
ДобавитьПраздничныйДень(ПраздничныеДни, 5, 4, НомерГода);
КонецЕсли;
// 28 декабря - День памяти жертв депортации калмыцкого народа.
ДобавитьПраздничныйДень(ПраздничныеДни, 28, 12, НомерГода, Ложь, Ложь, Истина);
@@ -267,7 +267,6 @@
<Item Calendar="08" Year="2020" DayType="Нерабочий" Date="20201228" SwapDate=""/>
<Item Calendar="08" Year="2021" DayType="Предпраздничный" Date="20210211" SwapDate=""/>
<Item Calendar="08" Year="2021" DayType="Праздник" Date="20210212" SwapDate=""/>
<Item Calendar="08" Year="2021" DayType="Праздник" Date="20210405" SwapDate=""/>
<Item Calendar="08" Year="2021" DayType="Предпраздничный" Date="20210517" SwapDate=""/>
<Item Calendar="08" Year="2021" DayType="Праздник" Date="20210518" SwapDate=""/>
<Item Calendar="08" Year="2021" DayType="Нерабочий" Date="20211228" SwapDate=""/>
@@ -606,8 +605,8 @@
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
<Item Calendar="91" Year="2021" DayType="Предпраздничный" Date="20210317" SwapDate=""/>
<Item Calendar="91" Year="2021" DayType="Праздник" Date="20210318" SwapDate=""/>
<Item Calendar="91" Year="2021" DayType="Предпраздничный" Date="20210512" SwapDate=""/>
<Item Calendar="91" Year="2021" DayType="Праздник" Date="20210513" SwapDate=""/>
<Item Calendar="91" Year="2021" DayType="Предпраздничный" Date="20210513" SwapDate=""/>
<Item Calendar="91" Year="2021" DayType="Праздник" Date="20210514" SwapDate=""/>
<Item Calendar="91" Year="2021" DayType="Праздник" Date="20210621" SwapDate=""/>
<Item Calendar="91" Year="2021" DayType="Предпраздничный" Date="20210719" SwapDate=""/>
<Item Calendar="91" Year="2021" DayType="Праздник" Date="20210720" SwapDate=""/>
@@ -346,28 +346,128 @@
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>СтраховойНомерПФР</name>
<id>24</id>
<title>
<key>ru</key>
<value>СНИЛС</value>
</title>
<items xsi:type="form:FormGroup">
<name>ГруппаНомера</name>
<id>90</id>
<items xsi:type="form:FormField">
<name>СтраховойНомерПФР</name>
<id>24</id>
<title>
<key>ru</key>
<value>СНИЛС</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СтраховойНомерПФР</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>СтраховойНомерПФРПриИзменении</name>
</handlers>
<extendedTooltip>
<name>СтраховойНомерПФРРасширеннаяПодсказка</name>
<id>26</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СтраховойНомерПФРКонтекстноеМеню</name>
<id>25</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<width>15</width>
<autoMaxWidth>true</autoMaxWidth>
<maxWidth>15</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<mask>999-999-999 99</mask>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ВладелецИНН</name>
<id>92</id>
<title>
<key>ru</key>
<value>ИНН</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ВладелецИНН</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>РеквизитПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ВладелецИННРасширеннаяПодсказка</name>
<id>94</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВладелецИННКонтекстноеМеню</name>
<id>93</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СтраховойНомерПФР</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>СтраховойНомерПФРПриИзменении</name>
</handlers>
<title>
<key>ru</key>
<value>Группа номера</value>
</title>
<extendedTooltip>
<name>СтраховойНомерПФРРасширеннаяПодсказка</name>
<id>26</id>
<name>ГруппаНомераРасширеннаяПодсказка</name>
<id>91</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -375,30 +475,14 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СтраховойНомерПФРКонтекстноеМеню</name>
<id>25</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<width>15</width>
<autoMaxWidth>true</autoMaxWidth>
<maxWidth>15</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<mask>999-999-999 99</mask>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
@@ -1034,28 +1118,122 @@
<items xsi:type="form:FormGroup">
<name>ГруппаКонтактнаяИнформация</name>
<id>65</id>
<items xsi:type="form:FormField">
<name>ЭлектроннаяПочта</name>
<id>58</id>
<title>
<key>ru</key>
<value>Электронная почта</value>
</title>
<items xsi:type="form:FormGroup">
<name>ГруппаВладелецАдресРегистрации</name>
<id>69</id>
<items xsi:type="form:FormField">
<name>ВладелецАдресРегистрации</name>
<id>71</id>
<title>
<key>ru</key>
<value>Адрес регистрации (регион, населенный пункт)</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ВладелецАдресРегистрации</segments>
</dataPath>
<extendedTooltip>
<name>ВладелецАдресРегистрацииРасширеннаяПодсказка</name>
<id>73</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВладелецАдресРегистрацииКонтекстноеМеню</name>
<id>72</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ВладелецАдресРегистрацииНачалоВыбора</name>
</handlers>
<handlers>
<event>Clearing</event>
<name>ВладелецАдресРегистрацииОчистка</name>
</handlers>
<handlers>
<event>ChoiceProcessing</event>
<name>ВладелецАдресРегистрацииОбработкаВыбора</name>
</handlers>
<width>65</width>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ВладелецАдресРегистрацииПредупреждение</name>
<id>74</id>
<title>
<key>ru</key>
<value>Адрес регистрации (предупреждение)</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ВладелецАдресРегистрацииПредупреждениеРасширеннаяПодсказка</name>
<id>76</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВладелецАдресРегистрацииПредупреждениеКонтекстноеМеню</name>
<id>75</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<height>1</height>
<autoMaxHeight>true</autoMaxHeight>
<skipOnInput>true</skipOnInput>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<handlers>
<event>Click</event>
<name>АдресПредупреждениеНажатие</name>
</handlers>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Предупреждение</picture>
</picture>
<hyperlink>true</hyperlink>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ЭлектроннаяПочта</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>РеквизитПриИзменении</name>
</handlers>
<title>
<key>ru</key>
<value>Адрес регистрации</value>
</title>
<extendedTooltip>
<name>ЭлектроннаяПочтаРасширеннаяПодсказка</name>
<id>60</id>
<name>ГруппаВладелецАдресРегистрацииРасширеннаяПодсказка</name>
<id>70</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -1063,25 +1241,159 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ЭлектроннаяПочтаКонтекстноеМеню</name>
<id>59</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<verticalAlign>Center</verticalAlign>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаЭлектроннаяПочтаИТелефон</name>
<id>88</id>
<items xsi:type="form:FormField">
<name>ВладелецТелефон</name>
<id>85</id>
<title>
<key>ru</key>
<value>Телефон</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ВладелецТелефон</segments>
</dataPath>
<extendedTooltip>
<name>ВладелецТелефонРасширеннаяПодсказка</name>
<id>87</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВладелецТелефонКонтекстноеМеню</name>
<id>86</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ВладелецТелефонНачалоВыбора</name>
</handlers>
<handlers>
<event>Clearing</event>
<name>ВладелецТелефонОчистка</name>
</handlers>
<handlers>
<event>ChoiceProcessing</event>
<name>ВладелецТелефонОбработкаВыбора</name>
</handlers>
<width>25</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ЭлектроннаяПочта</name>
<id>58</id>
<title>
<key>ru</key>
<value>Электронная почта</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ЭлектроннаяПочта</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>РеквизитПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ЭлектроннаяПочтаРасширеннаяПодсказка</name>
<id>60</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ЭлектроннаяПочтаКонтекстноеМеню</name>
<id>59</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<width>20</width>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа электронная почта и телефон</value>
</title>
<extendedTooltip>
<name>ГруппаЭлектроннаяПочтаИТелефонРасширеннаяПодсказка</name>
<id>89</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
@@ -1105,7 +1417,7 @@
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
@@ -1206,6 +1518,10 @@
<event>NotificationProcessing</event>
<name>ОбработкаОповещения</name>
</handlers>
<handlers>
<event>OnOpen</event>
<name>ПриОткрытии</name>
</handlers>
<handlers>
<event>BeforeClose</event>
<name>ПередЗакрытием</name>
@@ -1581,6 +1897,106 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецТелефон</name>
<id>19</id>
<valueType>
<types>String</types>
<stringQualifiers>
<length>64</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецТелефонXML</name>
<id>21</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецАдресРегистрации</name>
<title>
<key>ru</key>
<value>Владелец адрес регистрации</value>
</title>
<id>24</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецАдресРегистрацииXML</name>
<id>25</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВидКонтактнойИнформации</name>
<id>26</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВидКонтактнойИнформацииТелефон</name>
<id>27</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецИНН</name>
<id>22</id>
<valueType>
<types>String</types>
<stringQualifiers>
<length>12</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ОК</name>
<title>
@@ -6,6 +6,13 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОписаниеПеременных
&НаКлиенте
Перем РеквизитыПроверкиАдреса;
#КонецОбласти
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -13,10 +20,39 @@
ЗаполнитьСведенияОВладельце(ЭтотОбъект, Параметры.СведенияОВладельце);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
ВидКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(
Перечисления["ТипыКонтактнойИнформации"].Адрес);
ВидКонтактнойИнформации.НастройкиПроверки.ТолькоНациональныйАдрес = Истина;
ВидКонтактнойИнформацииТелефон = МодульУправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(
Перечисления["ТипыКонтактнойИнформации"].Телефон);
КонецЕсли;
Если СведенияОВладельце.ЭтоФизическоеЛицо Тогда
АвтоЗаголовок = Ложь;
Заголовок = НСтр("ru = 'Сведения о физическом лице'");
ПроверитьАдрес("ВладелецАдресРегистрации");
КонецЕсли;
Если Параметры.ТолькоПросмотр Тогда
Элементы.ВсеЭлементы.ТолькоПросмотр = Истина;
КонецЕсли;
ЭлектроннаяПодписьСлужебный.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
РеквизитыПроверкиАдреса = Новый Структура;
РеквизитыПроверкиАдреса.Вставить("ВладелецАдресРегистрации", Ложь);
КонецПроцедуры
&НаКлиенте
@@ -42,6 +78,11 @@
ОчиститьСообщения();
ЗаполнитьСведенияОВладельце(ЭтотОбъект, Параметр);
Если СведенияОВладельце.ЭтоФизическоеЛицо Тогда
РеквизитыПроверкиАдреса.ВладелецАдресРегистрации = Истина;
ПодключитьОбработчикОжидания("ПроверитьАдресОбработчикОжидания", 0.1, Истина);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -127,6 +168,61 @@
КонецПроцедуры
&НаКлиенте
Процедура ВладелецАдресРегистрацииНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПредставлениеАдресаНачалоВыбора(ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка,
"ВладелецАдресРегистрации", НСтр("ru = 'Адрес регистрации физического лица'"));
КонецПроцедуры
&НаКлиенте
Процедура ВладелецАдресРегистрацииОчистка(Элемент, СтандартнаяОбработка)
ПредставлениеАдресаОчистка(ЭтотОбъект, Элемент, СтандартнаяОбработка, "ВладелецАдресРегистрации");
КонецПроцедуры
&НаКлиенте
Процедура ВладелецАдресРегистрацииОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Модифицированность = Истина;
ПредставлениеАдресаОбработкаВыбора(ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка, "ВладелецАдресРегистрации");
КонецПроцедуры
&НаКлиенте
Процедура АдресПредупреждениеНажатие(Элемент)
ПоказатьПредупреждение(, Элемент.Подсказка);
КонецПроцедуры
&НаКлиенте
Процедура ВладелецТелефонНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПредставлениеТелефонаНачалоВыбора(ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка,
"ВладелецТелефон", НСтр("ru = 'Телефон'"));
КонецПроцедуры
&НаКлиенте
Процедура ВладелецТелефонОчистка(Элемент, СтандартнаяОбработка)
Модифицированность = Истина;
ПредставлениеТелефонаОчистка(ЭтотОбъект, Элемент, СтандартнаяОбработка, "ВладелецТелефон");
КонецПроцедуры
&НаКлиенте
Процедура ВладелецТелефонОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Модифицированность = Истина;
ПредставлениеТелефонаОбработкаВыбора(ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка, "ВладелецТелефон");
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -237,15 +333,138 @@
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеАдресаНачалоВыбора(Форма, Элемент, ДанныеВыбора, СтандартнаяОбработка, ИмяРеквизита, ЗаголовокФормы)
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
Возврат;
КонецЕсли;
МодульУправлениеКонтактнойИнформациейКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(
"УправлениеКонтактнойИнформациейКлиент");
УстановитьНаименованиеКонтактнойИнформации(ВидКонтактнойИнформации, ЗаголовокФормы);
ПараметрыФормы = МодульУправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(
ВидКонтактнойИнформации, ЭтотОбъект[ИмяРеквизита + "XML"], ЭтотОбъект[ИмяРеквизита]);
МодульУправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыФормы, Элемент);
КонецПроцедуры
// Параметры:
// ВидКИ - см. УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации
// ЗаголовокФормы - Строка
//
&НаКлиенте
Процедура УстановитьНаименованиеКонтактнойИнформации(ВидКИ, ЗаголовокФормы)
ВидКИ.Наименование = ЗаголовокФормы;
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеАдресаОчистка(Форма, Элемент, СтандартнаяОбработка, ИмяРеквизита)
Форма[ИмяРеквизита + "XML"] = "";
Форма[ИмяРеквизита] = "";
РеквизитыПроверкиАдреса[ИмяРеквизита] = Истина;
ПодключитьОбработчикОжидания("ПроверитьАдресОбработчикОжидания", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеАдресаОбработкаВыбора(Форма, Элемент, ВыбранноеЗначение, СтандартнаяОбработка, ИмяРеквизита)
СтандартнаяОбработка = Ложь;
Если ТипЗнч(ВыбранноеЗначение) <> Тип("Структура") Тогда
Возврат;
КонецЕсли;
Форма[ИмяРеквизита + "XML"] = ВыбранноеЗначение.КонтактнаяИнформация;
Форма[ИмяРеквизита] = ВыбранноеЗначение.Представление;
РеквизитыПроверкиАдреса[ИмяРеквизита] = Истина;
ПодключитьОбработчикОжидания("ПроверитьАдресОбработчикОжидания", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеТелефонаНачалоВыбора(Форма, Элемент, ДанныеВыбора, СтандартнаяОбработка, ИмяРеквизита, ЗаголовокФормы)
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
Возврат;
КонецЕсли;
МодульУправлениеКонтактнойИнформациейКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(
"УправлениеКонтактнойИнформациейКлиент");
ПараметрыФормы = МодульУправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(
ВидКонтактнойИнформацииТелефон, ЭтотОбъект[ИмяРеквизита + "XML"], ЭтотОбъект[ИмяРеквизита]);
ПараметрыФормы.Вставить("Заголовок", ЗаголовокФормы);
МодульУправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыФормы, Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеТелефонаОчистка(Форма, Элемент, СтандартнаяОбработка, ИмяРеквизита)
Форма[ИмяРеквизита + "XML"] = "";
Форма[ИмяРеквизита] = "";
КонецПроцедуры
&НаКлиенте
Процедура ПредставлениеТелефонаОбработкаВыбора(Форма, Элемент, ВыбранноеЗначение, СтандартнаяОбработка, ИмяРеквизита)
СтандартнаяОбработка = Ложь;
Если ТипЗнч(ВыбранноеЗначение) <> Тип("Структура") Тогда
// Данные не изменены.
Возврат;
КонецЕсли;
Форма[ИмяРеквизита + "XML"] = ВыбранноеЗначение.КонтактнаяИнформация;
Форма[ИмяРеквизита] = ВыбранноеЗначение.Представление;
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьАдресОбработчикОжидания()
Для Каждого КлючИЗначение Из РеквизитыПроверкиАдреса Цикл
Если КлючИЗначение.Значение Тогда
ПроверитьАдрес(КлючИЗначение.Ключ);
РеквизитыПроверкиАдреса[КлючИЗначение.Ключ] = Ложь;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ПроверитьАдрес(ИмяРеквизита)
ОбработкаМодуль = Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата;
Сообщение = ОбработкаМодуль.ПроверитьАдрес(ЭтотОбъект[ИмяРеквизита + "XML"],
СведенияОВладельце.ЭтоФизическоеЛицо);
Если ЗначениеЗаполнено(Сообщение) Тогда
Элементы[ИмяРеквизита + "Предупреждение"].Подсказка = Сообщение;
Элементы[ИмяРеквизита + "Предупреждение"].Видимость = Истина;
Иначе
Элементы[ИмяРеквизита + "Предупреждение"].Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПодготовитьИзмененияНаСервере()
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
ЭлектроннаяПочта = МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(
ЭлектроннаяПочта, Перечисления["ТипыКонтактнойИнформации"].АдресЭлектроннойПочты);
КонецЕсли;
ЗаполнитьЗначенияСвойств(СведенияОВладельце, ЭтотОбъект);
@@ -258,6 +477,9 @@
СведенияОВладельце.Пол = "";
КонецЕсли;
СведенияОВладельце.ВладелецТелефон = ЭтотОбъект.ВладелецТелефонXML;
СведенияОВладельце.ВладелецАдресРегистрации = ЭтотОбъект.ВладелецАдресРегистрацииXML;
Возврат Истина;
КонецФункции
@@ -267,13 +489,14 @@
ОбработкаМодуль = Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата;
ЭтоИП = СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
ЭтоФЛ = СведенияОВладельце.ЭтоФизическоеЛицо;
ПроверяемыеРеквизиты = Новый Массив;
ОбработкаМодуль.ДобавитьРеквизитыДляПроверки(ЭтотОбъект,
ПроверяемыеРеквизиты, ОбработкаМодуль.РеквизитыВладельцаСертификата(ЭтотОбъект, ЭтоИП));
ПроверяемыеРеквизиты, ОбработкаМодуль.РеквизитыВладельцаСертификата(ЭтотОбъект, ЭтоИП, ЭтоФЛ));
Возврат Не Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ПроверитьЗаполнениеРеквизитов(
ПроверяемыеРеквизиты, ЭтоИП);
ЭтотОбъект, ПроверяемыеРеквизиты, ЭтоИП, ЭтоФЛ, Ложь);
КонецФункции
@@ -289,12 +512,28 @@
Форма.Пол = 2;
КонецЕсли;
Элементы = Форма.Элементы;
Элементы.Должность.Видимость = Не Форма.СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
Элементы.Подразделение.Видимость = Не Форма.СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
ПриИзмененииВидаДокумента(Форма);
Элементы = Форма.Элементы;
ЭтоФизическоеЛицо = Форма.СведенияОВладельце.ЭтоФизическоеЛицо;
ЭтоЮридическоеЛицо = Не ЭтоФизическоеЛицо И Не Форма.СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
Элементы.Должность.Видимость = ЭтоЮридическоеЛицо;
Элементы.Подразделение.Видимость = ЭтоЮридическоеЛицо;
Если Не ЭтоЮридическоеЛицо Тогда
Форма.Должность = "";
Форма.Подразделение = "";
КонецЕсли;
Элементы.ВладелецИНН.Видимость = ЭтоФизическоеЛицо;
Элементы.ВладелецТелефон.Видимость = ЭтоФизическоеЛицо;
Элементы.ГруппаВладелецАдресРегистрации.Видимость = ЭтоФизическоеЛицо;
Если Не ЭтоФизическоеЛицо Тогда
Форма.ВладелецИНН = "";
Форма.ВладелецТелефон = "";
Форма.ВладелецТелефонXML = "";
КонецЕсли;
Форма.Модифицированность = Ложь;
КонецПроцедуры
@@ -620,7 +620,7 @@
<id>44</id>
<title>
<key>ru</key>
<value>Юридический адрес</value>
<value>Адрес регистрации</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -679,7 +679,7 @@
<id>47</id>
<title>
<key>ru</key>
<value>Юридический адрес предупреждение</value>
<value>Адрес регистрации (предупреждение)</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -745,139 +745,6 @@
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаФактическийАдрес</name>
<id>50</id>
<items xsi:type="form:FormField">
<name>ФактическийАдрес</name>
<id>52</id>
<title>
<key>ru</key>
<value>Фактический адрес</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ФактическийАдрес</segments>
</dataPath>
<extendedTooltip>
<name>ФактическийАдресРасширеннаяПодсказка</name>
<id>54</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ФактическийАдресКонтекстноеМеню</name>
<id>53</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ФактическийАдресНачалоВыбора</name>
</handlers>
<handlers>
<event>Clearing</event>
<name>ФактическийАдресОчистка</name>
</handlers>
<handlers>
<event>ChoiceProcessing</event>
<name>ФактическийАдресОбработкаВыбора</name>
</handlers>
<width>65</width>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ФактическийАдресПредупреждение</name>
<id>55</id>
<title>
<key>ru</key>
<value>Фактический адрес предупреждение</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФактическийАдресПредупреждениеРасширеннаяПодсказка</name>
<id>57</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ФактическийАдресПредупреждениеКонтекстноеМеню</name>
<id>56</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<skipOnInput>true</skipOnInput>
<groupVerticalAlign>Center</groupVerticalAlign>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<handlers>
<event>Click</event>
<name>АдресПредупреждениеНажатие</name>
</handlers>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Предупреждение</picture>
</picture>
<hyperlink>true</hyperlink>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Фактический адрес</value>
</title>
<extendedTooltip>
<name>ГруппаФактическийАдресРасширеннаяПодсказка</name>
<id>51</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Телефон</name>
<id>58</id>
@@ -1297,24 +1164,6 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ФактическийАдрес</name>
<title>
<key>ru</key>
<value>Фактический адрес</value>
</title>
<id>12</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СведенияОбОрганизации</name>
<id>13</id>
@@ -1326,20 +1175,6 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ФактическийАдресXML</name>
<id>14</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ЮридическийАдресXML</name>
<id>15</id>
@@ -1390,6 +1225,19 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ЭтоФизическоеЛицо</name>
<id>17</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ОК</name>
<title>
@@ -34,12 +34,13 @@
КонецЕсли;
ПроверитьАдрес("ЮридическийАдрес");
ПроверитьАдрес("ФактическийАдрес");
Если Параметры.ТолькоПросмотр Тогда
Элементы.ВсеЭлементы.ТолькоПросмотр = Истина;
КонецЕсли;
ЭлектроннаяПодписьСлужебный.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
@@ -47,7 +48,6 @@
РеквизитыПроверкиАдреса = Новый Структура;
РеквизитыПроверкиАдреса.Вставить("ЮридическийАдрес", Ложь);
РеквизитыПроверкиАдреса.Вставить("ФактическийАдрес", Ложь);
КонецПроцедуры
@@ -75,7 +75,6 @@
ЗаполнитьСведенияОбОрганизации(ЭтотОбъект, Параметр);
РеквизитыПроверкиАдреса.ЮридическийАдрес = Истина;
РеквизитыПроверкиАдреса.ФактическийАдрес = Истина;
ПодключитьОбработчикОжидания("ПроверитьАдресОбработчикОжидания", 0.1, Истина);
КонецПроцедуры
@@ -108,7 +107,7 @@
Процедура ЮридическийАдресНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПредставлениеАдресаНачалоВыбора(ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка,
"ЮридическийАдрес", НСтр("ru = 'Юридический адрес организации'"));
"ЮридическийАдрес", НСтр("ru = 'Адрес регистрации организации'"));
КонецПроцедуры
@@ -125,34 +124,6 @@
Модифицированность = Истина;
ПредставлениеАдресаОбработкаВыбора(ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка, "ЮридическийАдрес");
Если Не ЗначениеЗаполнено(ФактическийАдрес) Тогда
ПредставлениеАдресаОбработкаВыбора(ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка, "ФактическийАдрес");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ФактическийАдресНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПредставлениеАдресаНачалоВыбора(ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка,
"ФактическийАдрес", НСтр("ru = 'Фактический адрес организации'"));
КонецПроцедуры
&НаКлиенте
Процедура ФактическийАдресОчистка(Элемент, СтандартнаяОбработка)
Модифицированность = Истина;
ПредставлениеАдресаОчистка(ЭтотОбъект, Элемент, СтандартнаяОбработка, "ФактическийАдрес");
КонецПроцедуры
&НаКлиенте
Процедура ФактическийАдресОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Модифицированность = Истина;
ПредставлениеАдресаОбработкаВыбора(ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка, "ФактическийАдрес");
КонецПроцедуры
&НаКлиенте
@@ -277,7 +248,6 @@
ЗаполнитьЗначенияСвойств(СведенияОбОрганизации, ЭтотОбъект);
СведенияОбОрганизации.Телефон = ЭтотОбъект.ТелефонXML;
СведенияОбОрганизации.ФактическийАдрес = ЭтотОбъект.ФактическийАдресXML;
СведенияОбОрганизации.ЮридическийАдрес = ЭтотОбъект.ЮридическийАдресXML;
Модифицированность = Ложь;
@@ -397,7 +367,9 @@
&НаСервере
Процедура ПроверитьАдрес(ИмяРеквизита)
Сообщение = Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ПроверитьАдрес(ЭтотОбъект[ИмяРеквизита + "XML"]);
ОбработкаМодуль = Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата;
Сообщение = ОбработкаМодуль.ПроверитьАдрес(ЭтотОбъект[ИмяРеквизита + "XML"], Ложь);
Если ЗначениеЗаполнено(Сообщение) Тогда
Элементы[ИмяРеквизита + "Предупреждение"].Подсказка = Сообщение;
Элементы[ИмяРеквизита + "Предупреждение"].Видимость = Истина;
@@ -417,7 +389,7 @@
ПроверяемыеРеквизиты, ОбработкаМодуль.РеквизитыОрганизации(ЭтотОбъект));
Возврат Не Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ПроверитьЗаполнениеРеквизитов(
ПроверяемыеРеквизиты, ЭтоИндивидуальныйПредприниматель);
ЭтотОбъект, ПроверяемыеРеквизиты, ЭтоИндивидуальныйПредприниматель, Ложь, Ложь);
КонецФункции
@@ -142,6 +142,133 @@
<items xsi:type="form:FormGroup">
<name>ГруппаОрганизация</name>
<id>728</id>
<items xsi:type="form:FormGroup">
<name>ГруппаВидОрганизации1</name>
<id>840</id>
<items xsi:type="form:Button">
<name>ВидОрганизации1</name>
<id>832</id>
<title>
<key>ru</key>
<value>Организация</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ВидОрганизации1РасширеннаяПодсказка</name>
<id>833</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ВыбратьВидОрганизации</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>PictureAndText</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.ВыпадающийСписок</picture>
</picture>
<representationInContextMenu>Auto</representationInContextMenu>
<pictureLocation>Right</pictureLocation>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Вид организации</value>
</title>
<width>20</width>
<extendedTooltip>
<name>ГруппаВидОрганизации1РасширеннаяПодсказка</name>
<id>841</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Организация</name>
<id>50</id>
<titleFont xsi:type="core:FontRef">
<font>Style.ЗаявлениеНаВыпускСертификатаЗаголовокКлючевогоПоляШрифт</font>
</titleFont>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Организация</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>ОрганизацияПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ОрганизацияРасширеннаяПодсказка</name>
<id>52</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОрганизацияКонтекстноеМеню</name>
<id>51</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ОрганизацияНачалоВыбора</name>
</handlers>
<handlers>
<event>Clearing</event>
<name>ОрганизацияОчистка</name>
</handlers>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<dropListButton>true</dropListButton>
<choiceButtonRepresentation>ShowInDropList</choiceButtonRepresentation>
<autoMarkIncomplete>true</autoMarkIncomplete>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>НаименованиеСокращенное</name>
<id>783</id>
@@ -160,6 +287,7 @@
<dataPath xsi:type="form:DataPath">
<segments>НаименованиеСокращенное</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>НаименованиеСокращенноеРасширеннаяПодсказка</name>
<id>785</id>
@@ -209,64 +337,6 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Организация</name>
<id>50</id>
<titleFont xsi:type="core:FontRef">
<font>Style.ЗаявлениеНаВыпускСертификатаЗаголовокКлючевогоПоляШрифт</font>
</titleFont>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Организация</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>ОрганизацияПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ОрганизацияРасширеннаяПодсказка</name>
<id>52</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОрганизацияКонтекстноеМеню</name>
<id>51</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>ОрганизацияНачалоВыбора</name>
</handlers>
<handlers>
<event>Clearing</event>
<name>ОрганизацияОчистка</name>
</handlers>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<dropListButton>true</dropListButton>
<choiceButtonRepresentation>ShowInDropList</choiceButtonRepresentation>
<autoMarkIncomplete>true</autoMarkIncomplete>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>УказатьСведенияОбОрганизации</name>
<id>730</id>
@@ -323,7 +393,7 @@
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
@@ -333,6 +403,74 @@
<items xsi:type="form:FormGroup">
<name>ГруппаВладелецСертификата</name>
<id>732</id>
<items xsi:type="form:FormGroup">
<name>ГруппаВидОрганизации2</name>
<id>842</id>
<items xsi:type="form:Button">
<name>ВидОрганизации2</name>
<id>844</id>
<title>
<key>ru</key>
<value>Физическое лицо</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ВидОрганизации2РасширеннаяПодсказка</name>
<id>845</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ВыбратьВидОрганизации</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>PictureAndText</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.ВыпадающийСписок</picture>
</picture>
<representationInContextMenu>Auto</representationInContextMenu>
<pictureLocation>Right</pictureLocation>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Вид организации</value>
</title>
<width>20</width>
<extendedTooltip>
<name>ГруппаВидОрганизации2РасширеннаяПодсказка</name>
<id>843</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ВладелецСертификатаСтрокой</name>
<id>786</id>
@@ -521,7 +659,7 @@
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
@@ -1135,7 +1273,7 @@
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
@@ -1302,7 +1440,7 @@
<title>
<key>ru</key>
<value>Нажимая кнопку &lt;b>Отправить, &lt;/>вы принимаете &lt;link УсловияСоглашения>условия соглашения&lt;/> о
присоединении к регламенту &lt;link УдостоверяющийЦентр>удостоверяющего центра&lt;/>.</value>
присоединении к &lt;link ПорядокУдостоверяющегоЦентра>Порядку удостоверяющего центра&lt;/>.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -1574,7 +1712,6 @@
</handlers>
<windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
@@ -2299,28 +2436,6 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ФактическийАдресСтруктура</name>
<id>51</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ЮридическийАдресСтруктура</name>
<id>52</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>КонтейнерКлючаПуть</name>
<id>53</id>
@@ -2993,6 +3108,159 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ЭтоФизическоеЛицо</name>
<id>94</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецИНН</name>
<id>95</id>
<valueType>
<types>String</types>
<stringQualifiers>
<length>12</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецАдресРегистрации</name>
<id>96</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецАдресРегистрацииXML</name>
<id>97</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецТелефон</name>
<id>98</id>
<valueType>
<types>String</types>
<stringQualifiers>
<length>64</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВладелецТелефонXML</name>
<id>99</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ЗаявлениеДляОрганизацийДоступно</name>
<id>51</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ЗаявлениеДляФизическихЛицДоступно</name>
<id>52</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВариантУдостоверяющегоЦентра</name>
<id>93</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СозданиеПоПараметруОрганизация</name>
<id>100</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СозданиеПоПараметруФизическоеЛицо</name>
<id>101</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>УказатьСведенияОбОрганизации</name>
<title>
@@ -3115,12 +3383,24 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>ЛичныйСписокПриДобавлении</name>
<valueType>
<types>Boolean</types>
</valueType>
</parameters>
<formCommands>
<name>ВыбратьВидОрганизации</name>
<title>
<key>ru</key>
<value>Выбрать вид организации</value>
</title>
<id>1</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ВыбратьВидОрганизации</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>СертификатСсылка</name>
<valueType>
@@ -3139,6 +3419,12 @@
<types>CatalogRef.СертификатыКлючейЭлектроннойПодписиИШифрования</types>
</valueType>
</parameters>
<parameters>
<name>ФизическоеЛицо</name>
<valueType>
<types>AnyRef</types>
</valueType>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -235,6 +235,10 @@
<common>true</common>
</edit>
</attributes>
<parameters>
<name>СвойстваУЦ</name>
<valueType/>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -11,13 +11,13 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СвойстваУЦ = Параметры.СвойстваУЦ;
ТекстHTML = Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ПолучитьМакет(
"Соглашение").ПолучитьТекст();
ТекстHTML = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстHTML,
НСтр("ru = 'ООО «Научно-производственный центр ""1С""»'"),
НСтр("ru = 'http://ca.1c.ru/reglament.pdf'"),
НСтр("ru = 'уполномоченного федерального органа в области использования электронной подписи'"));
СвойстваУЦ.ПолноеНаименованиеУЦ, СвойстваУЦ.АдресПорядкаУЦ);
Соглашение.УстановитьHTML(ТекстHTML, Новый Структура);
@@ -139,7 +139,7 @@
КонецФункции
Функция ПроверитьАдрес(Адрес) Экспорт
Функция ПроверитьАдрес(Адрес, ЭтоФЛ) Экспорт
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
Возврат "";
@@ -161,8 +161,11 @@
Если Не ЗначениеЗаполнено(Сообщение) Тогда
Сообщение = НСтр("ru = 'Адрес не заполнен'");
КонецЕсли;
Сообщение = Сообщение + " (" + НСтр("ru = 'не ошибка, если так в ЕГРЮЛ'")+ ")";
Если ЭтоФЛ Тогда
Сообщение = Сообщение + " (" + НСтр("ru = 'не ошибка, если указан регион и населенный пункт'")+ ")";
Иначе
Сообщение = Сообщение + " (" + НСтр("ru = 'не ошибка, если так в ЕГРЮЛ'")+ ")";
КонецЕсли;
КонецЕсли;
Исключение
@@ -178,6 +181,7 @@
Реквизиты = Новый СписокЗначений;
Реквизиты.Добавить("ЭтоИндивидуальныйПредприниматель", НСтр("ru = 'Вид'"), Истина);
Реквизиты.Добавить("ЭтоФизическоеЛицо", НСтр("ru = 'Физическое лицо'"), Истина);
Реквизиты.Добавить("НаименованиеСокращенное", НСтр("ru = 'Наименование (сокращенное)'"));
Реквизиты.Добавить("НаименованиеПолное", НСтр("ru = 'Наименование (полное)'"));
Реквизиты.Добавить("ИНН", НСтр("ru = 'ИНН'"));
@@ -186,8 +190,7 @@
Реквизиты.Добавить("РасчетныйСчет", НСтр("ru = 'Расчетный счет'"), Истина);
Реквизиты.Добавить("БИК", НСтр("ru = 'БИК'"), Истина);
Реквизиты.Добавить("КорреспондентскийСчет", НСтр("ru = 'Корреспондентский счет'"), Истина);
Реквизиты.Добавить("ЮридическийАдрес", НСтр("ru = 'Юридический адрес'"));
Реквизиты.Добавить("ФактическийАдрес", НСтр("ru = 'Фактический адрес'"));
Реквизиты.Добавить("ЮридическийАдрес", НСтр("ru = 'Адрес регистрации'"));
Реквизиты.Добавить("Телефон", НСтр("ru = 'Телефон'"));
Если Форма <> Неопределено И Форма.ЭтоИндивидуальныйПредприниматель Тогда
@@ -198,7 +201,7 @@
КонецФункции
Функция РеквизитыВладельцаСертификата(Форма, ЭтоИП = Неопределено) Экспорт
Функция РеквизитыВладельцаСертификата(Форма, ЭтоИП = Неопределено, ЭтоФЛ = Неопределено) Экспорт
Реквизиты = Новый СписокЗначений;
Реквизиты.Добавить("Фамилия", НСтр("ru = 'Фамилия'"));
@@ -207,6 +210,7 @@
Реквизиты.Добавить("ДатаРождения", НСтр("ru = 'Дата рождения'"));
Реквизиты.Добавить("Пол", НСтр("ru = 'Пол'"));
Реквизиты.Добавить("СтраховойНомерПФР", НСтр("ru = 'СНИЛС'"));
Реквизиты.Добавить("ВладелецИНН", НСтр("ru = 'ИНН'"));
Реквизиты.Добавить("Гражданство", НСтр("ru = 'Гражданство'"));
Реквизиты.Добавить("МестоРождения", НСтр("ru = 'Место рождения'"));
Реквизиты.Добавить("Должность", НСтр("ru = 'Должность'"));
@@ -216,13 +220,21 @@
Реквизиты.Добавить("ДокументКемВыдан", НСтр("ru = 'Кем выдан'"));
Реквизиты.Добавить("ДокументДатаВыдачи", НСтр("ru = 'Дата выдачи'"));
Реквизиты.Добавить("ДокументКодПодразделения", НСтр("ru = 'Код подразделения'"));
Реквизиты.Добавить("ВладелецАдресРегистрации", НСтр("ru = 'Адрес регистрации'"));
Реквизиты.Добавить("ЭлектроннаяПочта", НСтр("ru = 'Электронная почта'"));
Реквизиты.Добавить("ВладелецТелефон", НСтр("ru = 'Телефон'"));
Если Форма <> Неопределено Тогда
Если ЭтоИП = Неопределено И Форма.ЭтоИндивидуальныйПредприниматель
Или ЭтоИП <> Неопределено И ЭтоИП Тогда
Если ЭтоИП = Неопределено И (Форма.ЭтоИндивидуальныйПредприниматель Или Форма.ЭтоФизическоеЛицо)
Или ЭтоИП <> Неопределено И (ЭтоИП Или ЭтоФЛ) Тогда
Реквизиты.НайтиПоЗначению("Должность").Пометка = Истина;
КонецЕсли;
Если ЭтоФЛ = Неопределено И Не Форма.ЭтоФизическоеЛицо
Или ЭтоФЛ <> Неопределено И Не ЭтоФЛ Тогда
Реквизиты.НайтиПоЗначению("ВладелецИНН").Пометка = Истина;
Реквизиты.НайтиПоЗначению("ВладелецАдресРегистрации").Пометка = Истина;
Реквизиты.НайтиПоЗначению("ВладелецТелефон").Пометка = Истина;
КонецЕсли;
Если Форма.ДокументВид <> "21" Тогда
Реквизиты.НайтиПоЗначению("ДокументНомер").Пометка = Истина;
Реквизиты.НайтиПоЗначению("ДокументКодПодразделения").Пометка = Истина;
@@ -250,8 +262,9 @@
ПараметрыРеквизитаДляПроверки = Новый Структура;
ПараметрыРеквизитаДляПроверки.Вставить("Имя", ИмяРеквизита);
Если ИмяРеквизита = "Телефон"
Или ИмяРеквизита = "ФактическийАдрес"
Или ИмяРеквизита = "ЮридическийАдрес" Тогда
Или ИмяРеквизита = "ЮридическийАдрес"
Или ИмяРеквизита = "ВладелецАдресРегистрации"
Или ИмяРеквизита = "ВладелецТелефон" Тогда
ПараметрыРеквизитаДляПроверки.Вставить("Значение", Форма[ИмяРеквизита + "XML"]);
Иначе
ПараметрыРеквизитаДляПроверки.Вставить("Значение", Форма[ИмяРеквизита]);
@@ -275,7 +288,7 @@
КонецПроцедуры
Функция ПроверитьЗаполнениеРеквизитов(Реквизиты, ЭтоИП) Экспорт
Функция ПроверитьЗаполнениеРеквизитов(Форма, Реквизиты, ЭтоИП, ЭтоФЛ, ПроверкаИзОбщейФормы = Истина) Экспорт
Отказ = Ложь;
ВидДокумента = "";
@@ -297,7 +310,7 @@
КодПодразделения = Реквизит;
КонецЕсли;
ПроверитьЗаполнениеРеквизита(Реквизит, Отказ, ЭтоИП);
ПроверитьЗаполнениеРеквизита(Форма, Реквизит, Отказ, ЭтоИП, ЭтоФЛ, ПроверкаИзОбщейФормы);
КонецЦикла;
@@ -306,7 +319,7 @@
ТекстОшибки = ОшибкиПроверкиКонтрольногоЧислаРасчетногоСчета(РасчетныйСчет.Значение, БИК, КорреспондентскийСчет);
Если Не ПустаяСтрока(ТекстОшибки) Тогда
ТекстОшибки = РасчетныйСчет.ТекстПроверкиЗначения + " " + ТекстОшибки;
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , РасчетныйСчет.ПолеСообщения, , Отказ);
СообщитьПользователю(Форма, ТекстОшибки, РасчетныйСчет.ПолеСообщения, Отказ);
КонецЕсли;
КонецЕсли;
@@ -316,13 +329,13 @@
ТекстОшибки = ОшибкиПроверкиКодаПодразделения(КодПодразделения.Значение);
Если Не ПустаяСтрока(ТекстОшибки) Тогда
ТекстОшибки = КодПодразделения.ТекстПроверкиЗначения + " " + ТекстОшибки;
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , КодПодразделения.ПолеСообщения, , Отказ);
СообщитьПользователю(Форма, ТекстОшибки, КодПодразделения.ПолеСообщения, Отказ);
КонецЕсли;
ТекстОшибки = ОшибкиПроверкиНомераПаспорта(НомерДокумента.Значение);
Если Не ПустаяСтрока(ТекстОшибки) Тогда
ТекстОшибки = НомерДокумента.ТекстПроверкиЗначения + " " + ТекстОшибки;
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , НомерДокумента.ПолеСообщения, , Отказ);
СообщитьПользователю(Форма, ТекстОшибки, НомерДокумента.ПолеСообщения, Отказ);
КонецЕсли;
КонецЕсли;
@@ -331,7 +344,7 @@
КонецФункции
Процедура ПроверитьЗаполнениеРеквизита(Реквизит, Отказ, ЭтоИП = Ложь)
Процедура ПроверитьЗаполнениеРеквизита(Форма, Реквизит, Отказ, ЭтоИП, ЭтоФЛ, ПроверкаИзОбщейФормы)
ИмяРеквизита = Реквизит.Имя;
ПолеСообщения = Реквизит.ПолеСообщения;
@@ -341,7 +354,7 @@
Если ЗначениеЗаполнено(Реквизит.ТекстНезаполненного) Тогда
ТекстОшибки = Реквизит.ТекстНезаполненного + " " + ТекстОшибкиПолеНеЗаполнено();
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , ПолеСообщения, , Отказ);
СообщитьПользователю(Форма, ТекстОшибки, ПолеСообщения, Отказ);
КонецЕсли;
Возврат;
@@ -352,9 +365,11 @@
ПродолжитьПриОшибке = Ложь;
Если ИмяРеквизита = "ИНН"
Или ИмяРеквизита = "ВладелецИНН"
Или ИмяРеквизита = "ДокументыПартнерИНН" Тогда
РегламентированныеДанныеКлиентСервер.ИННСоответствуетТребованиям(ЗначениеРеквизита, Не ЭтоИП, ТекстСообщения);
РегламентированныеДанныеКлиентСервер.ИННСоответствуетТребованиям(ЗначениеРеквизита,
Не (ЭтоИП Или ЭтоФЛ), ТекстСообщения);
ИначеЕсли ИмяРеквизита = "ДокументыПартнерКПП"
Или ИмяРеквизита = "КПП" Тогда
@@ -374,15 +389,17 @@
ТекстСообщения = ОшибкиПроверкиКорреспондентскогоСчета(ЗначениеРеквизита);
ИначеЕсли ИмяРеквизита = "ЮридическийАдрес"
Или ИмяРеквизита = "ФактическийАдрес" Тогда
Или ИмяРеквизита = "ВладелецАдресРегистрации" Тогда
ТекстСообщения = ОшибкиПроверкиАдреса(ЗначениеРеквизита);
Если ПустаяСтрока(ТекстСообщения) Тогда
ПродолжитьПриОшибке = Истина;
ТекстСообщения = ПроверитьАдрес(ЗначениеРеквизита);
ПродолжитьПриОшибке = ПроверкаИзОбщейФормы;
ТекстСообщения = ПроверитьАдрес(ЗначениеРеквизита, ЭтоФЛ);
КонецЕсли;
ИначеЕсли ИмяРеквизита = "Телефон" Тогда
ИначеЕсли ИмяРеквизита = "Телефон"
Или ИмяРеквизита = "ВладелецТелефон" Тогда
ТекстСообщения = ОшибкиПроверкиТелефона(ЗначениеРеквизита);
ИначеЕсли ИмяРеквизита = "СтраховойНомерПФР" Тогда
@@ -407,7 +424,7 @@
ТекстыОшибок = СтрРазделить(ТекстСообщения, Символы.ПС + Символы.ВК, Ложь);
Для Каждого ТекстОшибки Из ТекстыОшибок Цикл
ТекстОшибки = Реквизит.ТекстПроверкиЗначения + " " + ТекстОшибки;
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , ПолеСообщения, ,
СообщитьПользователю(Форма, ТекстОшибки, ПолеСообщения,
?(ПродолжитьПриОшибке, Неопределено, Отказ));
КонецЦикла;
@@ -668,6 +685,18 @@
КонецФункции
Процедура СообщитьПользователю(Форма, ТекстСообщения, Поле, Отказ = Ложь) Экспорт
Сообщение = Новый СообщениеПользователю;
Сообщение.ИдентификаторНазначения = Форма.УникальныйИдентификатор;
Сообщение.Текст = ТекстСообщения;
Сообщение.Поле = Поле;
Сообщение.Сообщить();
Отказ = Истина;
КонецПроцедуры
// Параметры:
// СписокВыбора - СписокЗначений
//
@@ -12,13 +12,13 @@ img{border:none;}
</head>
<body>
<p style='text-align: center'><span style='font-size: 12pt; font-weight: bold;'>СОГЛАШЕНИЕ</span><br>
<span style='font-size: 12pt; font-weight: bold;'>О присоединении к Регламенту Удостоверяющего центра (УЦ)</span></p>
<span style='font-size: 12pt; font-weight: bold;'>О присоединении к Порядку реализации функций аккредитованного Удостоверяющего центра (УЦ)</span></p>
<p><br></p>
<ol>
<li><span style='font-size: 9pt;'>Данным Соглашением %1 принимает на себя обязательства по оказанию Пользователю услуг Удостоверяющего центра (далее – «УЦ») в соответствии с Регламентом УЦ. Регламент УЦ находится по адресу </span><a target='_blank' href='%2'><span style='font-size: 9pt;'>%2</span></a><span style='font-size: 9pt;'>. УЦ является действующим удостоверяющим центром, прошедшим аккредитацию в сети доверенных УЦ %3.</span> </li>
<li><span style='font-size: 9pt;'>Настоящее Соглашение предусматривает соблюдение Регламента УЦ. Пользователь подтверждает, что ознакомился с положениями Регламента УЦ, и его положения ему понятны.</span><br>
<li><span style='font-size: 9pt;'>Данным Соглашением %1 принимает на себя обязательства по оказанию Пользователю услуг Удостоверяющего центра (далее – «УЦ») в соответствии с Порядком реализации функций УЦ (далее Порядок УЦ). Порядок УЦ находится по адресу </span><a target='_blank' href='%2'><span style='font-size: 9pt;'>%2</span></a><span style='font-size: 9pt;'>. УЦ является действующим удостоверяющим центром, прошедшим аккредитацию в соответствии с Федеральным законом РФ от 06.04.2011 года № 63-ФЗ «Об электронной подписи».</span> </li>
<li><span style='font-size: 9pt;'>Настоящее Соглашение предусматривает соблюдение Порядка УЦ. Пользователь подтверждает, что ознакомился с положениями Порядка УЦ, и его положения ему понятны.</span><br>
<br>
<span style='font-size: 9pt;'>Заключение между УЦ и Пользователем настоящего Соглашения означает, что условия Регламента УЦ принимаются Пользователем полностью, без каких либо изъятий, изменений.</span><br>
<span style='font-size: 9pt;'>Заключение между УЦ и Пользователем настоящего Соглашения означает, что условия Порядка УЦ принимаются Пользователем полностью, без каких либо изъятий, изменений.</span><br>
<br></li>
<li><span style='font-size: 11pt; font-weight: bold;'>УЦ обязуется</span><span style='font-size: 11pt;'>:</span><br>
<br>
@@ -31,17 +31,17 @@ img{border:none;}
<br></li>
<li><span style='font-size: 11pt; font-weight: bold;'>Пользователь обязуется</span><span style='font-size: 11pt;'>:</span><br>
<br>
<span style='font-size: 9pt;'>4.1 Направить УЦ Заявление на выдачу Сертификата ключа подписи (Заявление) и передать документы в соответствии с установленным перечнем (форма Заявления и Перечень документов приведены в регламенте УЦ).</span><br>
<span style='font-size: 9pt;'>4.1 Направить УЦ Заявление на выдачу Сертификата ключа подписи (Заявление) и передать документы в соответствии с установленным перечнем (форма Заявления и Перечень документов приведены в Порядке УЦ).</span><br>
<span style='font-size: 9pt;'>4.2 Самостоятельно установить (приобрести) средство криптографической защиты информации (СКЗИ).</span><br>
<span style='font-size: 9pt;'>4.3 Выполнять требования по обеспечению безопасности конфиденциальной информации при работе с закрытыми ключами проверки электронной подписи и СКЗИ в процессе получения Услуг.</span><br>
<span style='font-size: 9pt;'>4.4 Самостоятельно обеспечивать сохранность в тайне закрытых ключей проверки электронной подписи и нести за это ответственность в соответствии с законодательством Российской Федерации.</span><br>
<span style='font-size: 9pt;'>4.5 Немедленно отправить в УЦ запрос на приостановление действия Сертификата ЭП при наличии оснований полагать, что тайна закрытого ключа проверки ЭП нарушена.</span><br>
<span style='font-size: 9pt;'>4.6 Обеспечить возможность контроля со стороны уполномоченных государственных органов или УЦ за соблюдением правил работы с СКЗИ в случаях, установленных законодательством РФ и Регламентом УЦ.</span><br></li>
<span style='font-size: 9pt;'>4.6 Обеспечить возможность контроля со стороны уполномоченных государственных органов или УЦ за соблюдением правил работы с СКЗИ в случаях, установленных законодательством РФ и Порядком УЦ.</span><br></li>
<li><span style='font-size: 9pt;'>Настоящее Соглашение вступает в силу с момента направления в УЦ Заявления (Заявление направляется в УЦ автоматически после заполнения всех необходимых реквизитов и принятия Пользователем условий настоящего Соглашения).</span> </li>
<li><span style='font-size: 9pt;'>За неисполнение (ненадлежащее исполнение) своих обязательств по настоящему Соглашению Стороны несут ответственность в порядке, установленном законодательством Российской Федерации.</span> </li>
<li><span style='font-size: 9pt;'>По настоящему Соглашению УЦ несет перед Пользователем ответственность только за реальный ущерб. Возмещение Пользователю упущенной выгоды и/или морального вреда не предусматривается.</span> </li>
<li><span style='font-size: 9pt;'>УЦ освобождается от ответственности за негативные для Пользователя последствия, возникшие в результате нарушения Пользователем положений настоящего Соглашения, Регламента УЦ. Ответственность УЦ перед Пользователем в соответствии с ГК РФ ограничена Соглашением сторон.</span> </li>
<li><span style='font-size: 9pt;'>УЦ вправе в одностороннем порядке вносить изменения в Регламент УЦ. Изменения в Регламенте УЦ доводятся до Пользователя путем размещения актуальной версии Регламента на сайте УЦ в сети Интернет. Со дня размещения на сайте УЦ обновленный Регламент УЦ становится обязательным для применения Пользователем. </span></li>
<li><span style='font-size: 9pt;'>УЦ освобождается от ответственности за негативные для Пользователя последствия, возникшие в результате нарушения Пользователем положений настоящего Соглашения, Порядка УЦ. Ответственность УЦ перед Пользователем в соответствии с ГК РФ ограничена Соглашением сторон.</span> </li>
<li><span style='font-size: 9pt;'>УЦ вправе в одностороннем порядке вносить изменения в Порядок УЦ. Изменения в Порядке УЦ доводятся до Пользователя путем размещения актуальной версии Порядка на сайте УЦ в сети Интернет. Со дня размещения на сайте УЦ обновленный Порядок УЦ становится обязательным для применения Пользователем. </span></li>
<li><span style='font-size: 9pt;'>В своей деятельности УЦ руководствуется положениями Федерального закона РФ от 06.04.2011 года № 63-ФЗ «Об электронной подписи», иными нормативными правовым актами РФ.</span></li>
</ol>
</body>
@@ -73,7 +73,7 @@
КонецЕсли;
Если ОбщегоНазначения.РазделениеВключено()
Или Не ПользователиСлужебныйКлиентСервер.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Или Не ПользователиСлужебныйПовтИсп.ВерсияПредприятияПоддерживаетВосстановлениеПаролей() Тогда
Элементы.ВосстановлениеПаролей.Видимость = Ложь;
КонецЕсли;
@@ -7,6 +7,352 @@
<items xsi:type="form:FormGroup">
<name>ПанельОсновная</name>
<id>29</id>
<items xsi:type="form:FormGroup">
<name>НаличиеРасширенийИзменяющихСтруктуруДанных</name>
<id>327</id>
<items xsi:type="form:FormGroup">
<name>Группа1</name>
<id>329</id>
<items xsi:type="form:Decoration">
<name>Декорация2</name>
<id>331</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Декорация2РасширеннаяПодсказка</name>
<id>333</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>Декорация2КонтекстноеМеню</name>
<id>332</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<groupVerticalAlign>Center</groupVerticalAlign>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Ошибка32</picture>
</picture>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>Декорация16</name>
<id>334</id>
<title>
<key>ru</key>
<value>Обнаружены расширения изменяющие структуру данных.
Создание автономного рабочего места невозможно.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Декорация16РасширеннаяПодсказка</name>
<id>336</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>Декорация16КонтекстноеМеню</name>
<id>335</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<height>4</height>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<skipOnInput>false</skipOnInput>
<font xsi:type="core:FontRef">
<font>System.DefaultGUIFont</font>
<height>10.0</height>
</font>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
<verticalAlign>Center</verticalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Группа1РасширеннаяПодсказка</name>
<id>330</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>Декорация17</name>
<id>337</id>
<title>
<key>ru</key>
<value>Для создания автономного рабочего места необходимо удалить расширения, которые изменяют структуру программы.
Будьте внимательны, вместе с расширениями безвозвратно будут удаленны добавленные ими данные, поэтому перед удалением рекомендуется сделать резервную копию.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Декорация17РасширеннаяПодсказка</name>
<id>339</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>Декорация17КонтекстноеМеню</name>
<id>338</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<height>5</height>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<skipOnInput>false</skipOnInput>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
</textColor>
<font xsi:type="core:FontRef">
<font>System.DefaultGUIFont</font>
<height>10.0</height>
</font>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
<verticalAlign>Center</verticalAlign>
</extInfo>
</items>
<items xsi:type="form:Table">
<name>РасширенияИзменяющиеСтруктуруДанных</name>
<id>340</id>
<title>
<key>ru</key>
<value>Расширения изменяющие структуру данных</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>РасширенияИзменяющиеСтруктуруДанных</segments>
</dataPath>
<titleLocation>Top</titleLocation>
<items xsi:type="form:FormField">
<name>РасширенияИзменяющиеСтруктуруДанныхЗначение</name>
<id>353</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>РасширенияИзменяющиеСтруктуруДанных.Value</segments>
</dataPath>
<extendedTooltip>
<name>РасширенияИзменяющиеСтруктуруДанныхЗначениеРасширеннаяПодсказка</name>
<id>355</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>РасширенияИзменяющиеСтруктуруДанныхЗначениеКонтекстноеМеню</name>
<id>354</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Auto</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<autoCommandBar>
<name>РасширенияИзменяющиеСтруктуруДанныхКоманднаяПанель</name>
<id>342</id>
<horizontalAlign>Left</horizontalAlign>
</autoCommandBar>
<searchStringAddition>
<name>РасширенияИзменяющиеСтруктуруДанныхСтрокаПоиска</name>
<id>344</id>
<extendedTooltip>
<name>РасширенияИзменяющиеСтруктуруДанныхСтрокаПоискаРасширеннаяПодсказка</name>
<id>346</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>РасширенияИзменяющиеСтруктуруДанныхСтрокаПоискаКонтекстноеМеню</name>
<id>345</id>
<autoFill>true</autoFill>
</contextMenu>
<source>РасширенияИзменяющиеСтруктуруДанных</source>
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</searchStringAddition>
<viewStatusAddition>
<name>РасширенияИзменяющиеСтруктуруДанныхСостояниеПросмотра</name>
<id>347</id>
<extendedTooltip>
<name>РасширенияИзменяющиеСтруктуруДанныхСостояниеПросмотраРасширеннаяПодсказка</name>
<id>349</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>РасширенияИзменяющиеСтруктуруДанныхСостояниеПросмотраКонтекстноеМеню</name>
<id>348</id>
<autoFill>true</autoFill>
</contextMenu>
<type>ViewStatusAddition</type>
<source>РасширенияИзменяющиеСтруктуруДанных</source>
<extInfo xsi:type="form:ViewStatusAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</viewStatusAddition>
<searchControlAddition>
<name>РасширенияИзменяющиеСтруктуруДанныхУправлениеПоиском</name>
<id>350</id>
<extendedTooltip>
<name>РасширенияИзменяющиеСтруктуруДанныхУправлениеПоискомРасширеннаяПодсказка</name>
<id>352</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>РасширенияИзменяющиеСтруктуруДанныхУправлениеПоискомКонтекстноеМеню</name>
<id>351</id>
<autoFill>true</autoFill>
</contextMenu>
<type>SearchControlAddition</type>
<source>РасширенияИзменяющиеСтруктуруДанных</source>
<extInfo xsi:type="form:SearchControlAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</searchControlAddition>
<extendedTooltip>
<name>РасширенияИзменяющиеСтруктуруДанныхРасширеннаяПодсказка</name>
<id>343</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>РасширенияИзменяющиеСтруктуруДанныхКонтекстноеМеню</name>
<id>341</id>
<autoFill>true</autoFill>
</contextMenu>
<readOnly>true</readOnly>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<autoMaxRowsCount>true</autoMaxRowsCount>
<selectionMode>MultiRow</selectionMode>
<headerHeight>1</headerHeight>
<footerHeight>1</footerHeight>
<horizontalScrollBar>AutoUse</horizontalScrollBar>
<verticalScrollBar>AutoUse</verticalScrollBar>
<horizontalLines>true</horizontalLines>
<verticalLines>true</verticalLines>
<horizontalLinesBWA>false</horizontalLinesBWA>
<verticalLinesBWA>false</verticalLinesBWA>
<useAlternationRowColorBWA>false</useAlternationRowColorBWA>
<autoInsertNewRow>true</autoInsertNewRow>
<searchOnInput>Auto</searchOnInput>
<initialListView>Auto</initialListView>
<horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch>
<fileDragMode>AsFileRef</fileDragMode>
<rowPictureDataPath xsi:type="form:DataPath">
<segments>РасширенияИзменяющиеСтруктуруДанных.Picture</segments>
</rowPictureDataPath>
<autoMaxCardHeight>true</autoMaxCardHeight>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НаличиеРасширенийИзменяющихСтруктуруДанныхРасширеннаяПодсказка</name>
<id>328</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>Vertical</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>Начало</name>
<id>30</id>
@@ -1349,6 +1695,248 @@
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ОшибкаВыполнения</name>
<id>356</id>
<items xsi:type="form:FormGroup">
<name>Группа7</name>
<id>358</id>
<items xsi:type="form:Decoration">
<name>Декорация4</name>
<id>360</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Декорация4РасширеннаяПодсказка</name>
<id>362</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>Декорация4КонтекстноеМеню</name>
<id>361</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<groupVerticalAlign>Center</groupVerticalAlign>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Ошибка32</picture>
</picture>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>Группа8</name>
<id>363</id>
<items xsi:type="form:Decoration">
<name>Декорация19</name>
<id>365</id>
<title>
<key>ru</key>
<value>При выполнении создания автономного рабочего места произошла ошибка.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Декорация19РасширеннаяПодсказка</name>
<id>367</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>Декорация19КонтекстноеМеню</name>
<id>366</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<height>2</height>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<skipOnInput>false</skipOnInput>
<font xsi:type="core:FontRef">
<font>System.DefaultGUIFont</font>
<height>10.0</height>
</font>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
<verticalAlign>Center</verticalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Группа8РасширеннаяПодсказка</name>
<id>364</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Группа7РасширеннаяПодсказка</name>
<id>359</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>Декорация18</name>
<id>368</id>
<title>
<key>ru</key>
<value>Для расследования и устранения проблемы просьба обратиться в службу поддержки.
При обращении в службу поддержки, приложите текст ошибки приведенный ниже.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Декорация18РасширеннаяПодсказка</name>
<id>370</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>Декорация18КонтекстноеМеню</name>
<id>369</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<height>3</height>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<skipOnInput>false</skipOnInput>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
</textColor>
<font xsi:type="core:FontRef">
<font>System.DefaultGUIFont</font>
<height>10.0</height>
</font>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
<verticalAlign>Center</verticalAlign>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ТекстОшибкиВыполнения</name>
<id>371</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ТекстОшибкиВыполнения</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>ТекстОшибкиВыполненияРасширеннаяПодсказка</name>
<id>373</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТекстОшибкиВыполненияКонтекстноеМеню</name>
<id>372</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<wrap>true</wrap>
<multiLine>true</multiLine>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОшибкаВыполненияРасширеннаяПодсказка</name>
<id>357</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>Vertical</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -2619,6 +3207,47 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>РасширенияИзменяющиеСтруктуруДанных</name>
<title>
<key>ru</key>
<value>Расширения изменяющие структуру данных</value>
</title>
<id>19</id>
<valueType>
<types>ValueList</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<extInfo xsi:type="form:ValueListExtInfo">
<itemValueType>
<types>String</types>
<stringQualifiers/>
</itemValueType>
</extInfo>
</attributes>
<attributes>
<name>ТекстОшибкиВыполнения</name>
<title>
<key>ru</key>
<value>Текст ошибки выполнения</value>
</title>
<id>20</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>КомандаГотово</name>
<title>
@@ -72,6 +72,7 @@
Объект.URLВебСервиса = АдресПриложенияВИнтернете();
// Позиционируемся на первом шаге помощника
ПорядковыйНомерПерехода = 1;
УстановитьПорядковыйНомерПерехода(1);
КонецПроцедуры
@@ -114,11 +115,14 @@
Исключение
ДлительнаяОперация = Ложь;
ПерейтиНазад();
ПерейтиНаСтраницуОшибки();
ПоказатьПредупреждение(, НСтр("ru = 'Не удалось выполнить операцию.'"));
ТекстОшибкиВыполнения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписатьОшибкуВЖурналРегистрации(
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), СобытиеЖурналаРегистрацииСозданиеАвтономногоРабочегоМеста);
ТекстОшибкиВыполнения,
СобытиеЖурналаРегистрацииСозданиеАвтономногоРабочегоМеста);
КонецПопытки;
КонецПроцедуры
@@ -344,6 +348,28 @@
КонецПроцедуры
&НаСервереБезКонтекста
Функция РасширенияИзменяющиеСтруктуруДанных()
РасширенияИзменяющиеСтруктуруДанных = Новый Массив;
УстановитьПривилегированныйРежим(Истина);
РасширенияОбласти = РасширенияКонфигурации.Получить();
Для Каждого Расширение Из РасширенияОбласти Цикл
Если НЕ Расширение.ИзменяетСтруктуруДанных() Тогда
Продолжить;
КонецЕсли;
РасширенияИзменяющиеСтруктуруДанных.Добавить(Расширение.Синоним);
КонецЦикла;
Возврат РасширенияИзменяющиеСтруктуруДанных;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Поставляемая часть
@@ -519,19 +545,8 @@
ИначеЕсли ПропуститьСтраницу Тогда
Если ЭтоПереходДалее Тогда
УстановитьПорядковыйНомерПерехода(ПорядковыйНомерПерехода + 1);
Возврат;
Иначе
УстановитьПорядковыйНомерПерехода(ПорядковыйНомерПерехода - 1);
Возврат;
КонецЕсли;
ЭтоПереходДалее = Истина;
УстановитьПорядковыйНомерПерехода(ПорядковыйНомерПерехода + 1);
КонецЕсли;
@@ -563,7 +578,7 @@
Если Отказ Тогда
УстановитьПорядковыйНомерПерехода(ПорядковыйНомерПерехода - 1);
ПерейтиНаСтраницуОшибки();
Возврат;
@@ -703,8 +718,12 @@
Исключение
Отказ = Истина;
ТекстОшибкиВыполнения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписатьОшибкуВЖурналРегистрации(
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), СобытиеЖурналаРегистрацииСозданиеАвтономногоРабочегоМеста);
ТекстОшибкиВыполнения,
СобытиеЖурналаРегистрацииСозданиеАвтономногоРабочегоМеста);
Возврат;
КонецПопытки;
@@ -737,9 +756,11 @@
КонецПроцедуры
&НаКлиенте
Процедура ПерейтиНазад()
Процедура ПерейтиНаСтраницуОшибки()
ИзменитьПорядковыйНомерПерехода(-1);
// Устанавливаем ПорядковыйНомерПерехода для того, что бы не выполнялись обработчики предыдущего шага
ПорядковыйНомерПерехода = ТаблицаПереходов.Количество();
УстановитьПорядковыйНомерПерехода(ТаблицаПереходов.Количество());
КонецПроцедуры
@@ -889,6 +910,18 @@
КонецФункции
&НаКлиенте
Функция Подключаемый_НаличиеРасширенийИзменяющихСтруктуруДанных_ПриОткрытии(Отказ, ПропуститьСтраницу, ЭтоПереходДалее)
Расширения = РасширенияИзменяющиеСтруктуруДанных();
ПропуститьСтраницу = Расширения.Количество() = 0;
РасширенияИзменяющиеСтруктуруДанных.ЗагрузитьЗначения(Расширения);
Возврат Неопределено;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Переопределяемая часть - Инициализация переходов помощника
@@ -897,6 +930,9 @@
ТаблицаПереходов.Очистить();
НовыйПереход = ТаблицаПереходовНоваяСтрока("НаличиеРасширенийИзменяющихСтруктуруДанных", "СтраницаНавигацииОкончание");
НовыйПереход.ИмяОбработчикаПриОткрытии = "НаличиеРасширенийИзменяющихСтруктуруДанных_ПриОткрытии";
НовыйПереход = ТаблицаПереходовНоваяСтрока("Начало", "СтраницаНавигацииНачало");
НовыйПереход = ТаблицаПереходовНоваяСтрока("НастройкаВыгрузки", "СтраницаНавигацииПродолжение");
@@ -917,6 +953,8 @@
НовыйПереход = ТаблицаПереходовНоваяСтрока("Окончание", "СтраницаНавигацииОкончание");
НовыйПереход.ИмяОбработчикаПриОткрытии = "Окончание_ПриОткрытии";
НовыйПереход = ТаблицаПереходовНоваяСтрока("ОшибкаВыполнения", "СтраницаНавигацииОкончание");
КонецПроцедуры
#КонецОбласти
@@ -1420,7 +1420,8 @@
КонецЕсли;
// 6) Поля Город и НаселенныйПункт могут быть одновременно пустые только в регионе - городе ФЗ.
Если ПустаяСтрока(Город) И ПустаяСтрока(НаселенныйПункт) И ПустаяСтрока(Район) Тогда
Территория = УправлениеКонтактнойИнформациейКлиентСервер.СоединитьНаименованиеИТипАдресногоОбъекта(ДанныеАдреса.territory, ДанныеАдреса.territoryType);
Если ПустаяСтрока(Город) И ПустаяСтрока(НаселенныйПункт) И ПустаяСтрока(Территория) И ПустаяСтрока(Район) Тогда
Если РаботаСАдресами.ЭтоГородФедеральногоЗначения(Регион) = Ложь Тогда
ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "Город",
НСтр("ru = 'Город может быть не указан только в регионе - городе федерального значения'"),
@@ -812,6 +812,10 @@
Продолжить;
КонецЕсли;
Если Не Строка.ЕстьДела Тогда
Продолжить;
КонецЕсли;
Если Строка.Количество <> 0 Тогда
Добавка = " (" + Строка.Количество + ")";
Иначе
@@ -1818,7 +1818,6 @@
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<autoMaxRowsCount>true</autoMaxRowsCount>
<selectionMode>MultiRow</selectionMode>
<headerHeight>1</headerHeight>
<footerHeight>1</footerHeight>
<horizontalScrollBar>AutoUse</horizontalScrollBar>
@@ -496,6 +496,7 @@
&НаКлиенте
Процедура УдалитьВыбранные(Команда)
ОтправитьСтатистику(Элементы.ДеревоПомеченныхНаУдалениеУдалитьВыбранные.ИмяКоманды);
ЗапуститьЗадание(ЗаданияФормы().УдалениеПомеченных);
КонецПроцедуры
@@ -744,6 +745,17 @@
#КонецОбласти
&НаКлиенте
Процедура ОтправитьСтатистику(ИмяКоманды)
Если НЕ ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЦентрМониторинга") Тогда
Возврат;
КонецЕсли;
ОбщегоНазначенияКлиент.ОбщийМодуль("ЦентрМониторингаКлиент").ЗаписатьОперациюБизнесСтатистики("УдалениеПомеченных.Интерфейс." + ИмяКоманды, 1);
КонецПроцедуры
// Параметры:
// Ссылка - ЛюбаяСсылка
// Возвращаемое значение:
@@ -944,6 +956,7 @@
Если Результат <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
ОтправитьСтатистику(Элементы.ДеревоПомеченныхНаУдалениеУдалитьВсе.ИмяКоманды);
ДобавитьЗадание(ЗаданияФормы().УдалениеПомеченных, "ПолноеУдаление");
ДеревоПомеченныхНаУдалениеУстановитьВсе(ДополнительныеПараметры.Команда);
ЗапуститьЗадание();
@@ -170,8 +170,8 @@
Если ЗапрещенаОбработкаЭлемента(ЭлементОчередиВПакете) Тогда
ОбъектыСЗапретомУдаления = ОбъединениеТаблиц(
ОбъектыСЗапретомУдаления,
ЭлементОчередиВПакете);
ОбъектыСЗапретомУдаления,
ЭлементОчередиВПакете);
Иначе
Пакет = ОбъединениеТаблиц(Пакет, ЭлементОчередиВПакете, Истина);
КонецЕсли;
@@ -1330,7 +1330,12 @@
ИнформацияОМетаданных.Тип = ТипЗнч(Элемент);
ИнформацияОМетаданных.ОписаниеПодчиненныхОбъектов = ТаблицаПоискаПодчиненныхОбъектов();
Кеш = Новый Структура("Иерархический");
ЗаполнитьЗначенияСвойств(Кеш, ИнформацияОМетаданных.Метаданные);
Если ОбщегоНазначения.ЭтоПланСчетов(ИнформацияОМетаданных.Метаданные) Тогда
Кеш.Иерархический = Истина;
Иначе
ЗаполнитьЗначенияСвойств(Кеш, ИнформацияОМетаданных.Метаданные);
КонецЕсли;
ИнформацияОМетаданных.Иерархический = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Кеш, "Иерархический", Ложь);
КонецЕсли;
КонецЦикла;
@@ -150,9 +150,9 @@
&НаКлиенте
Процедура ДополнительнаяИнформацияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
Если НавигационнаяСсылкаФорматированнойСтроки = "ПерейтиКЯзыкамПечатныхФорм" Тогда
СтандартнаяОбработка = Ложь;
ОткрытьФорму("Справочник.ЯзыкиПечатныхФорм.ФормаСписка");
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность.Печать") Тогда
МодульУправлениеПечатьюМультиязычностьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеПечатьюМультиязычностьКлиент");
МодульУправлениеПечатьюМультиязычностьКлиент.ДополнительнаяИнформацияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
@@ -48,12 +48,14 @@
СводнаяИнформация.Колонки.Добавить("Ожидают");
СводнаяИнформация.Колонки.Добавить("Проблемы");
Строка = СводнаяИнформация.Добавить();
ЗаполнитьЗначенияСвойств(Строка, ПрогрессОбновления);
Если ПрогрессОбновления <> Неопределено Тогда
Строка = СводнаяИнформация.Добавить();
ЗаполнитьЗначенияСвойств(Строка, ПрогрессОбновления);
КонецЕсли;
Отбор = Новый Структура;
Отбор.Вставить("РежимВыполнения", "Отложенно");
Отбор.Вставить("Статус", "Ошибка");
Отбор.Вставить("РежимыВыполнения", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве("Отложенно"));
Отбор.Вставить("Статусы", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве("Ошибка"));
ИнформацияПоОбработчикам = ОбновлениеИнформационнойБазы.ОбработчикиОбновления(Отбор);
Результат = Новый Структура;
@@ -3852,25 +3852,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Constant.СообщениеОбменаДаннымиИзГлавногоУзла</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -3958,6 +3939,25 @@
<value>true</value>
</right>
</object>
<object>
<name>Constant.СообщениеОбменаДаннымиИзГлавногоУзла</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
</object>
<object>
<name>Report.ИспользуемыеВнешниеРесурсы</name>
<right>
@@ -5368,6 +5368,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Constant.СообщениеОбменаДаннымиИзГлавногоУзла</name>
<right>
@@ -5411,45 +5450,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ЯзыкиПечатныхФорм</name>
<right>
@@ -3,13 +3,6 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -41,6 +34,13 @@
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации</name>
<right>
@@ -5,6 +5,7 @@
<key>ru</key>
<value>Рассылка отчетов</value>
</synonym>
<comment>АПК:454 в карточке рассылки определяется ответственный, под которым запускается задание</comment>
<methodName>CommonModule.РассылкаОтчетов.ВыполнитьРассылкуПоРасписанию</methodName>
<description>Рассылка отчетов</description>
</mdclass:ScheduledJob>
@@ -7,5 +7,6 @@
</synonym>
<content>Catalog.ЯзыкиПечатныхФорм</content>
<content>CommonModule.УправлениеПечатьюМультиязычность</content>
<content>CommonModule.УправлениеПечатьюМультиязычностьКлиент</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы.Subsystem.Мультиязычность</parentSubsystem>
</mdclass:Subsystem>
@@ -56,5 +56,6 @@
<content>CommonPicture.ПроверкаСертификатаОшибка</content>
<content>CommonPicture.ПроверкаСертификатаПредупреждение</content>
<content>CommonPicture.ПроверкаСертификатаУспех</content>
<content>CommonPicture.ВыпадающийСписок</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem>