3_1_7_110

This commit is contained in:
Компания 1С committed 2022-07-14 10:40:00 +03:00
1 parent 166b194ea2
commit 7e4f81a91c
98 files changed
+4329 -3316

No files matched your search

@@ -88,7 +88,7 @@
Элементы.ЗаполнитьИдентификаторДляФормул.Доступность = НЕ Элементы.ИдентификаторДляФормул.ТолькоПросмотр; Элементы.ЗаполнитьИдентификаторДляФормул.Доступность = НЕ Элементы.ИдентификаторДляФормул.ТолькоПросмотр;
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами"); МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
МодульРаботаСАдресами.ЗаполнитьМаскиНомераТелефона(Элементы.ШаблонМаскиНомераТелефона.СписокВыбора); МодульРаботаСАдресами.ЗаполнитьМаскиНомераТелефона(Элементы.ШаблонМаскиНомераТелефона.СписокВыбора);
КонецЕсли; КонецЕсли;
@@ -174,7 +174,8 @@
Справочники.ГруппыДоступа.ОбновитьРолиПользователейИзмененныхПриЗагрузке(); Справочники.ГруппыДоступа.ОбновитьРолиПользователейИзмененныхПриЗагрузке();
Если УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда Если УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
ТипыИзмененныхУчастников = ТипыИзмененныхУчастников(Пользователи, СтарыеЗначения.Пользователи); ТипыИзмененныхУчастников = ТипыИзмененныхУчастников(Пользователи, СтарыеЗначения.Пользователи,
ПометкаУдаления <> СтарыеЗначения.ПометкаУдаления);
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеНаборовГруппДоступа( УправлениеДоступомСлужебный.ЗапланироватьОбновлениеНаборовГруппДоступа(
"ГруппыДоступаПриИзмененииУчастников", "ГруппыДоступаПриИзмененииУчастников",
ТипыИзмененныхУчастников.Пользователи, ТипыИзмененныхУчастников.Пользователи,
@@ -212,7 +213,7 @@
// * ВнешниеПользователи - Булево // * ВнешниеПользователи - Булево
// * Пользователи - Булево // * Пользователи - Булево
// //
Функция ТипыИзмененныхУчастников(НовыеУчастники, СтарыеУчастники) Функция ТипыИзмененныхУчастников(НовыеУчастники, СтарыеУчастники, ИзмениласьПометкаУдаления)
ТипыИзмененныхУчастников = Новый Структура; ТипыИзмененныхУчастников = Новый Структура;
ТипыИзмененныхУчастников.Вставить("Пользователи", Ложь); ТипыИзмененныхУчастников.Вставить("Пользователи", Ложь);
@@ -231,7 +232,8 @@
КонецЕсли; КонецЕсли;
ВсеУчастники.Свернуть("Пользователь", "ВидИзмененияСтроки"); ВсеУчастники.Свернуть("Пользователь", "ВидИзмененияСтроки");
Для Каждого Строка Из ВсеУчастники Цикл Для Каждого Строка Из ВсеУчастники Цикл
Если Строка.ВидИзмененияСтроки = 0 Тогда Если Строка.ВидИзмененияСтроки = 0
И Не ИзмениласьПометкаУдаления Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Если ТипЗнч(Строка.Пользователь) = Тип("СправочникСсылка.Пользователи") Если ТипЗнч(Строка.Пользователь) = Тип("СправочникСсылка.Пользователи")
@@ -635,26 +635,46 @@
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = Запрос.Текст =
"ВЫБРАТЬ "ВЫБРАТЬ
| Наборы.Ссылка КАК Ссылка | Наборы.Ссылка КАК Ссылка,
| Наборы.ПометкаУдаления КАК ПометкаУдаления,
| Наборы.Предопределенный КАК Предопределенный,
| Наборы.ЭтоГруппа КАК ЭтоГруппа,
| Наборы.Родитель КАК Родитель,
| Наборы.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
| Наборы.ИмяПредопределенногоНабора КАК ИмяПредопределенногоНабора
|ИЗ |ИЗ
| Справочник.НаборыДополнительныхРеквизитовИСведений КАК Наборы | Справочник.НаборыДополнительныхРеквизитовИСведений КАК Наборы
|ГДЕ |ГДЕ
| Наборы.Родитель = ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка)"; | Наборы.Родитель = ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка)";
Наборы = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"); Наборы = Запрос.Выполнить().Выгрузить();
ДоступныеНаборы = Новый Массив; ДоступныеНаборы = Новый Массив;
ДоступныеНаборыСписок.Очистить(); ДоступныеНаборыСписок.Очистить();
Для каждого Ссылка Из Наборы Цикл СвойстваНабора = Новый Структура;
ВидыСвойствНабора = УправлениеСвойствамиСлужебный.ВидыСвойствНабора(Ссылка, Ложь); СвойстваНабора.Вставить("ПометкаУдаления");
СвойстваНабора.Вставить("Предопределенный");
СвойстваНабора.Вставить("ЭтоГруппа");
СвойстваНабора.Вставить("Родитель");
СвойстваНабора.Вставить("ИмяПредопределенныхДанных");
СвойстваНабора.Вставить("ИмяПредопределенногоНабора");
Для Каждого Строка Из Наборы Цикл
Если СтрНачинаетсяС(Строка.ИмяПредопределенныхДанных, "Удалить") Тогда
Продолжить;
КонецЕсли;
ЗаполнитьЗначенияСвойств(СвойстваНабора, Строка);
ВидыСвойствНабора = УправлениеСвойствамиСлужебный.ВидыСвойствНабора(СвойстваНабора, Ложь);
Если ЭтоНаборыДополнительныхСведений Если ЭтоНаборыДополнительныхСведений
И ВидыСвойствНабора.ДополнительныеСведения И ВидыСвойствНабора.ДополнительныеСведения
ИЛИ НЕ ЭтоНаборыДополнительныхСведений ИЛИ НЕ ЭтоНаборыДополнительныхСведений
И ВидыСвойствНабора.ДополнительныеРеквизиты Тогда И ВидыСвойствНабора.ДополнительныеРеквизиты Тогда
ДоступныеНаборы.Добавить(Ссылка); ДоступныеНаборы.Добавить(Строка.Ссылка);
ДоступныеНаборыСписок.Добавить(Ссылка); ДоступныеНаборыСписок.Добавить(Строка.Ссылка);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -254,7 +254,7 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция СостояниеКлассификатора() Функция СостояниеКлассификатора()
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда Если Не УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
Возврат Новый ТаблицаЗначений; Возврат Новый ТаблицаЗначений;
КонецЕсли; КонецЕсли;
@@ -145,7 +145,7 @@
// //
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами"); МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
МодульРаботаСАдресами.ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти); МодульРаботаСАдресами.ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти);
КонецЕсли; КонецЕсли;
@@ -74,7 +74,6 @@
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
НаименованиеДоЗаписи = Объект.Наименование; НаименованиеДоЗаписи = Объект.Наименование;
ДатаМодификации = МестноеВремя(ЭтотОбъект.Объект.ДатаМодификацииУниверсальная);
УстановитьДоступностьКомандСпискаЭП(); УстановитьДоступностьКомандСпискаЭП();
УстановитьДоступностьКомандСпискаШифрования(); УстановитьДоступностьКомандСпискаШифрования();
@@ -801,9 +800,10 @@
&НаКлиенте &НаКлиенте
Процедура ЗакончитьРедактированиеВыполненоПомещение(ИнформацияОФайле, ДополнительныеПараметры) Экспорт Процедура ЗакончитьРедактированиеВыполненоПомещение(ИнформацияОФайле, ДополнительныеПараметры) Экспорт
ОбновитьОбъект();
ОповеститьОбИзменении(ЭтотОбъект.Объект.Ссылка); ОповеститьОбИзменении(ЭтотОбъект.Объект.Ссылка);
Оповестить("Запись_Файл", Новый Структура, ЭтотОбъект.Объект.Ссылка); Оповестить("Запись_Файл", Новый Структура, ЭтотОбъект.Объект.Ссылка);
УстановитьДоступностьКнопок(ЭтотОбъект, Элементы);
КонецПроцедуры КонецПроцедуры
@@ -1320,7 +1320,11 @@
&НаСервере &НаСервере
Процедура ОбновитьОбъект() Процедура ОбновитьОбъект()
Прочитать(); Прочитать();
ДатаМодификации = МестноеВремя(ЭтотОбъект.Объект.ДатаМодификацииУниверсальная);
УстановитьДоступностьКнопок(ЭтотОбъект, Элементы);
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -1445,16 +1449,10 @@
&НаКлиенте &НаКлиенте
Процедура ОбновитьИзФайлаНаДискеЗавершение(Результат, ПараметрыВыполнения) Экспорт Процедура ОбновитьИзФайлаНаДискеЗавершение(Результат, ПараметрыВыполнения) Экспорт
ОбновитьДанныеОбъектаНаСервере();
ОбновитьОбъект();
ОповеститьОбИзменении(ЭтотОбъект.Объект.Ссылка); ОповеститьОбИзменении(ЭтотОбъект.Объект.Ссылка);
Оповестить("Запись_Файл", Новый Структура, ЭтотОбъект.Объект.Ссылка); Оповестить("Запись_Файл", Новый Структура, ЭтотОбъект.Объект.Ссылка);
КонецПроцедуры
&НаСервере
Процедура ОбновитьДанныеОбъектаНаСервере()
ЗначениеВРеквизитФормы(ЭтотОбъект.Объект.Ссылка.ПолучитьОбъект(), "Объект");
ДатаМодификации = МестноеВремя(ЭтотОбъект.Объект.ДатаМодификацииУниверсальная);
КонецПроцедуры КонецПроцедуры
@@ -3146,6 +3146,115 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </items>
<items xsi:type="form:FormGroup">
<name>РежимПросмотра</name>
<id>488</id>
<items xsi:type="form:Button">
<name>ЗначенияИерархическийСписок</name>
<id>492</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ЗначенияИерархическийСписокРасширеннаяПодсказка</name>
<id>493</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Значения.StandardCommand.HierarchicalList</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ЗначенияСписок</name>
<id>490</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ЗначенияСписокРасширеннаяПодсказка</name>
<id>491</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Значения.StandardCommand.List</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ЗначенияДерево</name>
<id>494</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ЗначенияДеревоРасширеннаяПодсказка</name>
<id>495</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Значения.StandardCommand.Tree</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>489</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">
<picture xsi:type="core:PictureRef">
<picture>StdPicture.ListViewMode</picture>
</picture>
<representation>Auto</representation>
<importance>Normal</importance>
</extInfo>
</items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>ФормаПоискИУдалениеДублей</name> <name>ФормаПоискИУдалениеДублей</name>
<id>322</id> <id>322</id>
@@ -3173,6 +3282,32 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </items>
<items xsi:type="form:Button">
<name>ЗначенияВывестиСписок</name>
<id>496</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ЗначенияВывестиСписокРасширеннаяПодсказка</name>
<id>497</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Значения.StandardCommand.OutputList</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<handlers> <handlers>
@@ -36,6 +36,24 @@
КонецПроцедуры КонецПроцедуры
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность") Тогда
Позиция = ПроверяемыеРеквизиты.Найти("ЗаголовокЯзык1");
Если Позиция<> Неопределено Тогда
ПроверяемыеРеквизиты.Удалить(Позиция);
КонецЕсли;
Позиция = ПроверяемыеРеквизиты.Найти("ЗаголовокЯзык2");
Если Позиция<> Неопределено Тогда
ПроверяемыеРеквизиты.Удалить(Позиция);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПриЗаписи(Отказ) Процедура ПриЗаписи(Отказ)
Если ОбменДанными.Загрузка Тогда Если ОбменДанными.Загрузка Тогда
@@ -478,7 +478,41 @@
Функция ДобавитьСтрокуНаСервере(Адрес, ИмяФайла, ДобавитьНовуюСтроку, ОшибкаНаСервере, Функция ДобавитьСтрокуНаСервере(Адрес, ИмяФайла, ДобавитьНовуюСтроку, ОшибкаНаСервере,
ДанныеПодписи, ДатаПодписи, АдресСвойствПодписи) ДанныеПодписи, ДатаПодписи, АдресСвойствПодписи)
ДанныеПодписи = ПолучитьИзВременногоХранилища(Адрес); ДанныеПодписи = ПолучитьИзВременногоХранилища(Адрес); // ДвоичныеДанные
ПолноеИмяВременногоФайла = ПолучитьИмяВременногоФайла();
ДанныеПодписи.Записать(ПолноеИмяВременногоФайла);
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать(ПолноеИмяВременногоФайла);
Попытка
УдалитьФайлы(ПолноеИмяВременногоФайла);
Исключение
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Электронная подпись.Удаление временного файла'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Если Текст.КоличествоСтрок() > 3 И Текст.ПолучитьСтроку(1) = "-----BEGIN CMS-----"
И Текст.ПолучитьСтроку(Текст.КоличествоСтрок()) = "-----END CMS-----" Тогда
Текст.УдалитьСтроку(1);
Текст.УдалитьСтроку(Текст.КоличествоСтрок());
СтрокаBase64 = Текст.ПолучитьТекст();
Попытка
ДанныеПодписи = Base64Значение(СтрокаBase64);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ОшибкаНаСервере.Вставить("ОписаниеОшибки", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При получении данных подписи из файла подписи произошла ошибка:
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке)));
Возврат Ложь;
КонецПопытки;
КонецЕсли;
ДатаПодписи = ЭлектроннаяПодпись.ДатаПодписания(ДанныеПодписи); ДатаПодписи = ЭлектроннаяПодпись.ДатаПодписания(ДанныеПодписи);
Если Не ЭлектроннаяПодпись.ПроверятьЭлектронныеПодписиНаСервере() Если Не ЭлектроннаяПодпись.ПроверятьЭлектронныеПодписиНаСервере()
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormGroup">
<name>ГруппаРазрешенныеНеаккредитованныеУЦ</name>
<id>4</id>
<items xsi:type="form:FormField">
<name>РазрешенныеНеаккредитованныеУЦ</name>
<id>1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>НаборКонстант.РазрешенныеНеаккредитованныеУЦ</segments>
</dataPath>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<extendedTooltip>
<name>РазрешенныеНеаккредитованныеУЦРасширеннаяПодсказка</name>
<id>3</id>
<title>
<key>ru</key>
<value>Список ОГРН (через запятую) удостоверяющих центров, потерявших аккредитацию, подписание сертификатами которых разрешено, подписи считаются верными.</value>
</title>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>РазрешенныеНеаккредитованныеУЦКонтекстноеМеню</name>
<id>2</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>
<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>
<title>
<key>ru</key>
<value>Группа разрешенные неаккредитованные УЦ</value>
</title>
<extendedTooltip>
<name>ГруппаРазрешенныеНеаккредитованныеУЦРасширеннаяПодсказка</name>
<id>5</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>
<representation>WeakSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<showTitle>auto</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>НаборКонстант</name>
<id>1</id>
<valueType>
<types>ConstantsSet</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
<savedData>true</savedData>
</attributes>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:ConstantsFormExtInfo">
<handlers>
<event>AfterWrite</event>
<name>ПослеЗаписи</name>
</handlers>
</extInfo>
</form:Form>
@@ -0,0 +1,17 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2022, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ОбновитьПовторноИспользуемыеЗначения();
КонецПроцедуры
#КонецОбласти
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonForm xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="cb81fb9f-16a2-4265-92a9-b827ca2fd588">
<name>РазрешенныеНеаккредитованныеУЦ</name>
<synonym>
<key>ru</key>
<value>Разрешенные неаккредитованные УЦ</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
<useStandardCommands>true</useStandardCommands>
</mdclass:CommonForm>
@@ -4785,10 +4785,27 @@
КонецЦикла; КонецЦикла;
СписокИзвлеченныхФайлов(КаталогФайлов);
Возврат КаталогФайлов; Возврат КаталогФайлов;
КонецФункции КонецФункции
Процедура СписокИзвлеченныхФайлов(КаталогФайлов)
НайденныеФайлы = НайтиФайлы(КаталогФайлов, ПолучитьМаскуВсеФайлы(), Истина);
СписокФайлов = Новый Массив;
Для каждого НайденныеФайл Из НайденныеФайлы Цикл
Если НайденныеФайл.ЭтоФайл() Тогда
СписокФайлов.Добавить(НайденныеФайл.Имя);
КонецЕсли;
КонецЦикла;
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Примечание,
,, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Список извлеченных файлов адресных сведений региона: %1'"),
СтрСоединить(СписокФайлов, ",")));
КонецПроцедуры
Функция НоваяТаблицаАдресовСРазбивкойНаПоля() Функция НоваяТаблицаАдресовСРазбивкойНаПоля()
Строка250 = ОбщегоНазначения.ОписаниеТипаСтрока(250); Строка250 = ОбщегоНазначения.ОписаниеТипаСтрока(250);
@@ -10939,6 +10956,7 @@
Результат.Вставить("ФайлЧтения", Новый ЧтениеFastInfoset); Результат.Вставить("ФайлЧтения", Новый ЧтениеFastInfoset);
Если Не ФайлСуществует(Результат.ПолноеИмя) Тогда Если Не ФайлСуществует(Результат.ПолноеИмя) Тогда
СписокИзвлеченныхФайлов(КаталогФайлов);
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось загрузить файл %1. Загрузка адресных сведений перервана. НСтр("ru = 'Не удалось загрузить файл %1. Загрузка адресных сведений перервана.
|Техническая информация: %2'"), ИмяИсходногоФайла, Результат.ПолноеИмя); |Техническая информация: %2'"), ИмяИсходногоФайла, Результат.ПолноеИмя);
@@ -135,7 +135,6 @@
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
ЗаблокироватьДанныеПараметровБлокировки();
ПараметрыСеанса.РаботаСВнешнимиРесурсамиЗаблокирована = УстановитьБлокировкуРаботыСВнешнимиРесурсами(); ПараметрыСеанса.РаботаСВнешнимиРесурсамиЗаблокирована = УстановитьБлокировкуРаботыСВнешнимиРесурсами();
УстановленныеПараметры.Добавить("РаботаСВнешнимиРесурсамиЗаблокирована"); УстановленныеПараметры.Добавить("РаботаСВнешнимиРесурсамиЗаблокирована");
@@ -578,6 +577,14 @@
Процедура УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения) Процедура УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения)
ЗаблокироватьДанныеПараметровБлокировки();
АктуальныеПараметрыБлокировки = СохраненныеПараметрыБлокировки();
Если АктуальныеПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Неопределено Тогда
// Если признак необходимости принятия решения о блокировке уже был установлен в другом сеансе.
Возврат;
КонецЕсли;
ПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Неопределено; ПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Неопределено;
ПараметрыБлокировки.ПричинаБлокировки = ПредставлениеПричиныБлокировки(ПараметрыБлокировки); ПараметрыБлокировки.ПричинаБлокировки = ПредставлениеПричиныБлокировки(ПараметрыБлокировки);
СохранитьПараметрыБлокировки(ПараметрыБлокировки); СохранитьПараметрыБлокировки(ПараметрыБлокировки);
@@ -5924,8 +5924,6 @@
// Структура: // Структура:
// * СформироватьПриОткрытии - Булево // * СформироватьПриОткрытии - Булево
// * Отбор - Структура - отбор, передаваемый в форму // * Отбор - Структура - отбор, передаваемый в форму
// * Расшифровка - Неопределено
// - ОписаниеОбработкиРасшифровкиКомпоновкиДанных
// * КлючНазначенияИспользования - Строка // * КлючНазначенияИспользования - Строка
// * КлючПользовательскихНастроек - Строка // * КлючПользовательскихНастроек - Строка
// * ТолькоПросмотр - Булево // * ТолькоПросмотр - Булево
@@ -5942,7 +5940,6 @@
Параметры = Новый Структура; Параметры = Новый Структура;
Параметры.Вставить("СформироватьПриОткрытии", Ложь); Параметры.Вставить("СформироватьПриОткрытии", Ложь);
Параметры.Вставить("Отбор", Новый Структура); Параметры.Вставить("Отбор", Новый Структура);
Параметры.Вставить("Расшифровка", Неопределено);
Параметры.Вставить("КлючНазначенияИспользования", ""); Параметры.Вставить("КлючНазначенияИспользования", "");
Параметры.Вставить("КлючПользовательскихНастроек", ""); Параметры.Вставить("КлючПользовательскихНастроек", "");
Параметры.Вставить("ТолькоПросмотр", Ложь); Параметры.Вставить("ТолькоПросмотр", Ложь);
@@ -3694,9 +3694,6 @@
Процедура УстановитьВыражениеИтоговыхЗаписей(Формула, ОписаниеФормулы) Процедура УстановитьВыражениеИтоговыхЗаписей(Формула, ОписаниеФормулы)
ВыражениеДетальныхЗаписей = Формула.ПолучитьВыражениеДетальныхЗаписей();
ВыражениеИтоговыхЗаписей = Формула.ПолучитьВыражениеИтоговыхЗаписей();
Если ОписаниеФормулы = Неопределено Если ОписаниеФормулы = Неопределено
Или ОписаниеФормулы.Тип.Типы().Количество() > 1 Или ОписаниеФормулы.Тип.Типы().Количество() > 1
Или Не ОписаниеФормулы.Тип.СодержитТип(Тип("Число")) Тогда Или Не ОписаниеФормулы.Тип.СодержитТип(Тип("Число")) Тогда
@@ -3704,87 +3701,31 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Попытка ВыражениеДетальныхЗаписей = Формула.ПолучитьВыражениеДетальныхЗаписей();
Если ВыражениеСодержитАгрегатнуюФункцию(ВыражениеДетальныхЗаписей) Тогда
ВыражениеИтоговыхЗаписей = ВыражениеИтоговыхЗаписей(ВыражениеДетальныхЗаписей); ВыражениеИтоговыхЗаписей = ВыражениеДетальныхЗаписей;
Формула.УстановитьВыражения(ВыражениеДетальныхЗаписей, ВыражениеИтоговыхЗаписей); Иначе
Исключение
ВыражениеИтоговыхЗаписей = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ВыражениеИтоговыхЗаписей = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"Сумма(%1)", ВыражениеДетальныхЗаписей); "Сумма(%1)", ВыражениеДетальныхЗаписей);
КонецЕсли;
Формула.УстановитьВыражения(ВыражениеДетальныхЗаписей, ВыражениеИтоговыхЗаписей); Формула.УстановитьВыражения(ВыражениеДетальныхЗаписей, ВыражениеИтоговыхЗаписей);
КонецПопытки;
КонецПроцедуры КонецПроцедуры
Функция ВыражениеИтоговыхЗаписей(Знач Выражение) Функция ВыражениеСодержитАгрегатнуюФункцию(Знач Выражение)
ОписаниеВыражения = Новый Массив; Выражение = ВРег(СтрСоединить(СтрРазделить(Выражение, " " + Символы.Таб + Символы.ПС, Ложь), ""));
АрифметическиеОператоры = "+-*/%"; Если СтрНайти(Выражение, "СУММА(")
КоличествоСимволов = СтрДлина(Выражение); Или СтрНайти(Выражение, "КОЛИЧЕСТВО(")
Или СтрНайти(Выражение, "МАКСИМУМ(")
Для НомерСимвола = 1 По КоличествоСимволов Цикл Или СтрНайти(Выражение, "МИНИМУМ(")
Или СтрНайти(Выражение, "СРЕДНЕЕ(") Тогда
Если КоличествоСимволов = 0 Тогда Возврат Истина;
Прервать;
КонецЕсли; КонецЕсли;
Символ = Сред(Выражение, НомерСимвола, 1); Возврат Ложь;
Если Не ЗначениеЗаполнено(Символ) Тогда
Продолжить;
КонецЕсли;
Если Символ = "(" Тогда
ОписаниеВыражения.Добавить(Символ);
Выражение = СокрЛП(Сред(Выражение, НомерСимвола + 1));
НомерСимвола = 0;
КоличествоСимволов = СтрДлина(Выражение);
ИначеЕсли СтрНайти(АрифметическиеОператоры, Символ) > 0 Тогда
Операнд = СокрЛП(Сред(Выражение, 1, НомерСимвола - 1));
Если ОбщегоНазначенияКлиентСервер.ЭтоЧисло(Операнд) Тогда
ВложенноеВыражение = Операнд;
Иначе
ВложенноеВыражение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("Сумма(%1)", Операнд);
КонецЕсли;
ОписаниеВыражения.Добавить(ВложенноеВыражение);
ОписаниеВыражения.Добавить(Символ);
Выражение = СокрЛП(Сред(Выражение, НомерСимвола + 1));
НомерСимвола = 0;
КоличествоСимволов = СтрДлина(Выражение);
КонецЕсли;
КонецЦикла;
Если ОбщегоНазначенияКлиентСервер.ЭтоЧисло(Выражение) Тогда
ВложенноеВыражение = Выражение;
Иначе
ВложенноеВыражение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("Сумма(%1)", Выражение);
КонецЕсли;
ОписаниеВыражения.Добавить(ВложенноеВыражение);
ВыражениеИтоговыхЗаписей = "";
Для Каждого Элемент Из ОписаниеВыражения Цикл
ВыражениеИтоговыхЗаписей = ВыражениеИтоговыхЗаписей + " " + Элемент;
КонецЦикла;
Возврат СокрЛП(ВыражениеИтоговыхЗаписей);
КонецФункции КонецФункции
@@ -278,6 +278,8 @@
ОбработатьРезультатОперации(АктивныеДлительныеОперации, Операция, Результат); ОбработатьРезультатОперации(АктивныеДлительныеОперации, Операция, Результат);
КонецЦикла; КонецЦикла;
ТекущиеДлительныеОперации.КонтролируемыеОперации = Новый Соответствие;
Если АктивныеДлительныеОперации.Количество() = 0 Тогда Если АктивныеДлительныеОперации.Количество() = 0 Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -846,11 +846,13 @@
МодульКалендарныеГрафики.ПриДобавленииКлассификаторов(Классификаторы); МодульКалендарныеГрафики.ПриДобавленииКлассификаторов(Классификаторы);
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
И Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда МодульУправлениеКонтактнойИнформациейСлужебныйПовтИсп = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейСлужебныйПовтИсп");
Если МодульУправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами"); МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
МодульРаботаСАдресами.ПриДобавленииКлассификаторов(Классификаторы); МодульРаботаСАдресами.ПриДобавленииКлассификаторов(Классификаторы);
КонецЕсли; КонецЕсли;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись")
И Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") <> Неопределено Тогда И Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") <> Неопределено Тогда
@@ -881,12 +883,14 @@
ДополнительныеПараметры); ДополнительныеПараметры);
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
И Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда МодульУправлениеКонтактнойИнформациейСлужебныйПовтИсп = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейСлужебныйПовтИсп");
Если МодульУправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами"); МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
МодульРаботаСАдресами.ПриЗагрузкеКлассификатора(Идентификатор, Версия, Адрес, Обработан, МодульРаботаСАдресами.ПриЗагрузкеКлассификатора(Идентификатор, Версия, Адрес, Обработан,
ДополнительныеПараметры); ДополнительныеПараметры);
КонецЕсли; КонецЕсли;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись")
И Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") <> Неопределено Тогда И Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") <> Неопределено Тогда
@@ -690,6 +690,46 @@
// Обновление данных // Обновление данных
Процедура ОбработатьОбщиеДанныеДляПереходаНаНовуюВерсию() Экспорт
Если Метаданные.Языки.Количество() = 1 Тогда
Возврат;
КонецЕсли;
ОбъектыКОбработке = СписокОбъектовКОбработкеДляПереходаНаНовуюВерсию("Общие");
Если ОбъектыКОбработке.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ОбъектовОбработано = 0;
ПроблемныхОбъектов = 0;
ОбъектМетаданных = Неопределено;
ПараметрыЗаполнения = Неопределено;
Для каждого ОбъектыКОбработке Из ОбъектыКОбработке Цикл
Если ОбъектМетаданных = Неопределено Или ТипЗнч(ОбъектМетаданных) <> ТипЗнч(ОбъектыКОбработке) Тогда
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(ОбъектыКОбработке));
ПараметрыЗаполнения = ОбновлениеИнформационнойБазыСлужебный.НаборПараметровДляЗаполненияОбъекта(ОбъектМетаданных);
КонецЕсли;
Если ПараметрыЗаполнения <> Неопределено Тогда
ЗаполнитьИПеренестиСтрокиИзТЧПредставленияВРеквизиты(ОбъектыКОбработке, ПараметрыЗаполнения, ОбъектовОбработано, ПроблемныхОбъектов);
КонецЕсли;
КонецЦикла;
Если ПроблемныхОбъектов > 0 Тогда
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Процедуре %1 не удалось обновить некоторые объекты (пропущены): %2 из %3'"),
"МультиязычностьСервер.ОбработатьОбщиеДанныеДляПереходаНаНовуюВерсию",
ПроблемныхОбъектов, ОбъектовОбработано));
КонецЕсли;
КонецПроцедуры
// Регистрирует объекты к обработке в обработчике обновления // Регистрирует объекты к обработке в обработчике обновления
// //
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
@@ -698,109 +738,7 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ОбъектыКОбработке = Новый Массив(); ОбъектыКОбработке = СписокОбъектовКОбработкеДляПереходаНаНовуюВерсию(ВариантДанныхДляОбработкиСУчетомРазделения());
РазделительЗапросов = Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС;
СведенияОбЯзыках = МультиязычностьПовтИсп.СведенияОбЯзыках();
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык1) И ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
ОбъектыСПредопределеннымиЭлементами = ОбновлениеИнформационнойБазыСлужебный.ОбъектыСНачальнымЗаполнением();
ШаблонаЗапроса = "ВЫБРАТЬ
| ДанныеОбъекта.Ссылка
|ИЗ
| &Таблица КАК ДанныеОбъекта
|ГДЕ
| &УсловиеОтбора";
НаборЗапросов = Новый Массив;
Для каждого ОбъектМетаданныхСЭлементами Из ОбъектыСПредопределеннымиЭлементами Цикл
ЛокализуемыеРеквизитыОбъекта = НаименованияЛокализуемыхРеквизитовОбъектаВШапке(ОбъектМетаданныхСЭлементами);
Отборы = Новый Массив;
Для каждого РеквизитОбъекта Из ЛокализуемыеРеквизитыОбъекта Цикл
Если Не РеквизитОбъекта.Значение Тогда
Продолжить;
КонецЕсли;
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык1) И ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
ШаблонОтбора = "ВЫРАЗИТЬ(&Реквизит КАК СТРОКА(1)) <> """"
| И (ВЫРАЗИТЬ(&Язык1 КАК СТРОКА(1)) = """" ИЛИ ВЫРАЗИТЬ(&Язык2 КАК СТРОКА(1)) = """")";
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1", РеквизитОбъекта.Ключ + "Язык1");
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык2", РеквизитОбъекта.Ключ + "Язык2");
Иначе
ШаблонОтбора = "ВЫРАЗИТЬ(&Реквизит КАК СТРОКА(1)) <> """"
| И ВЫРАЗИТЬ(&Язык1Или2 КАК СТРОКА(1)) = """"";
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1Или2", РеквизитОбъекта.Ключ + "Язык2");
Иначе
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1Или2", РеквизитОбъекта.Ключ + "Язык1");
КонецЕсли;
КонецЕсли;
ТекстОтбора = СтрЗаменить(ШаблонОтбора, "&Реквизит", РеквизитОбъекта.Ключ);
Отборы.Добавить(ТекстОтбора);
КонецЦикла;
Если Отборы.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
ТекстЗапросаПредварительный = СтрЗаменить(ШаблонаЗапроса, "&Таблица", ОбъектМетаданныхСЭлементами.ПолноеИмя());
ТекстЗапросаПредварительный = СтрЗаменить(ТекстЗапросаПредварительный, "&УсловиеОтбора", СтрСоединить(Отборы, " ИЛИ "));
НаборЗапросов.Добавить(ТекстЗапросаПредварительный);
КонецЦикла;
Если НаборЗапросов.Количество() > 0 Тогда
Запрос = Новый Запрос;
Запрос.Текст = СтрСоединить(НаборЗапросов, РазделительЗапросов);
РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
ОбъектыКОбработке = РезультатыЗапроса.ВыгрузитьКолонку("Ссылка");
КонецЕсли;
КонецЕсли;
// Отдельная порция объектов для регистрации с табличной частью Представления
ОбъектыСТЧПредставления = ОбъектыСТЧПредставления();
Если ОбъектыСТЧПредставления.Количество() > 0 Тогда
ШаблонЗапроса = "ВЫБРАТЬ
| СправочникСТЧПредставления.Ссылка
|ИЗ
| #Таблица КАК СправочникСТЧПредставления";
НаборЗапросов = Новый Массив;
Для Каждого ИмяОбъектаМетаданных Из ОбъектыСТЧПредставления Цикл
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаМетаданных);
ТекстЗапроса = СтрЗаменить(ШаблонЗапроса, "#Таблица", ОбъектМетаданных.ПолноеИмя());
НаборЗапросов.Добавить(ТекстЗапроса);
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст = СтрСоединить(НаборЗапросов, РазделительЗапросов);
РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
ОбъектыСТабличнойЧастьюПредставлениеКОбработке = РезультатыЗапроса.ВыгрузитьКолонку("Ссылка");
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОбъектыКОбработке, ОбъектыСТабличнойЧастьюПредставлениеКОбработке);
КонецЕсли;
Если ОбъектыКОбработке.Количество() > 0 Тогда Если ОбъектыКОбработке.Количество() > 0 Тогда
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, ОбъектыКОбработке); ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, ОбъектыКОбработке);
@@ -816,7 +754,7 @@
ОбъектовОбработано = 0; ОбъектовОбработано = 0;
ПроблемныхОбъектов = 0; ПроблемныхОбъектов = 0;
ОбъектыСТЧПредставления = ОбъектыСТЧПредставления(); ОбъектыСТЧПредставления = ОбъектыСТЧПредставления(ВариантДанныхДляОбработкиСУчетомРазделения());
Для Каждого ИмяОбъектСТЧПредставления Из ОбъектыСТЧПредставления Цикл Для Каждого ИмяОбъектСТЧПредставления Из ОбъектыСТЧПредставления Цикл
Выборка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ИмяОбъектСТЧПредставления); Выборка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ИмяОбъектСТЧПредставления);
@@ -1164,26 +1102,41 @@
// См. ОбновлениеИнформационнойБазыБСП.ПриДобавленииОбработчиковОбновления. // См. ОбновлениеИнформационнойБазыБСП.ПриДобавленииОбработчиковОбновления.
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
Если Метаданные.Языки.Количество() > 1 Тогда
Обработчик = Обработчики.Добавить(); Обработчик = Обработчики.Добавить();
Обработчик.Процедура = "МультиязычностьСервер.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Версия = "3.1.6.16"; Обработчик.Версия = "3.1.6.16";
Обработчик.Комментарий = НСтр("ru = 'Заполнение значений мультиязычных реквизитов значением основного языка.'");
Если ОбщегоНазначения.РазделениеВключено()
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Обработчик.РежимВыполнения = "Оперативно";
Обработчик.ОбщиеДанные = Истина;
Обработчик.Процедура = "МультиязычностьСервер.ОбработатьОбщиеДанныеДляПереходаНаНовуюВерсию";
Иначе
Обработчик.РежимВыполнения = "Отложенно"; Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Процедура = "МультиязычностьСервер.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("68d400bb-e5bb-49da-a567-ebf7458b29f8"); Обработчик.Идентификатор = Новый УникальныйИдентификатор("68d400bb-e5bb-49da-a567-ebf7458b29f8");
Обработчик.ПроцедураЗаполненияДанныхОбновления = "МультиязычностьСервер.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию"; Обработчик.ПроцедураЗаполненияДанныхОбновления = "МультиязычностьСервер.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы"; Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.Комментарий = НСтр("ru = 'Заполнение значений мультиязычных реквизитов значением основного языка.'");
ОбъектыДляОбработки = ОбновлениеИнформационнойБазыСлужебный.ОбъектыСНачальнымЗаполнениемСтрокой(); ОбъектыСТЧПредставления = ОбъектыСТЧПредставления(ВариантДанныхДляОбработкиСУчетомРазделения());
ОбъектыСтрокой = СтрСоединить(ОбъектыСТЧПредставления(), ","); ОбъектыДляОбработки = ОбъектыСНачальнымЗаполнениемСтрокой(ОбъектыСТЧПредставления);
Если ЗначениеЗаполнено(ОбъектыСтрокой) Тогда
ОбъектыДляОбработки = ОбъектыДляОбработки + "," + ОбъектыСтрокой;
КонецЕсли;
Обработчик.ЧитаемыеОбъекты = ОбъектыДляОбработки; Обработчик.ЧитаемыеОбъекты = ОбъектыДляОбработки;
Обработчик.ИзменяемыеОбъекты = ОбъектыДляОбработки; Обработчик.ИзменяемыеОбъекты = ОбъектыДляОбработки;
Обработчик.БлокируемыеОбъекты = ОбъектыДляОбработки; Обработчик.БлокируемыеОбъекты = ОбъектыДляОбработки;
КонецЕсли;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
// Добавляет или изменяет значения реквизитов в объекте. // Добавляет или изменяет значения реквизитов в объекте.
@@ -1763,20 +1716,24 @@
Возврат СтрЗаканчиваетсяНа(ИмяРеквизита, "Язык1") Или СтрЗаканчиваетсяНа(ИмяРеквизита, "Язык2"); Возврат СтрЗаканчиваетсяНа(ИмяРеквизита, "Язык1") Или СтрЗаканчиваетсяНа(ИмяРеквизита, "Язык2");
КонецФункции КонецФункции
// Возвращаемое значение: // Параметры:
// Массив из Строка // ВариантДанных - Строка - Варианты: Общие, Разделенные, Все
// //
Функция ОбъектыСТЧПредставления() // Возвращаемое значение:
// Массив - Объекты СТЧПредставления
//
Функция ОбъектыСТЧПредставления(ВариантДанных)
ОбъектыСТЧПредставления = Новый Массив; ОбъектыСТЧПредставления = Новый Массив;
Если ВариантДанных = "Разделенные" Или ВариантДанных = "Все" Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ВидыКонтактнойИнформации"].ПолноеИмя()); ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ВидыКонтактнойИнформации"].ПолноеИмя());
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ВариантыОтчетов"].ПолноеИмя()); ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ВариантыОтчетов"].ПолноеИмя());
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ПредопределенныеВариантыОтчетов"].ПолноеИмя());
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ПредопределенныеВариантыОтчетовРасширений"].ПолноеИмя()); ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ПредопределенныеВариантыОтчетовРасширений"].ПолноеИмя());
КонецЕсли; КонецЕсли;
@@ -1786,11 +1743,22 @@
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["НаборыДополнительныхРеквизитовИСведений"].ПолноеИмя()); ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["НаборыДополнительныхРеквизитовИСведений"].ПолноеИмя());
ОбъектыСТЧПредставления.Добавить(Метаданные.ПланыВидовХарактеристик["ДополнительныеРеквизитыИСведения"].ПолноеИмя()); ОбъектыСТЧПредставления.Добавить(Метаданные.ПланыВидовХарактеристик["ДополнительныеРеквизитыИСведения"].ПолноеИмя());
КонецЕсли; КонецЕсли;
КонецЕсли;
Если ВариантДанных = "Общие" Или ВариантДанных = "Все" Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ПредопределенныеВариантыОтчетов"].ПолноеИмя());
КонецЕсли;
КонецЕсли;
Возврат ОбъектыСТЧПредставления; Возврат ОбъектыСТЧПредставления;
КонецФункции КонецФункции
Функция ВариантДанныхДляОбработкиСУчетомРазделения()
Возврат ?(ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных(), "Разделенные", "Все");
КонецФункции
Процедура ЗаполнитьИПеренестиСтрокиИзТЧПредставленияВРеквизиты(Ссылка, ПараметрыЗаполнения, ОбъектовОбработано, ПроблемныхОбъектов) Процедура ЗаполнитьИПеренестиСтрокиИзТЧПредставленияВРеквизиты(Ссылка, ПараметрыЗаполнения, ОбъектовОбработано, ПроблемныхОбъектов)
ОбъектМетаданных = Ссылка.Метаданные(); // ОбъектМетаданных ОбъектМетаданных = Ссылка.Метаданные(); // ОбъектМетаданных
@@ -1881,6 +1849,137 @@
КонецПроцедуры КонецПроцедуры
// Параметры:
// СписокОбъектов - Массив
//
// Возвращаемое значение:
// Строка - список полных имен объектов через запятую
//
Функция ОбъектыСНачальнымЗаполнениемСтрокой(СписокОбъектов)
ОбъектыСНачальнымЗаполнением = ОбъектыСНачальнымЗаполнением(ВариантДанныхДляОбработкиСУчетомРазделения());
Для каждого ОбъектСПредопределеннымиЭлементами Из ОбъектыСНачальнымЗаполнением Цикл
ПолноеИмя = ОбъектСПредопределеннымиЭлементами.ПолноеИмя();
Если СписокОбъектов.Найти(ПолноеИмя) = Неопределено Тогда
СписокОбъектов.Добавить(ПолноеИмя);
КонецЕсли;
КонецЦикла;
Возврат СтрСоединить(СписокОбъектов, ",");
КонецФункции
Функция СписокОбъектовКОбработкеДляПереходаНаНовуюВерсию(ВариантДанных)
ОбъектыКОбработке = Новый Массив();
РазделительЗапросов = Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС;
СведенияОбЯзыках = МультиязычностьПовтИсп.СведенияОбЯзыках();
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык1) Или ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
ОбъектыСПредопределеннымиЭлементами = ОбъектыСНачальнымЗаполнением(ВариантДанных);
ШаблонаЗапроса = "ВЫБРАТЬ
| ДанныеОбъекта.Ссылка
|ИЗ
| &Таблица КАК ДанныеОбъекта
|ГДЕ
| &УсловиеОтбора";
НаборЗапросов = Новый Массив;
Для каждого ОбъектМетаданныхСЭлементами Из ОбъектыСПредопределеннымиЭлементами Цикл
ЛокализуемыеРеквизитыОбъекта = НаименованияЛокализуемыхРеквизитовОбъектаВШапке(ОбъектМетаданныхСЭлементами);
Отборы = Новый Массив;
Для каждого РеквизитОбъекта Из ЛокализуемыеРеквизитыОбъекта Цикл
Если Не РеквизитОбъекта.Значение Тогда
Продолжить;
КонецЕсли;
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык1) И ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
ШаблонОтбора = "ВЫРАЗИТЬ(&Реквизит КАК СТРОКА(1)) <> """"
| И (ВЫРАЗИТЬ(&Язык1 КАК СТРОКА(1)) = """" ИЛИ ВЫРАЗИТЬ(&Язык2 КАК СТРОКА(1)) = """")";
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1", РеквизитОбъекта.Ключ + "Язык1");
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык2", РеквизитОбъекта.Ключ + "Язык2");
Иначе
ШаблонОтбора = "ВЫРАЗИТЬ(&Реквизит КАК СТРОКА(1)) <> """"
| И ВЫРАЗИТЬ(&Язык1Или2 КАК СТРОКА(1)) = """"";
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1Или2", РеквизитОбъекта.Ключ + "Язык2");
Иначе
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1Или2", РеквизитОбъекта.Ключ + "Язык1");
КонецЕсли;
КонецЕсли;
ТекстОтбора = СтрЗаменить(ШаблонОтбора, "&Реквизит", РеквизитОбъекта.Ключ);
Отборы.Добавить(ТекстОтбора);
КонецЦикла;
Если Отборы.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
ТекстЗапросаПредварительный = СтрЗаменить(ШаблонаЗапроса, "&Таблица", ОбъектМетаданныхСЭлементами.ПолноеИмя());
ТекстЗапросаПредварительный = СтрЗаменить(ТекстЗапросаПредварительный, "&УсловиеОтбора", СтрСоединить(Отборы, " ИЛИ "));
НаборЗапросов.Добавить(ТекстЗапросаПредварительный);
КонецЦикла;
Если НаборЗапросов.Количество() > 0 Тогда
Запрос = Новый Запрос;
Запрос.Текст = СтрСоединить(НаборЗапросов, РазделительЗапросов);
РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
ОбъектыКОбработке = РезультатыЗапроса.ВыгрузитьКолонку("Ссылка");
КонецЕсли;
КонецЕсли;
// Отдельная порция объектов для регистрации с табличной частью Представления
ОбъектыСТЧПредставления = ОбъектыСТЧПредставления(ВариантДанных);
Если ОбъектыСТЧПредставления.Количество() > 0 Тогда
ШаблонЗапроса = "ВЫБРАТЬ
| СправочникСТЧПредставления.Ссылка
|ИЗ
| #Таблица КАК СправочникСТЧПредставления";
НаборЗапросов = Новый Массив;
Для Каждого ИмяОбъектаМетаданных Из ОбъектыСТЧПредставления Цикл
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаМетаданных);
ТекстЗапроса = СтрЗаменить(ШаблонЗапроса, "#Таблица", ОбъектМетаданных.ПолноеИмя());
НаборЗапросов.Добавить(ТекстЗапроса);
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст = СтрСоединить(НаборЗапросов, РазделительЗапросов);
РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
ОбъектыСТабличнойЧастьюПредставлениеКОбработке = РезультатыЗапроса.ВыгрузитьКолонку("Ссылка");
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОбъектыКОбработке, ОбъектыСТабличнойЧастьюПредставлениеКОбработке);
КонецЕсли;
Возврат ОбъектыКОбработке;
КонецФункции
#Область ИзменениеЯзыка #Область ИзменениеЯзыка
// Данные для изменения мультиязычных реквизитов. // Данные для изменения мультиязычных реквизитов.
@@ -2606,6 +2705,35 @@
Возврат "Язык2"; Возврат "Язык2";
КонецФункции КонецФункции
Функция ОбъектыСНачальнымЗаполнением(ВариантДанных)
ОбъектыСПредопределеннымиЭлементами = ОбновлениеИнформационнойБазыСлужебный.ОбъектыСНачальнымЗаполнением();
Если Не ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
Возврат ОбъектыСПредопределеннымиЭлементами;
КонецЕсли;
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
Позиция = ОбъектыСПредопределеннымиЭлементами.Количество() - 1;
Пока Позиция >= 0 Цикл
ЭтоРазделенныйОбъектМетаданных = МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(ОбъектыСПредопределеннымиЭлементами[Позиция]);
Если ВариантДанных = "Общие" И ЭтоРазделенныйОбъектМетаданных Тогда
Если ЭтоРазделенныйОбъектМетаданных Тогда
ОбъектыСПредопределеннымиЭлементами.Удалить(Позиция);
КонецЕсли;
ИначеЕсли Не ЭтоРазделенныйОбъектМетаданных Тогда
ОбъектыСПредопределеннымиЭлементами.Удалить(Позиция);
КонецЕсли;
Позиция = Позиция - 1;
КонецЦикла;
Возврат ОбъектыСПредопределеннымиЭлементами;
КонецФункции
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -45,7 +45,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.7.96"; Описание.Версия = "3.1.7.110";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -1787,21 +1787,6 @@
КонецФункции КонецФункции
// Возвращаемое значение:
// Строка - список полных имен объектов через запятую
//
Функция ОбъектыСНачальнымЗаполнениемСтрокой() Экспорт
ОбъектыСНачальнымЗаполнением = ОбъектыСНачальнымЗаполнением();
Список = Новый Массив;
Для каждого ОбъектСПредопределеннымиЭлементами Из ОбъектыСНачальнымЗаполнением Цикл
Список.Добавить(ОбъектСПредопределеннымиЭлементами.ПолноеИмя());
КонецЦикла;
Возврат СтрСоединить(Список, ",");
КонецФункции
Функция НастройкиПредопределенныхЭлементов(МенеджерОбъекта, ПредопределенныеДанные) Экспорт Функция НастройкиПредопределенныхЭлементов(МенеджерОбъекта, ПредопределенныеДанные) Экспорт
ПользовательскиеНастройкиЗаполненияЭлементов = ПользовательскиеНастройкиЗаполненияЭлементов(); ПользовательскиеНастройкиЗаполненияЭлементов = ПользовательскиеНастройкиЗаполненияЭлементов();
@@ -1355,19 +1355,21 @@
// Есть возможность переопределить процедуру поиска подчиненных объектов. // Есть возможность переопределить процедуру поиска подчиненных объектов.
// Для этого в общем модуле или модуле менеджера необходимо реализовать процедуру // Для этого в общем модуле или модуле менеджера необходимо реализовать процедуру
// ПриПоискеЗаменыСсылок с параметрами: // ПриПоискеЗаменыСсылок с параметрами:
// ПарыЗамен - Соответствие - содержит пары значение Оригинал/Дубль // ПарыЗамен - Соответствие - содержит пары значение оригинал/дубль.
// НеобработанныеЗначенияОригиналов - Массив из Структура - содержит дополнительную информацию // НеобработанныеЗначенияОригиналов - Массив из Структура - дополнительная информация об обрабатываемых объектах:
// об обрабатываемых объектах:
// * ЗаменяемоеЗначение - ПроизвольнаяСсылка - оригинальное значение заменяемого объекта // * ЗаменяемоеЗначение - ПроизвольнаяСсылка - оригинальное значение заменяемого объекта
// * ИспользуемыеСвязи - см. ПоискИУдалениеДублей.СвязиПодчиненныхОбъектовПоТипам // * ИспользуемыеСвязи - см. ПоискИУдалениеДублей.СвязиПодчиненныхОбъектовПоТипам
// * ЗначениеКлючевыхРеквизитов - Структура - Ключ - имя реквизита, значение - значение реквизита // * ЗначениеКлючевыхРеквизитов - Структура - где Ключ - имя реквизита, значение - значение реквизита.
// //
// Возвращаемое значение: // Возвращаемое значение:
// ТаблицаЗначений: // ТаблицаЗначений:
// * ПодчиненныйОбъект - ОбъектМетаданных - (обязательный) объект метаданных подчиненного объекта. // * ПодчиненныйОбъект - ОбъектМетаданных - объект метаданных подчиненного объекта.
// * ПоляСвязей - Строка - (обязательный) реквизиты, определяющие связь между основными и подчиненными объектами. // * ПоляСвязей - Строка - имена реквизитов, определяющих связь между основными и подчиненными объектами.
// * ПриПоискеЗаменыСсылок - Строка - общий модуль или модуль менеджера, в котором есть процедура ПриПоискеЗаменыСсылок. // * ПриПоискеЗаменыСсылок - Строка - опционально. Имя общего модуля или модуля менеджера, в котором определена
// * ВыполнятьАвтоматическийПоискЗаменСсылок - см. ЗаменитьСсылки // процедура ПриПоискеЗаменыСсылок.
// * ВыполнятьАвтоматическийПоискЗаменСсылок - Булево - если указать Истина, то будет выполнена попытка поиска замен
// для подчиненных объектов по значениям полей связи. В случае, если объект не существует,
// будет выполнена процедура ПриПоискеЗаменыСсылок. См. также ЗаменитьСсылки.
// //
Функция ПодчиненныеОбъекты() Экспорт Функция ПодчиненныеОбъекты() Экспорт
@@ -1380,8 +1382,7 @@
ИнтеграцияПодсистемБСП.ПриОпределенииПодчиненныхОбъектов(ОписаниеСвязей); ИнтеграцияПодсистемБСП.ПриОпределенииПодчиненныхОбъектов(ОписаниеСвязей);
ОбщегоНазначенияПереопределяемый.ПриОпределенииПодчиненныхОбъектов(ОписаниеСвязей); ОбщегоНазначенияПереопределяемый.ПриОпределенииПодчиненныхОбъектов(ОписаниеСвязей);
// Если передали соответствие или структуру // Если передали соответствие или структуру преобразуем к необходимому типу.
// преобразуем к необходимому типу
Для каждого СтрокаСвязи Из ОписаниеСвязей Цикл Для каждого СтрокаСвязи Из ОписаниеСвязей Цикл
ТипОписанияПолейСвязи = ТипЗнч(СтрокаСвязи.ПоляСвязей); ТипОписанияПолейСвязи = ТипЗнч(СтрокаСвязи.ПоляСвязей);
@@ -825,9 +825,6 @@
Подменю = СведенияОПодменюКоманды.Подменю; // ГруппаФормы Подменю = СведенияОПодменюКоманды.Подменю; // ГруппаФормы
ИмяКорневогоЭлемента = ?(ВидКоманд.Имя = "КоманднаяПанель", Команда.ИмяВФорме, Подменю.Имя); ИмяКорневогоЭлемента = ?(ВидКоманд.Имя = "КоманднаяПанель", Команда.ИмяВФорме, Подменю.Имя);
Если КорневыеПодменюИКоманды.Найти(ИмяКорневогоЭлемента) = Неопределено Тогда
КорневыеПодменюИКоманды.Добавить(ИмяКорневогоЭлемента);
КонецЕсли;
КомандаФормы = Форма.Команды.Добавить(Команда.ИмяВФорме); КомандаФормы = Форма.Команды.Добавить(Команда.ИмяВФорме);
КомандаФормы.Действие = "Подключаемый_ВыполнитьКоманду"; КомандаФормы.Действие = "Подключаемый_ВыполнитьКоманду";
@@ -858,6 +855,13 @@
ПодключенныеКоманды.КомандыСПометкой.Добавить(ОписаниеКомандыНаКлиенте(Команда, КнопкаФормы)); ПодключенныеКоманды.КомандыСПометкой.Добавить(ОписаниеКомандыНаКлиенте(Команда, КнопкаФормы));
КонецЕсли; КонецЕсли;
СвойстваКорневогоПодменюКоманды = КорневыеПодменюИКоманды[ИмяКорневогоЭлемента];
Если СвойстваКорневогоПодменюКоманды = Неопределено Тогда
СвойстваКорневогоПодменюКоманды = СвойстваКорневогоПодменюКоманды();
СвойстваКорневогоПодменюКоманды.ЕстьВКоманднойПанели = КнопкаФормы.ПоложениеВКоманднойПанели <> ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю;
КорневыеПодменюИКоманды.Вставить(ИмяКорневогоЭлемента, СвойстваКорневогоПодменюКоманды);
КонецЕсли;
СведенияОПодменюКоманды.ВыведеноКоманд = СведенияОПодменюКоманды.ВыведеноКоманд + 1; СведенияОПодменюКоманды.ВыведеноКоманд = СведенияОПодменюКоманды.ВыведеноКоманд + 1;
СведенияОПодменюКоманды.ПоследняяКоманда = КомандаФормы; СведенияОПодменюКоманды.ПоследняяКоманда = КомандаФормы;
Если Команда.ЕстьУсловияВидимости Тогда Если Команда.ЕстьУсловияВидимости Тогда
@@ -1074,7 +1078,7 @@
Результат.Вставить("ЕстьУсловияВидимости", Ложь); Результат.Вставить("ЕстьУсловияВидимости", Ложь);
Результат.Вставить("ПодменюСУсловиямиВидимости", Новый Массив); Результат.Вставить("ПодменюСУсловиямиВидимости", Новый Массив);
Результат.Вставить("КомандыСПометкой", Новый Массив); Результат.Вставить("КомандыСПометкой", Новый Массив);
Результат.Вставить("КорневыеПодменюИКоманды", Новый Массив); Результат.Вставить("КорневыеПодменюИКоманды", Новый Соответствие);
Результат.Вставить("ДоступностьКоманд", Истина); Результат.Вставить("ДоступностьКоманд", Истина);
Результат.Вставить("АдресТаблицыКоманд", Неопределено); Результат.Вставить("АдресТаблицыКоманд", Неопределено);
Результат.Вставить("ВводНаОснованииЧерезПодключаемыеКоманды"); Результат.Вставить("ВводНаОснованииЧерезПодключаемыеКоманды");
@@ -1086,6 +1090,15 @@
КонецФункции КонецФункции
Функция СвойстваКорневогоПодменюКоманды()
Результат = Новый Структура;
Результат.Вставить("ЕстьВКоманднойПанели", Ложь);
Возврат Результат;
КонецФункции
Функция ЭтоПутьДоРеквизита(Знач ПутьДоРеквизита) Функция ЭтоПутьДоРеквизита(Знач ПутьДоРеквизита)
ПутьДоРеквизита = ВРег(ПутьДоРеквизита); ПутьДоРеквизита = ВРег(ПутьДоРеквизита);
ПутьДоРеквизита = СтрЗаменить(ПутьДоРеквизита, "НЕ ", ""); ПутьДоРеквизита = СтрЗаменить(ПутьДоРеквизита, "НЕ ", "");
@@ -36,14 +36,16 @@
КонецЕсли; КонецЕсли;
Если ДоступностьКоманд <> ПараметрыКлиента.ДоступностьКоманд Тогда Если ДоступностьКоманд <> ПараметрыКлиента.ДоступностьКоманд Тогда
ПараметрыКлиента.ДоступностьКоманд = ДоступностьКоманд; ПараметрыКлиента.ДоступностьКоманд = ДоступностьКоманд;
Для Каждого ИмяКнопкиИлиПодменю Из ПараметрыКлиента.КорневыеПодменюИКоманды Цикл Для Каждого КорневоеПодменюИлиКоманда Из ПараметрыКлиента.КорневыеПодменюИКоманды Цикл
ИмяКнопкиИлиПодменю = КорневоеПодменюИлиКоманда.Ключ;
СвойстваКнопкиИлиПодменю = КорневоеПодменюИлиКоманда.Значение;
КнопкаИлиПодменю = Форма.Элементы[ИмяКнопкиИлиПодменю]; КнопкаИлиПодменю = Форма.Элементы[ИмяКнопкиИлиПодменю];
КнопкаИлиПодменю.Доступность = ДоступностьКоманд; КнопкаИлиПодменю.Доступность = ДоступностьКоманд;
Если ТипЗнч(КнопкаИлиПодменю) = Тип("ГруппаФормы") И КнопкаИлиПодменю.Вид = ВидГруппыФормы.Подменю Тогда Если ТипЗнч(КнопкаИлиПодменю) = Тип("ГруппаФормы") И КнопкаИлиПодменю.Вид = ВидГруппыФормы.Подменю Тогда
СкрытьПоказатьВсеПодчиненныеКнопки(КнопкаИлиПодменю, ДоступностьКоманд); СкрытьПоказатьВсеПодчиненныеКнопки(КнопкаИлиПодменю, ДоступностьКоманд);
КомандаЗаглушка = Форма.Элементы.Найти(ИмяКнопкиИлиПодменю + "Заглушка"); КомандаЗаглушка = Форма.Элементы.Найти(ИмяКнопкиИлиПодменю + "Заглушка");
Если КомандаЗаглушка <> Неопределено Тогда Если КомандаЗаглушка <> Неопределено Тогда
КомандаЗаглушка.Видимость = Не ДоступностьКоманд; КомандаЗаглушка.Видимость = Не ДоступностьКоманд И СвойстваКнопкиИлиПодменю.ЕстьВКоманднойПанели;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -213,7 +215,7 @@
// ** КомандыСУсловиямиВидимости - Массив // ** КомандыСУсловиямиВидимости - Массив
// ** ЕстьКомандыБезУсловийВидимости - Булево // ** ЕстьКомандыБезУсловийВидимости - Булево
// * КомандыСПометкой - Массив // * КомандыСПометкой - Массив
// * КорневыеПодменюИКоманды - Массив // * КорневыеПодменюИКоманды - Соответствие из см. ПодключаемыеКоманды.СвойстваКорневогоПодменюКоманды
// * ДоступностьКоманд - Булево // * ДоступностьКоманд - Булево
// * АдресТаблицыКоманд - Строка // * АдресТаблицыКоманд - Строка
// * ВводНаОснованииЧерезПодключаемыеКоманды - Булево // * ВводНаОснованииЧерезПодключаемыеКоманды - Булево
@@ -789,7 +789,7 @@
КонецЕсли; КонецЕсли;
Возврат УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзJSONВXML(Адрес, Перечисления.ТипыКонтактнойИнформации.Адрес); Возврат УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзJSONВXML(Адрес, Перечисления.ТипыКонтактнойИнформации.Адрес);
КонецФункции КонецФункции
@@ -1616,7 +1616,7 @@
Функция КонвертироватьАдресИзJSONВXML(Знач ЗначенияПолей, Знач Представление, Знач ОжидаемыйТип = Неопределено) Экспорт Функция КонвертироватьАдресИзJSONВXML(Знач ЗначенияПолей, Знач Представление, Знач ОжидаемыйТип = Неопределено) Экспорт
// Старый формат через разделитель строк и равенство. // Старый формат через разделитель строк и равенство.
ПространствоИмен = УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(); ПространствоИмен = УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация")); Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация"));
Результат.Состав = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "Адрес")); Результат.Состав = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "Адрес"));
@@ -1767,16 +1767,16 @@
Если ТипЗнч(КонтактнаяИнформация) = Тип("Строка") Тогда Если ТипЗнч(КонтактнаяИнформация) = Тип("Строка") Тогда
Тип = УправлениеКонтактнойИнформацией.ТипКонтактнойИнформации(КонтактнаяИнформация); Тип = УправлениеКонтактнойИнформацией.ТипКонтактнойИнформации(КонтактнаяИнформация);
ИначеЕсли ТипЗнч(КонтактнаяИнформация) = Тип("ОбъектXDTO") Тогда ИначеЕсли ТипЗнч(КонтактнаяИнформация) = Тип("ОбъектXDTO") Тогда
ПространствоИмен = УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(); ПространствоИмен = УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен();
НайденТип = ?(КонтактнаяИнформация.Состав = Неопределено, Неопределено, КонтактнаяИнформация.Состав.Тип()); НайденТип = ?(КонтактнаяИнформация.Состав = Неопределено, Неопределено, КонтактнаяИнформация.Состав.Тип());
Тип = УправлениеКонтактнойИнформациейСлужебный.СоответствиеXDTOТиповКонтактнойИнформации(НайденТип); Тип = УправлениеКонтактнойИнформациейЛокализация.СоответствиеXDTOТиповКонтактнойИнформации(НайденТип);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресамиКлиентСервер") <> Неопределено Тогда Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер"); МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер");
Результат = МодульРаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Тип); Результат = МодульРаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Тип);
ОсновнаяСтрана = МодульРаботаСАдресамиКлиентСервер.ОсновнаяСтрана(); ОсновнаяСтрана = МодульРаботаСАдресамиКлиентСервер.ОсновнаяСтрана();
@@ -1793,7 +1793,7 @@
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнформация) Тогда Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнформация) Тогда
// XML // XML
РезультатПреобразования = Новый Структура; РезультатПреобразования = Новый Структура;
XDTOКонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзXML(КонтактнаяИнформация, Тип, РезультатПреобразования, Представление); XDTOКонтактнаяИнформация = УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзXML(КонтактнаяИнформация, Тип, РезультатПреобразования, Представление);
Результат.Value = XDTOКонтактнаяИнформация.Представление; Результат.Value = XDTOКонтактнаяИнформация.Представление;
Результат.Comment = XDTOКонтактнаяИнформация.Комментарий; Результат.Comment = XDTOКонтактнаяИнформация.Комментарий;
Иначе Иначе
@@ -1825,7 +1825,7 @@
Если НЕ Формат9Запятых Тогда Если НЕ Формат9Запятых Тогда
ПространствоИмен = УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(); ПространствоИмен = УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен();
Состав = XDTOКонтактнаяИнформация.Состав; Состав = XDTOКонтактнаяИнформация.Состав;
Если Состав = Неопределено Тогда Если Состав = Неопределено Тогда
@@ -1846,8 +1846,8 @@
АдресРФ = Состав.Состав; АдресРФ = Состав.Состав;
ИначеЕсли ИначеЕсли
XDTOТип = ФабрикаXDTO.Тип(УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(), "НомерТелефона") XDTOТип = ФабрикаXDTO.Тип(УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен(), "НомерТелефона")
Или XDTOТип = ФабрикаXDTO.Тип(УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(), "НомерФакса") Тогда Или XDTOТип = ФабрикаXDTO.Тип(УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен(), "НомерФакса") Тогда
Результат.CountryCode = Состав.КодСтраны; Результат.CountryCode = Состав.КодСтраны;
Результат.AreaCode = Состав.КодГорода; Результат.AreaCode = Состав.КодГорода;
@@ -2207,7 +2207,7 @@
КонецЕсли; КонецЕсли;
Если ТипЗнч(АдресРФ) = Тип("ОбъектXDTO") Тогда Если ТипЗнч(АдресРФ) = Тип("ОбъектXDTO") Тогда
Возврат УправлениеКонтактнойИнформацией.ПолучитьXDTOРеквизитОбъекта(АдресРФ, XPathРайона()); Возврат ПолучитьXDTOРеквизитОбъекта(АдресРФ, XPathРайона());
КонецЕсли; КонецЕсли;
Возврат Неопределено; Возврат Неопределено;
@@ -2220,6 +2220,40 @@
КонецФункции КонецФункции
// Получение глубокого свойства объекта.
//
// Параметры:
// ОбъектXTDO - ОбъектXDTO
// XPath -Строка
//
// Возвращаемое значение:
// ОбъектXDTO
//
Функция ПолучитьXDTOРеквизитОбъекта(ОбъектXTDO, XPath)
// Переносов строки в XPath не ожидаем.
СтрокаСвойств = СтрЗаменить(СтрЗаменить(XPath, "/", Символы.ПС), Символы.ПС + Символы.ПС, "/");
ЧислоСвойств = СтрЧислоСтрок(СтрокаСвойств);
Если ЧислоСвойств = 1 Тогда
Результат = ОбъектXTDO.Получить(СтрокаСвойств);
Если ТипЗнч(Результат) = Тип("ОбъектXDTO") Тогда
Возврат Результат.Значение;
КонецЕсли;
Возврат Результат;
КонецЕсли;
Результат = ?(ЧислоСвойств = 0, Неопределено, ОбъектXTDO);
Для Индекс = 1 По ЧислоСвойств Цикл
Результат = Результат.Получить(СтрПолучитьСтроку(СтрокаСвойств, Индекс));
Если Результат = Неопределено Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
Функция СвРайМО(АдресРФ) Функция СвРайМО(АдресРФ)
Если АдресРФ.СвРайМО <> Неопределено Тогда Если АдресРФ.СвРайМО <> Неопределено Тогда
Возврат АдресРФ.СвРайМО; Возврат АдресРФ.СвРайМО;
@@ -2389,7 +2423,7 @@
АдресПоПолям.ТипАдреса = АдресИзJSON.AddressType; АдресПоПолям.ТипАдреса = АдресИзJSON.AddressType;
АдресПоПолям.Страна = АдресИзJSON.Country; АдресПоПолям.Страна = АдресИзJSON.Country;
АдресПоПолям.КодСтраны = КодыСтраны(АдресИзJSON); АдресПоПолям.КодСтраны = КодыСтраны(АдресИзJSON);
НаименованиеРегиона = СокрЛП(АдресИзJSON["Area"] + " " +АдресИзJSON["AreaType"]); НаименованиеРегиона = СокрЛП(АдресИзJSON["area"] + " " +АдресИзJSON["areaType"]);
ЭтоНациональныйАдрес = ?(СтрСравнить(АдресИзJSON.Country, РаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование) = 0, Истина, Ложь); ЭтоНациональныйАдрес = ?(СтрСравнить(АдресИзJSON.Country, РаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование) = 0, Истина, Ложь);
АдресПоПолям.КодРегиона = ?(ЭтоНациональныйАдрес, КодРегиона(НаименованиеРегиона), "");; АдресПоПолям.КодРегиона = ?(ЭтоНациональныйАдрес, КодРегиона(НаименованиеРегиона), "");;
@@ -807,6 +807,24 @@
КонецФункции КонецФункции
/////////////////////////////////////
// Работа с XDTO
// Возвращает признак того, является ли строка данных контактной информации XML данными.
//
// Параметры:
// Текст - Строка - проверяемая строка.
//
// Возвращаемое значение:
// Булево - результат проверки.
//
Функция ЭтоКонтактнаяИнформацияВXML(Знач Текст) Экспорт
Возврат ТипЗнч(Текст) = Тип("Строка") И СтрНачинаетсяС(СокрЛ(Текст), "<");
КонецФункции
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -1416,7 +1416,7 @@
Письмо.Отправитель.ОтображаемоеИмя = РеквизитыОтправителя.ИмяПользователя; Письмо.Отправитель.ОтображаемоеИмя = РеквизитыОтправителя.ИмяПользователя;
Письмо.Отправитель.Адрес = РеквизитыОтправителя.АдресЭлектроннойПочты; Письмо.Отправитель.Адрес = РеквизитыОтправителя.АдресЭлектроннойПочты;
Если РеквизитыОтправителя.ОтправлятьСкрытыеКопииПисемНаЭтотАдрес Тогда Если ПротоколПолученияПочты = ПротоколИнтернетПочты.POP3 И РеквизитыОтправителя.ОтправлятьСкрытыеКопииПисемНаЭтотАдрес Тогда
Получатель = Письмо.СлепыеКопии.Добавить(РеквизитыОтправителя.АдресЭлектроннойПочты); Получатель = Письмо.СлепыеКопии.Добавить(РеквизитыОтправителя.АдресЭлектроннойПочты);
Получатель.ОтображаемоеИмя = РеквизитыОтправителя.ИмяПользователя; Получатель.ОтображаемоеИмя = РеквизитыОтправителя.ИмяПользователя;
КонецЕсли; КонецЕсли;
@@ -5174,6 +5174,8 @@
Элементы.ХранитьВерсии.Видимость = ВозможностьСоздаватьВерсииФайлов; Элементы.ХранитьВерсии.Видимость = ВозможностьСоздаватьВерсииФайлов;
КонецЕсли; КонецЕсли;
Контекст.ДатаМодификации = МестноеВремя(Контекст.ЭтотОбъект.Объект.ДатаМодификацииУниверсальная);
КриптографияПриСозданииФормыНаСервере(Контекст, Ложь); КриптографияПриСозданииФормыНаСервере(Контекст, Ложь);
ЗаполнитьСписокПодписей(Контекст, Параметры.ЗначениеКопирования); ЗаполнитьСписокПодписей(Контекст, Параметры.ЗначениеКопирования);
ЗаполнитьСписокШифрования(Контекст, Параметры.ЗначениеКопирования); ЗаполнитьСписокШифрования(Контекст, Параметры.ЗначениеКопирования);
@@ -8804,10 +8806,9 @@
ФайлСсылка = Источник.Владелец; ФайлСсылка = Источник.Владелец;
РеквизитыФайла = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ФайлСсылка, РеквизитыФайла = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ФайлСсылка,
"ТекущаяВерсия, ИндексКартинки, Размер, ДатаСоздания, Изменил, Расширение, Том, ПутьКФайлу, ДатаМодификацииУниверсальная"); "ТекущаяВерсия, ИндексКартинки, Размер, ДатаМодификацииУниверсальная, Изменил, Расширение, Том, ПутьКФайлу, ДатаМодификацииУниверсальная");
Если РеквизитыФайла.Размер <> ТекущаяВерсия.Размер Если РеквизитыФайла.Размер <> ТекущаяВерсия.Размер
ИЛИ РеквизитыФайла.ДатаСоздания <> ТекущаяВерсия.ДатаСоздания
ИЛИ РеквизитыФайла.Расширение <> ТекущаяВерсия.Расширение ИЛИ РеквизитыФайла.Расширение <> ТекущаяВерсия.Расширение
ИЛИ РеквизитыФайла.Том <> ТекущаяВерсия.Том ИЛИ РеквизитыФайла.Том <> ТекущаяВерсия.Том
ИЛИ РеквизитыФайла.ПутьКФайлу <> ТекущаяВерсия.ПутьКФайлу ИЛИ РеквизитыФайла.ПутьКФайлу <> ТекущаяВерсия.ПутьКФайлу
@@ -8819,19 +8820,19 @@
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(ФайлСсылка)).ПолноеИмя()); ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(ФайлСсылка)).ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлСсылка); ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлСсылка);
БлокировкаДанных.Заблокировать(); БлокировкаДанных.Заблокировать();
ФайлОбъект = ФайлСсылка.ПолучитьОбъект();
// Сменим индекс картинки, возможно, появилась версия или сменился индекс картинки у версии.
ФайлОбъект.ИндексКартинки = ТекущаяВерсия.ИндексКартинки;
// Копируем реквизиты для ускорения работы ограничения на уровне записей. ФайлОбъект = ФайлСсылка.ПолучитьОбъект();
ФайлОбъект.ИндексКартинки = ТекущаяВерсия.ИндексКартинки;
ФайлОбъект.Размер = ТекущаяВерсия.Размер; ФайлОбъект.Размер = ТекущаяВерсия.Размер;
ФайлОбъект.ДатаСоздания = ТекущаяВерсия.ДатаСоздания;
ФайлОбъект.Изменил = ТекущаяВерсия.Автор; ФайлОбъект.Изменил = ТекущаяВерсия.Автор;
ФайлОбъект.Расширение = ТекущаяВерсия.Расширение; ФайлОбъект.Расширение = ТекущаяВерсия.Расширение;
ФайлОбъект.Том = ТекущаяВерсия.Том; ФайлОбъект.Том = ТекущаяВерсия.Том;
ФайлОбъект.ПутьКФайлу = ТекущаяВерсия.ПутьКФайлу; ФайлОбъект.ПутьКФайлу = ТекущаяВерсия.ПутьКФайлу;
ФайлОбъект.ТипХраненияФайла = ТекущаяВерсия.ТипХраненияФайла; ФайлОбъект.ТипХраненияФайла = ТекущаяВерсия.ТипХраненияФайла;
ФайлОбъект.ДатаМодификацииУниверсальная = ТекущаяВерсия.ДатаМодификацииУниверсальная; ФайлОбъект.ДатаМодификацииУниверсальная = ТекущаяВерсия.ДатаМодификацииУниверсальная;
Если Не ЗначениеЗаполнено(ФайлОбъект.ДатаСоздания) Тогда
ФайлОбъект.ДатаСоздания = ТекущаяВерсия.ДатаСоздания;
КонецЕсли;
Если Источник.ДополнительныеСвойства.Свойство("ЗаписьПодписанногоОбъекта") Тогда Если Источник.ДополнительныеСвойства.Свойство("ЗаписьПодписанногоОбъекта") Тогда
ФайлОбъект.ДополнительныеСвойства.Вставить("ЗаписьПодписанногоОбъекта", ФайлОбъект.ДополнительныеСвойства.Вставить("ЗаписьПодписанногоОбъекта",
@@ -437,73 +437,67 @@
#Если Не ВебКлиент И Не МобильныйКлиент Тогда #Если Не ВебКлиент И Не МобильныйКлиент Тогда
// Удаляет резервные копии по заданным настройкам.
//
Процедура УдалитьРезервныеКопииПоНастройке() Экспорт Процедура УдалитьРезервныеКопииПоНастройке() Экспорт
// АПК:566-выкл код никогда не выполнится в браузере.
// Очистка архива с копиями.
ФиксированныеПараметрыРезервногоКопированияИБ = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().РезервноеКопированиеИБ; ФиксированныеПараметрыРезервногоКопированияИБ = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().РезервноеКопированиеИБ;
КаталогХранения = ФиксированныеПараметрыРезервногоКопированияИБ.КаталогХраненияРезервныхКопий; КаталогХранения = ФиксированныеПараметрыРезервногоКопированияИБ.КаталогХраненияРезервныхКопий;
ПараметрыУдаления = ФиксированныеПараметрыРезервногоКопированияИБ.ПараметрыУдаления; ПараметрыУдаления = ФиксированныеПараметрыРезервногоКопированияИБ.ПараметрыУдаления;
Если ПараметрыУдаления.ТипОграничения = "ХранитьВсе" Или КаталогХранения = Неопределено Тогда
Возврат;
КонецЕсли;
Если ПараметрыУдаления.ТипОграничения <> "ХранитьВсе" И КаталогХранения <> Неопределено Тогда // АПК:566-выкл код никогда не выполнится в браузере.
Попытка Попытка
Файл = Новый Файл(КаталогХранения); Файл = Новый Файл(КаталогХранения);
Если НЕ Файл.ЭтоКаталог() Тогда Если НЕ Файл.ЭтоКаталог() Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
МассивФайлов = НайтиФайлы(КаталогХранения, "backup????_??_??_??_??_??*", Ложь); ФайлыРезервныхКопий = НайтиФайлы(КаталогХранения, "backup????_??_??_??_??_??*", Ложь);
СписокУдаляемыхФайлов = Новый Массив; СписокУдаляемыхФайлов = Новый Массив;
// Удаление резервных копий.
Если ПараметрыУдаления.ТипОграничения = "ПоПериоду" Тогда Если ПараметрыУдаления.ТипОграничения = "ПоПериоду" Тогда
Для Каждого ЭлементФайл Из МассивФайлов Цикл Для Каждого ЭлементФайл Из ФайлыРезервныхКопий Цикл
ТекущаяДата = ОбщегоНазначенияКлиент.ДатаСеанса(); ТекущаяДата = ОбщегоНазначенияКлиент.ДатаСеанса();
ЗначениеВСекундах = КоличествоСекундВПериоде(ПараметрыУдаления.ЗначениеВЕдиницахИзмерения, ПараметрыУдаления.ЕдиницаИзмеренияПериода); ЗначениеВСекундах = КоличествоСекундВПериоде(ПараметрыУдаления.ЗначениеВЕдиницахИзмерения,
ПараметрыУдаления.ЕдиницаИзмеренияПериода);
ПроизводитьУдаление = ((ТекущаяДата - ЗначениеВСекундах) > ЭлементФайл.ПолучитьВремяИзменения()); ПроизводитьУдаление = ((ТекущаяДата - ЗначениеВСекундах) > ЭлементФайл.ПолучитьВремяИзменения());
Если ПроизводитьУдаление Тогда Если ПроизводитьУдаление Тогда
СписокУдаляемыхФайлов.Добавить(ЭлементФайл); СписокУдаляемыхФайлов.Добавить(ЭлементФайл.ПолноеИмя);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
ИначеЕсли МассивФайлов.Количество() >= ПараметрыУдаления.КоличествоКопий Тогда ИначеЕсли ФайлыРезервныхКопий.Количество() > ПараметрыУдаления.КоличествоКопий Тогда
СписокФайлов = Новый СписокЗначений; СписокФайлов = Новый СписокЗначений;
СписокФайлов.ЗагрузитьЗначения(МассивФайлов); СписокФайлов.ЗагрузитьЗначения(ФайлыРезервныхКопий);
Для Каждого Файл Из СписокФайлов Цикл Для Каждого Файл Из СписокФайлов Цикл
Файл.Представление = Файл.Значение.ПолноеИмя;
Файл.Значение = Файл.Значение.ПолучитьВремяИзменения(); Файл.Значение = Файл.Значение.ПолучитьВремяИзменения();
КонецЦикла; КонецЦикла;
СписокФайлов.СортироватьПоЗначению(НаправлениеСортировки.Убыв); СписокФайлов.СортироватьПоЗначению(НаправлениеСортировки.Возр);
ДатаПоследнегоАрхива = СписокФайлов[ПараметрыУдаления.КоличествоКопий-1].Значение;
Для Каждого ЭлементФайл Из МассивФайлов Цикл
Если ЭлементФайл.ПолучитьВремяИзменения() <= ДатаПоследнегоАрхива Тогда
СписокУдаляемыхФайлов.Добавить(ЭлементФайл);
КонецЕсли;
Для Индекс = 0 По СписокФайлов.Количество() - ПараметрыУдаления.КоличествоКопий - 1 Цикл
СписокУдаляемыхФайлов.Добавить(СписокФайлов[Индекс].Представление);
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
Для Каждого УдаляемыйФайл Из СписокУдаляемыхФайлов Цикл Для Каждого УдаляемыйФайл Из СписокУдаляемыхФайлов Цикл
УдалитьФайлы(УдаляемыйФайл.ПолноеИмя); Попытка
КонецЦикла; УдалитьФайлы(УдаляемыйФайл);
Исключение Исключение
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка", ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка",
НСтр("ru = 'Не удалось провести очистку каталога с резервными копиями.'") + Символы.ПС НСтр("ru = 'Не удалось провести очистку каталога с резервными копиями.'") + Символы.ПС
+ ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,Истина); + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,Истина);
КонецПопытки; КонецПопытки;
КонецЦикла;
КонецЕсли; Исключение
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка",
НСтр("ru = 'Не удалось провести очистку каталога с резервными копиями.'") + Символы.ПС
+ ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,Истина);
КонецПопытки;
// АПК:566-вкл // АПК:566-вкл
@@ -4152,10 +4152,16 @@
Для Каждого ЭлементСостава Из ФункциональнаяОпция.Состав Цикл Для Каждого ЭлементСостава Из ФункциональнаяОпция.Состав Цикл
Объект = ЭлементСостава.Объект; Объект = ЭлементСостава.Объект;
Если Объекты.Получить(Объект) <> Неопределено Тогда Если Объекты.Получить(Объект) <> Неопределено
Или ТипЗнч(Объект) <> Тип("ОбъектМетаданных") Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
ЧастиИмени = СтрРазделить(Объект.ПолноеИмя(), ".", Ложь); Попытка
ПолноеИмя = Объект.ПолноеИмя();
Исключение
ПолноеИмя = "";
КонецПопытки;
ЧастиИмени = СтрРазделить(ПолноеИмя, ".", Ложь);
Если ЧастиИмени.Количество() < 2 Тогда Если ЧастиИмени.Количество() < 2 Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -11152,6 +11152,13 @@
Иначе Иначе
ДополнительныйКонтекст = ДействующиеПараметры.ДополнительныйКонтекст.ДляПользователей; ДополнительныйКонтекст = ДействующиеПараметры.ДополнительныйКонтекст.ДляПользователей;
КонецЕсли; КонецЕсли;
Если Не Контекст.ПриИзмененииУчастниковГруппыДоступа
И ДополнительныйКонтекст.СпискиСОтключеннымОграничением.Получить(Контекст.ПолноеИмя) <> Неопределено
И ДополнительныйКонтекст.СпискиСЗаписьюКлючейДляЗависимыхСписковБезКлючей.Получить(Контекст.ПолноеИмя) <> Неопределено Тогда
Возврат Истина;
КонецЕсли;
СвойстваОграничения = ДополнительныйКонтекст.СвойстваОграниченияСписков.Получить(Контекст.ПолноеИмя); СвойстваОграничения = ДополнительныйКонтекст.СвойстваОграниченияСписков.Получить(Контекст.ПолноеИмя);
Если ДополнительныйКонтекст.СпискиСОтключеннымОграничением.Получить(Контекст.ПолноеИмя) <> Неопределено Если ДополнительныйКонтекст.СпискиСОтключеннымОграничением.Получить(Контекст.ПолноеИмя) <> Неопределено
@@ -32144,7 +32151,8 @@
Процедура ДобавитьТекстЗапросаУстаревшихЭлементовДанных(Результат, Контекст) Процедура ДобавитьТекстЗапросаУстаревшихЭлементовДанных(Результат, Контекст)
Если Результат.ЭтоСсылочныйТип Тогда Если Результат.ЭтоСсылочныйТип Тогда
ТипСсылки = ?(ЗначениеЗаполнено(Результат.Версия), ТипСсылки = ?(ЗначениеЗаполнено(Результат.Версия)
Или ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(Результат.Список) <> Неопределено,
ТипСсылкиПоПолномуИмениМетаданных(Результат.Список), Неопределено); ТипСсылкиПоПолномуИмениМетаданных(Результат.Список), Неопределено);
ТипыСсылок = УправлениеДоступомСлужебныйПовтИсп.ТипыПоляТаблицы("ОпределяемыйТип.ВладелецЗначенийКлючейДоступа"); ТипыСсылок = УправлениеДоступомСлужебныйПовтИсп.ТипыПоляТаблицы("ОпределяемыйТип.ВладелецЗначенийКлючейДоступа");
@@ -742,10 +742,15 @@
// //
Функция КонтактнаяИнформацияВXML(Знач ЗначенияПолей, Знач Представление = "", Знач ОжидаемыйВид = Неопределено) Экспорт Функция КонтактнаяИнформацияВXML(Знач ЗначенияПолей, Знач Представление = "", Знач ОжидаемыйВид = Неопределено) Экспорт
Результат = УправлениеКонтактнойИнформациейСлужебный.ПривестиКонтактнуюИнформациюXML(Новый Структура( Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Результат = МодульУправлениеКонтактнойИнформациейЛокализация.ПривестиКонтактнуюИнформациюXML(Новый Структура(
"ЗначенияПолей, Представление, ВидКонтактнойИнформации", "ЗначенияПолей, Представление, ВидКонтактнойИнформации",
ЗначенияПолей, Представление, ОжидаемыйВид)); ЗначенияПолей, Представление, ОжидаемыйВид));
Возврат Результат.ДанныеXML; Возврат Результат.ДанныеXML;
КонецЕсли;
Возврат "";
КонецФункции КонецФункции
@@ -851,7 +856,15 @@
КонецЕсли; КонецЕсли;
Возврат УправлениеКонтактнойИнформациейСлужебный.ТипКонтактнойИнформации(КонтактнаяИнформация); Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Возврат МодульУправлениеКонтактнойИнформациейЛокализация.ТипКонтактнойИнформации(КонтактнаяИнформация);
КонецЕсли;
Возврат Перечисления.ТипыКонтактнойИнформации.ПустаяСсылка();
КонецФункции КонецФункции
// Преобразует представление контактной информации во внутренний формат JSON. // Преобразует представление контактной информации во внутренний формат JSON.
@@ -958,24 +971,19 @@
// //
Процедура УстановитьКомментарийКонтактнойИнформации(КонтактнаяИнформация, Знач Комментарий) Экспорт Процедура УстановитьКомментарийКонтактнойИнформации(КонтактнаяИнформация, Знач Комментарий) Экспорт
ЭтоСтрока = ТипЗнч(КонтактнаяИнформация) = Тип("Строка");
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда
КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(КонтактнаяИнформация, Неопределено); КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(КонтактнаяИнформация, Неопределено);
КонтактнаяИнформацияСтруктурой.comment = Комментарий; КонтактнаяИнформацияСтруктурой.comment = Комментарий;
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(КонтактнаяИнформацияСтруктурой); КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(КонтактнаяИнформацияСтруктурой);
Возврат; Возврат;
ИначеЕсли ЭтоСтрока И Не УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнформация) Тогда
// Предыдущий формат значений полей, комментарий отсутствует.
Возврат;
КонецЕсли; КонецЕсли;
ОбъектXDTO = ?(ЭтоСтрока, УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзXML(КонтактнаяИнформация), КонтактнаяИнформация); Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
ОбъектXDTO.Комментарий = Комментарий;
Если ЭтоСтрока Тогда МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML(ОбъектXDTO); МодульУправлениеКонтактнойИнформациейЛокализация.УстановитьКомментарийКонтактнойИнформации(КонтактнаяИнформация, Комментарий);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -1104,7 +1112,20 @@
// * Значение2 - Строка - значение, соответствующая объекту, переданному в параметре Данные2. // * Значение2 - Строка - значение, соответствующая объекту, переданному в параметре Данные2.
// //
Функция РазличияКонтактнойИнформации(Знач Данные1, Знач Данные2) Экспорт Функция РазличияКонтактнойИнформации(Знач Данные1, Знач Данные2) Экспорт
Возврат УправлениеКонтактнойИнформациейСлужебный.РазличияКонтактнойИнформации(Данные1, Данные2);
Результат = Новый ТаблицаЗначений;
Результат.Колонки.Добавить("Путь", ОбщегоНазначения.ОписаниеТипаСтрока(0));
Результат.Колонки.Добавить("Описание", ОбщегоНазначения.ОписаниеТипаСтрока(0));
Результат.Колонки.Добавить("Значение1", ОбщегоНазначения.ОписаниеТипаСтрока(0));
Результат.Колонки.Добавить("Значение2", ОбщегоНазначения.ОписаниеТипаСтрока(0));
Если Не УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
Возврат Результат;
КонецЕсли;
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Возврат МодульУправлениеКонтактнойИнформациейЛокализация.РазличияКонтактнойИнформации(Данные1, Данные2, Результат);
КонецФункции КонецФункции
// Создает временную таблицу с контактной информацией нескольких объектов. // Создает временную таблицу с контактной информацией нескольких объектов.
@@ -1364,7 +1385,7 @@
ЗаполнитьЗначенияСвойств(Результат, Выборка); ЗаполнитьЗначенияСвойств(Результат, Выборка);
Иначе Иначе
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда Если Не УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
Возврат Неопределено; Возврат Неопределено;
КонецЕсли; КонецЕсли;
@@ -1402,7 +1423,7 @@
// //
Функция ДанныеКлассификатораСтранМираПоКоду(Знач Код, Знач ТипКода = "КодСтраны") Экспорт Функция ДанныеКлассификатораСтранМираПоКоду(Знач Код, Знач ТипКода = "КодСтраны") Экспорт
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда Если Не УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
Возврат Неопределено; Возврат Неопределено;
КонецЕсли; КонецЕсли;
@@ -1452,7 +1473,7 @@
// //
Функция ДанныеКлассификатораСтранМираПоНаименованию(Знач Наименование) Экспорт Функция ДанныеКлассификатораСтранМираПоНаименованию(Знач Наименование) Экспорт
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда Если Не УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
Возврат Неопределено; Возврат Неопределено;
КонецЕсли; КонецЕсли;
@@ -1513,7 +1534,7 @@
Возврат РезультатЗапроса.Ссылка; Возврат РезультатЗапроса.Ссылка;
КонецЕсли; КонецЕсли;
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда Если Не УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
Возврат Справочники.СтраныМира.ПустаяСсылка(); Возврат Справочники.СтраныМира.ПустаяСсылка();
КонецЕсли; КонецЕсли;
@@ -1596,7 +1617,7 @@
СтраныЕАЭС = ПользовательскиеСтраныЕАЭС(); СтраныЕАЭС = ПользовательскиеСтраныЕАЭС();
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда Если Не УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
Возврат СтраныЕАЭС; Возврат СтраныЕАЭС;
КонецЕсли; КонецЕсли;
@@ -3012,10 +3033,14 @@
НоваяСтрока = Объект.КонтактнаяИнформация.Добавить(); НоваяСтрока = Объект.КонтактнаяИнформация.Добавить();
НоваяСтрока.Представление = ОбъектКИ.Value; НоваяСтрока.Представление = ОбъектКИ.Value;
НоваяСтрока.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ОбъектКИ); НоваяСтрока.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ОбъектКИ);
НоваяСтрока.ЗначенияПолей = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзJSONВXML(ОбъектКИ, ТипИнформации);
НоваяСтрока.Вид = ВидИнформации; НоваяСтрока.Вид = ВидИнформации;
НоваяСтрока.Тип = ТипИнформации; НоваяСтрока.Тип = ТипИнформации;
Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
НоваяСтрока.ЗначенияПолей = МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзJSONВXML(ОбъектКИ, ТипИнформации);
КонецЕсли;
Если ЗначениеЗаполнено(Дата) Если ЗначениеЗаполнено(Дата)
И УправлениеКонтактнойИнформациейСлужебныйПовтИсп.КонтактнаяИнформацияОбъектаСодержитКолонкуДействуетС(Объект.Ссылка) Тогда И УправлениеКонтактнойИнформациейСлужебныйПовтИсп.КонтактнаяИнформацияОбъектаСодержитКолонкуДействуетС(Объект.Ссылка) Тогда
НоваяСтрока.ДействуетС = Дата; НоваяСтрока.ДействуетС = Дата;
@@ -3277,8 +3302,15 @@
// //
Функция КонтактнаяИнформацияXMLПоПредставлению(Представление, ОжидаемыйВид) Экспорт Функция КонтактнаяИнформацияXMLПоПредставлению(Представление, ОжидаемыйВид) Экспорт
Возврат УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML( Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOПоПредставлению(Представление, ОжидаемыйВид)); МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Возврат МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияXDTOВXML(
МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияXDTOПоПредставлению(Представление, ОжидаемыйВид));
КонецЕсли;
Возврат "";
КонецФункции КонецФункции
@@ -4807,7 +4839,10 @@
СтрокаКИ.Представление = УправлениеКонтактнойИнформациейСлужебный.ПредставлениеКонтактнойИнформации(СтрокаКИ.ЗначенияПолей); СтрокаКИ.Представление = УправлениеКонтактнойИнформациейСлужебный.ПредставлениеКонтактнойИнформации(СтрокаКИ.ЗначенияПолей);
КонецЕсли; КонецЕсли;
Результат = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзXML(СтрокаКИ.ЗначенияПолей, СтрокаКИ.Вид, РезультатПреобразования, СтрокаКИ.Представление); Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Результат = МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзXML(СтрокаКИ.ЗначенияПолей, СтрокаКИ.Вид, РезультатПреобразования, СтрокаКИ.Представление);
СтрокаКИ.Комментарий = ?(ЗначениеЗаполнено(Результат.Комментарий), Результат.Комментарий, ""); СтрокаКИ.Комментарий = ?(ЗначениеЗаполнено(Результат.Комментарий), Результат.Комментарий, "");
Если РезультатПреобразования.Количество() = 0 Тогда Если РезультатПреобразования.Количество() = 0 Тогда
@@ -4819,7 +4854,7 @@
КонецЕсли; КонецЕсли;
Если РезультатПреобразования.СведенияИсправлены Тогда Если РезультатПреобразования.СведенияИсправлены Тогда
СтрокаКИ.ЗначенияПолей = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML(Результат); СтрокаКИ.ЗначенияПолей = МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияXDTOВXML(Результат);
КонецЕсли; КонецЕсли;
Если РезультатПреобразования.Свойство("ТекстОшибки") Тогда Если РезультатПреобразования.Свойство("ТекстОшибки") Тогда
@@ -4827,6 +4862,7 @@
КонецЕсли; КонецЕсли;
Форма.Модифицированность = Истина; Форма.Модифицированность = Истина;
КонецЕсли;
Иначе Иначе
@@ -4901,7 +4937,7 @@
СведенияОТелефоне = СведенияОТелефоне(Источник); СведенияОТелефоне = СведенияОТелефоне(Источник);
МодульРаботаСАдресами = Неопределено; МодульРаботаСАдресами = Неопределено;
Если Метаданные.Обработки.Найти("РасширенныйВводКонтактнойИнформации") <> Неопределено Тогда Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами"); МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
КонецЕсли; КонецЕсли;
@@ -5368,7 +5404,7 @@
ФорматКонтактнойИнформации = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СтрокаКонтактнойИнформации.Вид, ФорматКонтактнойИнформации = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СтрокаКонтактнойИнформации.Вид,
"Тип, ВключатьСтрануВПредставление"); "Тип, ВключатьСтрануВПредставление");
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами"); МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
МодульРаботаСАдресами.ОпределитьФорматКонтактнойИнформации(ФорматКонтактнойИнформации); МодульРаботаСАдресами.ОпределитьФорматКонтактнойИнформации(ФорматКонтактнойИнформации);
КонецЕсли; КонецЕсли;
@@ -5388,8 +5424,9 @@
СтрокаКонтактнойИнформации.Представление, СтрокаКонтактнойИнформации.Тип); СтрокаКонтактнойИнформации.Представление, СтрокаКонтактнойИнформации.Тип);
СтрокаКонтактнойИнформации.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(АдресПоПолям); СтрокаКонтактнойИнформации.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(АдресПоПолям);
Если ЕстьЗначенияПолей Тогда Если ЕстьЗначенияПолей И УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
СтрокаКонтактнойИнформации.ЗначенияПолей = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзJSONВXML( МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
СтрокаКонтактнойИнформации.ЗначенияПолей = МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзJSONВXML(
СтрокаКонтактнойИнформации.Значение, СтрокаКонтактнойИнформации.Тип); СтрокаКонтактнойИнформации.Значение, СтрокаКонтактнойИнформации.Тип);
КонецЕсли; КонецЕсли;
@@ -5518,7 +5555,7 @@
Функция ОписаниеНовойКонтактнойИнформации(Знач Тип) Экспорт Функция ОписаниеНовойКонтактнойИнформации(Знач Тип) Экспорт
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресамиКлиентСервер") <> Неопределено Тогда Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер"); МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер");
Возврат МодульРаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Тип); Возврат МодульРаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Тип);
КонецЕсли; КонецЕсли;
@@ -5527,40 +5564,6 @@
КонецФункции КонецФункции
// Получение глубокого свойства объекта.
//
// Параметры:
// ОбъектXTDO - ОбъектXDTO
// XPath -Строка
//
// Возвращаемое значение:
// ОбъектXDTO
//
Функция ПолучитьXDTOРеквизитОбъекта(ОбъектXTDO, XPath) Экспорт
// Переносов строки в XPath не ожидаем.
СтрокаСвойств = СтрЗаменить(СтрЗаменить(XPath, "/", Символы.ПС), Символы.ПС + Символы.ПС, "/");
ЧислоСвойств = СтрЧислоСтрок(СтрокаСвойств);
Если ЧислоСвойств = 1 Тогда
Результат = ОбъектXTDO.Получить(СтрокаСвойств);
Если ТипЗнч(Результат) = Тип("ОбъектXDTO") Тогда
Возврат Результат.Значение;
КонецЕсли;
Возврат Результат;
КонецЕсли;
Результат = ?(ЧислоСвойств = 0, Неопределено, ОбъектXTDO);
Для Индекс = 1 По ЧислоСвойств Цикл
Результат = Результат.Получить(СтрПолучитьСтроку(СтрокаСвойств, Индекс));
Если Результат = Неопределено Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
Функция КонтактнаяИнформацияИзРеквизитовФормы(Форма, Объект) Функция КонтактнаяИнформацияИзРеквизитовФормы(Форма, Объект)
КонтактнаяИнформация = НоваяКонтактнаяИнформация(Ложь); КонтактнаяИнформация = НоваяКонтактнаяИнформация(Ложь);
@@ -5650,7 +5653,11 @@
СтрокаКонтактнойИнформации.Представление = ОбъектКИ.Value; СтрокаКонтактнойИнформации.Представление = ОбъектКИ.Value;
СтрокаКонтактнойИнформации.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ОбъектКИ); СтрокаКонтактнойИнформации.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ОбъектКИ);
СтрокаКонтактнойИнформации.ЗначенияПолей = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзJSONВXML(ОбъектКИ, СтрокаТаблицы.Тип);
Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
СтрокаКонтактнойИнформации.ЗначенияПолей = МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзJSONВXML(ОбъектКИ, СтрокаТаблицы.Тип);
КонецЕсли;
Если ЗначениеЗаполнено(ДействуетС) Тогда Если ЗначениеЗаполнено(ДействуетС) Тогда
СтрокаКонтактнойИнформации.Дата = ДействуетС; СтрокаКонтактнойИнформации.Дата = ДействуетС;
@@ -5716,7 +5723,7 @@
ЗаполнитьЗначенияСвойств(ПараметрыВида.НастройкиПроверки, ТекущиеПараметры, "ВключатьСтрануВПредставление, ЗаполнитьЗначенияСвойств(ПараметрыВида.НастройкиПроверки, ТекущиеПараметры, "ВключатьСтрануВПредставление,
|ПроверятьКорректность,СкрыватьНеактуальныеАдреса,ТолькоНациональныйАдрес"); |ПроверятьКорректность,СкрыватьНеактуальныеАдреса,ТолькоНациональныйАдрес");
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами"); МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
МодульРаботаСАдресами.ДополнитьНастройкиПроверкиАдреса(ПараметрыВида, ВидКонтактнойИнформации); МодульРаботаСАдресами.ДополнитьНастройкиПроверкиАдреса(ПараметрыВида, ВидКонтактнойИнформации);
КонецЕсли; КонецЕсли;
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5a2f2284-4f86-4ee4-8b53-296c2787f320">
<name>УправлениеКонтактнойИнформациейЛокализация</name>
<synonym>
<key>ru</key>
<value>Управление контактной информацией локализация</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>
@@ -33,17 +33,34 @@
// Неопределено - если значение состава сложного типа. // Неопределено - если значение состава сложного типа.
// //
Функция СтрокаСоставаКонтактнойИнформации(Знач XMLДанные) Экспорт; Функция СтрокаСоставаКонтактнойИнформации(Знач XMLДанные) Экспорт;
Возврат УправлениеКонтактнойИнформациейСлужебный.СтрокаСоставаКонтактнойИнформации(XMLДанные);
Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Возврат МодульУправлениеКонтактнойИнформациейЛокализация.СтрокаСоставаКонтактнойИнформации(XMLДанные);
КонецЕсли;
Возврат "";
КонецФункции КонецФункции
// Параметры: // Параметры:
// Данные - см. УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеКонтактнойИнформации // Данные - см. УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеКонтактнойИнформации
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. УправлениеКонтактнойИнформациейСлужебный.ПривестиКонтактнуюИнформациюXML // Структура:
// * ДанныеXML - Строка
// * ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации
// - Неопределено
// //
Функция ПривестиКонтактнуюИнформациюXML(Знач Данные) Экспорт Функция ПривестиКонтактнуюИнформациюXML(Знач Данные) Экспорт
Возврат УправлениеКонтактнойИнформациейСлужебный.ПривестиКонтактнуюИнформациюXML(Данные);
Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Возврат МодульУправлениеКонтактнойИнформациейЛокализация.ПривестиКонтактнуюИнформациюXML(Данные);
КонецЕсли;
Возврат Новый Структура("ТипКонтактнойИнформации, ДанныеXML", Неопределено, "");
КонецФункции КонецФункции
// Возвращает найденную ссылку или создает новую страну мира и возвращает ссылку на нее. // Возвращает найденную ссылку или создает новую страну мира и возвращает ссылку на нее.
@@ -6,6 +6,18 @@
// https://creativecommons.org/licenses/by/4.0/legalcode // https://creativecommons.org/licenses/by/4.0/legalcode
/////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область СлужебныйПрограммныйИнтерфейс
Функция ДоступенМодульЛокализации() Экспорт
Возврат Метаданные.ОбщиеМодули.Найти("УправлениеКонтактнойИнформациейЛокализация") <> Неопределено;
КонецФункции
Функция ДоступныМодулиРаботаСАдресами() Экспорт
Возврат Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// Определяет наличие подсистемы АдресныйКлассификатор и наличие записей о регионах в регистре сведений // Определяет наличие подсистемы АдресныйКлассификатор и наличие записей о регионах в регистре сведений
@@ -30,4 +30,35 @@
КонецФункции КонецФункции
// Только для внутреннего использования.
//
Функция ВидыСвойствНабора(Ссылка, УчитыватьПометкуУдаления = Истина) Экспорт
ВидыСвойствНабора = Новый Структура;
ВидыСвойствНабора.Вставить("ДополнительныеРеквизиты", Ложь);
ВидыСвойствНабора.Вставить("ДополнительныеСведения", Ложь);
ТипСсылки = Неопределено;
МетаданныеВладельца = УправлениеСвойствамиСлужебный.МетаданныеВладельцаЗначенийСвойствНабора(Ссылка, УчитыватьПометкуУдаления, ТипСсылки);
Если МетаданныеВладельца = Неопределено Тогда
Возврат ВидыСвойствНабора;
КонецЕсли;
// Проверка использования дополнительных реквизитов.
ВидыСвойствНабора.Вставить(
"ДополнительныеРеквизиты",
МетаданныеВладельца <> Неопределено
И МетаданныеВладельца.ТабличныеЧасти.Найти("ДополнительныеРеквизиты") <> Неопределено );
// Проверка использования дополнительных сведений.
ВидыСвойствНабора.Вставить(
"ДополнительныеСведения",
Метаданные.ОбщиеКоманды.Найти("ДополнительныеСведенияКоманднаяПанель") <> Неопределено
И Метаданные.ОбщиеКоманды.ДополнительныеСведенияКоманднаяПанель.ТипПараметраКоманды.СодержитТип(ТипСсылки));
Возврат Новый ФиксированнаяСтруктура(ВидыСвойствНабора);
КонецФункции
#КонецОбласти #КонецОбласти
@@ -1184,7 +1184,8 @@
ПерваяЧастьИмени = Лев(ИмяПредопределенного, Позиция - 1); ПерваяЧастьИмени = Лев(ИмяПредопределенного, Позиция - 1);
ВтораяЧастьИмени = Прав(ИмяПредопределенного, СтрДлина(ИмяПредопределенного) - Позиция); ВтораяЧастьИмени = Прав(ИмяПредопределенного, СтрДлина(ИмяПредопределенного) - Позиция);
МетаданныеВладельца = Метаданные.НайтиПоПолномуИмени(ПерваяЧастьИмени + "." + ВтораяЧастьИмени); ПолноеИмяТаблицы = ПерваяЧастьИмени + "." + ВтораяЧастьИмени;
МетаданныеВладельца = Метаданные.НайтиПоПолномуИмени(ПолноеИмяТаблицы);
Если МетаданныеВладельца <> Неопределено Тогда Если МетаданныеВладельца <> Неопределено Тогда
ТипСсылки = Тип(ПерваяЧастьИмени + "Ссылка." + ВтораяЧастьИмени); ТипСсылки = Тип(ПерваяЧастьИмени + "Ссылка." + ВтораяЧастьИмени);
@@ -1197,29 +1198,7 @@
// Возвращает использование набором дополнительных реквизитов и сведений. // Возвращает использование набором дополнительных реквизитов и сведений.
Функция ВидыСвойствНабора(Ссылка, УчитыватьПометкуУдаления = Истина) Экспорт Функция ВидыСвойствНабора(Ссылка, УчитыватьПометкуУдаления = Истина) Экспорт
ВидыСвойствНабора = Новый Структура; ВидыСвойствНабора = УправлениеСвойствамиПовтИсп.ВидыСвойствНабора(Ссылка, УчитыватьПометкуУдаления);
ВидыСвойствНабора.Вставить("ДополнительныеРеквизиты", Ложь);
ВидыСвойствНабора.Вставить("ДополнительныеСведения", Ложь);
ТипСсылки = Неопределено;
МетаданныеВладельца = МетаданныеВладельцаЗначенийСвойствНабора(Ссылка, УчитыватьПометкуУдаления, ТипСсылки);
Если МетаданныеВладельца = Неопределено Тогда
Возврат ВидыСвойствНабора;
КонецЕсли;
// Проверка использования дополнительных реквизитов.
ВидыСвойствНабора.Вставить(
"ДополнительныеРеквизиты",
МетаданныеВладельца <> Неопределено
И МетаданныеВладельца.ТабличныеЧасти.Найти("ДополнительныеРеквизиты") <> Неопределено );
// Проверка использования дополнительных сведений.
ВидыСвойствНабора.Вставить(
"ДополнительныеСведения",
Метаданные.ОбщиеКоманды.Найти("ДополнительныеСведенияКоманднаяПанель") <> Неопределено
И Метаданные.ОбщиеКоманды.ДополнительныеСведенияКоманднаяПанель.ТипПараметраКоманды.СодержитТип(ТипСсылки));
Возврат ВидыСвойствНабора; Возврат ВидыСвойствНабора;
КонецФункции КонецФункции
@@ -1643,11 +1622,90 @@
ПредопределенныеНаборыСвойств = УправлениеСвойствамиПовтИсп.ПредопределенныеНаборыСвойств(); ПредопределенныеНаборыСвойств = УправлениеСвойствамиПовтИсп.ПредопределенныеНаборыСвойств();
НаименованияНаборовСвойств = УправлениеСвойствамиПовтИсп.НаименованияНаборовСвойств(); НаименованияНаборовСвойств = УправлениеСвойствамиПовтИсп.НаименованияНаборовСвойств();
ВременнаяТаблица = Новый ТаблицаЗначений;
ВременнаяТаблица.Колонки.Добавить("Имя", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150)));
ВременнаяТаблица.Колонки.Добавить("Используется", Новый ОписаниеТипов("Булево"));
ВременнаяТаблица.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(100)));
ВременнаяТаблица.Колонки.Добавить("ЭтоГруппа", Новый ОписаниеТипов("Булево"));
ВременнаяТаблица.Колонки.Добавить("Ссылка", Новый ОписаниеТипов("СправочникСсылка.НаборыДополнительныхРеквизитовИСведений"));
Для Каждого ПредопределенныйНабор Из ПредопределенныеНаборыСвойств Цикл Для Каждого ПредопределенныйНабор Из ПредопределенныеНаборыСвойств Цикл
Если ТипЗнч(ПредопределенныйНабор.Ключ) = Тип("Строка") Или ЗначениеЗаполнено(ПредопределенныйНабор.Значение.Родитель) Тогда Если ТипЗнч(ПредопределенныйНабор.Ключ) = Тип("Строка") Или ЗначениеЗаполнено(ПредопределенныйНабор.Значение.Родитель) Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
СвойстваНабора = ПредопределенныйНабор.Значение; // см. Справочники.НаборыДополнительныхРеквизитовИСведений.СвойстваНабора
Строка = ВременнаяТаблица.Добавить();
ЗаполнитьЗначенияСвойств(Строка, ПредопределенныйНабор.Значение);
Если ПредопределенныйНабор.Значение.Используется = Неопределено Тогда
Строка.Используется = Истина;
КонецЕсли;
КонецЦикла;
НесколькоЯзыков = Ложь;
Для Каждого Язык Из Метаданные.Языки Цикл
Если Язык.КодЯзыка <> ТекущийЯзык().КодЯзыка Тогда
НесколькоЯзыков = Истина;
Прервать;
КонецЕсли
КонецЦикла;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ОписаниеНаборов", ВременнаяТаблица);
Запрос.УстановитьПараметр("НесколькоЯзыков", НесколькоЯзыков);
Запрос.Текст =
"ВЫБРАТЬ
| ОписаниеНаборов.Ссылка КАК Ссылка,
| ОписаниеНаборов.Имя КАК Имя,
| ОписаниеНаборов.Наименование КАК Наименование,
| ОписаниеНаборов.ЭтоГруппа КАК ЭтоГруппа,
| ОписаниеНаборов.Используется КАК Используется
|ПОМЕСТИТЬ ОписаниеНаборов
|ИЗ
| &ОписаниеНаборов КАК ОписаниеНаборов
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОписаниеНаборов.Ссылка КАК Ссылка
|ИЗ
| ОписаниеНаборов КАК ОписаниеНаборов
|ГДЕ
| НЕ ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| Справочник.НаборыДополнительныхРеквизитовИСведений КАК Наборы
| ГДЕ
| ОписаниеНаборов.Имя = Наборы.ИмяПредопределенногоНабора
| И ОписаниеНаборов.Используется = Наборы.Используется
| И ОписаниеНаборов.Наименование = Наборы.Наименование
| И НЕ Наборы.ПометкаУдаления
| И &НесколькоЯзыков = ЛОЖЬ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОписаниеНаборов.Ссылка
|ИЗ
| ОписаниеНаборов КАК ОписаниеНаборов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК ДополнительныеРеквизиты
| ПО ОписаниеНаборов.Ссылка = ДополнительныеРеквизиты.Ссылка
|ГДЕ
| ДополнительныеРеквизиты.ИмяПредопределенногоНабора <> ОписаниеНаборов.Имя
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОписаниеНаборов.Ссылка
|ИЗ
| ОписаниеНаборов КАК ОписаниеНаборов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ПО ОписаниеНаборов.Ссылка = ДополнительныеСведения.Ссылка
|ГДЕ
| ДополнительныеСведения.ИмяПредопределенногоНабора <> ОписаниеНаборов.Имя";
ОбрабатываемыеНаборы = Запрос.Выполнить().Выгрузить();
Для Каждого Строка Из ОбрабатываемыеНаборы Цикл
СвойстваНабора = ПредопределенныеНаборыСвойств.Получить(Строка.Ссылка);
Объект = СвойстваНабора.Ссылка.ПолучитьОбъект(); Объект = СвойстваНабора.Ссылка.ПолучитьОбъект();
СоздатьНаборСвойств(Объект, СвойстваНабора); СоздатьНаборСвойств(Объект, СвойстваНабора);
@@ -154,6 +154,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// Неопределено, Структура - данные удостоверяющего центра: // Неопределено, Структура - данные удостоверяющего центра:
// * Государственный - Булево // * Государственный - Булево
// * РазрешенныйНеаккредитованный - Булево
// * ПериодыДействия - Неопределено, Массив из Структура: // * ПериодыДействия - Неопределено, Массив из Структура:
// **ДатаС - Дата // **ДатаС - Дата
// **ДатаПо - Дата, Неопределено // **ДатаПо - Дата, Неопределено
@@ -173,6 +174,7 @@
НайденаДатаОкончанияДействия = Неопределено; НайденаДатаОкончанияДействия = Неопределено;
МассивПолейПоиска = СтрРазделить(ЗначенияПоиска, ","); МассивПолейПоиска = СтрРазделить(ЗначенияПоиска, ",");
Государственный = Ложь; Государственный = Ложь;
РазрешенныйНеаккредитованный = Ложь;
Для Каждого ЗначениеПоиска Из МассивПолейПоиска Цикл Для Каждого ЗначениеПоиска Из МассивПолейПоиска Цикл
@@ -190,6 +192,10 @@
Государственный = Истина; Государственный = Истина;
КонецЕсли; КонецЕсли;
Если Не РазрешенныйНеаккредитованный И АккредитованныеУдостоверяющиеЦентры.РазрешенныеНеаккредитованныеУЦ.Получить(ПодготовленноеЗначениеПоиска) <> Неопределено Тогда
РазрешенныйНеаккредитованный = Истина;
КонецЕсли;
КонецЦикла; КонецЦикла;
Если НайденПериодДействия = Неопределено Тогда Если НайденПериодДействия = Неопределено Тогда
@@ -198,6 +204,7 @@
Результат = Новый Структура; Результат = Новый Структура;
Результат.Вставить("Государственный", Государственный); Результат.Вставить("Государственный", Государственный);
Результат.Вставить("РазрешенныйНеаккредитованный", РазрешенныйНеаккредитованный);
Результат.Вставить("ПериодыДействия", НайденПериодДействия); Результат.Вставить("ПериодыДействия", НайденПериодДействия);
Результат.Вставить("ДатаОкончанияДействия", НайденаДатаОкончанияДействия); Результат.Вставить("ДатаОкончанияДействия", НайденаДатаОкончанияДействия);
Результат.Вставить("ДатаОбновления", АккредитованныеУдостоверяющиеЦентры.ДатаОбновления); Результат.Вставить("ДатаОбновления", АккредитованныеУдостоверяющиеЦентры.ДатаОбновления);
@@ -387,10 +394,15 @@
Если Не ЭтоКвалифицированныйСертификат Тогда Если Не ЭтоКвалифицированныйСертификат Тогда
Если КонтекстПроверки.ЭтоПроверкаПодписи Тогда Если КонтекстПроверки.ЭтоПроверкаПодписи Тогда
РезультатПроверкиУдостоверяющегоЦентра.Действует = Ложь; РезультатПроверкиУдостоверяющегоЦентра.Действует = ДанныеУдостоверяющегоЦентра.РазрешенныйНеаккредитованный;
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Сертификат неквалифицированный, так как выпущен удостоверяющим центром %1, не аккредитованным на момент выпуска сертификата.'"), НСтр("ru='Сертификат неквалифицированный, так как выпущен удостоверяющим центром %1, не аккредитованным на момент выпуска сертификата.'"),
КонтекстПроверки.НаименованиеУдостоверяющегоЦентра); КонтекстПроверки.НаименованиеУдостоверяющегоЦентра);
Если ДанныеУдостоверяющегоЦентра.РазрешенныйНеаккредитованный Тогда
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения = ТекстОшибки;
Иначе
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки = ТекстОшибки;
КонецЕсли;
Иначе Иначе
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Неквалифицированный сертификат: выпущен удостоверяющим центром %1, не аккредитованным на момент выпуска сертификата.'"), НСтр("ru='Неквалифицированный сертификат: выпущен удостоверяющим центром %1, не аккредитованным на момент выпуска сертификата.'"),
@@ -440,6 +452,15 @@
// Аккредитация удостоверяющего центра прекращена. // Аккредитация удостоверяющего центра прекращена.
Если Не РезультатПроверкиУдостоверяющегоЦентра.Действует Тогда Если Не РезультатПроверкиУдостоверяющегоЦентра.Действует Тогда
Если ДанныеУдостоверяющегоЦентра.РазрешенныйНеаккредитованный Тогда
РезультатПроверкиУдостоверяющегоЦентра.Действует = Истина;
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сертификат выдан удостоверяющим центром %1, аккредитация которого прекращена %2, но использование разрешено администратором.'"),
КонтекстПроверки.НаименованиеУдостоверяющегоЦентра,
Формат(ДатаПрекращенияАккредитацииУЦ, "ДЛФ=DT"));
Возврат РезультатПроверкиУдостоверяющегоЦентра;
КонецЕсли;
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сертификат не действует с %1, так как аккредитация удостоверяющего центра %2, выдавшего сертификат, прекращена.'"), НСтр("ru = 'Сертификат не действует с %1, так как аккредитация удостоверяющего центра %2, выдавшего сертификат, прекращена.'"),
Формат(ДатаПрекращенияАккредитацииУЦ, "ДЛФ=DT"), КонтекстПроверки.НаименованиеУдостоверяющегоЦентра); Формат(ДатаПрекращенияАккредитацииУЦ, "ДЛФ=DT"), КонтекстПроверки.НаименованиеУдостоверяющегоЦентра);
@@ -457,6 +478,7 @@
НСтр("ru = 'Получите новый сертификат в <a href = ""%1"">соответствующем удостоверяющем центре</a>.'"), НСтр("ru = 'Получите новый сертификат в <a href = ""%1"">соответствующем удостоверяющем центре</a>.'"),
СсылкаНаСтатьюОбУдостоверяющихЦентрах()); СсылкаНаСтатьюОбУдостоверяющихЦентрах());
КонецЕсли; КонецЕсли;
Иначе Иначе
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки = РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки =
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки +" "+ РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.Причина; РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки +" "+ РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.Причина;
@@ -757,6 +757,13 @@
КонецФункции КонецФункции
// Только для внутреннего использования
Функция СокращенноеИмяФайла(ИмяФайла, ТребуемаяДлина) Экспорт
Возврат ОбщегоНазначения.СократитьСтрокуКонтрольнойСуммой(ИмяФайла, ТребуемаяДлина);
КонецФункции
#Область ДиагностикаЭлектроннойПодписи #Область ДиагностикаЭлектроннойПодписи
Процедура ДобавитьОписаниеДополнительныхДанных(ДополнительныеДанные, ОписаниеФайлов, Сведения) Экспорт Процедура ДобавитьОписаниеДополнительныхДанных(ДополнительныеДанные, ОписаниеФайлов, Сведения) Экспорт
@@ -14,8 +14,16 @@
Разделитель = ?(ТребуетсяРазделитель, " - ", " "); Разделитель = ?(ТребуетсяРазделитель, " - ", " ");
ИмяФайлаПодписи = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1%2%3.%4", ИмяФайлаПодписиБезРасширения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1%2%3",
ИмяБезРасширения, Разделитель, КомуВыданСертификат, РасширениеДляФайловПодписи); ИмяБезРасширения, Разделитель, КомуВыданСертификат);
Если СтрДлина(ИмяФайлаПодписиБезРасширения) > 200 Тогда
ИмяФайлаПодписиБезРасширения = ЭлектроннаяПодписьСлужебныйВызовСервера.СокращенноеИмяФайла(
ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайлаПодписиБезРасширения), 200);
КонецЕсли;
ИмяФайлаПодписи = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1.%2",
ИмяФайлаПодписиБезРасширения, РасширениеДляФайловПодписи);
Возврат ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайлаПодписи); Возврат ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайлаПодписи);
@@ -27,8 +35,16 @@
Разделитель = ?(ТребуетсяРазделитель, " - ", " "); Разделитель = ?(ТребуетсяРазделитель, " - ", " ");
ИмяФайлаСертификата = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1%2%3.%4", ИмяФайлаСертификатаБезРасширения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1%2%3",
ИмяБезРасширения, Разделитель, КомуВыданСертификат, РасширениеДляФайловСертификата); ИмяБезРасширения, Разделитель, КомуВыданСертификат);
Если СтрДлина(ИмяФайлаСертификатаБезРасширения) > 200 Тогда
ИмяФайлаСертификатаБезРасширения = ЭлектроннаяПодписьСлужебныйВызовСервера.СокращенноеИмяФайла(
ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайлаСертификатаБезРасширения), 200);
КонецЕсли;
ИмяФайлаСертификата = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1.%2",
ИмяФайлаСертификатаБезРасширения, РасширениеДляФайловСертификата);
Возврат ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайлаСертификата); Возврат ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайлаСертификата);
@@ -133,11 +133,23 @@
КонецЕсли; КонецЕсли;
РазрешенныеНеаккредитованныеУЦ = Новый Соответствие;
МассивЗначенийПоиска = СтрРазделить(Константы.РазрешенныеНеаккредитованныеУЦ.Получить(), ",;" + Символы.ПС);
Для Каждого ТекущееЗначениеПоиска Из МассивЗначенийПоиска Цикл
ЗначениеПоиска = ЭлектроннаяПодписьКлиентСерверЛокализация.ПодготовитьЗначениеПоиска(ТекущееЗначениеПоиска);
Если Не ЗначениеЗаполнено(ЗначениеПоиска) Тогда
Продолжить;
КонецЕсли;
РазрешенныеНеаккредитованныеУЦ.Вставить(СокрЛП(ЗначениеПоиска), Истина);
КонецЦикла;
Результат = Новый Структура; Результат = Новый Структура;
Результат.Вставить("ПериодыДействия", ДанныеУдостоверяющихЦентров.ПериодыДействия.Данные); Результат.Вставить("ПериодыДействия", ДанныеУдостоверяющихЦентров.ПериодыДействия.Данные);
Результат.Вставить("ДатаОбновления", ДанныеУдостоверяющихЦентров.ПериодыДействия.ДатаОбновления); Результат.Вставить("ДатаОбновления", ДанныеУдостоверяющихЦентров.ПериодыДействия.ДатаОбновления);
Результат.Вставить("ДатыОкончанияДействия", ДанныеУдостоверяющихЦентров.ДатыОкончанияДействия.Данные); Результат.Вставить("ДатыОкончанияДействия", ДанныеУдостоверяющихЦентров.ДатыОкончанияДействия.Данные);
Результат.Вставить("ГосударственныеУЦ", ДанныеУдостоверяющихЦентров.ГосударственныеУЦ); Результат.Вставить("ГосударственныеУЦ", ДанныеУдостоверяющихЦентров.ГосударственныеУЦ);
Результат.Вставить("РазрешенныеНеаккредитованныеУЦ", РазрешенныеНеаккредитованныеУЦ);
Возврат Результат; Возврат Результат;
+12 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="345cd50f-3e5f-446d-abe2-ea92e35b0543"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="46d9a112-128a-4524-bcdd-e7e991a2b1f6">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="8801dca4-8c9f-44df-9ac0-7cab909b5437"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="8ccedcbf-9000-4d26-ab20-a9edec48cdf8"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="49cc7658-0771-453b-b8f4-3f377a26040b"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="d7d135d7-9c09-4b9d-bf39-9ea484f0cbea"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="160db86b-9e76-461b-afb5-0d393d593f73"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="bd788b56-5121-495e-bdea-7ccabbd57b71"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="73c6185f-7cd1-44aa-b645-12eda4a17772"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="a0a5c60b-10c8-47b6-8ca5-b060a5f463cd"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="21b69e25-c9ea-4f87-b447-84c3818d1c82"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="88c72ae7-46a9-4d8b-8609-53ee855aefe0"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="1db4e057-dfed-406f-a572-c2e20a5366ef"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="b9dcf5f4-f32d-499a-bdc5-37341fe3dd91"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="7698bd73-5d24-4a0e-8cc3-1649d6241f9a"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="fa92b851-faa0-40a2-bed3-14b221b80160"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.7.96</version> <version>3.1.7.110</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -1208,6 +1208,7 @@
<commonModules>CommonModule.УправлениеКонтактнойИнформацией</commonModules> <commonModules>CommonModule.УправлениеКонтактнойИнформацией</commonModules>
<commonModules>CommonModule.УправлениеКонтактнойИнформациейКлиент</commonModules> <commonModules>CommonModule.УправлениеКонтактнойИнформациейКлиент</commonModules>
<commonModules>CommonModule.УправлениеКонтактнойИнформациейКлиентСервер</commonModules> <commonModules>CommonModule.УправлениеКонтактнойИнформациейКлиентСервер</commonModules>
<commonModules>CommonModule.УправлениеКонтактнойИнформациейЛокализация</commonModules>
<commonModules>CommonModule.УправлениеКонтактнойИнформациейПереопределяемый</commonModules> <commonModules>CommonModule.УправлениеКонтактнойИнформациейПереопределяемый</commonModules>
<commonModules>CommonModule.УправлениеКонтактнойИнформациейСлужебный</commonModules> <commonModules>CommonModule.УправлениеКонтактнойИнформациейСлужебный</commonModules>
<commonModules>CommonModule.УправлениеКонтактнойИнформациейСлужебныйВызовСервера</commonModules> <commonModules>CommonModule.УправлениеКонтактнойИнформациейСлужебныйВызовСервера</commonModules>
@@ -1781,6 +1782,7 @@
<constants>Constant.ПроверятьЭлектронныеПодписиНаСервере</constants> <constants>Constant.ПроверятьЭлектронныеПодписиНаСервере</constants>
<constants>Constant.ПрофильБезопасностиИнформационнойБазы</constants> <constants>Constant.ПрофильБезопасностиИнформационнойБазы</constants>
<constants>Constant.ПутьКТомуБезУчетаРегиональныхНастроек</constants> <constants>Constant.ПутьКТомуБезУчетаРегиональныхНастроек</constants>
<constants>Constant.РазрешенныеНеаккредитованныеУЦ</constants>
<constants>Constant.РазрешитьВыполнениеДООРегламентнымиЗаданиямиВМоделиСервиса</constants> <constants>Constant.РазрешитьВыполнениеДООРегламентнымиЗаданиямиВМоделиСервиса</constants>
<constants>Constant.РежимОчисткиФайлов</constants> <constants>Constant.РежимОчисткиФайлов</constants>
<constants>Constant.СведенияОБлокируемыхОбъектах</constants> <constants>Constant.СведенияОБлокируемыхОбъектах</constants>
@@ -1881,6 +1883,7 @@
<commonForms>CommonForm.ПриоритетОбновленияВОбластяхДанных</commonForms> <commonForms>CommonForm.ПриоритетОбновленияВОбластяхДанных</commonForms>
<commonForms>CommonForm.ПродлениеСрокаДействияЭлектронныхПодписей</commonForms> <commonForms>CommonForm.ПродлениеСрокаДействияЭлектронныхПодписей</commonForms>
<commonForms>CommonForm.ПустойРабочийСтол</commonForms> <commonForms>CommonForm.ПустойРабочийСтол</commonForms>
<commonForms>CommonForm.РазрешенныеНеаккредитованныеУЦ</commonForms>
<commonForms>CommonForm.Расширения</commonForms> <commonForms>CommonForm.Расширения</commonForms>
<commonForms>CommonForm.РасширенноеПредставлениеОшибки</commonForms> <commonForms>CommonForm.РасширенноеПредставлениеОшибки</commonForms>
<commonForms>CommonForm.РегиональныеНастройки</commonForms> <commonForms>CommonForm.РегиональныеНастройки</commonForms>
@@ -1 +1 @@
{6,1,1,9279b9be-36b5-411e-a548-d07dace81363,1,2aab5eac-64a5-41cc-8986-ab4ee063dc51,"3.1.7.96","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6754,1,0,345cd50f-3e5f-446d-abe2-ea92e35b0543,345cd50f-3e5f-446d-abe2-ea92e35b0543,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,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,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-Line truncated {6,1,1,3282cfbd-ca6e-4669-bce6-c738be4f827c,1,2ee48293-fbd0-49ab-91cb-0b1098b642a8,"3.1.7.110","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6757,1,0,46d9a112-128a-4524-bcdd-e7e991a2b1f6,46d9a112-128a-4524-bcdd-e7e991a2b1f6,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,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,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-91c7Line truncated
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Constant xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="630845af-a7dc-4d1e-8c1a-44fa65aab036">
<producedTypes>
<managerType typeId="bc5c85e8-5042-46ea-8687-612064a8de0b" valueTypeId="31b01f1e-69fb-4289-8d93-20ca039c5647"/>
<valueManagerType typeId="d6e6c284-fd85-4ef3-a358-8ab4437aa9b1" valueTypeId="2eea8c42-db55-459a-b156-e30075c19184"/>
<valueKeyType typeId="db74a9e9-d840-492b-8738-72af3608590d" valueTypeId="c8faebe8-2b3d-4aaf-896a-067c7204e753"/>
</producedTypes>
<name>РазрешенныеНеаккредитованныеУЦ</name>
<synonym>
<key>ru</key>
<value>Разрешенные неаккредитованные УЦ</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<useStandardCommands>true</useStandardCommands>
<defaultForm>CommonForm.РазрешенныеНеаккредитованныеУЦ</defaultForm>
<explanation>
<key>ru</key>
<value>Список ОГРН (через запятую) удостоверяющих центров, потерявших аккредитацию, подписание сертификатами которых разрешено, подписи считаются верными</value>
</explanation>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataLockControlMode>Managed</dataLockControlMode>
</mdclass:Constant>
@@ -60,9 +60,11 @@
НаселенныйПунктДетально = ПодготовитьАдресДляВвода(ДанныеАдреса); НаселенныйПунктДетально = ПодготовитьАдресДляВвода(ДанныеАдреса);
Иначе Иначе
XDTOКонтактная = ИзвлечьСтарыйФорматАдреса(ЗначенияПолей, ТипКонтактнойИнформации); XDTOКонтактная = ИзвлечьСтарыйФорматАдреса(ЗначенияПолей, ТипКонтактнойИнформации);
Если XDTOКонтактная <> Неопределено Тогда
ДанныеАдреса = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(XDTOКонтактная, ТипКонтактнойИнформации); ДанныеАдреса = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(XDTOКонтактная, ТипКонтактнойИнформации);
НаселенныйПунктДетально = ПодготовитьАдресДляВвода(ДанныеАдреса); НаселенныйПунктДетально = ПодготовитьАдресДляВвода(ДанныеАдреса);
КонецЕсли; КонецЕсли;
КонецЕсли;
ЗаполнитьПредопределенныеВариантыАдреса(Параметры); ЗаполнитьПредопределенныеВариантыАдреса(Параметры);
УстановитьЗначениеРеквизитовПоКонтактнойИнформации(ЭтотОбъект, НаселенныйПунктДетально); УстановитьЗначениеРеквизитовПоКонтактнойИнформации(ЭтотОбъект, НаселенныйПунктДетально);
@@ -520,15 +522,22 @@
НаселенныйПунктДетально.Value = НаселенныйПунктДетально.street; НаселенныйПунктДетально.Value = НаселенныйПунктДетально.street;
КонецЕсли; КонецЕсли;
КонтактнаяИнформацияВXML = "";
Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
КонтактнаяИнформацияВXML = МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзJSONВXML(НаселенныйПунктДетально, Контекст.ВидКонтактнойИнформации.Тип)
КонецЕсли;
Результат.ДанныеВыбора = Новый Структура; Результат.ДанныеВыбора = Новый Структура;
Результат.ДанныеВыбора.Вставить("Представление", НаселенныйПунктДетально.Value); Результат.ДанныеВыбора.Вставить("Представление", НаселенныйПунктДетально.Value);
Результат.ДанныеВыбора.Вставить("КонтактнаяИнформация", Результат.ДанныеВыбора.Вставить("КонтактнаяИнформация", КонтактнаяИнформацияВXML);
УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзJSONВXML(НаселенныйПунктДетально, Контекст.ВидКонтактнойИнформации.Тип));
Результат.ДанныеВыбора.Вставить("Значение", УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(НаселенныйПунктДетально)); Результат.ДанныеВыбора.Вставить("Значение", УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(НаселенныйПунктДетально));
Результат.ДанныеВыбора.Вставить("Комментарий", НаселенныйПунктДетально.Comment); Результат.ДанныеВыбора.Вставить("Комментарий", НаселенныйПунктДетально.Comment);
Результат.ДанныеВыбора.Вставить("ВведеноВСвободнойФорме", Результат.ДанныеВыбора.Вставить("ВведеноВСвободнойФорме",
УправлениеКонтактнойИнформациейСлужебный.АдресВведенВСвободнойФорме(НаселенныйПунктДетально)); УправлениеКонтактнойИнформациейСлужебный.АдресВведенВСвободнойФорме(НаселенныйПунктДетально));
// ошибки заполнения // ошибки заполнения
Результат.ОшибкиЗаполнения = Новый Массив; Результат.ОшибкиЗаполнения = Новый Массив;
@@ -568,9 +577,15 @@
Функция РезультатВыбораТолькоКомментария(КонтактнаяИнфо, Представление, Комментарий) Функция РезультатВыбораТолькоКомментария(КонтактнаяИнфо, Представление, Комментарий)
Если ПустаяСтрока(КонтактнаяИнфо) Тогда Если ПустаяСтрока(КонтактнаяИнфо) Тогда
НоваяКонтактная = УправлениеКонтактнойИнформациейСлужебный.АдресXMLВXDTO("");
Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
НоваяКонтактная = МодульУправлениеКонтактнойИнформациейЛокализация.АдресXMLВXDTO("");
НоваяКонтактная.Комментарий = Комментарий; НоваяКонтактная.Комментарий = Комментарий;
НоваяКонтактная = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML(НоваяКонтактная); НоваяКонтактная = МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияXDTOВXML(НоваяКонтактная);
Иначе
НоваяКонтактная = "";
КонецЕсли;
АдресВведенВСвободнойФорме = Ложь; АдресВведенВСвободнойФорме = Ложь;
ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнфо) Тогда ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнфо) Тогда
@@ -677,19 +692,6 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура УдалитьГруппуЭлементов(Группа)
Пока Группа.ПодчиненныеЭлементы.Количество()>0 Цикл
Элемент = Группа.ПодчиненныеЭлементы[0];
Если ТипЗнч(Элемент)=Тип("ГруппаФормы") Тогда
УдалитьГруппуЭлементов(Элемент);
КонецЕсли;
Элементы.Удалить(Элемент);
КонецЦикла;
Элементы.Удалить(Группа);
КонецПроцедуры
&НаСервере &НаСервере
Процедура ОтобразитьИнформациюОДатахДействияАдреса(ДействуетС) Процедура ОтобразитьИнформациюОДатахДействияАдреса(ДействуетС)
@@ -860,42 +862,20 @@
&НаСервере &НаСервере
Функция ИзвлечьСтарыйФорматАдреса(Знач ЗначенияПолей, Знач ТипКонтактнойИнформации) Функция ИзвлечьСтарыйФорматАдреса(Знач ЗначенияПолей, Знач ТипКонтактнойИнформации)
Перем XDTOКонтактная, РезультатыЧтения; Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Возврат МодульУправлениеКонтактнойИнформациейЛокализация.ИзвлечьСтарыйФорматАдреса(ЗначенияПолей, ТипКонтактнойИнформации,
Параметры, ОсновнаяСтрана);
КонецЕсли;
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ЗначенияПолей) Возврат Неопределено;
И ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
РезультатыЧтения = Новый Структура;
XDTOКонтактная = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзXML(ЗначенияПолей, ТипКонтактнойИнформации, РезультатыЧтения);
Если РезультатыЧтения.Свойство("ТекстОшибки") Тогда
// Распознали с ошибками, сообщим при открытии.
ТекстПредупрежденияПриОткрытии = РезультатыЧтения.ТекстОшибки;
XDTOКонтактная.Представление = Параметры.Представление;
XDTOКонтактная.Состав.Страна = Строка(ОсновнаяСтрана);
КонецЕсли;
Иначе
XDTOКонтактная = УправлениеКонтактнойИнформациейСлужебный.АдресXMLВXDTO(ЗначенияПолей, Параметры.Представление, );
Если Параметры.Свойство("Страна") И ЗначениеЗаполнено(Параметры.Страна) Тогда
Если ТипЗнч(Параметры.Страна) = ТипЗнч(Справочники.СтраныМира.ПустаяСсылка()) Тогда
XDTOКонтактная.Состав.Страна = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Параметры.Страна, "Наименование");
Иначе
XDTOКонтактная.Состав.Страна = Строка(Параметры.Страна);
КонецЕсли;
Иначе
XDTOКонтактная.Состав.Страна = ОсновнаяСтрана.Наименование;
КонецЕсли;
КонецЕсли;
Если Параметры.Комментарий <> Неопределено Тогда
// Ставим новый комментарий, иначе он придет из информации.
XDTOКонтактная.Комментарий = Параметры.Комментарий;
КонецЕсли;
Возврат XDTOКонтактная;
КонецФункции КонецФункции
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция ОсновнаяСтрана() Функция ОсновнаяСтрана()
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресамиКлиентСервер") <> Неопределено Тогда Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступныМодулиРаботаСАдресами() Тогда
МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер"); МодульРаботаСАдресамиКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресамиКлиентСервер");
Возврат МодульРаботаСАдресамиКлиентСервер.ОсновнаяСтрана(); Возврат МодульРаботаСАдресамиКлиентСервер.ОсновнаяСтрана();
@@ -66,23 +66,30 @@
Данные = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(ЗначенияПолей, Перечисления.ТипыКонтактнойИнформации.Телефон); Данные = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(ЗначенияПолей, Перечисления.ТипыКонтактнойИнформации.Телефон);
Иначе Иначе
Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ЗначенияПолей) Тогда Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ЗначенияПолей) Тогда
РезультатыЧтения = Новый Структура; РезультатыЧтения = Новый Структура;
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзXML(ЗначенияПолей, ТипКонтактнойИнформации, РезультатыЧтения); КонтактнаяИнформация = МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзXML(ЗначенияПолей, ТипКонтактнойИнформации, РезультатыЧтения);
Если РезультатыЧтения.Свойство("ТекстОшибки") Тогда Если РезультатыЧтения.Свойство("ТекстОшибки") Тогда
// Распознали с ошибками, сообщим при открытии. // Распознали с ошибками, сообщим при открытии.
ТекстПредупрежденияПриОткрытии = РезультатыЧтения.ТекстОшибки; ТекстПредупрежденияПриОткрытии = РезультатыЧтения.ТекстОшибки;
КонтактнаяИнформация.Представление = Параметры.Представление; КонтактнаяИнформация.Представление = Параметры.Представление;
КонецЕсли; КонецЕсли;
Иначе Иначе
Если ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда Если ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.ДесериализацияТелефона(ЗначенияПолей, Параметры.Представление, ТипКонтактнойИнформации); КонтактнаяИнформация = МодульУправлениеКонтактнойИнформациейЛокализация.ДесериализацияТелефона(ЗначенияПолей, Параметры.Представление, ТипКонтактнойИнформации);
Иначе Иначе
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.ДесериализацияФакса(ЗначенияПолей, Параметры.Представление, ТипКонтактнойИнформации); КонтактнаяИнформация = МодульУправлениеКонтактнойИнформациейЛокализация.ДесериализацияФакса(ЗначенияПолей, Параметры.Представление, ТипКонтактнойИнформации);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Данные = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация, ТипКонтактнойИнформации); Данные = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация, ТипКонтактнойИнформации);
Иначе
Данные = УправлениеКонтактнойИнформацией.ОписаниеНовойКонтактнойИнформации(ТипКонтактнойИнформации);
КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -339,13 +346,18 @@
КонтактнаяИнфо = ОпределитьЗначениеАдреса(Параметры); КонтактнаяИнфо = ОпределитьЗначениеАдреса(Параметры);
Если ПустаяСтрока(КонтактнаяИнфо) Тогда Если ПустаяСтрока(КонтактнаяИнфо) Тогда
Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
Если ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда Если ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
КонтактнаяИнфо = УправлениеКонтактнойИнформациейСлужебный.ДесериализацияТелефона("", "", ТипКонтактнойИнформации); КонтактнаяИнфо = МодульУправлениеКонтактнойИнформациейЛокализация.ДесериализацияТелефона("", "", ТипКонтактнойИнформации);
Иначе Иначе
КонтактнаяИнфо = УправлениеКонтактнойИнформациейСлужебный.ДесериализацияФакса("", "", ТипКонтактнойИнформации); КонтактнаяИнфо = МодульУправлениеКонтактнойИнформациейЛокализация.ДесериализацияФакса("", "", ТипКонтактнойИнформации);
КонецЕсли; КонецЕсли;
УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(КонтактнаяИнфо, Комментарий); УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(КонтактнаяИнфо, Комментарий);
КонтактнаяИнфо = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(КонтактнаяИнфо); КонтактнаяИнфо = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(КонтактнаяИнфо);
КонецЕсли;
ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнфо) Тогда ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнфо) Тогда
УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(КонтактнаяИнфо, Комментарий); УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(КонтактнаяИнфо, Комментарий);
@@ -27,9 +27,12 @@
Данные = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(ЗначенияПолей, Перечисления.ТипыКонтактнойИнформации.ВебСтраница); Данные = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(ЗначенияПолей, Перечисления.ТипыКонтактнойИнформации.ВебСтраница);
Иначе Иначе
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ЗначенияПолей) Тогда Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации()
И УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ЗначенияПолей) Тогда
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
РезультатыЧтения = Новый Структура; РезультатыЧтения = Новый Структура;
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзXML(ЗначенияПолей, ТипКонтактнойИнформации, РезультатыЧтения); КонтактнаяИнформация = МодульУправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзXML(ЗначенияПолей, ТипКонтактнойИнформации, РезультатыЧтения);
Если РезультатыЧтения.Свойство("ТекстОшибки") Тогда Если РезультатыЧтения.Свойство("ТекстОшибки") Тогда
// Распознали с ошибками, сообщим при открытии. // Распознали с ошибками, сообщим при открытии.
КонтактнаяИнформация.Представление = Параметры.Представление; КонтактнаяИнформация.Представление = Параметры.Представление;
@@ -26,7 +26,7 @@
</li> </li>
<li><strong>За последние 6 мес</strong>. (по умолчанию). Можно выбрать срок хранения резервных копий. <li><strong>За последние 6 мес</strong>. (по умолчанию). Можно выбрать срок хранения резервных копий.
</li> </li>
<li><strong>Последние 10 шт</strong>. (по умолчанию). Можно ограничить количество хранимых копий.</li></ul></li> <li><strong>Последние 10 шт</strong>. (по умолчанию). Можно ограничить количество хранимых копий. В поле <b>Последние</b> указывается количество старых копий, без учета новой копии.</li></ul></li>
<li>Нажмите <strong>Готово</strong>, для того чтобы подтвердить свой выбор и вернуться в программу. После этого программа перейдет в режим автоматического резервного копирования.</li></ul><h3>Выполнение резервного копирования сторонними средствами</h3> <li>Нажмите <strong>Готово</strong>, для того чтобы подтвердить свой выбор и вернуться в программу. После этого программа перейдет в режим автоматического резервного копирования.</li></ul><h3>Выполнение резервного копирования сторонними средствами</h3>
<ul><li>Можно отказаться от настройки автоматического резервного копирования, если резервное копирование будет осуществляться сторонними средствами, например, средствами СУБД при клиент-серверном варианте работы, или сторонними программами резервного копирования. <ul><li>Можно отказаться от настройки автоматического резервного копирования, если резервное копирование будет осуществляться сторонними средствами, например, средствами СУБД при клиент-серверном варианте работы, или сторонними программами резервного копирования.
</li> </li>
@@ -1571,6 +1571,33 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:Button">
<name>ОбщаяФормаРазрешенныеНеаккредитованныеУЦОткрыть</name>
<id>2253</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОбщаяФормаРазрешенныеНеаккредитованныеУЦОткрытьРасширеннаяПодсказка</name>
<id>2254</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>CommonForm.РазрешенныеНеаккредитованныеУЦ.StandardCommand.Open</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаУсовершенствованнаяПодпись</name> <name>ГруппаУсовершенствованнаяПодпись</name>
<id>2158</id> <id>2158</id>
@@ -25,7 +25,7 @@
КонецЕсли; КонецЕсли;
Если ОписаниеИнтеграции.Использование Тогда Если ОписаниеИнтеграции.Использование Тогда
Элементы.Закрыть.Заголовок = НСтр("ru='Изменить'"); Элементы.Закрыть.Заголовок = НСтр("ru='Записать и закрыть'");
Элементы.Отключить.Видимость = Истина; Элементы.Отключить.Видимость = Истина;
КонецЕсли; КонецЕсли;
@@ -25,9 +25,8 @@
КонецЕсли; КонецЕсли;
Если ОписаниеИнтеграции.Использование Тогда Если ОписаниеИнтеграции.Использование Тогда
Элементы.Закрыть.Заголовок = НСтр("ru='Изменить'"); Элементы.Закрыть.Заголовок = НСтр("ru='Записать и закрыть'");
Элементы.Отключить.Видимость = Истина; Элементы.Отключить.Видимость = Истина;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -74,7 +74,6 @@
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
НаименованиеДоЗаписи = ТекущееНаименованиеФайла(); НаименованиеДоЗаписи = ТекущееНаименованиеФайла();
ДатаМодификации = МестноеВремя(ЭтотОбъект.Объект.ДатаМодификацииУниверсальная);
УстановитьДоступностьКомандСпискаЭП(); УстановитьДоступностьКомандСпискаЭП();
УстановитьДоступностьКомандСпискаШифрования(); УстановитьДоступностьКомандСпискаШифрования();
@@ -752,10 +751,11 @@
&НаКлиенте &НаКлиенте
Процедура ЗакончитьРедактированиеВыполненоПомещение(ИнформацияОФайле, ДополнительныеПараметры) Экспорт Процедура ЗакончитьРедактированиеВыполненоПомещение(ИнформацияОФайле, ДополнительныеПараметры) Экспорт
ОбновитьОбъект();
СсылкаНаТекущийОбъект = ТекущаяСсылкаНаФайл(); СсылкаНаТекущийОбъект = ТекущаяСсылкаНаФайл();
ОповеститьОбИзменении(СсылкаНаТекущийОбъект); ОповеститьОбИзменении(СсылкаНаТекущийОбъект);
Оповестить("Запись_Файл", Новый Структура, СсылкаНаТекущийОбъект); Оповестить("Запись_Файл", Новый Структура, СсылкаНаТекущийОбъект);
УстановитьДоступностьКнопок(ЭтотОбъект, Элементы);
КонецПроцедуры КонецПроцедуры
@@ -1537,21 +1537,14 @@
&НаКлиенте &НаКлиенте
Процедура ОбновитьИзФайлаНаДискеЗавершение(Результат, ПараметрыВыполнения) Экспорт Процедура ОбновитьИзФайлаНаДискеЗавершение(Результат, ПараметрыВыполнения) Экспорт
ОбновитьОбъект();
ТекущийФайл = ТекущаяСсылкаНаФайл(); ТекущийФайл = ТекущаяСсылкаНаФайл();
ОбновитьДанныеОбъектаНаСервере();
ОповеститьОбИзменении(ТекущийФайл); ОповеститьОбИзменении(ТекущийФайл);
Оповестить("Запись_Файл", Новый Структура, ТекущийФайл); Оповестить("Запись_Файл", Новый Структура, ТекущийФайл);
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура ОбновитьДанныеОбъектаНаСервере()
ЗначениеВРеквизитФормы(ТекущаяСсылкаНаФайлСервер().ПолучитьОбъект(), "Объект");
ДатаМодификации = МестноеВремя(ЭтотОбъект.Объект.ДатаМодификацииУниверсальная);
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриИзмененияИспользованияПодписанияИлиШифрования() Процедура ПриИзмененияИспользованияПодписанияИлиШифрования()
@@ -697,7 +697,7 @@
&НаКлиенте &НаКлиенте
Процедура УлицаПриИзменении(Элемент) Процедура УлицаПриИзменении(Элемент)
Если Не ЭтоРФАдрес() Тогда Если Не ЭтоРФАдрес() Или МеждународныйФорматАдреса Тогда
НаселенныйПунктДетально.Street = Улица; НаселенныйПунктДетально.Street = Улица;
ОбновитьПредставлениеАдреса(); ОбновитьПредставлениеАдреса();
@@ -1908,7 +1908,7 @@
КонецЕсли; КонецЕсли;
Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ДанныеВыбора); Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ДанныеВыбора);
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзJSONВXML(ДанныеВыбора, Перечисления.ТипыКонтактнойИнформации.Адрес); КонтактнаяИнформация = УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзJSONВXML(ДанныеВыбора, Перечисления.ТипыКонтактнойИнформации.Адрес);
Иначе Иначе
Значение = ""; Значение = "";
КонтактнаяИнформация = ""; КонтактнаяИнформация = "";
@@ -3555,7 +3555,7 @@
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ЗначенияПолей) Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ЗначенияПолей)
И ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда И ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
РезультатыЧтения = Новый Структура; РезультатыЧтения = Новый Структура;
XDTOКонтактная = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзXML(ЗначенияПолей, ТипКонтактнойИнформации, РезультатыЧтения); XDTOКонтактная = УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзXML(ЗначенияПолей, ТипКонтактнойИнформации, РезультатыЧтения);
Если РезультатыЧтения.Свойство("ТекстОшибки") Тогда Если РезультатыЧтения.Свойство("ТекстОшибки") Тогда
// Распознали с ошибками, сообщим при открытии. // Распознали с ошибками, сообщим при открытии.
ТекстПредупрежденияПриОткрытии = РезультатыЧтения.ТекстОшибки; ТекстПредупрежденияПриОткрытии = РезультатыЧтения.ТекстОшибки;
@@ -3563,7 +3563,7 @@
XDTOКонтактная.Состав.Страна = Строка(ОсновнаяСтрана); XDTOКонтактная.Состав.Страна = Строка(ОсновнаяСтрана);
КонецЕсли; КонецЕсли;
Иначе Иначе
XDTOКонтактная = УправлениеКонтактнойИнформациейСлужебный.АдресXMLВXDTO(ЗначенияПолей, Параметры.Представление, ); XDTOКонтактная = УправлениеКонтактнойИнформациейЛокализация.АдресXMLВXDTO(ЗначенияПолей, Параметры.Представление, );
Если Параметры.Свойство("Страна") И ЗначениеЗаполнено(Параметры.Страна) Тогда Если Параметры.Свойство("Страна") И ЗначениеЗаполнено(Параметры.Страна) Тогда
Если ТипЗнч(Параметры.Страна) = ТипЗнч(Справочники.СтраныМира.ПустаяСсылка()) Тогда Если ТипЗнч(Параметры.Страна) = ТипЗнч(Справочники.СтраныМира.ПустаяСсылка()) Тогда
СтранаСсылка = Параметры.Страна; // СправочникСсылка.СтраныМира СтранаСсылка = Параметры.Страна; // СправочникСсылка.СтраныМира
@@ -3625,6 +3625,12 @@
&НаКлиенте &НаКлиенте
Процедура ИндексНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) Процедура ИндексНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если МеждународныйФорматАдреса Тогда
СтандартнаяОбработка = Ложь;
ДанныеВыбора = Новый СписокЗначений;
Возврат;
КонецЕсли;
Если СтрДлина(Индекс) = 6 Тогда Если СтрДлина(Индекс) = 6 Тогда
ФормаВыбораУлицПоИндексу(Индекс); ФормаВыбораУлицПоИндексу(Индекс);
КонецЕсли; КонецЕсли;
@@ -3663,7 +3669,9 @@
Если Не АдресВосстановлен Тогда Если Не АдресВосстановлен Тогда
Если Не ЭтоРФАдрес() Тогда Если МеждународныйФорматАдреса Тогда
ТипАдреса = УправлениеКонтактнойИнформациейКлиентСервер.ИностранныйАдрес();
ИначеЕсли Не ЭтоРФАдрес() Тогда
Если Не СведенияОСтране.УчастникЕАЭС Тогда Если Не СведенияОСтране.УчастникЕАЭС Тогда
@@ -3681,8 +3689,11 @@
ИменаУровнейАдреса = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса(ТипАдреса, Ложь); ИменаУровнейАдреса = РаботаСАдресамиКлиентСервер.ИменаУровнейАдреса(ТипАдреса, Ложь);
ЭлементыАдреса = СтрРазделить(НаселенныйПункт, ",", Истина); Если ИменаУровнейАдреса.Количество() = 1 Тогда
НаселенныйПунктДетально[ИменаУровнейАдреса[0]] = НаселенныйПункт;
Иначе
ЭлементыАдреса = СтрРазделить(НаселенныйПункт, ",", Истина);
Для ИндексАдреса = 0 По ИменаУровнейАдреса.Количество() - 1 Цикл Для ИндексАдреса = 0 По ИменаУровнейАдреса.Количество() - 1 Цикл
Если ЭлементыАдреса.Количество() > 0 Тогда Если ЭлементыАдреса.Количество() > 0 Тогда
ЗначениеПоля = СокрЛП(ЭлементыАдреса[0]); ЗначениеПоля = СокрЛП(ЭлементыАдреса[0]);
@@ -3708,6 +3719,7 @@
Если ЭлементыАдреса.Количество() > 0 Тогда Если ЭлементыАдреса.Количество() > 0 Тогда
НаселенныйПунктДетально[ИменаУровнейАдреса[ИменаУровнейАдреса.Количество() - 1]] = СокрЛП(СтрСоединить(ЭлементыАдреса, ",")); НаселенныйПунктДетально[ИменаУровнейАдреса[ИменаУровнейАдреса.Количество() - 1]] = СокрЛП(СтрСоединить(ЭлементыАдреса, ","));
КонецЕсли; КонецЕсли;
КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -468,7 +468,7 @@
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ЗначенияПолей) Тогда Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ЗначенияПолей) Тогда
// Общий формат контактной информации. // Общий формат контактной информации.
Возврат УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзXML(ЗначенияПолей, ОжидаемыйТип); Возврат УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзXML(ЗначенияПолей, ОжидаемыйТип);
КонецЕсли; КонецЕсли;
Если ОжидаемыйТип <> Неопределено Тогда Если ОжидаемыйТип <> Неопределено Тогда
@@ -478,7 +478,7 @@
КонецЕсли; КонецЕсли;
// Старый формат через разделитель строк и равенство. // Старый формат через разделитель строк и равенство.
ПространствоИмен = УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(); ПространствоИмен = УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация")); Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация"));
@@ -656,7 +656,7 @@
КонецЕсли; КонецЕсли;
// Пустой объект с представлением. // Пустой объект с представлением.
ПространствоИмен = УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(); ПространствоИмен = УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен();
Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация")); Результат = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация"));
Результат.Состав = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "Адрес")); Результат.Состав = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ПространствоИмен, "Адрес"));
Результат.Состав.Состав = Представление; Результат.Состав.Состав = Представление;
@@ -669,7 +669,7 @@
Адрес = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(Представление, Перечисления.ТипыКонтактнойИнформации.Адрес); Адрес = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(Представление, Перечисления.ТипыКонтактнойИнформации.Адрес);
АдресВXML = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(Адрес, Представление, Перечисления.ТипыКонтактнойИнформации.Адрес); АдресВXML = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(Адрес, Представление, Перечисления.ТипыКонтактнойИнформации.Адрес);
Возврат УправлениеКонтактнойИнформациейСлужебный.АдресXMLВXDTO(АдресВXML, Представление, Перечисления.ТипыКонтактнойИнформации.Адрес); Возврат УправлениеКонтактнойИнформациейЛокализация.АдресXMLВXDTO(АдресВXML, Представление, Перечисления.ТипыКонтактнойИнформации.Адрес);
КонецФункции КонецФункции
@@ -740,7 +740,7 @@
ТипXDTO = Тип("ОбъектXDTO"); ТипXDTO = Тип("ОбъектXDTO");
Если ТипЗнч(ОбъектИнформации) = ТипXDTO Тогда Если ТипЗнч(ОбъектИнформации) = ТипXDTO Тогда
ПространствоИмен = УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(); ПространствоИмен = УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен();
Если ОбъектИнформации.Тип() = ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация") Тогда Если ОбъектИнформации.Тип() = ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация") Тогда
Адрес = ОбъектИнформации.Состав; Адрес = ОбъектИнформации.Состав;
@@ -1190,7 +1190,7 @@
Функция ОшибкиЗаполненияАдресаXDTO(Знач Адрес, ВидИнформации) Экспорт Функция ОшибкиЗаполненияАдресаXDTO(Знач Адрес, ВидИнформации) Экспорт
Если ТипЗнч(Адрес) = Тип("ОбъектXDTO") Тогда Если ТипЗнч(Адрес) = Тип("ОбъектXDTO") Тогда
АдресXML = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML(Адрес); АдресXML = УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияXDTOВXML(Адрес);
Адрес = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(АдресXML); Адрес = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(АдресXML);
КонецЕсли; КонецЕсли;
@@ -1666,14 +1666,14 @@
Функция КонтактнаяИнформацияВСтаруюСтруктуру(XDTOКонтактнаяИнформация, СтарыйСоставПолей = Ложь) Экспорт Функция КонтактнаяИнформацияВСтаруюСтруктуру(XDTOКонтактнаяИнформация, СтарыйСоставПолей = Ложь) Экспорт
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(XDTOКонтактнаяИнформация) Тогда Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(XDTOКонтактнаяИнформация) Тогда
XDTOКонтактная = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзXML(XDTOКонтактнаяИнформация); XDTOКонтактная = УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияИзXML(XDTOКонтактнаяИнформация);
Иначе Иначе
XDTOКонтактная = XDTOКонтактнаяИнформация XDTOКонтактная = XDTOКонтактнаяИнформация
КонецЕсли; КонецЕсли;
Результат = Новый Структура("Представление, ЗначенияПолей", XDTOКонтактная.Представление, Новый СписокЗначений); Результат = Новый Структура("Представление, ЗначенияПолей", XDTOКонтактная.Представление, Новый СписокЗначений);
ПространствоИмен = УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(); ПространствоИмен = УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен();
Состав = XDTOКонтактная.Состав; Состав = XDTOКонтактная.Состав;
Если Состав = Неопределено Тогда Если Состав = Неопределено Тогда
@@ -1686,7 +1686,7 @@
Результат.ЗначенияПолей.Добавить(Результат.Представление, "Представление"); Результат.ЗначенияПолей.Добавить(Результат.Представление, "Представление");
ИначеЕсли Тип = ФабрикаXDTO.Тип(ПространствоИмен, "НомерТелефона") Тогда ИначеЕсли Тип = ФабрикаXDTO.Тип(ПространствоИмен, "НомерТелефона") Тогда
Результат.ЗначенияПолей = УправлениеКонтактнойИнформациейСлужебный.НомерТелефонаВСтарыйСписокПолей(Состав); Результат.ЗначенияПолей = УправлениеКонтактнойИнформациейЛокализация.НомерТелефонаВСтарыйСписокПолей(Состав);
Результат.ЗначенияПолей.Добавить(XDTOКонтактная.Комментарий, "Комментарий"); Результат.ЗначенияПолей.Добавить(XDTOКонтактная.Комментарий, "Комментарий");
КонецЕсли; КонецЕсли;
@@ -1707,7 +1707,7 @@
Функция АдресВСтарыйСписокПолей(XDTOАдрес, РасширенныйСоставПолей = Истина) Функция АдресВСтарыйСписокПолей(XDTOАдрес, РасширенныйСоставПолей = Истина)
Список = Новый СписокЗначений; Список = Новый СписокЗначений;
ПространствоИмен = УправлениеКонтактнойИнформациейСлужебный.ПространствоИмен(); ПространствоИмен = УправлениеКонтактнойИнформациейЛокализация.ПространствоИмен();
XDTOТип = XDTOАдрес.Тип(); XDTOТип = XDTOАдрес.Тип();
Если XDTOТип = ФабрикаXDTO.Тип(ПространствоИмен, "Адрес") Тогда Если XDTOТип = ФабрикаXDTO.Тип(ПространствоИмен, "Адрес") Тогда
@@ -142,10 +142,10 @@
КолонкиПрепятствующиеУдалению.Добавить(Колонка.Имя); КолонкиПрепятствующиеУдалению.Добавить(Колонка.Имя);
КонецЦикла; КонецЦикла;
// Группируем таблицу для исключения дублей, т.к. // Группируем таблицу для исключения дублей, т.к. не выполняем поиск повторений между пакетами.
// Не выполняем поиск повторений между пакетами
ПрепятствующиеУдалению.Свернуть(СтрСоединить(КолонкиПрепятствующиеУдалению, ",")); ПрепятствующиеУдалению.Свернуть(СтрСоединить(КолонкиПрепятствующиеУдалению, ","));
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область УдалениеОбъектов #Область УдалениеОбъектов
@@ -169,9 +169,7 @@
ЭлементОчередиВПакете = ЭлементОчередиВПакет(ЭлементОчереди, СведенияОМетаданных, Пакет); ЭлементОчередиВПакете = ЭлементОчередиВПакет(ЭлементОчереди, СведенияОМетаданных, Пакет);
Если ЗапрещенаОбработкаЭлемента(ЭлементОчередиВПакете) Тогда Если ЗапрещенаОбработкаЭлемента(ЭлементОчередиВПакете) Тогда
ОбъектыСЗапретомУдаления = ОбъединениеТаблиц( ОбъектыСЗапретомУдаления = ОбъединениеТаблиц(ОбъектыСЗапретомУдаления, ЭлементОчередиВПакете);
ОбъектыСЗапретомУдаления,
ЭлементОчередиВПакете);
Иначе Иначе
Пакет = ОбъединениеТаблиц(Пакет, ЭлементОчередиВПакете, Истина); Пакет = ОбъединениеТаблиц(Пакет, ЭлементОчередиВПакете, Истина);
КонецЕсли; КонецЕсли;
@@ -181,10 +179,7 @@
ИЛИ УдаляемыеОбъекты.Индекс(ЭлементОчереди) = УдаляемыеОбъекты.Количество()-1 Тогда ИЛИ УдаляемыеОбъекты.Индекс(ЭлементОчереди) = УдаляемыеОбъекты.Количество()-1 Тогда
РезультатОбработкиПакета = ОбработатьПакет(ПараметрыУдаления, Пакет); РезультатОбработкиПакета = ОбработатьПакет(ПараметрыУдаления, Пакет);
РезультатыУдаления = ОбъединитьРезультатУдаления( РезультатыУдаления = ОбъединитьРезультатУдаления(РезультатыУдаления, РезультатОбработкиПакета);
РезультатыУдаления,
РезультатОбработкиПакета);
Пакет.Очистить(); Пакет.Очистить();
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -271,13 +266,8 @@
Идентификатор = ПараметрыУдаления.ИдентификаторЗадания; Идентификатор = ПараметрыУдаления.ИдентификаторЗадания;
Иначе Иначе
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
Сеанс = ПолучитьТекущийСеансИнформационнойБазы(); ФоновоеЗадание = ПолучитьТекущийСеансИнформационнойБазы().ПолучитьФоновоеЗадание();
ФоновоеЗадание = Сеанс.ПолучитьФоновоеЗадание(); Идентификатор = ?(ФоновоеЗадание <> Неопределено, ФоновоеЗадание.УникальныйИдентификатор, Новый УникальныйИдентификатор);
Если ФоновоеЗадание = Неопределено Тогда
Идентификатор = Новый УникальныйИдентификатор;
Иначе
Идентификатор = ФоновоеЗадание.УникальныйИдентификатор;
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь); УстановитьПривилегированныйРежим(Ложь);
КонецЕсли; КонецЕсли;
@@ -307,21 +297,15 @@
Для каждого УдаляемыйСсылка Из ОсновнойИПодчиненныеОбъекты Цикл Для каждого УдаляемыйСсылка Из ОсновнойИПодчиненныеОбъекты Цикл
Фильтр = Новый Структура("УдаляемыйСсылка", УдаляемыйСсылка.УдаляемыйСсылка); Фильтр = Новый Структура("УдаляемыйСсылка", УдаляемыйСсылка.УдаляемыйСсылка);
РезультатУдаления = УдалитьЭлементПакета( РезультатУдаления = УдалитьЭлементПакета(ПараметрыУдаления, УдаляемыйСсылка,
ПараметрыУдаления, МестаИспользования.Скопировать(Фильтр), НеудаленныеЭлементы);
УдаляемыйСсылка,
МестаИспользования.Скопировать(Фильтр),
НеудаленныеЭлементы);
Если РезультатУдаления.ИнформацияОбОшибке <> Неопределено Тогда Если РезультатУдаления.ИнформацияОбОшибке <> Неопределено Тогда
ОтменитьТранзакцию(); ОтменитьТранзакцию();
ТранзакцияОтменена = Истина; ТранзакцияОтменена = Истина;
КонецЕсли; КонецЕсли;
ОтразитьРезультатУдаленияЭлементаПакета( ОтразитьРезультатУдаленияЭлементаПакета(ПараметрыУдаления, РезультатОбработкиПакета, РезультатУдаления);
ПараметрыУдаления,
РезультатОбработкиПакета,
РезультатУдаления);
Если НЕ УдаляемыйСсылка.ЭтоОсновнойОбъект И РезультатУдаления.Код = КодыРезультатаУдаления().ОшибкаПриУдалении Тогда Если НЕ УдаляемыйСсылка.ЭтоОсновнойОбъект И РезультатУдаления.Код = КодыРезультатаУдаления().ОшибкаПриУдалении Тогда
// Если удаление подчиненного элемента завершилось с ошибкой, то удаление других элементов невозможно. // Если удаление подчиненного элемента завершилось с ошибкой, то удаление других элементов невозможно.
@@ -335,9 +319,7 @@
Фильтр = Новый Структура("УдаляемыйСсылка, МестоИспользования", ОсновнойОбъект.УдаляемыйСсылка, УдаляемыйСсылка.УдаляемыйСсылка); Фильтр = Новый Структура("УдаляемыйСсылка, МестоИспользования", ОсновнойОбъект.УдаляемыйСсылка, УдаляемыйСсылка.УдаляемыйСсылка);
РезультатУдаленияОсновногоЭлемента.МестаИспользования = МестаИспользования.Скопировать(Фильтр); РезультатУдаленияОсновногоЭлемента.МестаИспользования = МестаИспользования.Скопировать(Фильтр);
ОтразитьРезультатУдаленияЭлементаПакета( ОтразитьРезультатУдаленияЭлементаПакета(ПараметрыУдаления, РезультатОбработкиПакета,
ПараметрыУдаления,
РезультатОбработкиПакета,
РезультатУдаленияОсновногоЭлемента); РезультатУдаленияОсновногоЭлемента);
Прервать; Прервать;
@@ -1847,7 +1847,12 @@
Объект.Текст = ТекстПисьмаФорматированныйДокумент.ПолучитьТекст(); Объект.Текст = ТекстПисьмаФорматированныйДокумент.ПолучитьТекст();
Иначе Иначе
СтруктураВложений = Новый Структура; СтруктураВложений = Новый Структура;
ТекстHTML = "";
ТекстПисьмаФорматированныйДокумент.ПолучитьHTML(ТекстHTML, СтруктураВложений);
Если ПустаяСтрока(ТекстHTML) И ЗначениеЗаполнено(Объект.ТекстHTML) Тогда
Объект.ТекстHTML = Взаимодействия.ОбработатьТекстHTMLДляФорматированногоДокумента( Объект.ТекстHTML = Взаимодействия.ОбработатьТекстHTMLДляФорматированногоДокумента(
Объект.Ссылка, Объект.ТекстHTML, СтруктураВложений); Объект.Ссылка, Объект.ТекстHTML, СтруктураВложений);
ТекстПисьмаФорматированныйДокумент.УстановитьHTML(Объект.ТекстHTML, СтруктураВложений); ТекстПисьмаФорматированныйДокумент.УстановитьHTML(Объект.ТекстHTML, СтруктураВложений);
@@ -1855,6 +1860,8 @@
КонецЕсли; КонецЕсли;
КонецЕсли;
Если Объект.Ссылка.Пустая() И ПараметрыРаботыПользователяПользователя.Подпись <> Неопределено Тогда Если Объект.Ссылка.Пустая() И ПараметрыРаботыПользователяПользователя.Подпись <> Неопределено Тогда
ДобавитьФорматированныйДокументКФорматированномуДокументу(ТекстПисьмаФорматированныйДокумент, ПараметрыРаботыПользователяПользователя.Подпись); ДобавитьФорматированныйДокументКФорматированномуДокументу(ТекстПисьмаФорматированныйДокумент, ПараметрыРаботыПользователяПользователя.Подпись);
КонецЕсли; КонецЕсли;
@@ -1889,8 +1896,6 @@
Если ПереданныеПараметры.Свойство("Вложения") И ПереданныеПараметры.Вложения <> Неопределено Тогда Если ПереданныеПараметры.Свойство("Вложения") И ПереданныеПараметры.Вложения <> Неопределено Тогда
Вложения.Очистить();
Если ТипЗнч(ПереданныеПараметры.Вложения) = Тип("СписокЗначений") Или ТипЗнч(ПереданныеПараметры.Вложения) = Тип("Массив") Тогда Если ТипЗнч(ПереданныеПараметры.Вложения) = Тип("СписокЗначений") Или ТипЗнч(ПереданныеПараметры.Вложения) = Тип("Массив") Тогда
Для Каждого Вложение Из ПереданныеПараметры.Вложения Цикл Для Каждого Вложение Из ПереданныеПараметры.Вложения Цикл
ОписаниеВложения = Вложения.Добавить(); ОписаниеВложения = Вложения.Добавить();
@@ -2031,9 +2036,12 @@
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
ТекстПисьмаФорматированныйДокумент.УстановитьHTML(Текст, Картинки);
Объект.ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.HTMLСКартинками; Объект.ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.HTMLСКартинками;
Объект.Текст = ТекстПисьмаФорматированныйДокумент.ПолучитьТекст(); Объект.Текст = ТекстПисьмаФорматированныйДокумент.ПолучитьТекст();
Объект.ТекстHTML = Текст;
ТекстПисьмаФорматированныйДокумент.УстановитьHTML(Текст, Картинки);
ИначеЕсли Взаимодействия.ФорматСообщенияПоУмолчанию(Объект.Автор) = Перечисления.СпособыРедактированияЭлектронныхПисем.HTML Тогда ИначеЕсли Взаимодействия.ФорматСообщенияПоУмолчанию(Объект.Автор) = Перечисления.СпособыРедактированияЭлектронныхПисем.HTML Тогда
@@ -2199,6 +2207,7 @@
Взаимодействия.УстановитьЗаголовокФормыЭлектронногоПисьма(ЭтотОбъект); Взаимодействия.УстановитьЗаголовокФормыЭлектронногоПисьма(ЭтотОбъект);
УстановитьЗаголовокКнопкиПоУмолчанию(); УстановитьЗаголовокКнопкиПоУмолчанию();
ОбработатьПереданныеПараметры(Параметры); ОбработатьПереданныеПараметры(Параметры);
ЗаполнитьВложения(Параметры); ЗаполнитьВложения(Параметры);
Для Каждого ПолучательПисьма Из Объект.ПолучателиПисьма Цикл Для Каждого ПолучательПисьма Из Объект.ПолучателиПисьма Цикл
@@ -507,6 +507,9 @@
<content> <content>
<mdObject>InformationRegister.ЗначенияГруппДоступаПоУмолчанию</mdObject> <mdObject>InformationRegister.ЗначенияГруппДоступаПоУмолчанию</mdObject>
</content> </content>
<content>
<mdObject>Constant.РазрешенныеНеаккредитованныеУЦ</mdObject>
</content>
<content> <content>
<mdObject>Constant.ОтложенноеОбновлениеЗавершеноУспешно</mdObject> <mdObject>Constant.ОтложенноеОбновлениеЗавершеноУспешно</mdObject>
</content> </content>
@@ -26,4 +26,6 @@
<content>Constant.АдресаСерверовМетокВремени</content> <content>Constant.АдресаСерверовМетокВремени</content>
<content>Constant.ТипПодписиКриптографииПоУмолчанию</content> <content>Constant.ТипПодписиКриптографииПоУмолчанию</content>
<content>Constant.УсовершенствоватьПодписиСДаты</content> <content>Constant.УсовершенствоватьПодписиСДаты</content>
<content>Constant.РазрешенныеНеаккредитованныеУЦ</content>
<content>CommonForm.РазрешенныеНеаккредитованныеУЦ</content>
</mdclass:FunctionalOption> </mdclass:FunctionalOption>
@@ -106,6 +106,10 @@
ВыборкаДетальныеЗаписи.Следующий(); ВыборкаДетальныеЗаписи.Следующий();
КоличествоУникальных = ВыборкаДетальныеЗаписи.КоличествоУникальных; КоличествоУникальных = ВыборкаДетальныеЗаписи.КоличествоУникальных;
Если КоличествоУникальных = Неопределено Тогда
Возврат Истина;
КонецЕсли;
Если КоличествоУникальных < КоличествоУникальныхМаксимум Тогда Если КоличествоУникальных < КоличествоУникальныхМаксимум Тогда
МожноНовыйКомментарий = Истина; МожноНовыйКомментарий = Истина;
Иначе Иначе
@@ -70,9 +70,11 @@
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.4.1") > 0 Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.4.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.4.376") < 0 И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.4.376") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.1") > 0 Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.344") < 0 И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.475") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.1") > 0 Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.126") < 0 Тогда И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.275") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.7.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.7.100") < 0 Тогда
ЕстьТекущиеИзменения = Истина; ЕстьТекущиеИзменения = Истина;
КонецЕсли; КонецЕсли;
@@ -181,6 +183,17 @@
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.1.4.376"); ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.1.4.376");
КонецЕсли; КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.475") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.275") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.7.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.7.100") < 0 Тогда
РегистрыСведений.ИспользуемыеВидыДоступа.ПриИзмененииИспользованияВидовДоступа();
ЗапланироватьОбновление_00_00463430("ПереходНаВерсиюБСП_3.1.5.475");
КонецЕсли;
КонецПроцедуры КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации. // Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
@@ -282,6 +295,60 @@
КонецПроцедуры КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
Процедура ЗапланироватьОбновление_00_00463430(Описание)
ИдентификаторТранзакции = Новый УникальныйИдентификатор;
ДействующиеПараметры = УправлениеДоступомСлужебный.ДействующиеПараметрыОграниченияДоступа(
ИдентификаторТранзакции, Неопределено, Ложь);
ДополнительныйКонтекст = ДействующиеПараметры.ДополнительныйКонтекст;
Списки = Новый Массив;
СпискиДляВнешнихПользователей = Новый Массив;
ВнешниеПользователиВключены = Константы.ИспользоватьВнешнихПользователей.Получить();
ДобавитьСписки_00_00463430(Списки, ДополнительныйКонтекст.ДляПользователей);
Если ВнешниеПользователиВключены Тогда
ДобавитьСписки_00_00463430(СпискиДляВнешнихПользователей,
ДополнительныйКонтекст.ДляВнешнихПользователей);
КонецЕсли;
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.КлючиДоступаКДанным = Ложь;
ПараметрыПланирования.РазрешенныеКлючиДоступа = Истина;
ПараметрыПланирования.ДляВнешнихПользователей = Ложь;
ПараметрыПланирования.ЭтоПродолжениеОбновления = Истина;
ПараметрыПланирования.Описание = Описание;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Списки, ПараметрыПланирования);
ПараметрыПланирования.ДляПользователей = Ложь;
ПараметрыПланирования.ДляВнешнихПользователей = Истина;
ПараметрыПланирования.Описание = Описание;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(СпискиДляВнешнихПользователей, ПараметрыПланирования);
КонецПроцедуры
// Для процедуры ЗапланироватьОбновление_00_00463430.
Процедура ДобавитьСписки_00_00463430(Списки, ДополнительныйКонтекст)
СпискиСЗаписьюКлючейДляЗависимыхСписковБезКлючей =
ДополнительныйКонтекст.СпискиСЗаписьюКлючейДляЗависимыхСписковБезКлючей;
Для Каждого КлючИЗначение Из ДополнительныйКонтекст.СпискиСОтключеннымОграничением Цикл
Если СпискиСЗаписьюКлючейДляЗависимыхСписковБезКлючей.Получить(КлючИЗначение.Ключ) = Неопределено Тогда
Продолжить;
КонецЕсли;
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(КлючИЗначение.Ключ);
Если ОбъектМетаданных = Неопределено Тогда
Продолжить;
КонецЕсли;
Списки.Добавить(ОбъектМетаданных.ПолноеИмя());
КонецЦикла;
КонецПроцедуры
// Для процедуры ОбновитьВерсиюТекстовОграниченияДоступа. // Для процедуры ОбновитьВерсиюТекстовОграниченияДоступа.
Функция ВерсияТекстовОграниченияДоступа() Функция ВерсияТекстовОграниченияДоступа()
@@ -451,6 +451,8 @@
Если МетаданныеРегистра.Корреспонденция Тогда Если МетаданныеРегистра.Корреспонденция Тогда
НаборДанных.ИзмеренияДт.Вставить("СчетДт", ПредставлениеСчет + " " + ПредставлениеДебет); НаборДанных.ИзмеренияДт.Вставить("СчетДт", ПредставлениеСчет + " " + ПредставлениеДебет);
НаборДанных.ИзмеренияКт.Вставить("СчетКт", ПредставлениеСчет + " " + ПредставлениеКредит); НаборДанных.ИзмеренияКт.Вставить("СчетКт", ПредставлениеСчет + " " + ПредставлениеКредит);
Иначе
НаборДанных.ИзмеренияДт.Вставить("Счет", ПредставлениеСчет);
КонецЕсли; КонецЕсли;
Измерения = МетаданныеРегистра.Измерения; Измерения = МетаданныеРегистра.Измерения;
@@ -14,7 +14,7 @@
ПериодНастройка = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период"); ПериодНастройка = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
ПериодНастройкаПользовательская = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПериодНастройка.ИдентификаторПользовательскойНастройки); ПериодНастройкаПользовательская = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПериодНастройка.ИдентификаторПользовательскойНастройки);
Период = ПериодНастройкаПользовательская.Значение; // СтандартныйПериод Период = ?(ПериодНастройкаПользовательская <> Неопределено, ПериодНастройкаПользовательская.Значение, ПериодНастройка.Значение); // СтандартныйПериод
ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода"); ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДанных.Значение = УниверсальноеВремя(Период.ДатаНачала); ПараметрДанных.Значение = УниверсальноеВремя(Период.ДатаНачала);
@@ -40,7 +40,6 @@
ПараметрДанных.Значение = (УниверсальноеВремя(Период.ДатаОкончания) - Дата(1,1,1)) * 1000; ПараметрДанных.Значение = (УниверсальноеВремя(Период.ДатаОкончания) - Дата(1,1,1)) * 1000;
ПараметрДанных.Использование = Истина; ПараметрДанных.Использование = Истина;
ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВидСравнения"); ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВидСравнения");
ПараметрДанныхВидСравнения = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки); ПараметрДанныхВидСравнения = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки);
Если ПараметрДанныхВидСравнения.Значение = "ЛевоеСоединение" Тогда Если ПараметрДанныхВидСравнения.Значение = "ЛевоеСоединение" Тогда
@@ -344,18 +344,7 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
Для Счетчик = 1 По 10000 Цикл
Миллисекунд = 100 * 2 / 10 * 1000 / 50;
КонецЦикла;
Миллисекунд = ТекущаяУниверсальнаяДатаВМиллисекундах() - МоментНачала;
ТактоваяЧастота = Окр(150 / Миллисекунд, 1);
ТактоваяЧастота = ?(ТактоваяЧастота < 1, 1, ТактоваяЧастота);
Коэффициент = Окр(4.2 / ТактоваяЧастота, 1);
ГигабайтДо = Окр(КоличествоЯчеек / 1500000 + КоличествоСтрок / 6000, 1) + 0.4; ГигабайтДо = Окр(КоличествоЯчеек / 1500000 + КоличествоСтрок / 6000, 1) + 0.4;
МинутДо = Окр(КоличествоЯчеек / 1000000 * (1.15 + (КоличествоЯчеек / 65000000)
* (КоличествоЯчеек / 65000000)) * Коэффициент, 1) + 0.2;
ДополнительныеПараметры.ИмяПараметраХраненияОтказаОтПредупреждения = ДополнительныеПараметры.ИмяПараметраХраненияОтказаОтПредупреждения =
"НеПредупреждатьОБольшомРазмереОтчета"; "НеПредупреждатьОБольшомРазмереОтчета";
@@ -364,14 +353,13 @@
НСтр("ru = 'При текущих отборах отчет может быть очень большим НСтр("ru = 'При текущих отборах отчет может быть очень большим
|до %1 строк и %2 столбцов (%3 ячеек). |до %1 строк и %2 столбцов (%3 ячеек).
| |
|Может долго формироваться (~ до %4 мин.). |Может долго формироваться.
|Может не хватить памяти (нужно ~ до %5 Гб). |Может не хватить памяти (нужно ~ до %4 Гб).
| |
|Рекомендуется усилить отборы.'"), |Рекомендуется усилить отборы.'"),
Формат(КоличествоСтрок, ""), Формат(КоличествоСтрок, ""),
Формат(КоличествоКолонок, ""), Формат(КоличествоКолонок, ""),
Формат(КоличествоЯчеек, ""), Формат(КоличествоЯчеек, ""),
Формат(МинутДо, "ЧДЦ=1"),
Формат(ГигабайтДо, "ЧДЦ=1")); Формат(ГигабайтДо, "ЧДЦ=1"));
КонецПроцедуры КонецПроцедуры
@@ -1738,6 +1726,7 @@
ИначеЕсли ТипЗнч(Коллекция) = Тип("ОписанияСтандартныхТабличныхЧастей") Тогда ИначеЕсли ТипЗнч(Коллекция) = Тип("ОписанияСтандартныхТабличныхЧастей") Тогда
Количество = 0; Количество = 0;
//@skip-check module-unused-local-variable
Для Каждого ЭлементКоллекции Из Коллекция Цикл Для Каждого ЭлементКоллекции Из Коллекция Цикл
Количество = Количество + 1; Количество = Количество + 1;
КонецЦикла; КонецЦикла;
@@ -1156,93 +1156,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.АккредитованныеУдостоверяющиеЦентры</name> <name>Constant.АккредитованныеУдостоверяющиеЦентры</name>
<right> <right>
@@ -1622,6 +1535,93 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.УдалитьЛогинДоступаКСервисуMorpher</name> <name>Constant.УдалитьЛогинДоступаКСервисуMorpher</name>
<right> <right>
@@ -542,33 +542,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonForm.ВыборУзловПлановОбмена</name> <name>CommonForm.ВыборУзловПлановОбмена</name>
<right> <right>
@@ -682,6 +655,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ОтправлятьПисьмаВФорматеHTML</name> <name>Constant.ОтправлятьПисьмаВФорматеHTML</name>
<right> <right>
@@ -1110,6 +1110,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Constant.РазрешенныеНеаккредитованныеУЦ</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonForm.ОтчетОСохраненииФайловЭлектронныхПодписей</name> <name>CommonForm.ОтчетОСохраненииФайловЭлектронныхПодписей</name>
<right> <right>
@@ -426,33 +426,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonForm.ВыборУзловПлановОбмена</name> <name>CommonForm.ВыборУзловПлановОбмена</name>
<right> <right>
@@ -566,6 +539,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ОтправлятьПисьмаВФорматеHTML</name> <name>Constant.ОтправлятьПисьмаВФорматеHTML</name>
<right> <right>
@@ -907,6 +907,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Constant.РазрешенныеНеаккредитованныеУЦ</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ОтложенноеОбновлениеЗавершеноУспешно</name> <name>Constant.ОтложенноеОбновлениеЗавершеноУспешно</name>
<right> <right>
@@ -3,6 +3,13 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>CommonCommand.СвязатьсяСоСпециалистомОнлайнПоддержки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -30,13 +37,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>CommonCommand.СвязатьсяСоСпециалистомОнлайнПоддержки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonForm.НастройкаОнлайнПоддержки</name> <name>CommonForm.НастройкаОнлайнПоддержки</name>
<right> <right>
@@ -119,33 +119,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonCommand.НастройкиСинхронизацииДанных</name> <name>CommonCommand.НастройкиСинхронизацииДанных</name>
<right> <right>
@@ -200,6 +173,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>DataProcessor.ИнтерактивноеИзменениеВыгрузки</name> <name>DataProcessor.ИнтерактивноеИзменениеВыгрузки</name>
<right> <right>
@@ -3,6 +3,13 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЗагрузкаКлассификатораБанков.Command.ЗагрузкаКлассификатораБанков</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -30,13 +37,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>DataProcessor.ЗагрузкаКлассификатораБанков.Command.ЗагрузкаКлассификатораБанков</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>DataProcessor.ЗагрузкаКлассификатораБанков</name> <name>DataProcessor.ЗагрузкаКлассификатораБанков</name>
<right> <right>
@@ -293,33 +293,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НастройкиУчетныхЗаписейЭлектроннойПочты.Command.ДополнительныеНастройки</name> <name>InformationRegister.НастройкиУчетныхЗаписейЭлектроннойПочты.Command.ДополнительныеНастройки</name>
<right> <right>
@@ -418,6 +391,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.СостоянияКонтактовВзаимодействий</name> <name>InformationRegister.СостоянияКонтактовВзаимодействий</name>
<right> <right>
@@ -10,6 +10,13 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.ВнешниеПользователи.Command.ВнешнийДоступ</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -37,13 +44,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.ВнешниеПользователи.Command.ВнешнийДоступ</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.ГруппыВнешнихПользователей.Command.ГруппыВнешнегоПользователя</name> <name>Catalog.ГруппыВнешнихПользователей.Command.ГруппыВнешнегоПользователя</name>
<right> <right>
@@ -44,33 +44,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Task.ЗадачаИсполнителя</name> <name>Task.ЗадачаИсполнителя</name>
<right> <right>
@@ -99,6 +72,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Task.ЗадачаИсполнителя.Command.ВсеЗадачи</name> <name>Task.ЗадачаИсполнителя.Command.ВсеЗадачи</name>
<right> <right>
@@ -3,33 +3,6 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.Заметки</name> <name>Catalog.Заметки</name>
<right> <right>
@@ -90,6 +63,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonCommand.СоздатьЗаметкуПоПредмету</name> <name>CommonCommand.СоздатьЗаметкуПоПредмету</name>
<right> <right>
@@ -18,33 +18,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Document.НазначениеОпросов</name> <name>Document.НазначениеОпросов</name>
<right> <right>
@@ -108,6 +81,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonCommand.НачатьИнтервью</name> <name>CommonCommand.НачатьИнтервью</name>
<right> <right>
@@ -10,6 +10,25 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПутиКПрограммамЭлектроннойПодписиИШифрованияНаСерверахLinux</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> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -37,25 +56,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПутиКПрограммамЭлектроннойПодписиИШифрованияНаСерверахLinux</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> <object>
<name>Catalog.ПрограммыЭлектроннойПодписиИШифрования</name> <name>Catalog.ПрограммыЭлектроннойПодписиИШифрования</name>
<right> <right>
@@ -14,6 +14,13 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -45,13 +52,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name> <name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right> <right>
@@ -25,33 +25,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ИсполнителиЗадач</name> <name>InformationRegister.ИсполнителиЗадач</name>
<right> <right>
@@ -114,6 +87,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Report.ЗависшиеЗадачи</name> <name>Report.ЗависшиеЗадачи</name>
<right> <right>
@@ -3,33 +3,6 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.УчетныеЗаписиDSS</name> <name>Catalog.УчетныеЗаписиDSS</name>
<right> <right>
@@ -87,6 +60,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.СертификатыПользователяDSS</name> <name>InformationRegister.СертификатыПользователяDSS</name>
<right> <right>
@@ -88,33 +88,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.ВариантыОтветовАнкет</name> <name>Catalog.ВариантыОтветовАнкет</name>
<right> <right>
@@ -154,6 +127,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonCommand.НачатьИнтервью</name> <name>CommonCommand.НачатьИнтервью</name>
<right> <right>
@@ -21,33 +21,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Task.ЗадачаИсполнителя</name> <name>Task.ЗадачаИсполнителя</name>
<right> <right>
@@ -133,6 +106,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Task.ЗадачаИсполнителя.Command.ВсеЗадачи</name> <name>Task.ЗадачаИсполнителя.Command.ВсеЗадачи</name>
<right> <right>
@@ -3,33 +3,6 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ДополнительныеСведения</name> <name>InformationRegister.ДополнительныеСведения</name>
<right> <right>
@@ -67,6 +40,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonCommand.ДополнительныеСведенияКоманднаяПанель</name> <name>CommonCommand.ДополнительныеСведенияКоманднаяПанель</name>
<right> <right>
@@ -1620,45 +1620,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </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> <object>
<name>Constant.АккредитованныеУдостоверяющиеЦентры</name> <name>Constant.АккредитованныеУдостоверяющиеЦентры</name>
<right> <right>
@@ -2260,6 +2221,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </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> <object>
<name>Constant.УдалитьЛогинДоступаКСервисуMorpher</name> <name>Constant.УдалитьЛогинДоступаКСервисуMorpher</name>
<right> <right>
@@ -3,6 +3,20 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>CommonForm.СвязанныеДокументы</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.СвязанныеДокументы</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -30,18 +44,4 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>CommonForm.СвязанныеДокументы</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.СвязанныеДокументы</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
</Rights> </Rights>
@@ -646,33 +646,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.ВидыПроверок</name> <name>Catalog.ВидыПроверок</name>
<right> <right>
@@ -992,6 +965,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ОтправлятьПисьмаВФорматеHTML</name> <name>Constant.ОтправлятьПисьмаВФорматеHTML</name>
<right> <right>
@@ -1276,6 +1276,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Constant.РазрешенныеНеаккредитованныеУЦ</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ИспользоватьДополнительныеРеквизитыИСведения</name> <name>Constant.ИспользоватьДополнительныеРеквизитыИСведения</name>
<right> <right>
@@ -31,33 +31,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>WebService.RemoteAdministrationOfExchange.Operation.TestConnection</name> <name>WebService.RemoteAdministrationOfExchange.Operation.TestConnection</name>
<right> <right>
@@ -86,6 +59,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>WebService.RemoteAdministrationOfExchange_2_4_5_1.Operation.StartExchangeExecutionInSecondDataBase</name> <name>WebService.RemoteAdministrationOfExchange_2_4_5_1.Operation.StartExchangeExecutionInSecondDataBase</name>
<right> <right>
@@ -3,6 +3,13 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Catalog.ВнешниеПользователи.Command.ВнешнийДоступ</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -30,13 +37,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.ВнешниеПользователи.Command.ВнешнийДоступ</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.СоставыГруппПользователей</name> <name>InformationRegister.СоставыГруппПользователей</name>
<right> <right>
@@ -18,6 +18,21 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.УчетныеЗаписиDSS</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -45,21 +60,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.УчетныеЗаписиDSS</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>SessionParameter.ПодключениеDSS</name> <name>SessionParameter.ПодключениеDSS</name>
<right> <right>
@@ -3,6 +3,26 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>InformationRegister.ДополнительныеСведения</name>
<right>
<name>Read</name>
<value>true</value>
<restrictionByCondition>
<condition>#Если &amp;ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляРегистра("ИдентификаторыОбъектовМетаданных.РегистрСведенийДополнительныеСведения", "Свойство", "", "", "", "")
#Иначе
#ПоЗначениям( "РегистрСведений.ДополнительныеСведения", "","",
"ДополнительныеСведения", "Свойство",
"","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","")
#КонецЕсли</condition>
</restrictionByCondition>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -30,26 +50,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ДополнительныеСведения</name>
<right>
<name>Read</name>
<value>true</value>
<restrictionByCondition>
<condition>#Если &amp;ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляРегистра("ИдентификаторыОбъектовМетаданных.РегистрСведенийДополнительныеСведения", "Свойство", "", "", "", "")
#Иначе
#ПоЗначениям( "РегистрСведений.ДополнительныеСведения", "","",
"ДополнительныеСведения", "Свойство",
"","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","")
#КонецЕсли</condition>
</restrictionByCondition>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonCommand.ДополнительныеСведенияКоманднаяПанель</name> <name>CommonCommand.ДополнительныеСведенияКоманднаяПанель</name>
<right> <right>
@@ -54,33 +54,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Task.ЗадачаИсполнителя</name> <name>Task.ЗадачаИсполнителя</name>
<right> <right>
@@ -109,6 +82,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>CommonCommand.ЗадачиПоБизнесПроцессу</name> <name>CommonCommand.ЗадачиПоБизнесПроцессу</name>
<right> <right>
@@ -21,33 +21,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Task.ЗадачаИсполнителя</name> <name>Task.ЗадачаИсполнителя</name>
<right> <right>
@@ -102,6 +75,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Task.ЗадачаИсполнителя.Command.ВсеЗадачи</name> <name>Task.ЗадачаИсполнителя.Command.ВсеЗадачи</name>
<right> <right>
@@ -44,33 +44,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.ВариантыОтветовАнкет</name> <name>Catalog.ВариантыОтветовАнкет</name>
<right> <right>
@@ -101,6 +74,33 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Document.Анкета</name> <name>Document.Анкета</name>
<right> <right>
@@ -10,6 +10,21 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.ВидыПроверок</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -37,21 +52,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.ВидыПроверок</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Report.РезультатыПроверкиУчета</name> <name>Report.РезультатыПроверкиУчета</name>
<right> <right>
@@ -427,6 +427,10 @@
<command>Report.ПраваРолей.StandardCommand.Open</command> <command>Report.ПраваРолей.StandardCommand.Open</command>
<visible/> <visible/>
</visibilityFragments> </visibilityFragments>
<visibilityFragments>
<command>CommonForm.РазрешенныеНеаккредитованныеУЦ.StandardCommand.Open</command>
<visible/>
</visibilityFragments>
</commandsVisibility> </commandsVisibility>
<commandsPlacement> <commandsPlacement>
<placementFragments> <placementFragments>
@@ -109,4 +109,5 @@
<content>CommonForm.ВосстановлениеПаролей</content> <content>CommonForm.ВосстановлениеПаролей</content>
<content>Report.ПраваРолей</content> <content>Report.ПраваРолей</content>
<content>Report.ПродлениеСрокаДействияЭлектронныхПодписей</content> <content>Report.ПродлениеСрокаДействияЭлектронныхПодписей</content>
<content>CommonForm.РазрешенныеНеаккредитованныеУЦ</content>
</mdclass:Subsystem> </mdclass:Subsystem>
@@ -50,5 +50,6 @@
<content>SessionParameter.ИнтерактивнаяПроверкаЗаполненияКонтактнойИнформации</content> <content>SessionParameter.ИнтерактивнаяПроверкаЗаполненияКонтактнойИнформации</content>
<content>EventSubscription.КонтактнаяИнформацияОбработкаПроверкиЗаполнения</content> <content>EventSubscription.КонтактнаяИнформацияОбработкаПроверкиЗаполнения</content>
<content>ScheduledJob.ИсправлениеУстаревшихАдресов</content> <content>ScheduledJob.ИсправлениеУстаревшихАдресов</content>
<content>CommonModule.УправлениеКонтактнойИнформациейЛокализация</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem> <parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem> </mdclass:Subsystem>
@@ -81,5 +81,7 @@
<content>Constant.АккредитованныеУдостоверяющиеЦентры</content> <content>Constant.АккредитованныеУдостоверяющиеЦентры</content>
<content>CommonModule.ЭлектроннаяПодписьСлужебныйЛокализация</content> <content>CommonModule.ЭлектроннаяПодписьСлужебныйЛокализация</content>
<content>CommonModule.ЭлектроннаяПодписьСлужебныйКлиентПовтИсп</content> <content>CommonModule.ЭлектроннаяПодписьСлужебныйКлиентПовтИсп</content>
<content>Constant.РазрешенныеНеаккредитованныеУЦ</content>
<content>CommonForm.РазрешенныеНеаккредитованныеУЦ</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem> <parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem> </mdclass:Subsystem>