3_2_1_371
This commit is contained in:
1 parent
504a74c00e
commit
426771cb9c
174 files changed
+4580
-2836
No files matched your search
@@ -225,7 +225,8 @@
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьДоступностьКоманд()
|
||||
|
||||
Если Элементы.Список.ТекущиеДанные = Неопределено Тогда
|
||||
Если Элементы.Список.ТекущиеДанные = Неопределено
|
||||
Или Не Элементы.Список.ТекущиеДанные.Свойство("Автор") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -128,7 +128,8 @@
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьДоступностьКоманд()
|
||||
|
||||
Если Элементы.Список.ТекущиеДанные = Неопределено Тогда
|
||||
Если Элементы.Список.ТекущиеДанные = Неопределено
|
||||
Или Не Элементы.Список.ТекущиеДанные.Свойство("Автор") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -476,6 +476,32 @@
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ГруппыВыбрать</name>
|
||||
<id>674</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ГруппыВыбратьРасширеннаяПодсказка</name>
|
||||
<id>675</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.Группы.StandardCommand.Choose</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>638</id>
|
||||
@@ -692,6 +718,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<choiceMode>true</choiceMode>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<rowSelectionMode>Row</rowSelectionMode>
|
||||
<header>true</header>
|
||||
@@ -1115,6 +1142,31 @@
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>СписокВыбрать</name>
|
||||
<id>676</id>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СписокВыбратьРасширеннаяПодсказка</name>
|
||||
<id>677</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.Список.StandardCommand.Choose</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>604</id>
|
||||
@@ -1478,6 +1530,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<choiceMode>true</choiceMode>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<header>true</header>
|
||||
<headerHeight>1</headerHeight>
|
||||
@@ -1966,6 +2019,32 @@
|
||||
<autoCommandBar>
|
||||
<name>ФормаКоманднаяПанель</name>
|
||||
<id>-1</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ФормаВыбрать</name>
|
||||
<id>672</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаВыбратьРасширеннаяПодсказка</name>
|
||||
<id>673</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.StandardCommand.Choose</commandName>
|
||||
<representation>Auto</representation>
|
||||
<defaultButton>true</defaultButton>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ФормаВыбратьИЗакрыть</name>
|
||||
<id>98</id>
|
||||
@@ -3274,6 +3353,12 @@
|
||||
<name>ТекущаяСтрока</name>
|
||||
<valueType/>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>СкрытьКомандыПриВыбореПодборе</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar>
|
||||
|
||||
@@ -44,11 +44,18 @@
|
||||
|
||||
НастроитьФормуПоИспользованиюГруппПользователей(Ложь, Истина);
|
||||
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85()
|
||||
И (Не ХранимыеПараметры.РежимВыбора
|
||||
Или ХранимыеПараметры.РасширенныйПодбор) Тогда
|
||||
Если ХранимыеПараметры.СкрытьКомандыПриВыбореПодборе Тогда
|
||||
ПользователиСлужебныйКлиентСервер.СкрытьКомандыПриВыбореПодборе(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
НастроитьРаботуВТакси();
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85()
|
||||
И ОбщегоНазначения.ЭтоВебКлиент() Тогда
|
||||
|
||||
КоманднаяПанель.Видимость = Ложь;
|
||||
Элементы.ГоризонтальнаяГруппаТакси.Видимость = Ложь;
|
||||
Элементы.ВидПользователей.Видимость = Ложь;
|
||||
Элементы.Колонки.Видимость = Ложь;
|
||||
Элементы.Легенда.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -56,7 +63,19 @@
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
ПользователиСлужебныйКлиент.ОтключитьВидимостьСкрытыхЭлементов(ЭтотОбъект);
|
||||
|
||||
Если ХранимыеПараметры.СкрытьКомандыПриВыбореПодборе Тогда
|
||||
ПользователиСлужебныйКлиентСервер.СкрытьКомандыПриВыбореПодборе(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85() Тогда
|
||||
#Если ВебКлиент Тогда
|
||||
ПодключитьОбработчикОжидания("ПриОткрытииОбработчикОжидания", 0.1, Истина);
|
||||
#Иначе
|
||||
НастроитьРаботуВТакси();
|
||||
#КонецЕсли
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -629,16 +648,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытииОбработчикОжидания()
|
||||
|
||||
Если ХранимыеПараметры.РежимВыбора Тогда
|
||||
ПользователиСлужебныйКлиент.НастроитьКнопкиПриВыбореИПодборе(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85()
|
||||
И ХранимыеПараметры.РежимВыбора
|
||||
И Не ХранимыеПараметры.РасширенныйПодбор Тогда
|
||||
|
||||
НастроитьРаботуВТакси();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -648,6 +658,7 @@
|
||||
// * ЗакрыватьПриВыборе - Булево
|
||||
// * ВыборГрупп - Булево
|
||||
// * ОтборОбъектАвторизации - ОпределяемыйТип.ВнешнийПользователь
|
||||
// * СкрытьКомандыПриВыбореПодборе - Булево
|
||||
// * РасширенныйПодбор - Булево
|
||||
// * ИспользоватьГруппы - Произвольный
|
||||
// * ГруппаВсеПользователи - СправочникСсылка.ГруппыВнешнихПользователей
|
||||
@@ -655,6 +666,7 @@
|
||||
// * ПоказыватьЭлементыСписков - Строка - предыдущее значение
|
||||
// * ГруппыОтображение - ОтображениеТаблицы - отображение перед включением отбора выбранных ссылок.
|
||||
// * ГруппаТекущаяСтрока - Неопределено, СправочникСсылка.ГруппыВнешнихПользователей
|
||||
// * СкрытыеЭлементы - Строка
|
||||
//
|
||||
&НаСервере
|
||||
Функция ХранимыеПараметры()
|
||||
@@ -665,6 +677,7 @@
|
||||
Результат.Вставить("ВыборГрупп", Параметры.РежимВыбора И Параметры.ВыборГруппВнешнихПользователей);
|
||||
Результат.Вставить("ОтборОбъектАвторизации", ?(Параметры.Отбор.Свойство("ОбъектАвторизации"),
|
||||
Параметры.Отбор.ОбъектАвторизации, Неопределено));
|
||||
Результат.Вставить("СкрытьКомандыПриВыбореПодборе", Параметры.РежимВыбора И Параметры.СкрытьКомандыПриВыбореПодборе);
|
||||
Результат.Вставить("РасширенныйПодбор", Параметры.РежимВыбора И Параметры.РасширенныйПодбор);
|
||||
Результат.Вставить("ИспользоватьГруппы", ПолучитьФункциональнуюОпцию("ИспользоватьГруппыВнешнихПользователей"));
|
||||
Результат.Вставить("ГруппаВсеПользователи", ВнешниеПользователи.ГруппаВсеВнешниеПользователи());
|
||||
@@ -672,6 +685,7 @@
|
||||
Результат.Вставить("ПоказыватьЭлементыСписков", "");
|
||||
Результат.Вставить("ГруппыОтображение", Элементы.Группы.Отображение);
|
||||
Результат.Вставить("ГруппаТекущаяСтрока");
|
||||
Результат.Вставить("СкрытыеЭлементы", "");
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -780,6 +794,14 @@
|
||||
|
||||
ПользователиСлужебный.НастроитьРаботуВТакси(ЭтотОбъект);
|
||||
|
||||
Если ОбщегоНазначения.ЭтоВебКлиент() Тогда
|
||||
КоманднаяПанель.Видимость = Истина;
|
||||
Элементы.ГоризонтальнаяГруппаТакси.Видимость = Истина;
|
||||
Элементы.ВидПользователей.Видимость = Истина;
|
||||
Элементы.Колонки.Видимость = Истина;
|
||||
Элементы.Легенда.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
|
||||
@@ -1873,6 +1873,170 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция РеквизитыДоверенностиИзФайла(ЗагруженныйФайл) Экспорт
|
||||
|
||||
Результат = ФайлыДоверенностейИПодписей(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ЗагруженныйФайл));
|
||||
|
||||
ФайлыДоверенностей = Результат.ФайлыДоверенностей;
|
||||
|
||||
Если ФайлыДоверенностей.Количество() = 0 Тогда
|
||||
ТекстОшибки = НСтр("ru = 'Не удалось прочитать доверенность - неверный формат.
|
||||
|Ожидался файл доверенности в формате 003.'");
|
||||
Возврат ТекстОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибки = "";
|
||||
Для Каждого Элемент Из ФайлыДоверенностей Цикл
|
||||
|
||||
ЗагруженныйФайл = Элемент.Ключ;
|
||||
ИмяФайла = ЗагруженныйФайл.ИмяФайла;
|
||||
АдресФайла = ЗагруженныйФайл.Хранение;
|
||||
|
||||
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайла);
|
||||
ДоверенностьXML = ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные);
|
||||
|
||||
Попытка
|
||||
ОписаниеДоверенности = ДоверенностьXDTO(ДоверенностьXML);
|
||||
Исключение
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось прочитать файл %1 по причине:
|
||||
|%2'"),
|
||||
ИмяФайла,
|
||||
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
|
||||
ЗаписьЖурналаРегистрации(МашиночитаемыеДоверенностиФНССлужебный.ИмяСобытияЖурналаРегистрации(),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки);
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
Если ОписаниеДоверенности.Документ.Передов = Неопределено Тогда
|
||||
ЕдиныйРегистрационныйНомер = ОписаниеДоверенности.Документ.Довер.СвДов.НомДовер;
|
||||
Иначе
|
||||
ЕдиныйРегистрационныйНомер = ОписаниеДоверенности.Документ.Передов.СвПереДовер.НомДовер;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check query-in-loop - штучные запросы в количестве загружаемых доверенностей
|
||||
Доверенность = НайтиДоверенность(ЕдиныйРегистрационныйНомер);
|
||||
|
||||
Если ЗначениеЗаполнено(Доверенность) Тогда
|
||||
Объект = Доверенность.ПолучитьОбъект();
|
||||
Иначе
|
||||
Объект = Справочники.МашиночитаемыеДоверенности.СоздатьЭлемент();
|
||||
ЭтоПередоверие = ОписаниеДоверенности.Документ.Довер = Неопределено;
|
||||
Если ЭтоПередоверие Тогда
|
||||
//@skip-check query-in-loop - штучные запросы в количестве загружаемых доверенностей
|
||||
ЗаполнитьПередовериеИзОбъектаXDTO(Объект, ОписаниеДоверенности);
|
||||
Иначе
|
||||
ЗаполнитьДоверенность(Объект, ОписаниеДоверенности);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("Ссылка", ?(ЗначениеЗаполнено(Доверенность), Доверенность, Неопределено));
|
||||
Результат.Вставить("Наименование", ?(ЗначениеЗаполнено(Доверенность), Объект.Наименование, АвтоНаименование(Объект)));
|
||||
Результат.Вставить("ДатаВыдачи", Объект.ДатаВыдачи);
|
||||
Результат.Вставить("ДатаОкончания", Объект.ДатаОкончания);
|
||||
Результат.Вставить("НомерДоверенности", Объект.НомерДоверенности);
|
||||
Результат.Вставить("Полномочия", Объект.Полномочия.Выгрузить().Скопировать(,"Код, Мнемокод, Наименование"));
|
||||
|
||||
МассивДоверителей = Новый Массив;
|
||||
Доверители = Объект.Доверители.Выгрузить();
|
||||
|
||||
Найдено = Доверители.НайтиСтроки(Новый Структура("ИдентификаторРодителя",
|
||||
Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000")));
|
||||
|
||||
Для Каждого СтрокаОрганизация Из Найдено Цикл
|
||||
|
||||
РеквизитыОрганизации = СтрокаОрганизация.ДоверительРеквизиты.Получить();
|
||||
|
||||
Если РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
|
||||
МассивДоверителей.Добавить(Новый Структура("Организация, ОрганизацияПредставитель, ФизическоеЛицо",
|
||||
Неопределено, Неопределено, РеквизитыОрганизации));
|
||||
Иначе
|
||||
|
||||
НайденоПредставителиОрганизации = Доверители.НайтиСтроки(Новый Структура("ИдентификаторРодителя",
|
||||
СтрокаОрганизация.Идентификатор));
|
||||
|
||||
Если НайденоПредставителиОрганизации.Количество() = 0 Тогда
|
||||
МассивДоверителей.Добавить(
|
||||
Новый Структура("Организация, ОрганизацияПредставитель, ФизическоеЛицо",
|
||||
РеквизитыОрганизации, Неопределено, Неопределено));
|
||||
Иначе
|
||||
Для Каждого СтрокаПредставительОрганизации Из НайденоПредставителиОрганизации Цикл
|
||||
РеквизитыПредставителяОрганизации = СтрокаПредставительОрганизации.ДоверительРеквизиты.Получить();
|
||||
|
||||
Если РеквизитыПредставителяОрганизации.ЭтоФизическоеЛицо Тогда
|
||||
МассивДоверителей.Добавить(
|
||||
Новый Структура("Организация, ОрганизацияПредставитель, ФизическоеЛицо",
|
||||
РеквизитыОрганизации, Неопределено, РеквизитыПредставителяОрганизации));
|
||||
Иначе
|
||||
НайденоФизическиеЛица = Доверители.НайтиСтроки(Новый Структура("ИдентификаторРодителя",
|
||||
СтрокаПредставительОрганизации.Идентификатор));
|
||||
Если НайденоФизическиеЛица.Количество() = 0 Тогда
|
||||
МассивДоверителей.Добавить(
|
||||
Новый Структура("Организация, ОрганизацияПредставитель, ФизическоеЛицо",
|
||||
РеквизитыОрганизации, РеквизитыПредставителяОрганизации, Неопределено));
|
||||
|
||||
Иначе
|
||||
Для Каждого СтрокаФизическоеЛицо Из НайденоФизическиеЛица Цикл
|
||||
РеквизитыФизическогоЛица = СтрокаФизическоеЛицо.ДоверительРеквизиты.Получить();
|
||||
МассивДоверителей.Добавить(
|
||||
Новый Структура("Организация, ОрганизацияПредставитель, ФизическоеЛицо",
|
||||
РеквизитыОрганизации, РеквизитыПредставителяОрганизации,
|
||||
РеквизитыФизическогоЛица));
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Результат.Вставить("Доверители", МассивДоверителей);
|
||||
|
||||
МассивПредставителей = Новый Массив;
|
||||
Представители = Объект.Представители.Выгрузить();
|
||||
|
||||
Найдено = Представители.НайтиСтроки(Новый Структура("ИдентификаторРодителя",
|
||||
Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000")));
|
||||
|
||||
Для Каждого СтрокаОрганизация Из Найдено Цикл
|
||||
|
||||
РеквизитыОрганизации = СтрокаОрганизация.ПредставительРеквизиты.Получить();
|
||||
|
||||
Если РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
|
||||
МассивПредставителей.Добавить(Новый Структура("Организация, ФизическоеЛицо", Неопределено,
|
||||
РеквизитыОрганизации));
|
||||
Иначе
|
||||
|
||||
НайденоФизическиеЛица = Представители.НайтиСтроки(Новый Структура("ИдентификаторРодителя",
|
||||
СтрокаОрганизация.Идентификатор));
|
||||
Если НайденоФизическиеЛица.Количество() = 0 Тогда
|
||||
МассивПредставителей.Добавить(Новый Структура("Организация, ФизическоеЛицо", РеквизитыОрганизации,
|
||||
Неопределено));
|
||||
Иначе
|
||||
Для Каждого СтрокаФизическоеЛицо Из НайденоФизическиеЛица Цикл
|
||||
РеквизитыФизическогоЛица = СтрокаФизическоеЛицо.ПредставительРеквизиты.Получить();
|
||||
МассивПредставителей.Добавить(Новый Структура("Организация, ФизическоеЛицо",
|
||||
РеквизитыОрганизации, РеквизитыФизическогоЛица));
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Результат.Вставить("Представители", МассивПредставителей);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ТекстОшибки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СвойстваДоверенностейИзФайлов(ЗагруженныеФайлы, УникальныйИдентификатор) Экспорт
|
||||
|
||||
@@ -1931,7 +2095,6 @@
|
||||
НСтр("ru = '%1 - %2 (будет загружена)'"),
|
||||
АвтоНаименование(Объект), ЕдиныйРегистрационныйНомер);
|
||||
|
||||
МассивПредставителей = Новый Массив;
|
||||
Представители = Объект.Представители.Выгрузить();
|
||||
|
||||
Найдено = Представители.НайтиСтроки(Новый Структура("ИдентификаторРодителя",
|
||||
|
||||
@@ -415,6 +415,32 @@
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ГруппыВыбрать</name>
|
||||
<id>549</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ГруппыВыбратьРасширеннаяПодсказка</name>
|
||||
<id>550</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.Группы.StandardCommand.Choose</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>488</id>
|
||||
@@ -631,6 +657,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<choiceMode>true</choiceMode>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<rowSelectionMode>Row</rowSelectionMode>
|
||||
<header>true</header>
|
||||
@@ -1054,6 +1081,31 @@
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>СписокВыбрать</name>
|
||||
<id>551</id>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СписокВыбратьРасширеннаяПодсказка</name>
|
||||
<id>552</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.Список.StandardCommand.Choose</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>454</id>
|
||||
@@ -1449,6 +1501,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<choiceMode>true</choiceMode>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<header>true</header>
|
||||
<headerHeight>1</headerHeight>
|
||||
@@ -2110,6 +2163,32 @@
|
||||
<autoCommandBar>
|
||||
<name>ФормаКоманднаяПанель</name>
|
||||
<id>-1</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ФормаВыбрать</name>
|
||||
<id>547</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаВыбратьРасширеннаяПодсказка</name>
|
||||
<id>548</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.StandardCommand.Choose</commandName>
|
||||
<representation>Auto</representation>
|
||||
<defaultButton>true</defaultButton>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ФормаВыбратьИЗакрыть</name>
|
||||
<id>118</id>
|
||||
@@ -3480,6 +3559,12 @@
|
||||
<name>ТекущаяСтрока</name>
|
||||
<valueType/>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>СкрытьКомандыПриВыбореПодборе</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
НастроитьФормуПоИспользованиюГруппПользователей(Ложь, Истина);
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Обсуждения") Тогда
|
||||
Если ХранимыеПараметры.ВыборУчастниковОбсуждения Тогда
|
||||
Элементы.СписокЗаблокироватьНедействительныхПользователейВСистемеВзаимодействий.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -57,11 +57,18 @@
|
||||
Элементы.СписокТекущиеДанныеКонтактнаяИнформация.Шрифт = Элементы.Фотография.Шрифт;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85()
|
||||
И (Не ХранимыеПараметры.РежимВыбора
|
||||
Или ХранимыеПараметры.РасширенныйПодбор) Тогда
|
||||
Если ХранимыеПараметры.СкрытьКомандыПриВыбореПодборе Тогда
|
||||
ПользователиСлужебныйКлиентСервер.СкрытьКомандыПриВыбореПодборе(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
НастроитьРаботуВТакси();
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85()
|
||||
И ОбщегоНазначения.ЭтоВебКлиент() Тогда
|
||||
|
||||
КоманднаяПанель.Видимость = Ложь;
|
||||
Элементы.ГоризонтальнаяГруппаТакси.Видимость = Ложь;
|
||||
Элементы.Колонки.Видимость = Ложь;
|
||||
Элементы.Легенда.Видимость = Ложь;
|
||||
Элементы.ГруппаКонтактнаяИнформация.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -69,7 +76,26 @@
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
ПользователиСлужебныйКлиент.ОтключитьВидимостьСкрытыхЭлементов(ЭтотОбъект);
|
||||
|
||||
Если ХранимыеПараметры.СкрытьКомандыПриВыбореПодборе Тогда
|
||||
ПользователиСлужебныйКлиентСервер.СкрытьКомандыПриВыбореПодборе(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
ГруппаСкрыта = Элементы.ГруппаКонтактнаяИнформация.Скрыта();
|
||||
Если ГруппаСкрыта И ПоказыватьКонтактнуюИнформацию Тогда
|
||||
Элементы.ГруппаКонтактнаяИнформация.Показать();
|
||||
ИначеЕсли Не ГруппаСкрыта И Не ПоказыватьКонтактнуюИнформацию Тогда
|
||||
Элементы.ГруппаКонтактнаяИнформация.Скрыть();
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85() Тогда
|
||||
#Если ВебКлиент Тогда
|
||||
ПодключитьОбработчикОжидания("ПриОткрытииОбработчикОжидания", 0.1, Истина);
|
||||
#Иначе
|
||||
НастроитьРаботуВТакси();
|
||||
#КонецЕсли
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -644,23 +670,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытииОбработчикОжидания()
|
||||
|
||||
Если ХранимыеПараметры.РежимВыбора Тогда
|
||||
ПользователиСлужебныйКлиент.НастроитьКнопкиПриВыбореИПодборе(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85()
|
||||
И ХранимыеПараметры.РежимВыбора
|
||||
И Не ХранимыеПараметры.РасширенныйПодбор Тогда
|
||||
|
||||
НастроитьРаботуВТакси();
|
||||
КонецЕсли;
|
||||
|
||||
ГруппаСкрыта = Элементы.ГруппаКонтактнаяИнформация.Скрыта();
|
||||
Если ГруппаСкрыта И ПоказыватьКонтактнуюИнформацию Тогда
|
||||
Элементы.ГруппаКонтактнаяИнформация.Показать();
|
||||
ИначеЕсли Не ГруппаСкрыта И Не ПоказыватьКонтактнуюИнформацию Тогда
|
||||
Элементы.ГруппаКонтактнаяИнформация.Скрыть();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -744,6 +754,7 @@
|
||||
// * ЗакрыватьПриВыборе - Булево
|
||||
// * ВыборГрупп - Булево
|
||||
// * ВыборУчастниковОбсуждения - Булево
|
||||
// * СкрытьКомандыПриВыбореПодборе - Булево
|
||||
// * РасширенныйПодбор - Булево
|
||||
// * ИспользоватьГруппы - Произвольный
|
||||
// * ГруппаВсеПользователи - СправочникСсылка.ГруппыПользователей
|
||||
@@ -751,6 +762,7 @@
|
||||
// * ПоказыватьЭлементыСписков - Строка - предыдущее значение
|
||||
// * ГруппыОтображение - ОтображениеТаблицы - отображение перед включением отбора выбранных ссылок.
|
||||
// * ГруппаТекущаяСтрока - Неопределено, СправочникСсылка.ГруппыПользователей
|
||||
// * СкрытыеЭлементы - Строка
|
||||
// * АдресПользовательБезФотографии - Строка
|
||||
//
|
||||
&НаСервере
|
||||
@@ -760,7 +772,10 @@
|
||||
Результат.Вставить("РежимВыбора", Параметры.РежимВыбора);
|
||||
Результат.Вставить("ЗакрыватьПриВыборе", Параметры.ЗакрыватьПриВыборе <> Ложь);
|
||||
Результат.Вставить("ВыборГрупп", Параметры.РежимВыбора И Параметры.ВыборГруппПользователей);
|
||||
Результат.Вставить("ВыборУчастниковОбсуждения", Параметры.РежимВыбора И Параметры.ВыборУчастниковОбсуждения);
|
||||
Результат.Вставить("ВыборУчастниковОбсуждения", Параметры.РежимВыбора И Параметры.ВыборУчастниковОбсуждения
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Обсуждения"));
|
||||
Результат.Вставить("СкрытьКомандыПриВыбореПодборе", Параметры.РежимВыбора И Параметры.СкрытьКомандыПриВыбореПодборе
|
||||
Или Результат.ВыборУчастниковОбсуждения);
|
||||
Результат.Вставить("РасширенныйПодбор", Параметры.РежимВыбора И Параметры.РасширенныйПодбор);
|
||||
Результат.Вставить("ИспользоватьГруппы", ПолучитьФункциональнуюОпцию("ИспользоватьГруппыПользователей"));
|
||||
Результат.Вставить("ГруппаВсеПользователи", Пользователи.ГруппаВсеПользователи());
|
||||
@@ -768,6 +783,7 @@
|
||||
Результат.Вставить("ПоказыватьЭлементыСписков", "");
|
||||
Результат.Вставить("ГруппыОтображение", Элементы.Группы.Отображение);
|
||||
Результат.Вставить("ГруппаТекущаяСтрока");
|
||||
Результат.Вставить("СкрытыеЭлементы", "");
|
||||
Результат.Вставить("АдресПользовательБезФотографии",
|
||||
ПоместитьВоВременноеХранилище(БиблиотекаКартинок.ПользовательБезФотографии, УникальныйИдентификатор));
|
||||
|
||||
@@ -874,6 +890,14 @@
|
||||
|
||||
ПользователиСлужебный.НастроитьРаботуВТакси(ЭтотОбъект);
|
||||
|
||||
Если ОбщегоНазначения.ЭтоВебКлиент() Тогда
|
||||
КоманднаяПанель.Видимость = Истина;
|
||||
Элементы.ГоризонтальнаяГруппаТакси.Видимость = Истина;
|
||||
Элементы.Колонки.Видимость = Истина;
|
||||
Элементы.Легенда.Видимость = Истина;
|
||||
Элементы.ГруппаКонтактнаяИнформация.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -1076,9 +1100,7 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ХранимыеПараметры.ВыборУчастниковОбсуждения
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Обсуждения") Тогда
|
||||
|
||||
Если ХранимыеПараметры.ВыборУчастниковОбсуждения Тогда
|
||||
МодульОбсуждения = ОбщегоНазначения.ОбщийМодуль("Обсуждения");
|
||||
ИдентификаторыУчастников = МодульОбсуждения.ПользователиСистемыВзаимодействия(ВыбранныеПользователи);
|
||||
МассивПользователей = Новый Массив;
|
||||
|
||||
@@ -45,6 +45,8 @@
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьСписокСертификатов(Обновить)
|
||||
|
||||
Сертификаты.Очистить();
|
||||
|
||||
Токен = Новый Структура;
|
||||
Токен.Вставить("Слот");
|
||||
Токен.Вставить("СерийныйНомер");
|
||||
@@ -86,8 +88,6 @@
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьСписокСертификатовНаСервере(СертификатыСтрокой, Ошибки)
|
||||
|
||||
Сертификаты.Очистить();
|
||||
|
||||
Для Каждого Сертификат Из СертификатыСтрокой Цикл
|
||||
|
||||
Если ТипЗнч(Сертификат) = Тип("Строка") Тогда
|
||||
|
||||
+13
@@ -1195,6 +1195,19 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>УжеДобавлен</name>
|
||||
<id>19</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>СертификатОписаниеДанных</name>
|
||||
|
||||
+18
-7
@@ -359,10 +359,6 @@
|
||||
&НаКлиенте
|
||||
Процедура Проверить(Команда)
|
||||
|
||||
ПроверкиУспешны = Истина;
|
||||
Элементы.ГруппаСтраницы.Видимость = Истина;
|
||||
Элементы.ФормаПроверить.Доступность = Ложь;
|
||||
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаВыполняетсяПроверка;
|
||||
ПроверитьСертификат(Новый ОписаниеОповещения("ПроверитьЗавершение", ЭтотОбъект));
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -386,6 +382,12 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВидимостьПриОкончанииПроверки()
|
||||
Элементы.ФормаПроверить.Доступность = Истина;
|
||||
ВидимостьСтраниц(ЭтотОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ИменаГруппПоНазваниямПроверок(ЭлементыФормы)
|
||||
|
||||
@@ -455,9 +457,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ПроверитьЗавершение(Неопределен, Контекст) Экспорт
|
||||
|
||||
Элементы.ФормаПроверить.Доступность = Истина;
|
||||
|
||||
ВидимостьСтраниц(ЭтотОбъект);
|
||||
ВидимостьПриОкончанииПроверки();
|
||||
|
||||
Если СертификатыМетокВремени.Количество() = 0 Тогда
|
||||
Элементы.ДекорацияСертификатМеткиВремени.Видимость = Ложь;
|
||||
@@ -549,6 +549,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Новый Структура("Оповещение", Оповещение);
|
||||
|
||||
ПроверитьСертификат(Новый ОписаниеОповещения(
|
||||
"ПродолжитьОткрытиеПослеПроверкиСертификата", ЭтотОбъект, Контекст));
|
||||
|
||||
@@ -571,6 +572,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ВидимостьПриОкончанииПроверки();
|
||||
|
||||
Если Не Открыта()
|
||||
И Не (КлиентскиеПараметры.Свойство("НеПоказыватьРезультаты")
|
||||
И КлиентскиеПараметры.НеПоказыватьРезультаты) Тогда
|
||||
@@ -612,6 +615,11 @@
|
||||
СертификатыМетокВремени.Очистить();
|
||||
Элементы.ДекорацияСертификатМеткиВремени.Видимость = Ложь;
|
||||
|
||||
ПроверкиУспешны = Истина;
|
||||
Элементы.ГруппаСтраницы.Видимость = Истина;
|
||||
Элементы.ФормаПроверить.Доступность = Ложь;
|
||||
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаВыполняетсяПроверка;
|
||||
|
||||
// Очистка предыдущих результатов проверки.
|
||||
Если СтандартныеПроверки Тогда
|
||||
|
||||
@@ -1063,6 +1071,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ДанныеПодписи) = Тип("ДвоичныеДанные") Тогда
|
||||
ПарольПринят = Истина;
|
||||
ПараметрыПроверкиПодписи = Новый Структура;
|
||||
ПараметрыПроверкиПодписи.Вставить("Подпись", ДанныеПодписи);
|
||||
ПараметрыПроверкиПодписи.Вставить("АлгоритмПодписи", Контекст.АлгоритмПодписи);
|
||||
@@ -1114,11 +1123,13 @@
|
||||
|
||||
Если ТипЗнч(ЗашифрованныеДанные) = Тип("Строка") Тогда
|
||||
УстановитьЭлемент(ЭтотОбъект, "Шифрование", Ложь, ЗашифрованныеДанные, Истина, ОбъединятьРезультаты);
|
||||
ПроверитьНаСторонеКлиентаДополнительныеПроверки(Контекст);
|
||||
Иначе
|
||||
|
||||
Если ТипЗнч(ЗашифрованныеДанные) <> Тип("ДвоичныеДанные") Тогда
|
||||
УстановитьЭлемент(ЭтотОбъект, "Шифрование", Ложь, НСтр(
|
||||
"ru = 'Не удалось зашифровать данные средствами токена.'"), Истина, ОбъединятьРезультаты);
|
||||
ПроверитьНаСторонеКлиентаДополнительныеПроверки(Контекст);
|
||||
Иначе
|
||||
УстановитьЭлемент(ЭтотОбъект, "Шифрование", Ложь, "", Ложь, ОбъединятьРезультаты);
|
||||
|
||||
|
||||
@@ -458,7 +458,7 @@
|
||||
<Value>Hungary</Value>
|
||||
</row>
|
||||
<row>
|
||||
<Value>ВЕНЕСУЭЛА БОЛИВАРИАНСКАЯ РЕСПУБЛИКА</Value>
|
||||
<Value>ВЕНЕСУЭЛА, БОЛИВАРИАНСКАЯ РЕСПУБЛИКА</Value>
|
||||
<Value>VE</Value>
|
||||
<Value>VEN</Value>
|
||||
<Value>862</Value>
|
||||
@@ -872,7 +872,7 @@
|
||||
<Value>IS</Value>
|
||||
<Value>ISL</Value>
|
||||
<Value>352</Value>
|
||||
<Value>Республика Исландия</Value>
|
||||
<Value></Value>
|
||||
<Value>false</Value>
|
||||
<Value>false</Value>
|
||||
<Value>Iceland</Value>
|
||||
@@ -1518,7 +1518,7 @@
|
||||
<Value>Nigeria</Value>
|
||||
</row>
|
||||
<row>
|
||||
<Value>НИДЕРЛАНДЫ</Value>
|
||||
<Value> НИДЕРЛАНДЫ, КОРОЛЕВСТВО</Value>
|
||||
<Value>NL</Value>
|
||||
<Value>NLD</Value>
|
||||
<Value>528</Value>
|
||||
@@ -2048,11 +2048,11 @@
|
||||
<Value>Slovenia</Value>
|
||||
</row>
|
||||
<row>
|
||||
<Value>СОЕДИНЕННОЕ КОРОЛЕВСТВО</Value>
|
||||
<Value>СОЕДИНЕННОЕ КОРОЛЕВСТВО ВЕЛИКОБРИТАНИИ И СЕВЕРНОЙ ИРЛАНДИИ</Value>
|
||||
<Value>GB</Value>
|
||||
<Value>GBR</Value>
|
||||
<Value>826</Value>
|
||||
<Value>Соединенное Королевство Великобритании и Северной Ирландии</Value>
|
||||
<Value></Value>
|
||||
<Value>false</Value>
|
||||
<Value>false</Value>
|
||||
<Value>The United Kingdom Of Great Britain And Northern Ireland</Value>
|
||||
@@ -2498,7 +2498,7 @@
|
||||
<Value>Equatorial Guinea</Value>
|
||||
</row>
|
||||
<row>
|
||||
<Value>ЭЛАНДСКИЕ ОСТРОВА</Value>
|
||||
<Value>АЛАНДСКИЕ ОСТРОВА</Value>
|
||||
<Value>АХ</Value>
|
||||
<Value>ALA</Value>
|
||||
<Value>248</Value>
|
||||
|
||||
@@ -928,6 +928,10 @@
|
||||
<event>Clearing</event>
|
||||
<name>ПолноеИмяТипаПараметраВводаНаОснованииОчистка</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>ChoiceProcessing</event>
|
||||
<name>ПолноеИмяТипаПараметраВводаНаОснованииОбработкаВыбора</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
|
||||
@@ -482,6 +482,41 @@
|
||||
Объект.ТолькоДляАвтора = ЗначениеЗаполнено(Объект.Автор);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПолноеИмяТипаПараметраВводаНаОснованииОбработкаВыбора(Элемент, ВыбранноеЗначение, ДополнительныеДанные, ВыборДобавлением, СтандартнаяОбработка)
|
||||
|
||||
Если СтрСравнить(ВыбранноеЗначение, ШаблоныСообщенийКлиентСервер.ОбщийПредставление()) = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТипВыбора = ПолучитьТипПоПолномуИмени(ВыбранноеЗначение);
|
||||
|
||||
Если ТипВыбора = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Строка Из Реквизиты.ПолучитьЭлементы() Цикл
|
||||
|
||||
Если Строка.ПроизвольныйПараметр И Строка.Тип.СодержитТип(ТипВыбора) Тогда
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ВыбранныйВариант = Элемент.СписокВыбора.НайтиПоЗначению(ВыбранноеЗначение);
|
||||
Если ВыбранныйВариант <> Неопределено Тогда
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru ='%1 уже выбран как произвольный параметр и не может быть назначением.'"),
|
||||
ВыбранныйВариант.Представление);
|
||||
Иначе
|
||||
ТекстОшибки = НСтр("ru ='Объект уже выбран как произвольный параметр и не может быть назначением.'");
|
||||
КонецЕсли;
|
||||
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибки);
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыВложения
|
||||
@@ -2541,4 +2576,10 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ПолучитьТипПоПолномуИмени(Знач ПолноеИмя)
|
||||
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
|
||||
Возврат ?(МенеджерОбъекта = Неопределено, Неопределено, ТипЗнч(МенеджерОбъекта.ПустаяСсылка()));
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1515,7 +1515,7 @@
|
||||
Процедура ЗаполнитьСписокТокенов(Токены)
|
||||
Для Каждого Токен Из Токены Цикл
|
||||
|
||||
Найдено = Программы.НайтиСтроки(Новый Структура("ИмяПрограммы",Токен.СерийныйНомер));
|
||||
Найдено = Программы.НайтиСтроки(Новый Структура("Наименование",Токен.Представление));
|
||||
|
||||
Если Найдено.Количество() = 0 Тогда
|
||||
НоваяСтрока = Программы.Добавить();
|
||||
|
||||
@@ -428,7 +428,7 @@
|
||||
<common>true</common>
|
||||
</use>
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>StdPicture.CheckAll</picture>
|
||||
<picture>CommonPicture.УстановитьВсе</picture>
|
||||
</picture>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
@@ -450,7 +450,7 @@
|
||||
<common>true</common>
|
||||
</use>
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>StdPicture.UncheckAll</picture>
|
||||
<picture>CommonPicture.СнятьВсе</picture>
|
||||
</picture>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
<key>ru</key>
|
||||
<value>Связанные документы</value>
|
||||
</title>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаКоманднаяПанельСПолями</name>
|
||||
<id>51</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>КоманднаяПанель</name>
|
||||
<id>38</id>
|
||||
@@ -69,85 +72,6 @@
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>Поиск</name>
|
||||
<id>31</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ФормаНайти</name>
|
||||
<id>33</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаНайтиРасширеннаяПодсказка</name>
|
||||
<id>34</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.ТаблицаОтчета.StandardCommand.Find</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ФормаНайтиСледующий</name>
|
||||
<id>35</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаНайтиСледующийРасширеннаяПодсказка</name>
|
||||
<id>36</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.ТаблицаОтчета.StandardCommand.FindNext</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Picture</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Поиск</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ПоискРасширеннаяПодсказка</name>
|
||||
<id>32</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<extInfo xsi:type="form:ButtonGroupExtInfo">
|
||||
<representation>Compact</representation>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ИзменениеСостояния</name>
|
||||
<id>21</id>
|
||||
@@ -313,6 +237,190 @@
|
||||
<appearanceMode>CommandBar</appearanceMode>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>Поиск</name>
|
||||
<id>41</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СтрокаПоиска</name>
|
||||
<id>47</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Строка поиска</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>СтрокаПоиска</segments>
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Поиск определенного текста</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>СтрокаПоискаРасширеннаяПодсказка</name>
|
||||
<id>49</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СтрокаПоискаКонтекстноеМеню</name>
|
||||
<id>48</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>TextEditEnd</event>
|
||||
<name>СтрокаПоискаОкончаниеВводаТекста</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<extendedEditMultipleValues>true</extendedEditMultipleValues>
|
||||
<clearButton>true</clearButton>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
<inputHint>
|
||||
<key>ru</key>
|
||||
<value>Поиск</value>
|
||||
</inputHint>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>НайтиСледующуюСтроку</name>
|
||||
<id>45</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Найти следующую строку</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>НайтиСледующуюСтрокуРасширеннаяПодсказка</name>
|
||||
<id>46</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualButton</type>
|
||||
<commandName>Form.Command.НайтиСледующуюСтроку</commandName>
|
||||
<buttonImportance>Supplementary</buttonImportance>
|
||||
<representation>Picture</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>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<groupHorizontalAlign>Right</groupHorizontalAlign>
|
||||
<extendedTooltip>
|
||||
<name>ПоискРасширеннаяПодсказка</name>
|
||||
<id>42</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>AlwaysHorizontal</group>
|
||||
<horizontalSpacing>Half</horizontalSpacing>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>КоманднаяПанельЕще</name>
|
||||
<id>53</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Командная панель еще</value>
|
||||
</title>
|
||||
<horizontalStretch>false</horizontalStretch>
|
||||
<groupHorizontalAlign>Right</groupHorizontalAlign>
|
||||
<extendedTooltip>
|
||||
<name>КоманднаяПанельЕщеРасширеннаяПодсказка</name>
|
||||
<id>54</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>CommandBar</type>
|
||||
<extInfo xsi:type="form:CommandBarExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Командная панель с полями</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаКоманднаяПанельСПолямиРасширеннаяПодсказка</name>
|
||||
<id>52</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Auto</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаОтчет</name>
|
||||
<id>14</id>
|
||||
@@ -331,7 +439,11 @@
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ТаблицаОтчета</segments>
|
||||
</dataPath>
|
||||
<defaultItem>true</defaultItem>
|
||||
<titleLocation>None</titleLocation>
|
||||
<excludedCommands>Find</excludedCommands>
|
||||
<excludedCommands>FindNext</excludedCommands>
|
||||
<excludedCommands>FindPrevious</excludedCommands>
|
||||
<extendedTooltip>
|
||||
<name>ТаблицаОтчетаРасширеннаяПодсказка</name>
|
||||
<id>20</id>
|
||||
@@ -678,6 +790,24 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>СтрокаПоиска</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Строка поиска</value>
|
||||
</title>
|
||||
<id>7</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>Обновить</name>
|
||||
<title>
|
||||
@@ -800,6 +930,32 @@
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>НайтиСледующуюСтроку</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Найти следующую строку</value>
|
||||
</title>
|
||||
<id>6</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Повторить предыдущий поиск вперед</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>StdPicture.FindNext</picture>
|
||||
</picture>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>НайтиСледующуюСтроку</name>
|
||||
</handler>
|
||||
</action>
|
||||
<representation>Picture</representation>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<parameters>
|
||||
<name>ОбъектОтбора</name>
|
||||
<valueType/>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85() Тогда
|
||||
СтандартныеПодсистемыСервер.ПереместитьЭлементыВГруппу(Элементы.КоманднаяПанель, Элементы.ФормаКоманднаяПанель);
|
||||
СтандартныеПодсистемыСервер.ПереместитьЭлементыВГруппу(Элементы.ФормаКоманднаяПанель, Элементы.КоманднаяПанельЕще);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -33,6 +33,11 @@
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СтрокаПоискаОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
|
||||
НайтиИВыделитьСтроку(Текст);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТаблицаОтчетаПриАктивизации(Элемент)
|
||||
|
||||
@@ -129,6 +134,23 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НайтиСледующуюСтроку(Команда)
|
||||
НачалоПоиска = Неопределено;
|
||||
ВыделенныеОбласти = Элементы.ТаблицаОтчета.ПолучитьВыделенныеОбласти();
|
||||
Для Каждого ВыделеннаяОбласть Из ВыделенныеОбласти Цикл
|
||||
Если ТипЗнч(ВыделеннаяОбласть) = Тип("ОбластьЯчеекТабличногоДокумента") Тогда
|
||||
СледующаяСтрокаВерх = ВыделеннаяОбласть.Верх + 1;
|
||||
СледующаяСтрокаНиз = ВыделеннаяОбласть.Низ + 1;
|
||||
НачалоПоиска = ТаблицаОтчета.Область(СледующаяСтрокаВерх, 1,СледующаяСтрокаНиз, 1);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
НачалоПоиска = ?(НачалоПоиска <> Неопределено, НачалоПоиска, Неопределено);
|
||||
|
||||
НайтиИВыделитьСтроку(СтрокаПоиска, НачалоПоиска);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -1550,4 +1572,27 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НайтиИВыделитьСтроку(ТекстПоиска, НачалоПоиска = Неопределено)
|
||||
|
||||
Если Не ЗначениеЗаполнено(ТекстПоиска) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РезультатПоиска = ТаблицаОтчета.НайтиТекст(ТекстПоиска, НачалоПоиска,,Истина,,,Истина);
|
||||
Если РезультатПоиска = Неопределено И НачалоПоиска <> Неопределено Тогда
|
||||
РезультатПоиска = ТаблицаОтчета.НайтиТекст(ТекстПоиска,,,Истина,,,Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Если РезультатПоиска <> Неопределено Тогда
|
||||
ВыбранныеСтроки = Новый Массив;
|
||||
ВыбранныеСтроки.Добавить(РезультатПоиска);
|
||||
Элементы.ТаблицаОтчета.УстановитьВыделенныеОбласти(ВыбранныеСтроки);
|
||||
ТекущийЭлемент = Элементы.ТаблицаОтчета;
|
||||
Иначе
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Строка не найдена.'"));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -2060,12 +2060,22 @@
|
||||
Родители = ЭлементРасшифровки.ПолучитьРодителей();
|
||||
Родитель = ?(Родители.Количество() = 0, Неопределено, Родители[0]);
|
||||
|
||||
РасшифровкаДоступна = Истина;
|
||||
|
||||
Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка")
|
||||
Или ТипЗнч(Родитель) <> Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
|
||||
|
||||
ТипЭлементаРасшифровки = ВариантыОтчетовСлужебныйКлиентСервер.ТипЭлементаРасшифровкиГруппировка();
|
||||
Иначе
|
||||
ТипЭлементаРасшифровки = ВариантыОтчетовСлужебныйКлиентСервер.ТипРеквизит();
|
||||
Если ТипЗнч(Родитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
|
||||
Для Каждого Группировка Из Данные.Настройки.Структура Цикл
|
||||
Если СтрСравнить(Родитель.Группировка, Группировка.Идентификатор) = 0 Тогда
|
||||
РасшифровкаДоступна = Группировка.ПоляГруппировки.Элементы.Количество() > 0;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеЭлементаРасшифровки = Новый Структура;
|
||||
@@ -2073,6 +2083,7 @@
|
||||
ДанныеЭлементаРасшифровки.Вставить("Настройки", Данные.Настройки);
|
||||
ДанныеЭлементаРасшифровки.Вставить("Отбор", ОтборЭлементаРасшифровки(ЭлементРасшифровки));
|
||||
ДанныеЭлементаРасшифровки.Вставить("Отборы", ОтборыВыделенныхЭлементовРасшифровки(Документ, ВыделенныеОбластиДокумента, Данные));
|
||||
ДанныеЭлементаРасшифровки.Вставить("РасшифровкаДоступна", РасшифровкаДоступна);
|
||||
|
||||
Поля = ЭлементРасшифровки.ПолучитьПоля();
|
||||
|
||||
|
||||
@@ -635,6 +635,10 @@
|
||||
|
||||
Процедура СнятьФильтр(Форма, СвойстваЗаголовка, ДанныеРасшифровки = Неопределено) Экспорт
|
||||
|
||||
Если Не ДействиеДоступно(Форма, , СвойстваЗаголовка) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЭтоГруппировка = (ДанныеРасшифровки <> Неопределено
|
||||
И ДанныеРасшифровки.Тип = ВариантыОтчетовСлужебныйКлиентСервер.ТипЭлементаРасшифровкиГруппировка());
|
||||
|
||||
@@ -3252,8 +3256,7 @@
|
||||
|
||||
Процедура ОткрытьФормуОтчета(Форма, ПараметрыОткрытия)
|
||||
|
||||
Если ПараметрыОткрытия.Данные <> Неопределено
|
||||
И ПараметрыОткрытия.Данные.Тип = ВариантыОтчетовСлужебныйКлиентСервер.ТипРеквизит() Тогда
|
||||
Если ПараметрыОткрытия.Данные <> Неопределено И Не ПараметрыОткрытия.Данные.РасшифровкаДоступна Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Действие недоступно. Нельзя расшифровывать детальные записи.'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -5530,7 +5530,8 @@
|
||||
// Отправка вне транзакции.
|
||||
НомераДляОтправки = ТаблицаАдресатовСообщения.ВыгрузитьКолонку("НомерДляОтправки");
|
||||
Попытка
|
||||
РезультатОтправки = ОтправкаSMS.ОтправитьSMS(НомераДляОтправки, ТекстСообщения, "", ОтправлятьВТранслите);
|
||||
РезультатОтправки = ОтправкаSMS.ОтправитьSMS(НомераДляОтправки, ТекстСообщения, Неопределено,
|
||||
ОтправлятьВТранслите);
|
||||
Исключение
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось отправить %1 по причине:
|
||||
|
||||
@@ -3855,6 +3855,11 @@
|
||||
ИсключениеПроверки.ИмяПроцедуры = "ЗапуститьВыполнениеВФоне";
|
||||
ИсключениеПроверки.ФрагментСодержания = "ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяЭкспортнойПроцедуры, ПараметрыЭкспортнойПроцедуры)";
|
||||
|
||||
Методы = Новый Соответствие;
|
||||
Методы.Вставить("ВыполнитьПроцедуруМодуляОбъектаОбработки", Истина);
|
||||
Методы.Вставить("ВыполнитьПроцедуруМодуляОбъектаОтчета", Истина);
|
||||
Настройки.ИсключенияКогдаУказанныйМетодНеВызывается.Вставить("ОбщийМодуль.ДлительныеОперации", Методы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
|
||||
|
||||
@@ -1832,6 +1832,15 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
|
||||
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
|
||||
|
||||
Методы = Новый Соответствие;
|
||||
Методы.Вставить("ОбработчикКомандыЗаполнения");
|
||||
Настройки.ИсключенияКогдаУказанныйМетодНеВызывается.Вставить("ОбщийМодуль.ДополнительныеОтчетыИОбработки", Методы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДополнительныеОтчетыИОбработкиОбновляются(Очередь) Экспорт
|
||||
Возврат ОбновлениеИнформационнойБазы.ЕстьЗаблокированныеПредыдущимиОчередямиДанные(Очередь, "Справочник.ДополнительныеОтчетыИОбработки");
|
||||
КонецФункции
|
||||
|
||||
@@ -77,4 +77,35 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДоступноПроведение(Ссылки) Экспорт
|
||||
|
||||
ТипыСсылок = Новый Соответствие;
|
||||
|
||||
Для Каждого Ссылка Из Ссылки Цикл
|
||||
Если Ссылка = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Тип = ТипЗнч(Ссылка);
|
||||
Если ТипыСсылок[Тип] = Неопределено Тогда
|
||||
ТипыСсылок[Тип] = Новый Массив;
|
||||
КонецЕсли;
|
||||
ТипыСсылок[Тип].Добавить(Ссылка);
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ТипыСсылок) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ТипСсылок Из ТипыСсылок Цикл
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипСсылок.Ключ);
|
||||
Если ОбъектМетаданных = Неопределено Или Не ОбщегоНазначения.ЭтоДокумент(ОбъектМетаданных)
|
||||
Или ОбъектМетаданных.Проведение = Метаданные.СвойстваОбъектов.Проведение.Запретить Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -249,7 +249,7 @@
|
||||
ДополнительныеОтчетыИОбработкиКлиентПереопределяемый.ПередВыполнениемКомандыПечатиВнешнейПечатнойФормы(
|
||||
ПечатаемыеОбъекты, СтандартнаяОбработка);
|
||||
|
||||
Если СтандартнаяОбработка Тогда
|
||||
Если СтандартнаяОбработка И ДополнительныеОтчетыИОбработкиВызовСервера.ДоступноПроведение(ПечатаемыеОбъекты) Тогда
|
||||
ПараметрыВыполнения.ТребуетсяПроведение = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -2395,11 +2395,21 @@
|
||||
ДлительныеОперации.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
|
||||
ОбновлениеИнформационнойБазыСлужебный.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда
|
||||
МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки");
|
||||
МодульДополнительныеОтчетыИОбработки.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтрольВеденияУчета") Тогда
|
||||
МодульКонтрольВеденияУчетаСлужебный = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчетаСлужебный");
|
||||
МодульКонтрольВеденияУчетаСлужебный.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкаПорядкаЭлементов") Тогда
|
||||
МодульНастройкаПорядкаЭлементов = ОбщегоНазначения.ОбщийМодуль("НастройкаПорядкаЭлементов");
|
||||
МодульНастройкаПорядкаЭлементов.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
|
||||
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
|
||||
МодульПодключаемыеКоманды.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
|
||||
|
||||
@@ -1430,7 +1430,6 @@
|
||||
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
|
||||
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
|
||||
|
||||
Методы.Вставить("ОбновитьИспользованиеНесколькихПроизводственныхКалендарей");
|
||||
Методы.Вставить("ОбновитьДанныеПроизводственныхКалендарей");
|
||||
Методы.Вставить("ЗаполнитьДанныеОбновленияДанныхЗависимыхОтПроизводственныхКалендарей");
|
||||
Методы.Вставить("ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей");
|
||||
|
||||
@@ -507,6 +507,59 @@
|
||||
|
||||
// Следующие процедуры и функции предназначены для интеграции с 1С:Библиотека регламентированной отчетности.
|
||||
//
|
||||
// Возвращает структуру реквизитов доверенности, прочитанной из переданного файла или архива.
|
||||
// Если не удалось прочитать, возвращает текст ошибки
|
||||
//
|
||||
// Параметры:
|
||||
// ЗагруженныйФайл - Структура - файл доверенности (xml), архив с доверенностью (zip):
|
||||
// * ИмяФайла - Строка - имя файла без пути к нему,
|
||||
// * Хранение - Строка - адрес двоичных данных файла во временном хранилище.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка,
|
||||
// Структура:
|
||||
// * ДатаВыдачи - Дата
|
||||
// * ДатаОкончания - Дата
|
||||
// * НомерДоверенности - Строка
|
||||
// * Доверители - Массив из Структура:
|
||||
// ** Организация - Неопределено, Структура - см. МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовОрганизации.Реквизиты
|
||||
// ** ОрганизацияПредставитель - Неопределено, Структура - см. МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовОрганизации.Реквизиты
|
||||
// ** ФизическоеЛицо - Неопределено, Структура - см. МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовФизическогоЛица.Реквизиты
|
||||
// * Представители - Массив из Структура:
|
||||
// ** Организация - Неопределено, Структура - см. МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовОрганизации.Реквизиты
|
||||
// ** ФизическоеЛицо - Неопределено, Структура - см. МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовФизическогоЛица.Реквизиты
|
||||
// * Полномочия - ТаблицаЗначений:
|
||||
// ** Код - Строка
|
||||
// ** Мнемокод - Строка
|
||||
// ** Наименование - Строка
|
||||
// * Ссылка - СправочникСсылка.МашиночитаемыеДоверенности
|
||||
// * Наименование - Строка
|
||||
//
|
||||
Функция РеквизитыДоверенностиИзФайла(ЗагруженныйФайл) Экспорт
|
||||
|
||||
Возврат Справочники.МашиночитаемыеДоверенности.РеквизитыДоверенностиИзФайла(ЗагруженныйФайл);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает список новых либо перезаполненных существующих элементов справочника МашиночитаемыеДоверенности данными из
|
||||
// файлов.
|
||||
//
|
||||
// Параметры:
|
||||
// ЗагруженныеФайлы - Массив из Структура - файлы доверенностей и подписей, архивы zip:
|
||||
// * ИмяФайла - Строка - имя файла без пути к нему,
|
||||
// * Хранение - Строка - адрес двоичных данных файла во временном хранилище.
|
||||
// Замещать - Булево - при замещении выполняется перезаполнение элемента, все имеющиеся присоединенные файлы при этом
|
||||
// помечаются на удаление.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * Доверенности - Массив из СправочникСсылка.МашиночитаемыеДоверенности
|
||||
// * ТекстыОшибок - Массив из Строка
|
||||
//
|
||||
Функция ЗагрузитьДоверенностиВИнформационнуюБазу(ЗагруженныеФайлы, Замещать = Ложь) Экспорт
|
||||
Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗагрузитьДоверенностиВИнформационнуюБазу(ЗагруженныеФайлы, Замещать);
|
||||
КонецФункции
|
||||
|
||||
// Получает уникальный номер машиночитаемой доверенности с сервиса распределенного реестра ФНС.
|
||||
//
|
||||
// Параметры:
|
||||
|
||||
@@ -182,6 +182,15 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ОбщегоНазначенияПереопределяемый.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод.
|
||||
Процедура ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки) Экспорт
|
||||
|
||||
Методы = Новый Соответствие;
|
||||
Методы.Вставить("Подключаемый_ПереместитьЭлемент");
|
||||
Настройки.ИсключенияКогдаУказанныйМетодНеВызывается.Вставить("ОбщийМодуль.НастройкаПорядкаЭлементов", Методы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НаправлениеПеремещенияЭлементаВверх() Экспорт
|
||||
Возврат "Вверх";
|
||||
КонецФункции
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.2.1.356";
|
||||
Описание.Версия = "3.2.1.371";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -1980,6 +1980,19 @@
|
||||
ИсключениеПроверки.ФрагментСодержания = "Обработан = ОбщегоНазначения.ВыполнитьМетодКонфигурации(СвойстваОбработчика.ПроцедураПроверки,
|
||||
| ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(МетаданныеИОтбор), Истина)";
|
||||
|
||||
Методы = Новый Соответствие;
|
||||
Методы.Вставить("ПриАварийномЗавершенииПотокаОтложенногоОбработчика");
|
||||
Методы.Вставить("ПриОтменеПотокаОтложенногоОбработчика");
|
||||
Методы.Вставить("ПриАварийномЗавершенииПотокаПоискаПорцииДляОбновления");
|
||||
Методы.Вставить("ПриОтменеПотокаПоискаПорцииДляОбновления");
|
||||
Методы.Вставить("ЗаполнитьДанныеОтложенногоОбработчика", Истина);
|
||||
Методы.Вставить("ЗавершитьРегистрациюДанныхОтложенногоОбновления", Истина);
|
||||
Методы.Вставить("ВыполнитьОтложенныйОбработчик", Истина);
|
||||
Методы.Вставить("ЗавершитьВыполнениеОтложенногоОбработчика", Истина);
|
||||
Методы.Вставить("НайтиПорциюДляОбновления", Истина);
|
||||
Методы.Вставить("ЗавершитьПоискПорцииДляОбновления", Истина);
|
||||
Настройки.ИсключенияКогдаУказанныйМетодНеВызывается.Вставить("ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный", Методы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НастройкиПодсистемы() Экспорт
|
||||
@@ -7358,6 +7371,13 @@
|
||||
|
||||
ИмяКлючевогоРеквизита = ИмяКлючевогоРеквизита(Контекст.НастройкиПредопределенныхЭлементов);
|
||||
|
||||
Если ИмяКлючевогоРеквизита = "Ссылка" Тогда
|
||||
Если ЗаполняемыйЭлемент.ЭтоНовый() Тогда
|
||||
ЗначениеКлючаОбъекта=ЗаполняемыйЭлемент.ПолучитьСсылкуНового();
|
||||
Иначе
|
||||
ЗначениеКлючаОбъекта=ЗаполняемыйЭлемент.Ссылка;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ЗначениеКлючаОбъекта = ЗаполняемыйЭлемент[ИмяКлючевогоРеквизита];
|
||||
|
||||
Если Не ЗначениеЗаполнено(ЗначениеКлючаОбъекта) Тогда
|
||||
@@ -7373,6 +7393,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
МенеджерОбъекта = Контекст.МенеджерОбъекта;
|
||||
|
||||
|
||||
@@ -360,6 +360,21 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПараметрыРасширеннойФормыПодбора(Форма) Экспорт
|
||||
|
||||
ПараметрыПодбора = ПользователиСлужебный.НовыеПараметрыРасширеннойФормыПодбора();
|
||||
ПараметрыПодбора.ЗаголовокФормыПодбора = НСтр("ru = 'Участники обсуждения'");
|
||||
|
||||
Для Каждого Элемент Из Форма.Участники Цикл
|
||||
Если ЗначениеЗаполнено(Элемент.Пользователь) Тогда
|
||||
ПараметрыПодбора.ВыбранныеПользователи.Добавить(Элемент.Пользователь);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ПоместитьВоВременноеХранилище(ПараметрыПодбора, Форма.УникальныйИдентификатор);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
|
||||
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
|
||||
|
||||
|
||||
@@ -64,8 +64,7 @@
|
||||
Параметры.Вставить("ЗакрыватьПриВыборе", Ложь);
|
||||
Параметры.Вставить("МножественныйВыбор", Истина);
|
||||
Параметры.Вставить("РасширенныйПодбор", Истина);
|
||||
Параметры.Вставить("ВыбранныеПользователи", Новый Массив);
|
||||
Параметры.Вставить("ЗаголовокФормыПодбора", НСтр("ru='Участники обсуждения'"));
|
||||
Параметры.Вставить("ЗаголовокФормыПодбора", НСтр("ru = 'Участники обсуждения'"));
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
@@ -88,17 +87,39 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура НачатьПодборУчастниковОбсуждения(Элемент) Экспорт
|
||||
Процедура НачатьПодборУчастниковОбсуждения(Форма, ПараметрыРасширеннойФормыПодбора) Экспорт
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("РежимВыбора", Истина);
|
||||
ПараметрыФормы.Вставить("ЗакрыватьПриВыборе", Ложь);
|
||||
ПараметрыФормы.Вставить("МножественныйВыбор", Истина);
|
||||
ПараметрыФормы.Вставить("РасширенныйПодбор", Истина);
|
||||
ПараметрыФормы.Вставить("ВыбранныеПользователи", Новый Массив);
|
||||
ПараметрыФормы.Вставить("ЗаголовокФормыПодбора", НСтр("ru='Участники обсуждения'"));
|
||||
ПараметрыФормы.Вставить("ПараметрыРасширеннойФормыПодбора", ПараметрыРасширеннойФормыПодбора);
|
||||
|
||||
ОткрытьФорму("Справочник.Пользователи.ФормаВыбора", ПараметрыФормы,Элемент,,,,,
|
||||
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ЗавершитьПодборУчастниковОбсуждения", ЭтотОбъект, Форма);
|
||||
|
||||
ОткрытьФорму("Справочник.Пользователи.ФормаВыбора", ПараметрыФормы, Форма,,,, ОповещениеОЗакрытии,
|
||||
РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗавершитьПодборУчастниковОбсуждения(Результат, Форма) Экспорт
|
||||
|
||||
Если Результат = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Участники = Форма.Участники;
|
||||
Участники.Очистить();
|
||||
|
||||
Если ТипЗнч(Результат) = Тип("Массив") Тогда
|
||||
Для Каждого Значение Из Результат Цикл
|
||||
Участники.Добавить().Пользователь = Значение;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Участники.Добавить().Пользователь = Результат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПоказатьИнформациюОбИнтеграции(Форма, ОписаниеИнтеграции, ОповещениеОбИзмененииИнтеграции) Экспорт
|
||||
|
||||
@@ -480,6 +480,15 @@
|
||||
// ** ИмяПроцедуры - Строка - имя процедуры или функции, объявленной в модуле.
|
||||
// ** ФрагментСодержания - Строка - фрагмент содержания места вызова, которые нужно пропустить.
|
||||
// Фрагменты содержания указаны в подробном тексте ошибки отчета ПроверкаВнедренияБСП.
|
||||
// * ОшибкаКогдаУказанныйМетодНеВызывается - Булево - начальное значение Истина.
|
||||
// Если Истина, тогда отчет ПроверкаВнедренийБСП добавит ошибки,
|
||||
// когда метод указанный в процедуре ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод,
|
||||
// не найден среди вызываемых методов, которые нашел отчет (с учетом способа вызова - в фоне / не в фоне).
|
||||
// * ИсключенияКогдаУказанныйМетодНеВызывается - Соответствие из КлючИЗначение:
|
||||
// ** Ключ - Строка - имя общего модуля, например, "ОбщийМодуль.ОбщегоНазначения",
|
||||
// имя объекта метаданных (модуль менеджера), например, "Справочник.Организации",
|
||||
// или имя модуля объекта обработки или отчета, например, "Отчет.ПроверкаВнедренияБСП.МодульОбъекта".
|
||||
// ** Значение - см. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод.Методы
|
||||
//
|
||||
// Пример:
|
||||
// Обработчики = Новый Соответствие;
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
"КомандаЗапуска");
|
||||
КонецЕсли;
|
||||
|
||||
// АПК:547-выкл инструкция препроцессора допустима, так как в выполняемом коде нет обращения к модулям.
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
//@skip-check bsl-legacy-check-for-each-statetement-collection
|
||||
Для Каждого Элемент Из КомандаЗапуска Цикл
|
||||
@@ -45,6 +46,7 @@
|
||||
#Иначе
|
||||
ПроверитьСодержитНебезопасныеДействия(КомандаЗапуска[0], ЭтоАдминистратор);
|
||||
#КонецЕсли
|
||||
// АПК:547-вкл
|
||||
|
||||
Возврат МассивВСтрокуКоманды(КомандаЗапуска);
|
||||
|
||||
|
||||
@@ -11,17 +11,93 @@
|
||||
// Отправляет SMS через SMS4B.
|
||||
//
|
||||
// Параметры:
|
||||
// НомераПолучателей - Массив - номера получателей в формате +7ХХХХХХХХХХ;
|
||||
// Текст - Строка - текст сообщения, длиной не более 480 символов;
|
||||
// ИмяОтправителя - Строка - имя отправителя, которое будет отображаться вместо номера входящего SMS;
|
||||
// Логин - Строка - логин пользователя услуги отправки sms;
|
||||
// Пароль - Строка - пароль пользователя услуги отправки sms.
|
||||
// НомераПолучателей - Массив - номера получателей в формате +7ХХХХХХХХХХ.
|
||||
// Текст - Строка - текст сообщения, длиной не более 480 символов.
|
||||
// ИмяОтправителя - Строка - имя отправителя, которое будет отображаться вместо номера входящего SMS.
|
||||
// Логин - Строка - логин пользователя услуги отправки SMS.
|
||||
// Пароль - Строка - пароль пользователя услуги отправки SMS.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// см. ОтправкаSMS.ОтправитьSMS.
|
||||
//
|
||||
Функция ОтправитьSMS(НомераПолучателей, Текст, ИмяОтправителя, Логин, Пароль) Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
НастройкиОтправкиSMS = ОтправкаSMS.НастройкиОтправкиSMS();
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
Если НастройкиОтправкиSMS.Свойство("СпособАвторизации") И НастройкиОтправкиSMS.СпособАвторизации = "ПоКлючу" Тогда
|
||||
Возврат ОтправитьSMSНовыйAPI(НомераПолучателей, Текст, ИмяОтправителя);
|
||||
Иначе
|
||||
Возврат ОтправитьSMSСтарыйAPI(НомераПолучателей, Текст, ИмяОтправителя, Логин, Пароль);
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает текстовое представление статуса доставки сообщения.
|
||||
//
|
||||
// Параметры:
|
||||
// ИдентификаторСообщения - Строка - идентификатор, присвоенный sms при отправке.
|
||||
// НастройкиОтправкиSMS - см. ОтправкаSMS.НастройкиОтправкиSMS.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// см. ОтправкаSMS.СтатусДоставки.
|
||||
//
|
||||
Функция СтатусДоставки(ИдентификаторСообщения, НастройкиОтправкиSMS) Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
НастройкиОтправкиSMS = ОтправкаSMS.НастройкиОтправкиSMS();
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
Если НастройкиОтправкиSMS.Свойство("СпособАвторизации") И НастройкиОтправкиSMS.СпособАвторизации = "ПоКлючу" Тогда
|
||||
ИдентификаторыСообщений = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИдентификаторСообщения);
|
||||
Возврат СтатусыДоставки(ИдентификаторыСообщений, НастройкиОтправкиSMS)[ИдентификаторСообщения];
|
||||
Иначе
|
||||
Возврат СтатусДоставкиСтарыйAPI(ИдентификаторСообщения, НастройкиОтправкиSMS);
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтатусДоставкиSMS(Знач КодСостояния)
|
||||
|
||||
СоответствиеСтатусов = Новый Соответствие;
|
||||
СоответствиеСтатусов.Вставить("-21", "НеОтправлялось");
|
||||
СоответствиеСтатусов.Вставить("-22", "НеОтправлялось");
|
||||
|
||||
Если ПустаяСтрока(КодСостояния) Или СтрНачинаетсяС(КодСостояния, "-")
|
||||
Или Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(КодСостояния) Тогда
|
||||
Результат = СоответствиеСтатусов[НРег(КодСостояния)];
|
||||
Возврат ?(Результат = Неопределено, "Ошибка", Результат);
|
||||
КонецЕсли;
|
||||
|
||||
КодСостояния = Число(КодСостояния);
|
||||
|
||||
ВсегоФрагментов = КодСостояния % 256;
|
||||
ОтправленоФрагментов = Цел(КодСостояния / 256) % 256;
|
||||
ОкончательныйСтатус = КодСостояния >= 256*256;
|
||||
|
||||
Если ОкончательныйСтатус Тогда
|
||||
Если ВсегоФрагментов = 0 Или ВсегоФрагментов > ОтправленоФрагментов Тогда
|
||||
Результат = "НеДоставлено";
|
||||
Иначе
|
||||
Результат = "Доставлено";
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если ВсегоФрагментов = 0 Или ВсегоФрагментов > ОтправленоФрагментов Тогда
|
||||
Результат = "Отправляется";
|
||||
Иначе
|
||||
Результат = "Отправлено";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область СтарыйAPI
|
||||
|
||||
Функция ОтправитьSMSСтарыйAPI(НомераПолучателей, Текст, ИмяОтправителя, Логин, Пароль)
|
||||
|
||||
Результат = Новый Структура("ОтправленныеСообщения,ОписаниеОшибки", Новый Массив, "");
|
||||
|
||||
ПараметрыЗапроса = Новый Структура;
|
||||
@@ -67,7 +143,7 @@
|
||||
// Возвращаемое значение:
|
||||
// см. ОтправкаSMS.СтатусДоставки.
|
||||
//
|
||||
Функция СтатусДоставки(ИдентификаторСообщения, НастройкиОтправкиSMS) Экспорт
|
||||
Функция СтатусДоставкиСтарыйAPI(ИдентификаторСообщения, НастройкиОтправкиSMS)
|
||||
|
||||
Логин = НастройкиОтправкиSMS.Логин;
|
||||
Пароль = НастройкиОтправкиSMS.Пароль;
|
||||
@@ -78,7 +154,7 @@
|
||||
ПараметрыЗапроса.Вставить("Password", Пароль);
|
||||
ПараметрыЗапроса.Вставить("MessageId", ИдентификаторСообщения);
|
||||
|
||||
// отправка запроса
|
||||
// Отправка запроса.
|
||||
КодСостояния = ВыполнитьЗапрос("StatusTXT", ПараметрыЗапроса);
|
||||
Если ПустаяСтрока(КодСостояния) Тогда
|
||||
Возврат "Ошибка";
|
||||
@@ -97,41 +173,8 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтатусДоставкиSMS(Знач КодСостояния)
|
||||
СоответствиеСтатусов = Новый Соответствие;
|
||||
СоответствиеСтатусов.Вставить("-21", "НеОтправлялось");
|
||||
СоответствиеСтатусов.Вставить("-22", "НеОтправлялось");
|
||||
|
||||
Если ПустаяСтрока(КодСостояния) Или СтрНачинаетсяС(КодСостояния, "-")
|
||||
Или Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(КодСостояния) Тогда
|
||||
Результат = СоответствиеСтатусов[НРег(КодСостояния)];
|
||||
Возврат ?(Результат = Неопределено, "Ошибка", Результат);
|
||||
КонецЕсли;
|
||||
|
||||
КодСостояния = Число(КодСостояния);
|
||||
|
||||
ВсегоФрагментов = КодСостояния % 256;
|
||||
ОтправленоФрагментов = Цел(КодСостояния / 256) % 256;
|
||||
ОкончательныйСтатус = КодСостояния >= 256*256;
|
||||
|
||||
Если ОкончательныйСтатус Тогда
|
||||
Если ВсегоФрагментов = 0 Или ВсегоФрагментов > ОтправленоФрагментов Тогда
|
||||
Результат = "НеДоставлено";
|
||||
Иначе
|
||||
Результат = "Доставлено";
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если ВсегоФрагментов = 0 Или ВсегоФрагментов > ОтправленоФрагментов Тогда
|
||||
Результат = "Отправляется";
|
||||
Иначе
|
||||
Результат = "Отправлено";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
Функция ОписанияОшибок()
|
||||
|
||||
ОписанияОшибок = Новый Соответствие;
|
||||
|
||||
ОписанияОшибок.Вставить("0", НСтр("ru = 'Превышен предел открытых сессий.'"));
|
||||
@@ -152,25 +195,34 @@
|
||||
ОписанияОшибок.Вставить("-68", НСтр("ru = 'Аккаунт заблокирован.'"));
|
||||
|
||||
Возврат ОписанияОшибок;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеОшибкиОтправки(КодОшибки)
|
||||
|
||||
ОписанияОшибок = ОписанияОшибок();
|
||||
ТекстСообщения = ОписанияОшибок[КодОшибки];
|
||||
|
||||
Если ТекстСообщения = Неопределено Тогда
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Код ошибки: ""%1"".'"), КодОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекстСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеОшибкиПолученияСтатуса(КодОшибки)
|
||||
|
||||
ОписанияОшибок =ОписанияОшибок();
|
||||
ТекстСообщения = ОписанияОшибок[КодОшибки];
|
||||
|
||||
Если ТекстСообщения = Неопределено Тогда
|
||||
ТекстСообщения = НСтр("ru = 'Отказ выполнения операции'");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекстСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВыполнитьЗапрос(ИмяМетода, ПараметрыЗапроса)
|
||||
@@ -210,13 +262,265 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ЧтениеXML.Закрыть();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область НовыйAPI
|
||||
|
||||
Функция ОтправитьSMSНовыйAPI(НомераПолучателей, Текст, ИмяОтправителя)
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
НастройкиОтправкиSMS = ОтправкаSMS.НастройкиОтправкиSMS();
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
// Формирование пакетов.
|
||||
ПакетыОтправки = РазделитьМассивНомеровНаПакеты(НомераПолучателей);
|
||||
КоличествоПакетов = ПакетыОтправки.Количество();
|
||||
|
||||
Результат = Новый Структура("ОтправленныеСообщения,ОписаниеОшибки", Новый Массив, "");
|
||||
|
||||
Для Индекс = 0 По КоличествоПакетов - 1 Цикл
|
||||
|
||||
ПакетНомеров = ПакетыОтправки[Индекс];
|
||||
|
||||
ПараметрыЗапроса = Новый Структура;
|
||||
|
||||
ТелоЗапроса = Новый Структура;
|
||||
ТелоЗапроса.Вставить("sender", ?(ЗначениеЗаполнено(ИмяОтправителя), ИмяОтправителя, НастройкиОтправкиSMS.ИмяОтправителя));
|
||||
|
||||
Сообщения = Новый Массив;
|
||||
Для Каждого НомерПолучателя Из ПакетНомеров Цикл
|
||||
Сообщение = Новый Структура("number, text", "","");
|
||||
Сообщение.number = ФорматироватьНомер(НомерПолучателя);
|
||||
Сообщение.text = Текст;
|
||||
Сообщения.Добавить(Сообщение);
|
||||
КонецЦикла;
|
||||
|
||||
ТелоЗапроса.Вставить("messages", Сообщения);
|
||||
ТекстОтвета = ВыполнитьЗапросНовыйAPI("sms", ПараметрыЗапроса, ТелоЗапроса, "POST");
|
||||
|
||||
// Обработка результата.
|
||||
Если Не ЗначениеЗаполнено(ТекстОтвета) Тогда
|
||||
ДобавитьОшибку(Результат.ОписаниеОшибки, НСтр("ru = 'Соединение не установлено. Подробности см. в журнале регистрации.'"));
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
РезультатЗапроса = ОбщегоНазначения.JSONВЗначение(ТекстОтвета,,Ложь);
|
||||
Исключение
|
||||
ДобавитьОшибку(Результат.ОписаниеОшибки, НСтр("ru = 'Ошибка сервера. Подробности см. в журнале регистрации.'"));
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
|
||||
// Разбор результата запроса.
|
||||
Если РезультатЗапроса.Свойство("errors") Тогда
|
||||
Результат.ОписаниеОшибки = ОписаниеОшибкиЗапросаНовыйAPI(РезультатЗапроса);
|
||||
Иначе
|
||||
ИдентификаторыСообщений = РезультатЗапроса["messages"];
|
||||
Переименования = Новый Соответствие;
|
||||
ТаблицаИдентификаторов = МассивСтруктурВТаблицуЗначений(ИдентификаторыСообщений);
|
||||
|
||||
// Так как в сервис отправлен форматированный номер - выполняется перебор исходного пакета номеров.
|
||||
Для Каждого НомерПолучателя Из ПакетНомеров Цикл
|
||||
|
||||
ИдентификаторСообщения = "";
|
||||
СтрокаИдентификатора = ТаблицаИдентификаторов.Найти(ФорматироватьНомер(НомерПолучателя), "number");
|
||||
Если Не СтрокаИдентификатора = Неопределено Тогда
|
||||
ИдентификаторСообщения = СтрокаИдентификатора["id"];
|
||||
|
||||
Если Не ПустаяСтрока(НомерПолучателя) И ЗначениеЗаполнено(ИдентификаторСообщения) Тогда
|
||||
ОтправленноеСообщение = Новый Структура("НомерПолучателя,ИдентификаторСообщения",
|
||||
НомерПолучателя,ИдентификаторСообщения);
|
||||
Результат.ОтправленныеСообщения.Добавить(ОтправленноеСообщение);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Результат.ОписаниеОшибки = СокрП(Результат.ОписаниеОшибки);
|
||||
Если Не ПустаяСтрока(Результат.ОписаниеОшибки) Тогда
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Отправка SMS'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , Результат.ОписаниеОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВыполнитьЗапросНовыйAPI(ИмяМетода, ПараметрыЗапроса, ТелоЗапроса, HTTPМетод)
|
||||
|
||||
HTTPЗапрос = ПодготовитьHTTPЗапрос("/v1/" + ИмяМетода, ПараметрыЗапроса, ТелоЗапроса);
|
||||
HTTPЗапрос.Заголовки.Вставить("Accept-Encoding", "identity");
|
||||
|
||||
АдресСервера = АдресСервера();
|
||||
|
||||
HTTPОтвет = Неопределено;
|
||||
|
||||
Попытка
|
||||
Соединение = Новый HTTPСоединение(АдресСервера,,,,
|
||||
ПолучениеФайловИзИнтернета.ПолучитьПрокси("https"),
|
||||
60,
|
||||
ОбщегоНазначенияКлиентСервер.НовоеЗащищенноеСоединение());
|
||||
Если HTTPМетод = "POST" Тогда
|
||||
HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
|
||||
ИначеЕсли HTTPМетод = "GET" Тогда
|
||||
HTTPОтвет = Соединение.Получить(HTTPЗапрос);
|
||||
Иначе
|
||||
// Метод HTTP не поддерживается.
|
||||
Результат = "";
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Метод HTTP ""%1"" не поддерживается.'"), HTTPМетод);
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Отправка SMS'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Отправка SMS'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
Результат = "";
|
||||
Если HTTPОтвет <> Неопределено Тогда
|
||||
Если HTTPОтвет.КодСостояния <> 200 Тогда
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Запрос ""%1"" не выполнен. Код состояния: %2.'"), ИмяМетода, HTTPОтвет.КодСостояния) + Символы.ПС
|
||||
+ HTTPОтвет.ПолучитьТелоКакСтроку();
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Отправка SMS'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
Результат = HTTPОтвет.ПолучитьТелоКакСтроку();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеОшибкиЗапросаНовыйAPI(РезультатЗапроса)
|
||||
|
||||
РезультатСтатусЗапроса = РезультатЗапроса["status"];
|
||||
РезультатЗаголовокОшибки = РезультатЗапроса["title"];
|
||||
РезультатОшибки = РезультатЗапроса["errors"];
|
||||
ОписанияОшибок = Новый Массив;
|
||||
|
||||
Для Каждого ОписаниеОшибки Из РезультатОшибки Цикл
|
||||
ДетализацияОшибки = ОписаниеОшибки["detail"];
|
||||
Если Не ПустаяСтрока(ДетализацияОшибки) Тогда
|
||||
ОписанияОшибок.Добавить(ДетализацияОшибки);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ОписанияОшибокСтрокой = СтрСоединить(ОписанияОшибок, Символы.ПС);
|
||||
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1
|
||||
|Детальное описание:
|
||||
|%2'"), РезультатЗаголовокОшибки, ОписанияОшибокСтрокой);
|
||||
|
||||
Возврат ТекстСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Запрашивает статус доставки сообщения у поставщика услуг.
|
||||
//
|
||||
// Параметры:
|
||||
// ИдентификаторыСообщений - см. ОтправкаSMS.СтатусыДоставки.ИдентификаторыСообщений.
|
||||
// НастройкиОтправкиSMS - см. ОтправкаSMS.НастройкиОтправкиSMS.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// см. ОтправкаSMS.СтатусыДоставки.
|
||||
//
|
||||
Функция СтатусыДоставки(ИдентификаторыСообщений, НастройкиОтправкиSMS) Экспорт
|
||||
|
||||
СтатусыДоставки = Новый Соответствие;
|
||||
|
||||
// Инициализация значения статуса.
|
||||
Для Каждого ИдентификаторСообщения Из ИдентификаторыСообщений Цикл
|
||||
СтатусыДоставки[ИдентификаторСообщения] = "Ошибка";
|
||||
КонецЦикла;
|
||||
|
||||
// Формирование пакетов.
|
||||
ПакетыОтправки = РазделитьМассивНомеровНаПакеты(ИдентификаторыСообщений);
|
||||
КоличествоПакетов = ПакетыОтправки.Количество();
|
||||
|
||||
Для Индекс = 0 По КоличествоПакетов - 1 Цикл
|
||||
|
||||
ТекущийПакет = ПакетыОтправки[Индекс];
|
||||
|
||||
ПараметрыЗапроса = Новый Структура;
|
||||
|
||||
ТелоЗапроса = Новый Структура;
|
||||
ТелоЗапроса.Вставить("ids", ТекущийПакет);
|
||||
|
||||
ТекстОтвета = ВыполнитьЗапросНовыйAPI("sms/messages/status", ПараметрыЗапроса, ТелоЗапроса, "GET");
|
||||
|
||||
Если Не ЗначениеЗаполнено(ТекстОтвета) Тогда
|
||||
Возврат СтатусыДоставки;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
РезультатЗапроса = ОбщегоНазначения.JSONВЗначение(ТекстОтвета,,Ложь);
|
||||
Исключение
|
||||
Возврат СтатусыДоставки;
|
||||
КонецПопытки;
|
||||
|
||||
// Разбор результата запроса.
|
||||
Если РезультатЗапроса.Свойство("errors") Тогда
|
||||
Причина = ОписаниеОшибкиЗапросаНовыйAPI(РезультатЗапроса);
|
||||
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось проверить статус доставки SMS по причине:
|
||||
|%1'"), Причина);
|
||||
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Отправка SMS'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки);
|
||||
|
||||
Возврат СтатусыДоставки;
|
||||
|
||||
Иначе
|
||||
СтатусыСообщений = РезультатЗапроса["statuses"];
|
||||
|
||||
Для Каждого ТекСтатус Из СтатусыСообщений Цикл
|
||||
ИдентификаторСообщения = ТекСтатус["id"];
|
||||
КодСостояния = ТекСтатус["code"];
|
||||
СтатусДоставки = СтатусДоставкиSMSНовыйAPI(КодСостояния);
|
||||
СтатусыДоставки[ИдентификаторСообщения] = СтатусДоставки;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СтатусыДоставки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтатусДоставкиSMSНовыйAPI(Знач КодСостояния)
|
||||
|
||||
СоответствиеСтатусов = Новый Соответствие;
|
||||
СоответствиеСтатусов.Вставить("delivered", "Доставлено");
|
||||
СоответствиеСтатусов.Вставить("undelivered", "НеДоставлено");
|
||||
СоответствиеСтатусов.Вставить("in_process", "Отправляется");
|
||||
СоответствиеСтатусов.Вставить("in_queue", "Отправляется");
|
||||
СоответствиеСтатусов.Вставить("sent", "Отправлено");
|
||||
СоответствиеСтатусов.Вставить("not_sent", "НеОтправлено");
|
||||
СоответствиеСтатусов.Вставить("error", "НеОтправлялось");
|
||||
|
||||
Результат = СоответствиеСтатусов[НРег(КодСостояния)];
|
||||
Возврат ?(Результат = Неопределено, "Ошибка", Результат);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
Функция ФорматироватьНомер(Номер)
|
||||
|
||||
Результат = "";
|
||||
ДопустимыеСимволы = "1234567890";
|
||||
Для Позиция = 1 По СтрДлина(Номер) Цикл
|
||||
@@ -227,8 +531,146 @@
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПодготовитьHTTPЗапрос(АдресРесурса, ПараметрыЗапроса, ТелоЗапроса="") Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
НастройкиОтправкиSMS = ОтправкаSMS.НастройкиОтправкиSMS();
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
Заголовки = Новый Соответствие;
|
||||
|
||||
Если Не ПустаяСтрока(ТелоЗапроса) Тогда
|
||||
Заголовки.Вставить("accept", "application/json");
|
||||
КонецЕсли;
|
||||
|
||||
Если НастройкиОтправкиSMS.СпособАвторизации = "ПоКлючу" Тогда
|
||||
Заголовки.Вставить("Authorization", "Bearer " + НастройкиОтправкиSMS.Пароль);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ПараметрыЗапроса) = Тип("Строка") Тогда
|
||||
СтрокаПараметров = ПараметрыЗапроса;
|
||||
Иначе
|
||||
СписокПараметров = Новый Массив;
|
||||
Для Каждого Параметр Из ПараметрыЗапроса Цикл
|
||||
Значения = Параметр.Значение;
|
||||
Если ТипЗнч(Параметр.Значение) <> Тип("Массив") Тогда
|
||||
Значения = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Параметр.Значение);
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Значение Из Значения Цикл
|
||||
СписокПараметров.Добавить(Параметр.Ключ + "=" + КодироватьСтроку(Значение, СпособКодированияСтроки.КодировкаURL));
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
СтрокаПараметров = СтрСоединить(СписокПараметров, "&");
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПустаяСтрока(СтрокаПараметров) Тогда
|
||||
АдресРесурса = АдресРесурса + "?" + СтрокаПараметров;
|
||||
КонецЕсли;
|
||||
|
||||
HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, Заголовки);
|
||||
|
||||
Если Не ПустаяСтрока(ТелоЗапроса) Тогда
|
||||
HTTPЗапрос.УстановитьТелоИзСтроки(ОбщегоНазначения.ЗначениеВJSON(ТелоЗапроса));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат HTTPЗапрос;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Разделяет массив номеров на пакеты.
|
||||
//
|
||||
// Параметры:
|
||||
// НомераПолучателей- Массив из Строка - массив номеров или идентификаторов сообщений.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из Массив
|
||||
//
|
||||
Функция РазделитьМассивНомеровНаПакеты(НомераПолучателей)
|
||||
|
||||
РазмерПакета = РазмерПакета(); // Количество элементов в одном пакете.
|
||||
Пакеты = Новый Массив; // Массив для хранения пакетов.
|
||||
|
||||
// Формируем пакеты.
|
||||
Для Индекс = 0 По НомераПолучателей.Количество() - 1 Цикл
|
||||
Если Индекс % РазмерПакета = 0 Тогда
|
||||
ТекущийПакет = Новый Массив;
|
||||
Пакеты.Добавить(ТекущийПакет);
|
||||
КонецЕсли;
|
||||
|
||||
ПоследнийПакет = Пакеты[Пакеты.Количество() - 1];
|
||||
ПоследнийПакет.Добавить(НомераПолучателей[Индекс]);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Пакеты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Функция помещает массив структур в таблицу значений.
|
||||
//
|
||||
// Параметры:
|
||||
// МассивСтруктур - Массив из Структура.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений.
|
||||
//
|
||||
Функция МассивСтруктурВТаблицуЗначений(МассивСтруктур) Экспорт
|
||||
|
||||
Результат = Новый ТаблицаЗначений;
|
||||
|
||||
Если ТипЗнч(МассивСтруктур) = Тип("Массив")
|
||||
И МассивСтруктур.Количество() <> 0 Тогда
|
||||
|
||||
// Создание колонок.
|
||||
СтруктураКолонок = МассивСтруктур[0];
|
||||
Для Каждого Поле Из СтруктураКолонок Цикл
|
||||
Результат.Колонки.Добавить(Поле.Ключ);
|
||||
КонецЦикла;
|
||||
|
||||
// Заполнение таблицы.
|
||||
Для Каждого Строка Из МассивСтруктур Цикл
|
||||
СтрокаРезультат = Результат.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(СтрокаРезультат, Строка);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает количество элементов в пакете.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Число - количество элементов в пакете.
|
||||
//
|
||||
Функция РазмерПакета()
|
||||
|
||||
Возврат 5000;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АдресСервера()
|
||||
|
||||
Возврат "1c.sms4b.ru";
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавляет строку к имеющимся.
|
||||
//
|
||||
// Параметры:
|
||||
// Ошибки - Строка - накопленное описание ошибок.
|
||||
// ТекстОшибки - Строка - описание очередной ошибки.
|
||||
//
|
||||
Процедура ДобавитьОшибку(Ошибки, ТекстОшибки)
|
||||
|
||||
Ошибки = Ошибки + ?(Ошибки = "", "", "
|
||||
|") + ТекстОшибки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает список разрешений для отправки SMS с использованием всех доступных провайдеров.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
@@ -236,23 +678,115 @@
|
||||
//
|
||||
Функция Разрешения() Экспорт
|
||||
|
||||
МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
|
||||
|
||||
Протокол = "HTTPS";
|
||||
Адрес = "sms4b.ru";
|
||||
Порт = Неопределено;
|
||||
Описание = НСтр("ru = 'Отправка SMS через ""SMS4B"".'");
|
||||
Описание = НСтр("ru = 'Отправка SMS через ""SMS4B"" (старый).'");
|
||||
|
||||
МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
|
||||
Разрешения = Новый Массив;
|
||||
Разрешения.Добавить(
|
||||
МодульРаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(Протокол, Адрес, Порт, Описание));
|
||||
|
||||
Протокол = "HTTPS";
|
||||
Адрес = "https://1c.sms4b.ru";
|
||||
Порт = Неопределено;
|
||||
Описание = НСтр("ru = 'Отправка SMS через ""SMS4B"" (новый).'");
|
||||
|
||||
Разрешения = Новый Массив;
|
||||
Разрешения.Добавить(
|
||||
МодульРаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(Протокол, Адрес, Порт, Описание));
|
||||
|
||||
Возврат Разрешения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПриОпределенииНастроек(Настройки) Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
НастройкиОтправкиSMS = ОтправкаSMS.НастройкиОтправкиSMS();
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
Настройки.АдресОписанияУслугиВИнтернете = "https://sms4b.ru";
|
||||
Настройки.ПриОпределенииСпособовАвторизации = Истина;
|
||||
Настройки.ПриОпределенииПолейАвторизации = Истина;
|
||||
|
||||
Если НастройкиОтправкиSMS.Свойство("СпособАвторизации") И НастройкиОтправкиSMS.СпособАвторизации = "ПоКлючу" Тогда
|
||||
Настройки.СтатусыДоставкиОднимЗапросом = Истина;
|
||||
Иначе
|
||||
Настройки.СтатусыДоставкиОднимЗапросом = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Настройки.ПриЗаполненииСпискаТекущихДел = Истина;
|
||||
|
||||
Настройки.ИнформацияПоСпособамАвторизации.Вставить("ПоЛогинуИПаролю", СтроковыеФункции.ФорматированнаяСтрока(
|
||||
НСтр("ru = 'Для сервиса SMS4B рекомендуем использовать новый способ авторизации по API-токену.
|
||||
|Авторизация по логину и паролю в будущем будет отключена.'")));
|
||||
|
||||
Настройки.ИнформацияПоСпособамАвторизации.Вставить("ПоКлючу", СтроковыеФункции.ФорматированнаяСтрока(
|
||||
НСтр("ru = '<a href=""https://www.sms4b.ru/office/api/token/"">Получить API-токен</a>'")));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриОпределенииСпособовАвторизации(СпособыАвторизации) Экспорт
|
||||
|
||||
СпособыАвторизации.Очистить();
|
||||
СпособыАвторизации.Добавить("ПоКлючу", НСтр("ru = 'По API-токену (рекомендуется)'"));
|
||||
СпособыАвторизации.Добавить("ПоЛогинуИПаролю", НСтр("ru = 'По логину и паролю'"));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриОпределенииПолейАвторизации(СпособыАвторизации) Экспорт
|
||||
|
||||
ПоляАвторизации = Новый СписокЗначений;
|
||||
ПоляАвторизации.Добавить("Пароль", НСтр("ru = 'Токен'"));
|
||||
|
||||
СпособыАвторизации.Вставить("ПоКлючу", ПоляАвторизации);
|
||||
|
||||
ПоляАвторизации = Новый СписокЗначений;
|
||||
ПоляАвторизации.Добавить("Логин", НСтр("ru = 'Логин'"));
|
||||
ПоляАвторизации.Добавить("Пароль", НСтр("ru = 'Пароль'"));
|
||||
|
||||
СпособыАвторизации.Вставить("ПоЛогинуИПаролю", ПоляАвторизации);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры:
|
||||
// ТекущиеДела - см. ТекущиеДелаСервер.ТекущиеДела.
|
||||
//
|
||||
Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт
|
||||
|
||||
ИмяДела = "ОтправкаSMS";
|
||||
МодульТекущиеДелаСервер = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСервер");
|
||||
Если МодульТекущиеДелаСервер.ДелоОтключено(ИмяДела) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
НастройкиОтправкиSMS = ОтправкаSMS.НастройкиОтправкиSMS();
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ТребуетсяНастройка = Не НастройкиОтправкиSMS.Свойство("СпособАвторизации") Или НастройкиОтправкиSMS.СпособАвторизации = "ПоЛогинуИПаролю";
|
||||
Если Не ТребуетсяНастройка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КоличествоПроблем = 0;
|
||||
ПараметрыФормы = Новый Структура;
|
||||
|
||||
Разделы = МодульТекущиеДелаСервер.РазделыДляОбъекта(Метаданные.ОбщиеФормы.НастройкаОтправкиSMS.ПолноеИмя());
|
||||
Для Каждого Раздел Из Разделы Цикл
|
||||
Дело = ТекущиеДела.Добавить();
|
||||
Дело.Идентификатор = ИмяДела + СтрЗаменить(Раздел.ПолноеИмя(), ".", "");
|
||||
Дело.ЕстьДела = Истина;
|
||||
Дело.Представление = НСтр("ru = 'Требуется настройка отправки SMS'");
|
||||
Дело.Количество = КоличествоПроблем;
|
||||
Дело.Форма = "ОбщаяФорма.НастройкаОтправкиSMS";
|
||||
Дело.ПараметрыФормы = ПараметрыФормы;
|
||||
Дело.Важное = Истина;
|
||||
Дело.Владелец = Раздел;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
Функция ОтправитьSMS(НомераПолучателей, Текст, ИмяОтправителя, Логин, Знач Пароль) Экспорт
|
||||
|
||||
Получатели = Новый Массив;
|
||||
|
||||
Для Каждого Элемент Из НомераПолучателей Цикл
|
||||
НомерПолучателя = ФорматироватьНомер(Элемент);
|
||||
Если Получатели.Найти(НомерПолучателя) = Неопределено Тогда
|
||||
@@ -30,13 +31,7 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
СпособАвторизации = СпособАвторизации();
|
||||
|
||||
Если СпособАвторизации = СпособАвторизацииПоЛогинуИПаролюМаркетолог() Тогда
|
||||
Возврат ОтправитьSMSМаркетолог(Получатели, Текст, ИмяОтправителя, Логин, Пароль);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОтправитьSMSКоммуникатор(Получатели, Текст, ИмяОтправителя, Логин, Пароль);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -51,67 +46,29 @@
|
||||
//
|
||||
Функция СтатусДоставки(ИдентификаторСообщения, НастройкиОтправкиSMS) Экспорт
|
||||
|
||||
Если СпособАвторизации() = СпособАвторизацииПоЛогинуИПаролюМаркетолог() Тогда
|
||||
Возврат СтатусДоставкиМаркетолог(ИдентификаторСообщения, НастройкиОтправкиSMS);
|
||||
КонецЕсли;
|
||||
|
||||
Результат = "Ошибка";
|
||||
|
||||
ПараметрыЗапроса = Новый Структура;
|
||||
ПараметрыЗапроса.Вставить("messageID", ИдентификаторСообщения);
|
||||
ПараметрыЗапроса.Вставить("login", НастройкиОтправкиSMS.Логин);
|
||||
|
||||
Если ЗначениеЗаполнено(НастройкиОтправкиSMS.Логин) Тогда
|
||||
ПараметрыЗапроса.Вставить("password", ОбщегоНазначения.КонтрольнаяСуммаСтрокой(НастройкиОтправкиSMS.Пароль));
|
||||
Иначе
|
||||
ПараметрыЗапроса.Вставить("password", "");
|
||||
КонецЕсли;
|
||||
|
||||
HTTPЗапрос = ОтправкаSMS.ПодготовитьHTTPЗапрос(АдресРесурсаКоммуникатор() + "GetMessageStatus", ПараметрыЗапроса, Истина);
|
||||
|
||||
РезультатЗапроса = ВыполнитьЗапрос(АдресСервераКоммуникатор(), HTTPЗапрос);
|
||||
Если Не РезультатЗапроса.ЗапросВыполнен Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
ДокументDOM = ДокументDOM(РезультатЗапроса.ОтветСервера);
|
||||
Разыменователь = ДокументDOM.СоздатьРазыменовательПИ();
|
||||
|
||||
НайденныйЭлемент = ДокументDOM.ВычислитьВыражениеXPath("/xmlns:ArrayOfDeliveryInfo/xmlns:DeliveryInfo/xmlns:DeliveryStatus",
|
||||
ДокументDOM, Разыменователь).ПолучитьСледующий();
|
||||
|
||||
Если НайденныйЭлемент = Неопределено Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = СтатусДоставкиSMS(НайденныйЭлемент.ТекстовоеСодержимое);
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ФорматироватьНомер(Номер)
|
||||
|
||||
Результат = "";
|
||||
ДопустимыеСимволы = "1234567890";
|
||||
|
||||
Для Позиция = 1 По СтрДлина(Номер) Цикл
|
||||
Символ = Сред(Номер,Позиция,1);
|
||||
Если СтрНайти(ДопустимыеСимволы, Символ) > 0 Тогда
|
||||
Результат = Результат + Символ;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтатусДоставкиSMS(СтатусСтрокой)
|
||||
СоответствиеСтатусов = Новый Соответствие;
|
||||
|
||||
// Коммуникатор
|
||||
СоответствиеСтатусов.Вставить("Pending", "НеОтправлялось");
|
||||
СоответствиеСтатусов.Вставить("Sending", "Отправляется");
|
||||
СоответствиеСтатусов.Вставить("Sent", "Отправлено");
|
||||
СоответствиеСтатусов.Вставить("NotSent", "НеОтправлено");
|
||||
СоответствиеСтатусов.Вставить("Delivered", "Доставлено");
|
||||
СоответствиеСтатусов.Вставить("NotDelivered", "НеДоставлено");
|
||||
СоответствиеСтатусов.Вставить("TimedOut", "НеДоставлено");
|
||||
СоответствиеСтатусов = Новый Соответствие;
|
||||
|
||||
// Маркетолог
|
||||
СоответствиеСтатусов.Вставить(200, "Отправлено");
|
||||
@@ -123,31 +80,12 @@
|
||||
|
||||
Результат = СоответствиеСтатусов[СтатусСтрокой];
|
||||
Возврат ?(Результат = Неопределено, "Ошибка", Результат);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписанияОшибок()
|
||||
ОписанияОшибок = Новый Соответствие;
|
||||
|
||||
// Коммуникатор
|
||||
ОписанияОшибок.Вставить("SYSTEM_FAILURE", НСтр("ru = 'Временная проблема на стороне МТС.'"));
|
||||
ОписанияОшибок.Вставить("TOO_MANY_PARAMETERS", НСтр("ru = 'Превышено максимальное число параметров.'"));
|
||||
ОписанияОшибок.Вставить("INCORRECT_PASSWORD", НСтр("ru = 'Предоставленные логин/пароль не верны.'"));
|
||||
ОписанияОшибок.Вставить("MSID_FORMAT_ERROR", НСтр("ru = 'Формат номера неверный.'"));
|
||||
ОписанияОшибок.Вставить("MESSAGE_FORMAT_ERROR", НСтр("ru = 'Ошибка в формате сообщения.'"));
|
||||
ОписанияОшибок.Вставить("WRONG_ID", НСтр("ru = 'Передан неверный идентификатор.'"));
|
||||
ОписанияОшибок.Вставить("MESSAGE_HANDLING_ERROR", НСтр("ru = 'Ошибка в обработке сообщения'"));
|
||||
ОписанияОшибок.Вставить("NO_SUCH_SUBSCRIBER", НСтр("ru = 'Данный абонент не зарегистрирован в Услуге в учетной записи клиента (или еще не дал подтверждение).'"));
|
||||
ОписанияОшибок.Вставить("TEST_LIMIT_EXCEEDED", НСтр("ru = 'Превышен лимит по количеству сообщений в тестовой эксплуатации.'"));
|
||||
ОписанияОшибок.Вставить("TRUSTED_LIMIT_EXCEEDED", НСтр("ru = 'Превышен лимит по количеству сообщений для абонентов, которые были добавлены без подтверждения.'"));
|
||||
ОписанияОшибок.Вставить("IP_NOT_ALLOWED", НСтр("ru = 'Доступ к сервису с данного IP невозможен (список допустимых IP-адресов можно указывается при подключении услуги).'"));
|
||||
ОписанияОшибок.Вставить("MAX_LENGTH_EXCEEDED", НСтр("ru = 'Превышена максимальная длина сообщения (1000 символов).'"));
|
||||
ОписанияОшибок.Вставить("OPERATION_NOT_ALLOWED", НСтр("ru = 'Пользователь услуги не имеет прав на выполнение данной операции.'"));
|
||||
ОписанияОшибок.Вставить("EMPTY_MESSAGE_NOT_ALLOWED", НСтр("ru = 'Отправка пустых сообщений не допускается.'"));
|
||||
ОписанияОшибок.Вставить("ACCOUNT_IS_BLOCKED", НСтр("ru = 'Учетная запись заблокирована, отправка сообщений не возможна.'"));
|
||||
ОписанияОшибок.Вставить("OBJECT_ALREADY_EXISTS", НСтр("ru = 'Список рассылки с указанным названием уже существует в рамках компании.'"));
|
||||
ОписанияОшибок.Вставить("MSID_IS_IN_BLACKLIST", НСтр("ru = 'Номер абонента находится в черном списке, отправка сообщений запрещена.'"));
|
||||
ОписанияОшибок.Вставить("MSIDS_ARE_IN_BLACKLIST", НСтр("ru = 'Все указанные номера абонентов находятся в черном списке, отправка сообщений запрещена.'"));
|
||||
ОписанияОшибок.Вставить("TIME_IS_IN_THE_PAST", НСтр("ru = 'Переданное время в прошлом.'"));
|
||||
ОписанияОшибок = Новый Соответствие;
|
||||
|
||||
// Маркетолог
|
||||
ОписанияОшибок.Вставить(806, НСтр("ru = 'Не указан получатель сообщения.'"));
|
||||
@@ -161,17 +99,21 @@
|
||||
ОписанияОшибок.Вставить(602, НСтр("ru = 'Отсутствует обязательный параметр в тексте запроса.'"));
|
||||
|
||||
Возврат ОписанияОшибок;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеОшибкиПоКоду(Знач КодОшибки)
|
||||
|
||||
КодОшибки = СокрЛП(КодОшибки);
|
||||
ОписанияОшибок = ОписанияОшибок();
|
||||
ТекстСообщения = ОписанияОшибок[КодОшибки];
|
||||
|
||||
Если ТекстСообщения = Неопределено Тогда
|
||||
ТекстСообщения = НСтр("ru = 'Отказ выполнения операции.'") + Символы.ПС
|
||||
+ КодОшибки;
|
||||
ТекстСообщения = НСтр("ru = 'Отказ выполнения операции.'") + Символы.ПС + КодОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекстСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает список разрешений для отправки SMS с использованием всех доступных провайдеров.
|
||||
@@ -180,6 +122,7 @@
|
||||
// Массив
|
||||
//
|
||||
Функция Разрешения() Экспорт
|
||||
|
||||
Протокол = "HTTPS";
|
||||
Адрес = АдресСервераМаркетолог();
|
||||
Порт = Неопределено;
|
||||
@@ -192,6 +135,7 @@
|
||||
МодульРаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(Протокол, Адрес, Порт, Описание));
|
||||
|
||||
Возврат Разрешения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВыполнитьЗапрос(Знач АдресСервера, Знач HTTPЗапрос, Знач Пользователь = Неопределено, Знач Пароль = Неопределено)
|
||||
@@ -246,11 +190,6 @@
|
||||
|
||||
Процедура ПриОпределенииПолейАвторизации(СпособыАвторизации) Экспорт
|
||||
|
||||
ПоляАвторизации = Новый СписокЗначений;
|
||||
ПоляАвторизации.Добавить("Пароль", НСтр("ru = 'Ключ API'"));
|
||||
|
||||
СпособыАвторизации.Вставить("ПоКлючу", ПоляАвторизации);
|
||||
|
||||
ПоляАвторизации = Новый СписокЗначений;
|
||||
ПоляАвторизации.Добавить("Логин", НСтр("ru = 'Логин'"));
|
||||
ПоляАвторизации.Добавить("Пароль", НСтр("ru = 'Пароль'"));
|
||||
@@ -259,63 +198,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДокументDOM(Строка)
|
||||
|
||||
ЧтениеXML = Новый ЧтениеXML;
|
||||
ЧтениеXML.УстановитьСтроку(Строка);
|
||||
ПостроительDOM = Новый ПостроительDOM;
|
||||
ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
|
||||
ЧтениеXML.Закрыть();
|
||||
|
||||
Возврат ДокументDOM;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОтправитьSMSКоммуникатор(Получатели, Текст, ИмяОтправителя, Логин, Знач Пароль)
|
||||
|
||||
Результат = Новый Структура("ОтправленныеСообщения,ОписаниеОшибки", Новый Массив, "");
|
||||
|
||||
ПараметрыЗапроса = Новый Структура;
|
||||
ПараметрыЗапроса.Вставить("msids", Получатели);
|
||||
ПараметрыЗапроса.Вставить("message", Текст);
|
||||
ПараметрыЗапроса.Вставить("naming", ИмяОтправителя);
|
||||
ПараметрыЗапроса.Вставить("login", Логин);
|
||||
|
||||
Если ЗначениеЗаполнено(Логин) Тогда
|
||||
ПараметрыЗапроса.Вставить("password", ОбщегоНазначения.КонтрольнаяСуммаСтрокой(Пароль));
|
||||
Иначе
|
||||
ПараметрыЗапроса.Вставить("password", "");
|
||||
КонецЕсли;
|
||||
|
||||
HTTPЗапрос = ОтправкаSMS.ПодготовитьHTTPЗапрос(АдресРесурсаКоммуникатор() + "SendMessages", ПараметрыЗапроса, Истина);
|
||||
|
||||
РезультатЗапроса = ВыполнитьЗапрос(АдресСервераКоммуникатор(), HTTPЗапрос);
|
||||
Если Не РезультатЗапроса.ЗапросВыполнен Тогда
|
||||
Результат.ОписаниеОшибки = ОписаниеОшибкиПоКоду(РезультатЗапроса.ОтветСервера);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
ДокументDOM = ДокументDOM(РезультатЗапроса.ОтветСервера);
|
||||
Разыменователь = ДокументDOM.СоздатьРазыменовательПИ();
|
||||
|
||||
ОтправленныеСообщения = ДокументDOM.ВычислитьВыражениеXPath("/xmlns:ArrayOfSendMessageIDs/xmlns:SendMessageIDs",
|
||||
ДокументDOM, Разыменователь);
|
||||
|
||||
Сообщение = ОтправленныеСообщения.ПолучитьСледующий();
|
||||
Пока Сообщение <> Неопределено Цикл
|
||||
НомерПолучателя = ДокументDOM.ВычислитьВыражениеXPath("xmlns:Msid", Сообщение, Разыменователь).ПолучитьСледующий().ТекстовоеСодержимое;
|
||||
ИдентификаторСообщения = ДокументDOM.ВычислитьВыражениеXPath("xmlns:MessageID", Сообщение, Разыменователь).ПолучитьСледующий().ТекстовоеСодержимое;
|
||||
|
||||
Результат.ОтправленныеСообщения.Добавить(Новый Структура("НомерПолучателя,ИдентификаторСообщения",
|
||||
"+" + НомерПолучателя, Формат(ИдентификаторСообщения, "ЧГ=")));
|
||||
|
||||
Сообщение = ОтправленныеСообщения.ПолучитьСледующий();
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОтправитьSMSМаркетолог(Знач Получатели, Знач Текст, Знач ИмяОтправителя, Знач Логин, Знач Пароль)
|
||||
|
||||
ТекстЗапроса = ТекстЗапросаМаркетолог(Получатели, Текст, ИмяОтправителя);
|
||||
@@ -464,18 +346,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АдресСервераКоммуникатор()
|
||||
|
||||
Возврат "api.mcommunicator.ru";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АдресРесурсаКоммуникатор()
|
||||
|
||||
Возврат "/m2m/m2m_api.asmx/";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АдресСервераМаркетолог()
|
||||
|
||||
Возврат "omnichannel.mts.ru";
|
||||
@@ -492,12 +362,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СпособАвторизации()
|
||||
|
||||
Возврат СпособАвторизацииПоЛогинуИПаролюМаркетолог();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СпособАвторизацииПоЛогинуИПаролюМаркетолог()
|
||||
|
||||
Возврат "ПоЛогинуИПаролюМаркетолог";
|
||||
|
||||
@@ -992,6 +992,8 @@
|
||||
И Не КомандаВидаКоманднаяПанель Тогда
|
||||
КнопкаФормы = Элементы.Вставить(Команда.ИмяВФорме, Тип("КнопкаФормы"), СведенияОПодменюКоманды.Подменю.Родитель, ГруппаФормы.Родитель);
|
||||
ИмяКорневогоЭлемента = Команда.ИмяВФорме;
|
||||
КнопкаФормы.ВажностьПриОтображении = ?(ТипЗнч(ГруппаФормы.Родитель) = Тип("ГруппаФормы"),
|
||||
ГруппаФормы.Родитель.ВажностьПриОтображении, КнопкаФормы.ВажностьПриОтображении);
|
||||
Иначе
|
||||
КнопкаФормы = Элементы.Добавить(Команда.ИмяВФорме, Тип("КнопкаФормы"), ГруппаФормы);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -262,7 +262,10 @@
|
||||
// * РасширенныйПодбор - Булево - если Истина, то доступен просмотр Групп пользователей.
|
||||
// * ПараметрыРасширеннойФормыПодбора - Строка - адрес временного хранилища со структурой:
|
||||
// ** ВыбранныеПользователи - Массив из СправочникСсылка.Пользователи - пользователи,
|
||||
// которые должны отображаться в подобранных.
|
||||
// которые должны отображаться в ранее выбранных
|
||||
// для возможности их удобного удаления из выбранных.
|
||||
// - Неопределено - без отображения ранее выбранных и соответственно,
|
||||
// без отображения добавленных, удаленных и неизмененных.
|
||||
// ** ЗаголовокФормыПодбора - Строка - если заполнен, переопределяет заголовок формы подбора.
|
||||
// ** ЗаголовокКнопкиЗавершенияПодбора - Строка - если заполнен, переопределяет заголовок кнопки.
|
||||
//
|
||||
|
||||
@@ -402,7 +402,10 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * ВыбранныеПользователи - Массив из СправочникСсылка.Пользователи - пользователи,
|
||||
// которые должны отображаться в подобранных.
|
||||
// которые должны отображаться в ранее выбранных
|
||||
// для возможности их удобного удаления из выбранных.
|
||||
// - Неопределено - без отображения ранее выбранных и соответственно,
|
||||
// без отображения добавленных, удаленных и неизмененных.
|
||||
// * ЗаголовокФормыПодбора - Строка - если заполнен, переопределяет заголовок формы подбора.
|
||||
// * ЗаголовокКнопкиЗавершенияПодбора - Строка - если заполнен, переопределяет заголовок кнопки.
|
||||
//
|
||||
@@ -7803,6 +7806,8 @@
|
||||
ПараметрыРазмещения.ПрефиксГрупп = "Группы";
|
||||
ПараметрыРазмещения.КоманднаяПанель = Элементы.Группы.КоманднаяПанель;
|
||||
МодульПодключаемыеКоманды.ПриСозданииНаСервере(Форма, ПараметрыРазмещения);
|
||||
|
||||
ЗаполнитьСкрытыеЭлементы(Форма);
|
||||
КонецЕсли;
|
||||
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
|
||||
@@ -7842,6 +7847,11 @@
|
||||
Элементы.СписокПользователиИнформационнойБазы.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ХранимыеПараметры.РежимВыбора Тогда
|
||||
Элементы.Группы.РежимВыбора = Ложь;
|
||||
Элементы.Список.РежимВыбора = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ФормаВставитьИзБуфераОбмена.Видимость = ХранимыеПараметры.РасширенныйПодбор;
|
||||
Элементы.ПоказыватьЭлементыСписков.Видимость = ХранимыеПараметры.РасширенныйПодбор;
|
||||
|
||||
@@ -7889,10 +7899,9 @@
|
||||
Если ХранимыеПараметры.РасширенныйПодбор Тогда
|
||||
СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(Форма, "РасширенныйПодбор");
|
||||
Элементы.Список.ОтображениеГиперссылокЯчеек = ОтображениеГиперссылокЯчеек.НеОтображать;
|
||||
Элементы.Группы.РежимВыбора = Ложь;
|
||||
Элементы.Список.РежимВыбора = Ложь;
|
||||
Иначе
|
||||
Элементы.Группы.РежимВыбора = ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85();
|
||||
Элементы.Список.РежимВыбора = Истина;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85() Тогда
|
||||
ВыборГрупп = ХранимыеПараметры.ВыборГрупп И ХранимыеПараметры.ИспользоватьГруппы;
|
||||
Если ВыборГрупп
|
||||
@@ -7906,10 +7915,12 @@
|
||||
Иначе
|
||||
Элементы.ФормаВыбратьВыделенные.РасширеннаяПодсказка.Заголовок =
|
||||
?(ВыборГрупп,
|
||||
НСтр("ru = 'Выбрать выделенные группы и пользователи'"),
|
||||
НСтр("ru = 'Выбрать выделенные группы и выделенных пользователей'"),
|
||||
НСтр("ru = 'Выбрать выделенных пользователей'"));
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Элементы.Группы.РежимВыбора = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -7936,14 +7947,6 @@
|
||||
"СписокСкопировать", "ПоложениеВКоманднойПанели", ПоложениеКнопкиВКоманднойПанели.ВКоманднойПанели);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85() Тогда
|
||||
ЭлементГруппыСоздать = Элементы.Найти("ГруппыСоздать");
|
||||
Если ЭлементГруппыСоздать <> Неопределено Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыКонтекстноеМенюСоздать", "Заголовок", ЭлементГруппыСоздать.Заголовок);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеОбъекта = Новый Структура;
|
||||
ОписаниеОбъекта.Вставить("Ссылка", Справочники.Пользователи.ПустаяСсылка());
|
||||
ОписаниеОбъекта.Вставить("ИдентификаторПользователяИБ",
|
||||
@@ -7954,7 +7957,8 @@
|
||||
Элементы.СписокУстановитьПароль.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
|
||||
Если ОбщегоНазначения.ЭтоАвтономноеРабочееМесто()
|
||||
Или ХранимыеПараметры.СкрытьКомандыПриВыбореПодборе Тогда
|
||||
Форма.ТолькоПросмотр = Истина;
|
||||
Элементы.Список.ТолькоПросмотр = Истина;
|
||||
Элементы.Группы.ТолькоПросмотр = Истина;
|
||||
@@ -7966,6 +7970,8 @@
|
||||
|
||||
ОграничитьИспользованиеЗаполняемогоПоляДинамическогоСписка(Список, "НомерКартинки");
|
||||
|
||||
НастроитьКнопкиПриВыбореИПодборе(Форма);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для формы списка справочников Пользователи и ВнешниеПользователи.
|
||||
@@ -8013,6 +8019,121 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для формы списка справочников Пользователи и ВнешниеПользователи.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения
|
||||
//
|
||||
Процедура ЗаполнитьСкрытыеЭлементы(Форма)
|
||||
|
||||
СкрываемыеЭлементы =
|
||||
"ГруппыКонтекстноеМенюСоздатьНаОсновании
|
||||
|ГруппыСоздатьНаОсновании
|
||||
|СписокКонтекстноеМенюСоздатьНаОсновании
|
||||
|СписокСоздатьНаОсновании";
|
||||
|
||||
ИменаЭлементов = СтрРазделить(СкрываемыеЭлементы, Символы.ПС);
|
||||
СкрытыеЭлементы = Новый Массив;
|
||||
|
||||
Для Каждого ИмяЭлемента Из ИменаЭлементов Цикл
|
||||
НайденныйЭлемент = Форма.Элементы.Найти(ИмяЭлемента);
|
||||
Если НайденныйЭлемент <> Неопределено
|
||||
И Не НайденныйЭлемент.Видимость Тогда
|
||||
СкрытыеЭлементы.Добавить(ИмяЭлемента);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Форма.ХранимыеПараметры.СкрытыеЭлементы = СтрСоединить(СкрытыеЭлементы, Символы.ПС);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для формы списка справочников Пользователи и ВнешниеПользователи.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения
|
||||
//
|
||||
Процедура НастроитьКнопкиПриВыбореИПодборе(Форма)
|
||||
|
||||
// При обычном выборе пользователей (без выбора групп) используется стандартная кнопка "Выбрать".
|
||||
// При обычном выборе/подборе и пользователей, и групп пользователей
|
||||
// - в интерфейсе Такси используются стандартные кнопки выбора, но только в командных панелях списков, так как их две;
|
||||
// - в интерфейсе 8.5 используется одна кнопка "Выбрать", так как есть флажки выделения строк,
|
||||
// которые однозначно отделяют выделенные строки от активной строки.
|
||||
// Кроме того, при обычном подборе добавляется кнопка "Выбрать и закрыть".
|
||||
// При расширенном подборе:
|
||||
// - используется нестандартная кнопка "Завершить подбор",
|
||||
// - команды текущей строки и выделенных строк переносятся в дополнительное подменю,
|
||||
// кроме своих команд включения/исключения из выбранных.
|
||||
|
||||
Элементы = Форма.Элементы;
|
||||
ХранимыеПараметры = Форма.ХранимыеПараметры;
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"СписокКонтекстноеМенюВыбрать", "ВажностьПриОтображении", ВажностьПриОтображении.ОченьВысокая);
|
||||
|
||||
Если Не ХранимыеПараметры.ВыборГрупп Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыВыбрать", "Видимость", Ложь);
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыКонтекстноеМенюВыбрать", "Видимость", Ложь);
|
||||
Иначе
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыКонтекстноеМенюВыбрать", "ВажностьПриОтображении", ВажностьПриОтображении.ОченьВысокая);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ХранимыеПараметры.РасширенныйПодбор Тогда
|
||||
ВыборГрупп = ХранимыеПараметры.ВыборГрупп И ХранимыеПараметры.ИспользоватьГруппы;
|
||||
|
||||
Если ВыборГрупп
|
||||
Или Не ХранимыеПараметры.ЗакрыватьПриВыборе Тогда
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыВыбрать", "Видимость", Ложь);
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85() Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ФормаВыбрать", "Видимость", Ложь);
|
||||
|
||||
ИначеЕсли ВыборГрупп Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ФормаВыбрать", "Видимость", Ложь);
|
||||
Элементы.ГруппыВыбратьТакси.Видимость = Истина;
|
||||
Элементы.СписокВыбратьТакси.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ФормаВыбрать", "Видимость", Ложь);
|
||||
|
||||
Для Каждого Элемент Из Элементы Цикл
|
||||
Если ТипЗнч(Элемент) <> Тип("КнопкаФормы") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если СтрНачинаетсяС(Элемент.Имя, Элементы.Группы.Имя)
|
||||
И Элемент.Имя <> "ГруппыВыбратьТакси"
|
||||
И Элемент.Имя <> "ГруппыВключитьВВыбранные"
|
||||
И Элемент.Имя <> "ГруппыИсключитьИзВыбранных"
|
||||
И Элемент.Имя <> "ГруппыПанельДействийВыделенныхСтрокКнопкаЯрлыка"
|
||||
И Элемент.Имя <> "ГруппыПанельДействийВыделенныхСтрокСнятьВыделение"
|
||||
И Элемент.Имя <> "ГруппыСоздать"
|
||||
Или СтрНачинаетсяС(Элемент.Имя, Элементы.Список.Имя)
|
||||
И Элемент.Имя <> "СписокВыбратьТакси"
|
||||
И Элемент.Имя <> "СписокВключитьВВыбранные"
|
||||
И Элемент.Имя <> "СписокИсключитьИзВыбранных"
|
||||
И Элемент.Имя <> "СписокПоказатьПользователейНижестоящихГрупп"
|
||||
И Элемент.Имя <> "СписокПоказатьНедействительныхПользователей"
|
||||
И Элемент.Имя <> "СписокСоздать"
|
||||
И Элемент.Имя <> "СписокПанельДействийВыделенныхСтрокКнопкаЯрлыка"
|
||||
И Элемент.Имя <> "СписокПанельДействийВыделенныхСтрокСнятьВыделение" Тогда
|
||||
Элемент.ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для формы списка справочников Пользователи и ВнешниеПользователи.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -8027,6 +8148,7 @@
|
||||
|
||||
// Загрузка списка выбранных пользователей.
|
||||
ПараметрыПодбора = НовыеПараметрыРасширеннойФормыПодбора();
|
||||
ПараметрыПодбора.ВыбранныеПользователи = Неопределено;
|
||||
Если ЗначениеЗаполнено(Параметры.ПараметрыРасширеннойФормыПодбора) Тогда
|
||||
УказанныеПараметры = ПолучитьИзВременногоХранилища(Параметры.ПараметрыРасширеннойФормыПодбора);
|
||||
Если ТипЗнч(УказанныеПараметры) = Тип("Структура") Тогда
|
||||
@@ -8038,6 +8160,10 @@
|
||||
|
||||
Если ТипЗнч(ПараметрыПодбора.ВыбранныеПользователи) = Тип("Массив") Тогда
|
||||
ВыбранныеПользователи = ПараметрыПодбора.ВыбранныеПользователи;
|
||||
Иначе
|
||||
Элементы.ПоказыватьЭлементыСписков.СписокВыбора.Удалить(4);
|
||||
Элементы.ПоказыватьЭлементыСписков.СписокВыбора.Удалить(3);
|
||||
Элементы.ПоказыватьЭлементыСписков.СписокВыбора.Удалить(2);
|
||||
КонецЕсли;
|
||||
|
||||
// Установка параметров расширенной формы подбора.
|
||||
@@ -8161,6 +8287,10 @@
|
||||
|СписокКонтекстноеМенюУстановитьПароль<СписокКонтекстноеМенюИзменить
|
||||
|СписокКонтекстноеМенюНазначитьГруппы");
|
||||
|
||||
Если ХранимыеПараметры.СкрытьКомандыПриВыбореПодборе Тогда
|
||||
ПользователиСлужебныйКлиентСервер.СкрытьКомандыПриВыбореПодборе(Форма);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -8297,6 +8427,10 @@
|
||||
СписокВыбора[1].Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Выбранные: %1'"), Формат(КоличествоВыбранных, "ЧН=0; ЧГ="));
|
||||
|
||||
Если СписокВыбора.Количество() < 3 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СписокВыбора[2].Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Добавленные: %1'"), Формат(Добавленные.Количество(), "ЧН=0; ЧГ="));
|
||||
|
||||
|
||||
@@ -398,86 +398,29 @@
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения
|
||||
//
|
||||
Процедура НастроитьКнопкиПриВыбореИПодборе(Форма) Экспорт
|
||||
|
||||
// При обычном выборе только пользователей используется стандартная кнопка "Выбрать".
|
||||
// При обычном выборе/подборе и пользователей, и групп пользователей
|
||||
// - в интерфейсе Такси используются стандартные кнопки выбора, но только в командных панелях списков, так как их две;
|
||||
// - в интерфейсе 8.5 используется одна кнопка "Выбрать", так как есть флажки выделения строк,
|
||||
// которые однозначно отделяют выделенные строки от активной строки.
|
||||
// Кроме того, при обычном подборе добавляется кнопка "Выбрать и закрыть".
|
||||
// При расширенном подборе:
|
||||
// - используется нестандартная кнопка "Завершить подбор",
|
||||
// - команды текущей строки и выделенных строк переносятся в дополнительное подменю,
|
||||
// кроме своих команд включения/исключения из выбранных.
|
||||
Процедура ОтключитьВидимостьСкрытыхЭлементов(Форма) Экспорт
|
||||
|
||||
Элементы = Форма.Элементы;
|
||||
ХранимыеПараметры = Форма.ХранимыеПараметры;
|
||||
ИменаЭлементов = СтрРазделить(Форма.ХранимыеПараметры.СкрытыеЭлементы, Символы.ПС);
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"СписокКонтекстноеМенюВыбрать", "ВажностьПриОтображении", ВажностьПриОтображении.ОченьВысокая);
|
||||
Для Каждого ИмяЭлемента Из ИменаЭлементов Цикл
|
||||
НайденныйЭлемент = Элементы.Найти(ИмяЭлемента);
|
||||
|
||||
Если Не ХранимыеПараметры.ВыборГрупп Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыВыбрать", "Видимость", Ложь);
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыКонтекстноеМенюВыбрать", "Видимость", Ложь);
|
||||
Иначе
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыКонтекстноеМенюВыбрать", "ВажностьПриОтображении", ВажностьПриОтображении.ОченьВысокая);
|
||||
КонецЕсли;
|
||||
Если НайденныйЭлемент <> Неопределено
|
||||
И НайденныйЭлемент.Видимость Тогда
|
||||
|
||||
Если Не ХранимыеПараметры.РасширенныйПодбор Тогда
|
||||
ВыборГрупп = ХранимыеПараметры.ВыборГрупп И ХранимыеПараметры.ИспользоватьГруппы;
|
||||
|
||||
Если ВыборГрупп
|
||||
Или Не ХранимыеПараметры.ЗакрыватьПриВыборе Тогда
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыВыбрать", "Видимость", Ложь);
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85() Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ФормаВыбрать", "Видимость", Ложь);
|
||||
|
||||
ИначеЕсли ВыборГрупп Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ФормаВыбрать", "Видимость", Ложь);
|
||||
Элементы.ГруппыВыбратьТакси.Видимость = Истина;
|
||||
Элементы.СписокВыбратьТакси.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ФормаВыбрать", "Видимость", Ложь);
|
||||
|
||||
Для Каждого Элемент Из Элементы Цикл
|
||||
Если ТипЗнч(Элемент) <> Тип("КнопкаФормы") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если СтрНачинаетсяС(Элемент.Имя, Элементы.Группы.Имя)
|
||||
И Элемент.Имя <> "ГруппыВыбратьТакси"
|
||||
И Элемент.Имя <> "ГруппыВключитьВВыбранные"
|
||||
И Элемент.Имя <> "ГруппыИсключитьИзВыбранных"
|
||||
И Элемент.Имя <> "ГруппыПанельДействийВыделенныхСтрокКнопкаЯрлыка"
|
||||
И Элемент.Имя <> "ГруппыПанельДействийВыделенныхСтрокСнятьВыделение"
|
||||
И Элемент.Имя <> "ГруппыСоздать"
|
||||
Или СтрНачинаетсяС(Элемент.Имя, Элементы.Список.Имя)
|
||||
И Элемент.Имя <> "СписокВыбратьТакси"
|
||||
И Элемент.Имя <> "СписокВключитьВВыбранные"
|
||||
И Элемент.Имя <> "СписокИсключитьИзВыбранных"
|
||||
И Элемент.Имя <> "СписокПоказатьПользователейНижестоящихГрупп"
|
||||
И Элемент.Имя <> "СписокПоказатьНедействительныхПользователей"
|
||||
И Элемент.Имя <> "СписокСоздать"
|
||||
И Элемент.Имя <> "СписокПанельДействийВыделенныхСтрокКнопкаЯрлыка"
|
||||
И Элемент.Имя <> "СписокПанельДействийВыделенныхСтрокСнятьВыделение" Тогда
|
||||
Элемент.ПоложениеВКоманднойПанели = ПоложениеКнопкиВКоманднойПанели.ВДополнительномПодменю;
|
||||
НайденныйЭлемент.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85() Тогда
|
||||
ЭлементГруппыСоздать = Элементы.Найти("ГруппыСоздать");
|
||||
Если ЭлементГруппыСоздать <> Неопределено Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
"ГруппыКонтекстноеМенюСоздать", "Заголовок", ЭлементГруппыСоздать.Заголовок);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для формы списка справочников Пользователи и ВнешниеПользователи.
|
||||
|
||||
@@ -262,4 +262,95 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ПроцедурыИФункцияДляРаботыФормСправочников
|
||||
|
||||
// Для формы списка справочников Пользователи и ВнешниеПользователи.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения
|
||||
//
|
||||
Процедура СкрытьКомандыПриВыбореПодборе(Форма) Экспорт
|
||||
|
||||
ИменаКнопокДляВыбораПодбора = СтрРазделить(ИменаКнопокДляВыбораПодбора(), Символы.ПС);
|
||||
ТипКнопкаФормы = Тип("КнопкаФормы");
|
||||
|
||||
Для Каждого ЭлементФормы Из Форма.Элементы Цикл
|
||||
Если ТипЗнч(ЭлементФормы) = ТипКнопкаФормы
|
||||
И ЭлементФормы.Видимость
|
||||
И ИменаКнопокДляВыбораПодбора.Найти(ЭлементФормы.Имя) = Неопределено Тогда
|
||||
ЭлементФормы.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для процедуры СкрытьКомандыПриВыбореПодборе.
|
||||
Функция ИменаКнопокДляВыбораПодбора()
|
||||
|
||||
Возврат
|
||||
"ГруппыКонтекстноеМенюВыбрать
|
||||
|ГруппыКонтекстноеМенюПоискПоТекущемуЗначению
|
||||
|ГруппыКонтекстноеМенюНайтиВезде
|
||||
|ГруппыКонтекстноеМенюОтменитьПоиск
|
||||
|ГруппыКонтекстноеМенюВыделитьВсе
|
||||
|ГруппыВыбрать
|
||||
|ГруппыИерархическийСписок
|
||||
|ГруппыСписок
|
||||
|ГруппыДерево
|
||||
|ГруппыНастройкаСписка
|
||||
|ГруппыЗагрузитьНастройкиДинамическогоСписка
|
||||
|ГруппыСохранитьНастройкиДинамическогоСписка
|
||||
|ГруппыСтандартныеНастройкиДинамическогоСписка
|
||||
|ГруппыОчиститьОформлениеОтметокТаблицы
|
||||
|ГруппыОбновить
|
||||
|ГруппыВыделитьВсе
|
||||
|ГруппыВыбратьТакси
|
||||
|ГруппыВключитьВВыбранные
|
||||
|ГруппыИсключитьИзВыбранных
|
||||
|ГруппыПоискПоТекущемуЗначению
|
||||
|ГруппыНайтиВезде
|
||||
|ГруппыНайти
|
||||
|ГруппыИсторияПоиска
|
||||
|ГруппыОтменитьПоиск
|
||||
|СписокКонтекстноеМенюВыбрать
|
||||
|СписокКонтекстноеМенюНайтиВезде
|
||||
|СписокКонтекстноеМенюОтменитьПоиск
|
||||
|СписокКонтекстноеМенюВыделитьВсе
|
||||
|СписокВыбрать
|
||||
|СписокНастройкаСписка
|
||||
|СписокЗагрузитьНастройкиДинамическогоСписка
|
||||
|СписокСохранитьНастройкиДинамическогоСписка
|
||||
|СписокСтандартныеНастройкиДинамическогоСписка
|
||||
|СписокОчиститьОформлениеОтметокТаблицы
|
||||
|СписокОбновить
|
||||
|СписокВыделитьВсе
|
||||
|СписокВыбратьТакси
|
||||
|СписокВключитьВВыбранные
|
||||
|СписокИсключитьИзВыбранных
|
||||
|СписокПоказатьПользователейНижестоящихГрупп
|
||||
|СписокПоказатьНедействительныхПользователей
|
||||
|СписокПоискПоТекущемуЗначению
|
||||
|СписокНайтиВезде
|
||||
|СписокНайти
|
||||
|СписокИсторияПоиска
|
||||
|СписокОтменитьПоиск
|
||||
|СписокТекущиеДанныеКонтактнаяИнформацияКонтекстноеМенюПоказать
|
||||
|ФормаВыбрать
|
||||
|ФормаНастройкаСписка
|
||||
|ФормаЗагрузитьНастройкиДинамическогоСписка
|
||||
|ФормаСохранитьНастройкиДинамическогоСписка
|
||||
|ФормаСтандартныеНастройкиДинамическогоСписка
|
||||
|ФормаОбновить
|
||||
|ФормаПоискПоТекущемуЗначению
|
||||
|ФормаНайти
|
||||
|ФормаОтменитьПоиск
|
||||
|ФормаВыбратьИЗакрыть
|
||||
|ФормаВыбратьВыделенные
|
||||
|ФормаИзменитьФорму
|
||||
|ФормаСправка";
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -2534,11 +2534,12 @@
|
||||
АдресПоПолям.ТипАдреса = АдресИзJSON.AddressType;
|
||||
АдресПоПолям.Страна = АдресИзJSON.Country;
|
||||
АдресПоПолям.КодСтраны = КодыСтраны(АдресИзJSON);
|
||||
НаименованиеРегиона = СокрЛП(АдресИзJSON["area"] + " " +АдресИзJSON["areaType"]);
|
||||
|
||||
НазваниеОсновнойСтраны = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РаботаСАдресамиКлиентСервер.ОсновнаяСтрана(), "Наименование");
|
||||
ЭтоНациональныйАдрес = ?(СтрСравнить(АдресИзJSON.Country, НазваниеОсновнойСтраны) = 0, Истина, Ложь);
|
||||
АдресПоПолям.КодРегиона = ?(ЭтоНациональныйАдрес, КодРегиона(НаименованиеРегиона), "");
|
||||
Если ЭтоНациональныйАдрес Тогда
|
||||
АдресПоПолям.КодРегиона = КодРегиона(АдресИзJSON.areaValue, АдресИзJSON.area, АдресИзJSON.areaType);
|
||||
КонецЕсли;
|
||||
|
||||
ИдентификаторАдресногоОбъекта = "";
|
||||
МаксимальныйУровеньИдентификатора = 0;
|
||||
@@ -2577,7 +2578,7 @@
|
||||
|
||||
// Коды мун. уровней
|
||||
АдресПоПолям.КодМуниципальногоРайона = КодМуниципальногоРайона(АдресИзJSON.munDistrictType, АдресИзJSON.oktmo,
|
||||
ЭтоГородФедеральногоЗначения(НаименованиеРегиона));
|
||||
ЭтоГородФедеральногоЗначения(СокрЛП(АдресИзJSON.area + " " + АдресИзJSON.areaType)));
|
||||
АдресПоПолям.КодПоселения = КодПоселения(АдресИзJSON.settlementType);
|
||||
|
||||
Если Параметры.КодыАдреса Тогда
|
||||
@@ -3080,21 +3081,32 @@
|
||||
// Возвращает код региона по его полному наименованию.
|
||||
//
|
||||
// Параметры:
|
||||
// НаименованиеРегиона - Строка - полное наименование региона с сокращением.
|
||||
// ПолноеНаименование - Строка - полное официальное наименование региона.
|
||||
// НаименованиеАдресногоЭлемента - Строка - наименование адресного элемента региона, например "Тверская".
|
||||
// ТипАдресногоЭлемента - Строка - вид адресного элемента региона.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - код региона из двух цифр. Пустая строка, если наименование определить не удалось.
|
||||
// Неопределено - если нет ни одной подсистемы адресного классификатора.
|
||||
// Строка - код региона из двух цифр; пустая строка, если код региона по наименованию определить не удалось.
|
||||
// Неопределено - если нет подсистемы адресного классификатора.
|
||||
//
|
||||
Функция КодРегиона(Знач ПолноеНаименование) Экспорт
|
||||
Функция КодРегиона(Знач ПолноеНаименование, НаименованиеАдресногоЭлемента = "", ТипАдресногоЭлемента = "") Экспорт
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
|
||||
МодульАдресныйКлассификатор = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификатор");
|
||||
Код = МодульАдресныйКлассификатор.КодРегионаПоНаименованию(ПолноеНаименование);
|
||||
Возврат Формат(Код, "ЧЦ=2; ЧН=; ЧВН=");
|
||||
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
МодульАдресныйКлассификатор = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификатор");
|
||||
|
||||
Код = МодульАдресныйКлассификатор.КодРегионаПоНаименованию(ПолноеНаименование);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Код) И ЗначениеЗаполнено(НаименованиеАдресногоЭлемента) Тогда
|
||||
Код = МодульАдресныйКлассификатор.КодРегионаПоНаименованию(НаименованиеАдресногоЭлемента);
|
||||
Если Не ЗначениеЗаполнено(Код) И ЗначениеЗаполнено(ТипАдресногоЭлемента) Тогда
|
||||
Код = МодульАдресныйКлассификатор.КодРегионаПоНаименованию(НаименованиеАдресногоЭлемента + " " + ТипАдресногоЭлемента);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Формат(Код, "ЧЦ=2; ЧН=; ЧВН=");
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -4783,7 +4783,7 @@
|
||||
Исключение
|
||||
ЖурналРегистрации.ДобавитьСообщениеДляЖурналаРегистрации(
|
||||
НСтр("ru = 'Работа с файлами.Ошибка установки времени изменения'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
"Ошибка", ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
УровеньЖурналаРегистрации.Ошибка,,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -152,6 +152,69 @@
|
||||
ИсключениеПроверки.ИмяПроцедуры = "ВыполнитьВФоне";
|
||||
ИсключениеПроверки.ФрагментСодержания = "Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедуры, ПараметрыПроцедуры, ПараметрыВыполнения)";
|
||||
|
||||
Методы = Новый Соответствие;
|
||||
Методы.Вставить("ОбновитьКэшСертификатов");
|
||||
Методы.Вставить("АутентификацияПоСертификату", Истина);
|
||||
Методы.Вставить("АутентификацияПоЛогину", Истина);
|
||||
Методы.Вставить("Зашифровать", Истина);
|
||||
Методы.Вставить("СертификатыРасшифрования", Истина);
|
||||
Методы.Вставить("ХешированиеДанных", Истина);
|
||||
Методы.Вставить("СоздатьТранзакцию", Истина);
|
||||
Методы.Вставить("Расшифровать", Истина);
|
||||
Методы.Вставить("Подписать", Истина);
|
||||
Методы.Вставить("ПодписатьПакет", Истина);
|
||||
Методы.Вставить("УсовершенствоватьПодпись", Истина);
|
||||
Методы.Вставить("ВалидацияПинКодаСертификата", Истина);
|
||||
Методы.Вставить("ПолучитьДанныеСертификата", Истина);
|
||||
Методы.Вставить("ПолучитьСвойстваСертификата", Истина);
|
||||
Методы.Вставить("ОбновитьДанныеСертификатов", Истина);
|
||||
Методы.Вставить("СоздатьЗапросНаСертификат", Истина);
|
||||
Методы.Вставить("СписокЗапросовНаСертификат", Истина);
|
||||
Методы.Вставить("ПолучитьЗапросНаСертификат", Истина);
|
||||
Методы.Вставить("УдалитьЗапросНаСертификат", Истина);
|
||||
Методы.Вставить("УстановитьСертификат", Истина);
|
||||
Методы.Вставить("НазначитьОсновнымСертификат", Истина);
|
||||
Методы.Вставить("СменитьПинКодСертификата", Истина);
|
||||
Методы.Вставить("ПроверитьСертификат", Истина);
|
||||
Методы.Вставить("ПолучитьСведенияОПодписантах", Истина);
|
||||
Методы.Вставить("ПроверитьПодпись", Истина);
|
||||
Методы.Вставить("ОбновитьПолитикуПользователя", Истина);
|
||||
Методы.Вставить("ПолучитьОписаниеСервиса", Истина);
|
||||
Методы.Вставить("ВыполнитьЗапросКСервису", Истина);
|
||||
Методы.Вставить("НайтиСертификат", Истина);
|
||||
Методы.Вставить("СостояниеУчетнойЗаписи", Истина);
|
||||
Методы.Вставить("ПодготовитьТранзакцию", Истина);
|
||||
Методы.Вставить("ПолучитьЗаписиАудита", Истина);
|
||||
Методы.Вставить("ЗагрузитьДокумент", Истина);
|
||||
Методы.Вставить("ЗагрузитьПакетДокументов", Истина);
|
||||
Методы.Вставить("ИнформацияОДокументеПоИдентификатору", Истина);
|
||||
Методы.Вставить("ИнформацияОДокументеПоХешу", Истина);
|
||||
Методы.Вставить("ПолучитьОбработанныйДокумент", Истина);
|
||||
Методы.Вставить("ИзменитьИнформациюОДокументе", Истина);
|
||||
Методы.Вставить("ПривязатьДокумент", Истина);
|
||||
Методы.Вставить("ПолучитьИнформациюДокументаКонвертации", Истина);
|
||||
Методы.Вставить("УдалитьДокумент", Истина);
|
||||
Методы.Вставить("СоздатьЗакрытыйКлюч", Истина);
|
||||
Методы.Вставить("УстановитьПараметрЗакрытогоКлюча", Истина);
|
||||
Методы.Вставить("ПолучитьПараметрЗакрытогоКлюча", Истина);
|
||||
Методы.Вставить("ПодписатьАсинхронно", Истина);
|
||||
Методы.Вставить("ПолучитьОбработанныеДокументы", Истина);
|
||||
Методы.Вставить("ЗашифроватьАсинхронно", Истина);
|
||||
Методы.Вставить("РасшифроватьАсинхронно", Истина);
|
||||
Методы.Вставить("СертификатыРасшифрованияАсинхронно", Истина);
|
||||
Методы.Вставить("СведенияОбОперации", Истина);
|
||||
Методы.Вставить("ПолучитьТокенПоКодуАвторизации", Истина);
|
||||
Настройки.ИсключенияКогдаУказанныйМетодНеВызывается.Вставить("ОбщийМодуль.СервисКриптографииDSSСлужебный", Методы);
|
||||
|
||||
Методы = Новый Соответствие;
|
||||
Методы.Вставить("ОбменССерверомАктивироватьУчетнуюЗапись", Истина);
|
||||
Методы.Вставить("ОбменССерверомАктивироватьКлючПриложенияУчетнойЗаписи", Истина);
|
||||
Методы.Вставить("ОбменССерверомОтправитьКодАктивацииКлюча", Истина);
|
||||
Методы.Вставить("ПолучитьТикетИнтернетПоддержкиПользователя", Истина);
|
||||
Методы.Вставить("ОтправитьЗаявлениеНаПортал", Истина);
|
||||
Методы.Вставить("ОбменССерверомСписокСерверовОблачнойПодписи", Истина);
|
||||
Настройки.ИсключенияКогдаУказанныйМетодНеВызывается.Вставить("Обработка.УправлениеПодключениемDSS", Методы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -7488,8 +7551,6 @@
|
||||
Методы.Вставить("СертификатыРасшифрованияАсинхронно", Истина);
|
||||
Методы.Вставить("СведенияОбОперации", Истина);
|
||||
Методы.Вставить("ПолучитьТокенПоКодуАвторизации", Истина);
|
||||
Методы.Вставить("ПолучитьТокенПоКодуАвторизации", Истина);
|
||||
Методы.Вставить("ПолучитьТокенПоКодуАвторизации", Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -740,9 +740,9 @@
|
||||
Иначе
|
||||
ТекстСообщения = ТекстСообщения + НСтр("ru = '%1
|
||||
|Для того чтобы разрешить работу пользователей, воспользуйтесь консолью кластера серверов или запустите ""1С:Предприятие"" с параметрами:
|
||||
|ENTERPRISE %2 /C%3 /UC%4'");
|
||||
|ENTERPRISE %2 /C %3 /UC %4'");
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, СоединенияИБКлиентСервер.ТекстДляАдминистратора(),
|
||||
СтрокаПутиКИнформационнойБазе, ИмяПараметра, НСтр("ru = '<код разрешения>'"));
|
||||
СтрокаПутиКИнформационнойБазе, ИмяПараметра, "КодРазрешения");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекстСообщения;
|
||||
|
||||
@@ -404,22 +404,24 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ВремяНачалаБлокировки = ТекущийРежим.Начало;
|
||||
ВремяОкончанияБлокировки = ТекущийРежим.Конец;
|
||||
|
||||
// ИнтервалЗакрытьСЗапросом и ИнтервалПрекратить имеют отрицательное значение,
|
||||
// поэтому, когда идет сравнение этих параметров с разницей (ВремяНачалаБлокировки - ТекущийМомент),
|
||||
// то используется "<=", так как данная разница постоянно уменьшается.
|
||||
ИнтервалПредупреждения = ТекущийРежим.ИнтервалОжиданияЗавершенияРаботыПользователей;
|
||||
ИнтервалЗакрытьСЗапросом = ИнтервалПредупреждения / 3;
|
||||
ИнтервалПрекратитьВМоделиСервиса = 60; // За минуту до начала блокировки.
|
||||
ИнтервалПрекратить = 0; // В момент установки блокировки.
|
||||
ТекущийМомент = ТекущийРежим.ТекущаяДатаСеанса;
|
||||
ВремяОкончанияБлокировки = ТекущийРежим.Конец;
|
||||
|
||||
Если ВремяОкончанияБлокировки <> '00010101' И ТекущийМомент > ВремяОкончанияБлокировки Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РазделениеВключено = ОбщегоНазначенияКлиент.РазделениеВключено();
|
||||
|
||||
ВремяНачалаБлокировки = ТекущийРежим.Начало;
|
||||
ИнтервалПредупреждения = ТекущийРежим.ИнтервалОжиданияЗавершенияРаботыПользователей;
|
||||
|
||||
ИнтервалПрекратитьВМоделиСервиса = 60; // За минуту до начала блокировки.
|
||||
ИнтервалПрекратить = 0; // В момент установки блокировки.
|
||||
ИнтервалЗакрытьСЗапросом = 60 + ?(РазделениеВключено, ИнтервалПрекратитьВМоделиСервиса, ИнтервалПрекратить);
|
||||
ИнтервалПредупреждения = ?(ИнтервалПредупреждения - 60 > ИнтервалЗакрытьСЗапросом,
|
||||
ИнтервалПредупреждения, ИнтервалЗакрытьСЗапросом + 60);
|
||||
|
||||
ДатаВремениНачалаБлокировки = Формат(ВремяНачалаБлокировки, "ДЛФ=DD");
|
||||
ВремяВремениНачалаБлокировки = Формат(ВремяНачалаБлокировки, "ДЛФ=T");
|
||||
|
||||
@@ -428,7 +430,6 @@
|
||||
|%3'");
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, ДатаВремениНачалаБлокировки, ВремяВремениНачалаБлокировки, ТекстСообщения);
|
||||
|
||||
РазделениеВключено = ОбщегоНазначенияКлиент.РазделениеВключено();
|
||||
Если Не РазделениеВключено
|
||||
И (Не ЗначениеЗаполнено(ВремяНачалаБлокировки) Или ВремяНачалаБлокировки - ТекущийМомент < ИнтервалПрекратить) Тогда
|
||||
|
||||
@@ -677,18 +678,21 @@
|
||||
ПараметрыИнформирования.ОповещениеПоказано = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПараметрыИнформирования.ПоказатьПредупреждениеИлиВопрос Тогда
|
||||
Если ПараметрыИнформирования.ПредупреждениеПоказано Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПоказатьПредупреждение(, ТекстСообщения, 30);
|
||||
|
||||
ПараметрыИнформирования.ПредупреждениеПоказано = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * ОповещениеПоказано - Булево
|
||||
// * ПоказатьПредупреждениеИлиВопрос - Булево
|
||||
// * ПредупреждениеПоказано - Булево
|
||||
// * ВопросПоказан - Булево
|
||||
//
|
||||
Функция ПараметрыИнформирования(ВремяНачалаБлокировки)
|
||||
|
||||
@@ -697,20 +701,12 @@
|
||||
Если Свойства = Неопределено Или Свойства.ВремяНачалаБлокировки <> ВремяНачалаБлокировки Тогда
|
||||
Свойства = Новый Структура;
|
||||
Свойства.Вставить("ОповещениеПоказано", Ложь);
|
||||
Свойства.Вставить("ПоказатьПредупреждениеИлиВопрос", Ложь);
|
||||
Свойства.Вставить("ДатаПоследнегоПредупрежденияИлиВопроса", '00010101');
|
||||
Свойства.Вставить("ПредупреждениеПоказано", Ложь);
|
||||
Свойства.Вставить("ВопросПоказан", Ложь);
|
||||
Свойства.Вставить("ВремяНачалаБлокировки", ВремяНачалаБлокировки);
|
||||
ПараметрыПриложения.Вставить(ИмяПараметра, Свойства);
|
||||
КонецЕсли;
|
||||
|
||||
ДатаСеанса = ОбщегоНазначенияКлиент.ДатаСеанса();
|
||||
Если Свойства.ДатаПоследнегоПредупрежденияИлиВопроса + 50 < ДатаСеанса Тогда
|
||||
Свойства.ДатаПоследнегоПредупрежденияИлиВопроса = ДатаСеанса;
|
||||
Свойства.ПоказатьПредупреждениеИлиВопрос = Истина;
|
||||
Иначе
|
||||
Свойства.ПоказатьПредупреждениеИлиВопрос = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Свойства;
|
||||
|
||||
КонецФункции
|
||||
@@ -739,7 +735,7 @@
|
||||
ПараметрыИнформирования.ОповещениеПоказано = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПараметрыИнформирования.ПоказатьПредупреждениеИлиВопрос Тогда
|
||||
Если ПараметрыИнформирования.ВопросПоказан Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -749,6 +745,8 @@
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("ЗадатьВопросПриЗавершенииРаботыЗавершение", ЭтотОбъект);
|
||||
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ДаНет, 30, КодВозвратаДиалога.Да);
|
||||
|
||||
ПараметрыИнформирования.ВопросПоказан = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗадатьВопросПриЗавершенииРаботыЗавершение(Ответ, ДополнительныеПараметры) Экспорт
|
||||
|
||||
@@ -812,6 +812,8 @@
|
||||
Настройки = Новый Структура;
|
||||
Настройки.Вставить("ОписаниеОбработчиков", ОписаниеОбработчиков);
|
||||
Настройки.Вставить("ИсключенияПроверки", ИсключенияПроверки);
|
||||
Настройки.Вставить("ОшибкаКогдаУказанныйМетодНеВызывается", Истина);
|
||||
Настройки.Вставить("ИсключенияКогдаУказанныйМетодНеВызывается", Новый Соответствие);
|
||||
|
||||
ИнтеграцияПодсистемБСП.ПриНастройкеПроверкиМетодовВызываемыхКакПроизвольныйКод(Настройки);
|
||||
Попытка
|
||||
|
||||
@@ -750,7 +750,7 @@
|
||||
// вырезаем скрипты
|
||||
Позиция = СтрНайти(Текст, "<script");
|
||||
Пока Позиция > 0 Цикл
|
||||
ПозицияЗакрывающегоТега = СтрНайти(Текст, "</script>");
|
||||
ПозицияЗакрывающегоТега = СтрНайти(Текст, "</script>", , Позиция);
|
||||
Если ПозицияЗакрывающегоТега = 0 Тогда
|
||||
// Не найден закрывающий тег - вырезаем оставшийся текст.
|
||||
ПозицияЗакрывающегоТега = СтрДлина(Текст);
|
||||
@@ -763,7 +763,7 @@
|
||||
// вырезаем стили
|
||||
Позиция = СтрНайти(Текст, "<style");
|
||||
Пока Позиция > 0 Цикл
|
||||
ПозицияЗакрывающегоТега = СтрНайти(Текст, "</style>");
|
||||
ПозицияЗакрывающегоТега = СтрНайти(Текст, "</style>", , Позиция);
|
||||
Если ПозицияЗакрывающегоТега = 0 Тогда
|
||||
// Не найден закрывающий тег - вырезаем оставшийся текст.
|
||||
ПозицияЗакрывающегоТега = СтрДлина(Текст);
|
||||
|
||||
@@ -443,7 +443,7 @@
|
||||
СвойстваТокена.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось получить информацию о токене в слоте %1. %2'"),
|
||||
ЗначениеСлота, ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
СтрокиТокенов.Вставить(ТипУстройства, СвойстваТокена);
|
||||
СтрокиТокенов.Вставить(СвойстваТокена.Слот, СвойстваТокена);
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
@@ -460,12 +460,12 @@
|
||||
НСтр("ru = 'Не удалось получить информацию о механизмах токена: %1'"),
|
||||
ОшибкаПолученияМеханизмовТокена);
|
||||
КонецЕсли;
|
||||
СтрокиТокенов.Вставить(ТипУстройства, СвойстваТокена);
|
||||
СтрокиТокенов.Вставить(СвойстваТокена.Слот, СвойстваТокена);
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
СвойстваТокена.Механизмы = СписокМеханизмов.Значение;
|
||||
СтрокиТокенов.Вставить(ТипУстройства, СвойстваТокена);
|
||||
СтрокиТокенов.Вставить(СвойстваТокена.Слот, СвойстваТокена);
|
||||
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
@@ -677,11 +677,6 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ПараметрыПодписи.Токен.Пароль) Тогда
|
||||
ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, НСтр("ru = 'Укажите пин-код токена.'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПодписатьНаТокене(ОповещениеОЗавершении, ПараметрыПодписи, Данные);
|
||||
// Конец Локализация
|
||||
|
||||
@@ -1068,6 +1063,13 @@
|
||||
|
||||
#Область ТокеныЛокализация
|
||||
|
||||
Процедура ВвестиПинКодТокена(ОписаниеОповещения) Экспорт
|
||||
|
||||
ОткрытьФорму("Обработка.ПрограммыЭлектроннойПодписиИШифрования.Форма.ВводПинКода",, ЭтотОбъект, Истина,
|
||||
,, ОписаниеОповещения, РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Проверяет подпись с помощью токена.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -1150,30 +1152,67 @@
|
||||
|
||||
Асинх Процедура ПодписатьНаТокене(ОповещениеОЗавершении, ПараметрыПодписи, Данные)
|
||||
|
||||
#Если МобильныйКлиент Или МобильноеПриложениеКлиент Тогда
|
||||
Контекст = Новый Структура("ПараметрыПодписи, Данные, Оповещение", ПараметрыПодписи, Данные, ОповещениеОЗавершении);
|
||||
|
||||
Если Не ЗначениеЗаполнено(ПараметрыПодписи.Токен.Пароль) Тогда
|
||||
ВвестиПинКодТокена(Новый ОписаниеОповещения("ПродолжитьПодписаниеПослеВводаПинКода", ЭтотОбъект, Контекст));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПродолжитьПодписаниеПослеВводаПинКода(ПараметрыПодписи.Токен.Пароль, Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Асинх Процедура ПродолжитьПодписаниеПослеВводаПинКода(ПинКод, Контекст) Экспорт
|
||||
|
||||
Если Не ЗначениеЗаполнено(ПинКод) Тогда
|
||||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, НСтр("ru = 'Укажите пин-код токена.'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ПараметрыПодписи.Токен.Пароль = ПинКод;
|
||||
|
||||
#Если МобильныйКлиент Или МобильноеПриложениеКлиент Тогда
|
||||
Оповещение = Новый ОписаниеОповещения("ПослеОперацииНаТокенеВМобильномКлиенте", ЭтотОбъект, Контекст);
|
||||
НачатьПодписьНаТокенеВМобильномКлиенте(Оповещение, ПараметрыПодписи, Данные);
|
||||
НачатьПодписьНаТокенеВМобильномКлиенте(Оповещение, Контекст.ПараметрыПодписи, Контекст.Данные);
|
||||
Возврат;
|
||||
#КонецЕсли
|
||||
|
||||
Результат = Ждать ПодписьНаТокене(ПараметрыПодписи, Данные);
|
||||
ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
|
||||
Результат = Ждать ПодписьНаТокене(Контекст.ПараметрыПодписи, Контекст.Данные);
|
||||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Асинх Процедура РасшифроватьНаТокене(ОповещениеОЗавершении, ПараметрыРасшифровки, Данные)
|
||||
|
||||
#Если МобильныйКлиент Или МобильноеПриложениеКлиент Тогда
|
||||
Контекст = Новый Структура("ПараметрыРасшифровки, Данные, Оповещение", ПараметрыРасшифровки, Данные, ОповещениеОЗавершении);
|
||||
Если Не ЗначениеЗаполнено(ПараметрыРасшифровки.Токен.Пароль) Тогда
|
||||
ВвестиПинКодТокена(Новый ОписаниеОповещения("ПродолжитьРасшифровкуПослеВводаПинКода", ЭтотОбъект, Контекст));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПродолжитьРасшифровкуПослеВводаПинКода(ПараметрыРасшифровки.Токен.Пароль, Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Асинх Процедура ПродолжитьРасшифровкуПослеВводаПинКода(ПинКод, Контекст) Экспорт
|
||||
|
||||
Если Не ЗначениеЗаполнено(ПинКод) Тогда
|
||||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, НСтр("ru = 'Укажите пин-код токена.'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ПараметрыРасшифровки.Токен.Пароль = ПинКод;
|
||||
|
||||
#Если МобильныйКлиент Или МобильноеПриложениеКлиент Тогда
|
||||
Оповещение = Новый ОписаниеОповещения("ПослеОперацииНаТокенеВМобильномКлиенте",
|
||||
ЭтотОбъект, Контекст);
|
||||
НачатьРасшифровкуНаТокенеВМобильномКлиенте(Оповещение, ПараметрыРасшифровки, Данные);
|
||||
НачатьРасшифровкуНаТокенеВМобильномКлиенте(Оповещение, Контекст.ПараметрыРасшифровки, Контекст.Данные);
|
||||
Возврат;
|
||||
#КонецЕсли
|
||||
|
||||
Результат = Ждать РасшифровкаНаТокене(ПараметрыРасшифровки, Данные);
|
||||
ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
|
||||
Результат = Ждать РасшифровкаНаТокене(Контекст.ПараметрыРасшифровки, Контекст.Данные);
|
||||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1739,10 +1778,6 @@
|
||||
Возврат НСтр("ru = 'Расшифровка средствами токена JaCarta недоступна, используйте Рутокен или приложения для работы с электронной подписью и шифрованием.'");
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ПараметрыРасшифровки.Токен.Пароль) Тогда
|
||||
Возврат НСтр("ru = 'Укажите пин-код токена.'")
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыРасшифровки.ОбъектКомпоненты = Неопределено Тогда
|
||||
Попытка
|
||||
ОбъектКомпоненты = Ждать ЭлектроннаяПодписьСлужебныйКлиент.ОбъектВнешнейКомпонентыExtraCryptoAPI(Истина);
|
||||
@@ -2227,6 +2262,12 @@
|
||||
Возврат НСтр("ru = 'Рутокен S'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "rutoken") Тогда
|
||||
Возврат НСтр("ru = 'Рутокен'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "jacartagost") Тогда
|
||||
Возврат НСтр("ru = 'JaCarta ГОСТ'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "jacartalaser") Тогда
|
||||
Возврат НСтр("ru = 'JaCarta PKI'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "jacartapro") Тогда
|
||||
Возврат НСтр("ru = 'JaCarta PRO'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "jacarta") Тогда
|
||||
Возврат "JaCarta";
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2658,6 +2658,10 @@
|
||||
Иначе
|
||||
Если ТипЗнч(Результат) = Тип("Структура") Тогда
|
||||
Контекст.ОписаниеОшибкиНаКлиенте = Результат.ОписаниеОшибки;
|
||||
Иначе
|
||||
Контекст.ОписаниеОшибкиНаКлиенте = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось получить менеджер криптографии для алгоритма %1: %2.'"),
|
||||
Контекст.АлгоритмПодписи, Результат);
|
||||
КонецЕсли;
|
||||
ПроверитьСертификатПослеНеуспешнойПроверки(Контекст);
|
||||
КонецЕсли;
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="59ddb036-3048-4315-8e1d-afd44c88698c">
|
||||
<name>СнятьВсе</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Снять все</value>
|
||||
</synonym>
|
||||
</mdclass:CommonPicture>
|
||||
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e5f3c723-c88e-464a-937f-9bb9117bf32a">
|
||||
<name>УстановитьВсе</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Установить все</value>
|
||||
</synonym>
|
||||
</mdclass:CommonPicture>
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="fba8e84d-7df3-4002-8d3e-91cbd5f2fa86">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="29dc4258-7dc1-4fea-b078-e7878750b500">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.2</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="6b5d7bc9-f9ae-45d1-8dca-769c657433a5"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="276aac83-f938-4c7d-baac-93ad4244bf5d"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="c8c165bf-737d-4a0a-ab3a-53137138a7f6"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="3d84c1b9-091e-48f2-a57e-7e66bd44563c"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="175b7027-4883-4ec3-80c4-8a9ffa26f88b"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="2820cb2d-8a52-4519-ab1e-940addb9f8bc"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="10fb87bc-d218-44cc-956a-a07a7c7a137a"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="dcbd1edb-fc5e-4872-8629-41b3b40834be"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="9c9accd0-919a-4cb9-8b7d-aeab767ef64d"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="1e69418b-24d6-49d0-b840-e90023443953"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="ec1f92b7-0c8d-43a8-8875-a6cdad95a9e7"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="05b423a8-45a4-4815-a88d-d15fc795c0fc"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="482c537a-fe01-4afa-94c2-e78d47d7b78d"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="0624ede7-1e8e-4b2c-9e0a-70deda16970c"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>3.2.1.356</version>
|
||||
<version>3.2.1.371</version>
|
||||
<updateCatalogAddress>https://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
@@ -593,6 +593,7 @@
|
||||
<commonPictures>CommonPicture.СкопироватьВБуферОбмена</commonPictures>
|
||||
<commonPictures>CommonPicture.Скрепка</commonPictures>
|
||||
<commonPictures>CommonPicture.СкрытьПодсказку</commonPictures>
|
||||
<commonPictures>CommonPicture.СнятьВсе</commonPictures>
|
||||
<commonPictures>CommonPicture.СнятьПризнакРассмотреноУВзаимодействия</commonPictures>
|
||||
<commonPictures>CommonPicture.СозданиеАвтономногоРабочегоМеста</commonPictures>
|
||||
<commonPictures>CommonPicture.СопоставитьПользователяИБСНовымПользователемВСправочнике</commonPictures>
|
||||
@@ -729,6 +730,7 @@
|
||||
<commonPictures>CommonPicture.УровеньДоступаЧтениеБезПросмотра</commonPictures>
|
||||
<commonPictures>CommonPicture.Успешно</commonPictures>
|
||||
<commonPictures>CommonPicture.Успешно32</commonPictures>
|
||||
<commonPictures>CommonPicture.УстановитьВсе</commonPictures>
|
||||
<commonPictures>CommonPicture.УстановитьОтветственногоЗаВзаимодействие</commonPictures>
|
||||
<commonPictures>CommonPicture.УстановитьПредметВзаимодействия</commonPictures>
|
||||
<commonPictures>CommonPicture.УстановитьПризнакРассмотреноДляВзаимодействия</commonPictures>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,0c59f682-8057-428f-b177-5965bf7dc0d6,1,b0b422b1-6959-4238-86a1-051fdda58893,"3.2.1.356","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7929,1,0,fba8e84d-7df3-4002-8d3e-91cbd5f2fa86,fba8e84d-7df3-4002-8d3e-91cbd5f2fa86,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,fa04bf1e-69c0-4998-a939-039fcaba83c8,fa04bf1e-69c0-4998-a939-039fcaba83c8,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,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,baad68ea-0976-4bdf-8e0e-7ee5c25e3d51,baad68ea-0976-4bdf-8e0e-7ee5c25e3d51,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,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,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,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,7ee7cccc-4e52-464c-9c20-5c0dfbed7e5f,7ee7cccc-4e52-464c-9c20-5c0dfbed7e5f,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,491b9625-62ce-436b-8245-60decacc4552,491b9625-62ce-436b-8245-60decacc4552,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-1ce8Line truncated
|
||||
{6,1,1,a7821d15-4e20-41b3-af98-27acdcdcaa81,1,46ec6fac-fef7-4fc8-9b6b-3ba6f5399921,"3.2.1.371","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7931,1,0,29dc4258-7dc1-4fea-b078-e7878750b500,29dc4258-7dc1-4fea-b078-e7878750b500,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,fa04bf1e-69c0-4998-a939-039fcaba83c8,fa04bf1e-69c0-4998-a939-039fcaba83c8,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,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,baad68ea-0976-4bdf-8e0e-7ee5c25e3d51,baad68ea-0976-4bdf-8e0e-7ee5c25e3d51,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,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,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,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,7ee7cccc-4e52-464c-9c20-5c0dfbed7e5f,7ee7cccc-4e52-464c-9c20-5c0dfbed7e5f,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,491b9625-62ce-436b-8245-60decacc4552,491b9625-62ce-436b-8245-60decacc4552,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-1ce8Line truncated
|
||||
@@ -665,8 +665,6 @@
|
||||
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
|
||||
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
|
||||
|
||||
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
|
||||
Методы.Вставить("ОтключитьЗагрузкуКурсаВалюты643ИзИнтернета");
|
||||
Методы.Вставить("УстановитьРасписаниеРегламентногоЗадания");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
Функция ВерсияКалендарей() Экспорт
|
||||
|
||||
Возврат 109;
|
||||
Возврат 110;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
|
||||
|
||||
Возврат "3.2.1.348";
|
||||
Возврат "3.2.1.363";
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+10
-4
@@ -292,7 +292,8 @@
|
||||
<Item Calendar="05" Year="2025" DayType="Праздник" Date="20250726" SwapDate="20250728"/>
|
||||
<Item Calendar="05" Year="2025" DayType="Суббота" Date="20250728" SwapDate="20250726"/>
|
||||
<Item Calendar="05" Year="2025" DayType="Праздник" Date="20250915" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2026" DayType="Предпраздничный" Date="20260319" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2026" DayType="Предпраздничный" Date="20260318" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2026" DayType="Праздник" Date="20260319" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2026" DayType="Праздник" Date="20260320" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2026" DayType="Предпраздничный" Date="20260526" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2026" DayType="Праздник" Date="20260527" SwapDate=""/>
|
||||
@@ -356,8 +357,11 @@
|
||||
<Item Calendar="06" Year="2025" DayType="Праздник" Date="20250606" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2025" DayType="Праздник" Date="20250607" SwapDate="20250609"/>
|
||||
<Item Calendar="06" Year="2025" DayType="Суббота" Date="20250609" SwapDate="20250607"/>
|
||||
<Item Calendar="06" Year="2026" DayType="Предпраздничный" Date="20260319" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2026" DayType="Предпраздничный" Date="20260318" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2026" DayType="Праздник" Date="20260319" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2026" DayType="Праздник" Date="20260320" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2026" DayType="Праздник" Date="20260321" SwapDate="20260323"/>
|
||||
<Item Calendar="06" Year="2026" DayType="Суббота" Date="20260323" SwapDate="20260321"/>
|
||||
<Item Calendar="06" Year="2026" DayType="Предпраздничный" Date="20260526" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2026" DayType="Праздник" Date="20260527" SwapDate=""/>
|
||||
<Item Calendar="07" Year="2016" DayType="Праздник" Date="20160328" SwapDate=""/>
|
||||
@@ -973,9 +977,11 @@
|
||||
<Item Calendar="20" Year="2025" DayType="Праздник" Date="20250608" SwapDate="20250610"/>
|
||||
<Item Calendar="20" Year="2025" DayType="Суббота" Date="20250609" SwapDate="20250607"/>
|
||||
<Item Calendar="20" Year="2025" DayType="Воскресенье" Date="20250610" SwapDate="20250608"/>
|
||||
<Item Calendar="20" Year="2026" DayType="Предпраздничный" Date="20260319" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2026" DayType="Предпраздничный" Date="20260318" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2026" DayType="Праздник" Date="20260319" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2026" DayType="Праздник" Date="20260320" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2026" DayType="Праздник" Date="20260323" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2026" DayType="Праздник" Date="20260321" SwapDate="20260323"/>
|
||||
<Item Calendar="20" Year="2026" DayType="Суббота" Date="20260323" SwapDate="20260321"/>
|
||||
<Item Calendar="20" Year="2026" DayType="Предпраздничный" Date="20260415" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2026" DayType="Праздник" Date="20260416" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2026" DayType="Предпраздничный" Date="20260526" SwapDate=""/>
|
||||
|
||||
+12
-4
@@ -3753,8 +3753,7 @@
|
||||
Ждать ОбъектКомпоненты.ПолучитьСписокОшибокАсинх();
|
||||
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("ПродолжитьПослеВводаПинКода", ЭтотОбъект, Контекст);
|
||||
ОткрытьФорму("Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Форма.ВводПинКода",, ЭтотОбъект, Истина,
|
||||
,, ОписаниеОповещения, РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
|
||||
ЭлектроннаяПодписьКлиентЛокализация.ВвестиПинКодТокена(ОписаниеОповещения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -4920,6 +4919,10 @@
|
||||
|
||||
Для Каждого Токен Из УстановленныеТокеныРезультат.Токены Цикл
|
||||
|
||||
Найдено = СписокТокенов.НайтиСтроки(Новый Структура("ПрограммаИдентификатор", Токен.СерийныйНомер));
|
||||
Если Найдено.Количество() > 0 Тогда
|
||||
НоваяСтрока = Найдено[0];
|
||||
Иначе
|
||||
НоваяСтрока = СписокТокенов.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Токен);
|
||||
НоваяСтрока.ПрограммаИмя = ИмяПрограммы(НоваяСтрока.Токен);
|
||||
@@ -4928,11 +4931,13 @@
|
||||
Если Не ПустаяСтрока(НоваяСтрока.Ошибка) И СтрНайти(НоваяСтрока.Ошибка, ОшибкаНеНайденТокен()) <> 0 Тогда
|
||||
НоваяСтрока.Ошибка = СтрШаблон("%1%2%3", НоваяСтрока.Ошибка, Символы.ПС, РекомендацииДляТокена());
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если Токен.Слот = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(НоваяСтрока.ТипМеханизмаГенерацииКлючевойПары) Тогда
|
||||
Попытка
|
||||
ТипМеханизмаГенерацииКлючевойПары = ТипМеханизмаГенерацииКлючевойПары(Токен.Механизмы, Токен.Представление);
|
||||
Исключение
|
||||
@@ -4946,7 +4951,11 @@
|
||||
Если ТипЗнч(ТипМеханизмаГенерацииКлючевойПары) = Тип("Строка") Тогда
|
||||
НоваяСтрока.Ошибка = ТипМеханизмаГенерацииКлючевойПары;
|
||||
Иначе
|
||||
НоваяСтрока.Представление = Токен.Представление;
|
||||
НоваяСтрока.Слот = Токен.Слот;
|
||||
НоваяСтрока.ТипМеханизмаГенерацииКлючевойПары = ТипМеханизмаГенерацииКлючевойПары;
|
||||
НоваяСтрока.Ошибка = "";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -7338,8 +7347,7 @@
|
||||
Контекст.Вставить("ДанныеСертификата", ДД);
|
||||
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("ПродолжитьУстановкуПослеВводаПинКода", ЭтотОбъект, Контекст);
|
||||
ОткрытьФорму("Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Форма.ВводПинКода",, ЭтотОбъект, Истина,
|
||||
,, ОписаниеОповещения, РежимБлокировкиПриОткрытииОкнаФормы.БлокироватьВладельца);
|
||||
ЭлектроннаяПодписьКлиентЛокализация.ВвестиПинКодТокена(ОписаниеОповещения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
-9
@@ -70,15 +70,6 @@
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
<forms uuid="af062541-4dec-4856-9be9-dec804fbae0b">
|
||||
<name>ВводПинКода</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Ввод пин кода</value>
|
||||
</synonym>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
<templates uuid="e057e428-99c1-419d-a169-697c1e825e94">
|
||||
<name>ИндивидуальныйПредприниматель</name>
|
||||
<synonym>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link></head><body>Предназначена для настройки REST-сервиса для обмена со сторонними приложениями.
|
||||
<div>Для работы с REST-сервисом не рекомендуется использовать какие-либо уже существующие ученые записи с целью защиты данных приложения от взлома, т.к. REST-сервис предназначен для работы со сторонними приложениями.</div>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link></head><body>Предназначена для настройки REST-сервиса для обмена со сторонними приложениями (например, для обмена с Интернет-магазином, корпоративными информационными системами или пакетной загрузки данных в приложение). REST-сервис позволяет получать данные, изменять их, создавать новые объекты (например, справочники и документы) и удалять существующие. Для работы с REST-сервисом не рекомендуется использовать какие-либо уже существующие ученые записи с целью защиты данных приложения от взлома, т.к. REST-сервис предназначен для работы со сторонними приложениями.
|
||||
<div><br></div>
|
||||
<div>Состоит из двух вкладок:</div>
|
||||
<div><b>Авторизация</b> - можно ввести имя пользователя и пароль для работы с REST-сервисом;</div>
|
||||
<div><b>Состав</b> - можно определить, какие данные будут участвовать в работе автоматического REST-сервиса.</div>
|
||||
<h3>Авторизация</h3>
|
||||
<div>Включите флажок <b>Создать для использования автоматического REST-сервиса отдельные имя пользователя и пароль</b> (рекомендуется).</div>
|
||||
<div>Включите переключатель <b>Создать для использования автоматического REST-сервиса отдельные имя пользователя и пароль</b> (рекомендуется).</div>
|
||||
<div>При использовании REST-сервиса и настройке интеграции не рекомендуется передавать учетные данные пользователя с правами доступа для работы в приложении. Рекомендуется создать отдельного пользователя (с отдельным паролем). Такой пользователь не будет иметь возможности работать с приложением (или изменять настройки). </div>
|
||||
<div>Заполните поля:</div>
|
||||
<div>
|
||||
<ul><li><b>Имя пользователя</b>;</li>
|
||||
|
||||
+150
-39
@@ -1,39 +1,150 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.16428"></meta></head><body>
|
||||
<p>Предназначены для организации обсуждений с помощью внешних приложений.</p>
|
||||
<p>С помощью кнопки <b>Создать</b> выберите и настройте нужный чат. </p>
|
||||
<h3>Чат Telegram</h3>
|
||||
<ul><li>Перейдите в <b>Telegram</b>.</li>
|
||||
<li>Следуя указаниям приложения создайте бот.</li>
|
||||
<li>Выберите боту <b>Имя </b>и произведите необходимые настройки в <b>Telegram</b>. </li>
|
||||
<li>После успешного создания бота укажите <b>Наименование</b> бота и <b>Токен</b>.</li>
|
||||
<li>С помощью кнопки <b>Подобрать</b> выберите из списка пользователей, которые будут получать и отправлять сообщения в <b>Telegram</b>.</li></ul><h3>Чат Вконтакте</h3>
|
||||
<ul><li>Перейдите в социальную сеть <b>Вконтакте</b>.</li>
|
||||
<li>Следуя указаниям приложения создайте сообщество (группу).</li>
|
||||
<li>Выберите сообществу <b>Имя </b>и произведите необходимые настройки во <b>Вконтакте</b>. </li>
|
||||
<li>После успешного создания чата заполните поля <b>Наименование</b>,<b> Ключ</b> и<b> Ключ Группу</b>. </li>
|
||||
<li>С помощью кнопки <b>Подобрать</b> выберите из списка пользователей, которые будут получать и отправлять сообщения в приложении.</li>
|
||||
<li>Нажмите кнопку <b>Активировать</b>.</li></ul><h3>Чат WhatsApp</h3>
|
||||
<ul><li>Предварительно заключите договор с провайдером <b>WhatsApp Business API</b> - компанией <b>"Девино Телеком"</b>. </li>
|
||||
<li>После заключения договора получите у менеджера <b>"Девино Телеком" Ключ (token) </b>и <b>Имя канала</b>. </li>
|
||||
<li>После настройки интеграции необходимо передать навигационную ссылку точки подключения менеджеру <b>"Девино Телеком"</b>.</li>
|
||||
<li>Заполните поля <b>Наименование</b>,<b> Ключ, Имя канала</b>.</li>
|
||||
<li><b>Точка подключения</b> заполняется автоматически.<b> </b></li>
|
||||
<li>С помощью кнопки <b>Подобрать</b> выберите из списка пользователей, которые будут получать и отправлять сообщения от лица аккаунта <b>WhatsApp</b>.</li></ul><h3>Чат на сайте</h3>
|
||||
<div>Чат можно интегрировать с корпоративным сайтом или интернет-магазином, что обеспечит непрерывность коммуникации и автоматизирует общение с посетителями даже в нерабочее время благодаря использованию бота.</div>
|
||||
<ul><li>На вкладке <b>Основное</b> заполните поле <b>Наименование</b>. </li>
|
||||
<li><b>Точка подключения</b> заполняется автоматически после успешной активации. </li>
|
||||
<li>С помощью кнопки <b>Подобрать</b> выберите из списка пользователей, которые будут получать и отправлять сообщения.</li>
|
||||
<li>Настройте (при необходимости) на соответствующей вкладке <b>Параметры отображения</b>, например, внешний вид, расположение окна чата и т.д. </li>
|
||||
<li>Нажмите кнопку <b>Активировать</b>.</li>
|
||||
<li>Обратитесь к техническому специалисту, ответственному за сопровождение сайта, сообщите ему <b>Точку подключения</b>. </li></ul><h3>Интеграция Webhook</h3>
|
||||
<div><b>Webhook</b> - это механизм, который позволяет различным сервисам и приложениям обмениваться данными в режиме реального времени. Интеграция с <b>Webhook </b>обеспечивает одностороннюю коммуникацию от внешнего приложения в <b>Систему взаимодействия</b>. С помощью интеграции можно создать новые сценарии взаимодействия, например, информировать пользователей о новых заказах через сайт интернет-магазина. </div>
|
||||
<ul><li>Заполните <b>Наименование</b> бота в 1С. </li>
|
||||
<li>С помощью кнопки <b>Подобрать</b> выберите из списка пользователей, которые будут получать сообщения.</li>
|
||||
<li>Нажмите кнопку <b>Активировать</b>.</li>
|
||||
<li><b>Точка подключения</b> заполняется автоматически после успешной активации. </li>
|
||||
<li>Обратитесь к техническому специалисту, ответственному за сопровождение сайта, сообщите ему <b>Точку подключения</b>. </li></ul><div><br></div>
|
||||
<div>Если<b> </b>все было корректно настроено, должны приходить сообщения из приложений. </div>
|
||||
<div>
|
||||
<p><span style="font-size: 13.43px; font-weight: bold;"><br></span></p>
|
||||
<p><span style="font-size: 13.43px; font-weight: bold;">См. также:</span></p>
|
||||
<ul><li><a href="DataProcessor.ПанельАдминистрированияБСП/Help">Настройки программы</a>.</li></ul></div></body></html>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.9600.16428"></meta><style>
|
||||
body, p, li, div, span, h1, h2, h3, h4, h5, td, th, input, textarea, select, button {
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif !important;
|
||||
font-size: 12px !important;
|
||||
}
|
||||
h3 {
|
||||
font-size: 14px !important;
|
||||
font-weight: bold;
|
||||
}
|
||||
a, a:visited {
|
||||
color: #0000FF;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.note {
|
||||
background-color: #f8f8f8;
|
||||
border-left: 4px solid #6b6b6b;
|
||||
padding: 8px 12px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
</style></head><body>
|
||||
|
||||
<p>Настройки предназначены для организации обсуждений с помощью внешних приложений и мессенджеров.</p>
|
||||
|
||||
<p>С помощью кнопки <strong>Создать</strong> выберите и настройте нужный чат. Для каждого типа чата предусмотрены свои параметры подключения.</p>
|
||||
|
||||
<h3>Чат Max</h3>
|
||||
<ul><li>Для получения сообщений из Max необходим бот, с которым будут общаться ваши контакты.</li>
|
||||
|
||||
<li>Если у вас в Max еще нет бота, создайте его на <strong>платформе Max для партнеров</strong> для вашей организации. </li>
|
||||
|
||||
<li>Перед настройкой рекомендуется ознакомиться с инструкциями:
|
||||
|
||||
<ul><li><a href="https://dev.max.ru/docs/maxbusiness/connection" target="_blank">Как создать профиль организации</a>;</li>
|
||||
|
||||
<li><a href="https://dev.max.ru/docs/chatbots/bots-create" target="_blank">Как создать бота и получить токен</a>.</li>
|
||||
</ul></li>
|
||||
|
||||
<li>Заполните поля настройки чата:
|
||||
|
||||
<ul><li><strong>Наименование</strong> — произвольное название бота в Max для отображения в списке;</li>
|
||||
|
||||
<li><strong>Токен</strong> — ключ доступа, выданный на платформе Max для партнеров после создания бота.</li>
|
||||
</ul></li>
|
||||
|
||||
<li>В поле <strong>Кто получает и отправляет сообщения от лица бота Max</strong> с помощью кнопки <strong>Подобрать</strong> выберите пользователей приложения, которые будут работать с сообщениями из Max.</li>
|
||||
|
||||
<li>После заполнения всех данных нажмите кнопку <strong>Активировать</strong> для включения интеграции.</li>
|
||||
</ul><h3>Чат Telegram</h3>
|
||||
<ul><li>Перейдите в <strong>Telegram</strong>. Для создания бота напишите пользователю <a href="https://telegram.me/BotFather" target="_blank">@BotFather</a> и следуйте его инструкциям.</li>
|
||||
|
||||
<li>Подробные настройки бота описаны в официальной документации: <a href="https://tlgrm.ru/docs/bots#edit-settings" target="_blank">Боты: информация для разработчиков</a>.</li>
|
||||
|
||||
<li>Выберите боту <strong>Имя</strong> и произведите необходимые настройки в <strong>Telegram</strong>.</li>
|
||||
|
||||
<li>После успешного создания бота укажите <strong>Наименование</strong> бота и <strong>Токен</strong> (полученный от @BotFather).</li>
|
||||
|
||||
<li>С помощью кнопки <strong>Подобрать</strong> выберите из списка пользователей, которые будут получать и отправлять сообщения в <strong>Telegram</strong>.</li>
|
||||
</ul><h3>Чат Вконтакте</h3>
|
||||
<ul><li>Перейдите в социальную сеть <strong>Вконтакте</strong>.</li>
|
||||
|
||||
<li>Следуя указаниям приложения, создайте сообщество (группу).</li>
|
||||
|
||||
<li>Выберите сообществу <strong>Имя</strong> и произведите необходимые настройки во <strong>Вконтакте</strong> (в разделе "Работа с API").</li>
|
||||
|
||||
<li>После успешного создания чата заполните поля:
|
||||
|
||||
<ul><li><strong>Наименование</strong> — название чата в программе;</li>
|
||||
|
||||
<li><strong>Ключ</strong> — ключ доступа сообщества;</li>
|
||||
|
||||
<li><strong>Ключ группы</strong> — идентификатор группы.</li>
|
||||
</ul></li>
|
||||
|
||||
<li>С помощью кнопки <strong>Подобрать</strong> выберите из списка пользователей, которые будут получать и отправлять сообщения в приложении.</li>
|
||||
|
||||
<li>Нажмите кнопку <strong>Активировать</strong>.</li>
|
||||
</ul><h3>Чат WhatsApp</h3>
|
||||
<ul><li>Предварительно заключите договор с провайдером <strong>WhatsApp Business API</strong> — компанией <strong>"Девино Телеком"</strong>.</li>
|
||||
|
||||
<li>Подробная инструкция по подключению доступна на официальном сайте: <a href="https://v8.1c.ru/static/instruktsiya-po-podklyucheniyu-k-whatsapp-business-api/" target="_blank">Инструкция по подключению к WhatsApp Business API через провайдера «Девино Телеком»</a>.</li>
|
||||
|
||||
<li>После заключения договора получите у менеджера <strong>"Девино Телеком"</strong>:
|
||||
|
||||
<ul><li><strong>Ключ (token)</strong>;</li>
|
||||
|
||||
<li><strong>Имя канала</strong>.</li>
|
||||
</ul></li>
|
||||
|
||||
<li>После настройки интеграции необходимо передать навигационную ссылку точки подключения менеджеру <strong>"Девино Телеком"</strong>.</li>
|
||||
|
||||
<li>Заполните поля:
|
||||
|
||||
<ul><li><strong>Наименование</strong> — название чата в программе;</li>
|
||||
|
||||
<li><strong>Ключ</strong> — полученный токен доступа;</li>
|
||||
|
||||
<li><strong>Имя канала</strong> — название канала WhatsApp.</li>
|
||||
</ul></li>
|
||||
|
||||
<li><strong>Точка подключения</strong> заполняется автоматически.</li>
|
||||
|
||||
<li>С помощью кнопки <strong>Подобрать</strong> выберите из списка пользователей, которые будут получать и отправлять сообщения от лица аккаунта <strong>WhatsApp</strong>.</li>
|
||||
</ul><h3>Чат на сайте</h3>
|
||||
<div>Чат можно интегрировать с корпоративным сайтом или интернет-магазином, что обеспечит непрерывность коммуникации и автоматизирует общение с посетителями даже в нерабочее время благодаря использованию бота. Подробная документация доступна на ИТС: <a href="https://its.1c.ru/db/v8327doc#bookmark:dev:TI000002677" target="_blank">Руководство разработчика. Система взаимодействия</a>.</div>
|
||||
<ul><li>На вкладке <strong>Основное</strong> заполните поле <strong>Наименование</strong>.</li>
|
||||
|
||||
<li><strong>Точка подключения</strong> заполняется автоматически после успешной активации.</li>
|
||||
|
||||
<li>С помощью кнопки <strong>Подобрать</strong> выберите из списка пользователей, которые будут получать и отправлять сообщения.</li>
|
||||
|
||||
<li>Настройте (при необходимости) на соответствующей вкладке <strong>Параметры отображения</strong>, например, внешний вид, расположение окна чата и т.д.</li>
|
||||
|
||||
<li>Нажмите кнопку <strong>Активировать</strong>.</li>
|
||||
|
||||
<li>Обратитесь к техническому специалисту, ответственному за сопровождение сайта, сообщите ему <strong>Точку подключения</strong>.</li>
|
||||
</ul><h3>Интеграция Webhook</h3>
|
||||
<div><strong>Webhook</strong> — это механизм, который позволяет различным сервисам и приложениям обмениваться данными в режиме реального времени. Интеграция с <strong>Webhook</strong> обеспечивает одностороннюю коммуникацию от внешнего приложения в <strong>Систему взаимодействия</strong>. С помощью интеграции можно создать новые сценарии взаимодействия, например, информировать пользователей о новых заказах через сайт интернет-магазина. Подробнее см. в документации на ИТС: <a href="https://its.1c.ru/db/v8325doc#bookmark:dev:TI000002496" target="_blank">Руководство разработчика. Интеграция с Webhook</a>.</div>
|
||||
<ul><li>Заполните <strong>Наименование</strong> бота в 1С.</li>
|
||||
|
||||
<li>С помощью кнопки <strong>Подобрать</strong> выберите из списка пользователей, которые будут получать сообщения.</li>
|
||||
|
||||
<li>Нажмите кнопку <strong>Активировать</strong>.</li>
|
||||
|
||||
<li><strong>Точка подключения</strong> заполняется автоматически после успешной активации.</li>
|
||||
|
||||
<li>Обратитесь к техническому специалисту, ответственному за сопровождение сайта, сообщите ему <strong>Точку подключения</strong>.</li>
|
||||
</ul><div class="note">
|
||||
Если все было корректно настроено, в программу должны приходить сообщения из подключенных внешних приложений.
|
||||
</div>
|
||||
|
||||
<h3>См. также:</h3>
|
||||
<ul><li><a href="DataProcessor.ПанельАдминистрированияБСП/Help">Настройки приложения</a> (общие настройки взаимодействия).</li>
|
||||
|
||||
<li><a href="https://dev.max.ru/docs/maxbusiness/connection" target="_blank">Как создать профиль организации</a> (инструкция на сайте Max).</li>
|
||||
|
||||
<li><a href="https://dev.max.ru/docs/chatbots/bots-create" target="_blank">Как создать бота и получить токен</a> (инструкция на сайте Max).</li>
|
||||
|
||||
<li><a href="https://telegram.me/BotFather" target="_blank">@BotFather</a> — бот для создания и настройки ботов в Telegram.</li>
|
||||
|
||||
<li><a href="https://tlgrm.ru/docs/bots#edit-settings" target="_blank">Документация Telegram: Боты</a> (официальная документация).</li>
|
||||
|
||||
<li><a href="https://v8.1c.ru/static/instruktsiya-po-podklyucheniyu-k-whatsapp-business-api/" target="_blank">Инструкция по подключению к WhatsApp Business API</a> (официальный сайт 1С).</li>
|
||||
|
||||
<li><a href="https://its.1c.ru/db/v8327doc#bookmark:dev:TI000002677" target="_blank">Чат на сайте: документация на ИТС</a>.</li>
|
||||
|
||||
<li><a href="https://its.1c.ru/db/v8325doc#bookmark:dev:TI000002496" target="_blank">Интеграция Webhook: документация на ИТС</a>.</li>
|
||||
</ul></body></html>
|
||||
@@ -44,7 +44,8 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подобрать(Команда)
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(Элементы.Участники);
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(ЭтотОбъект,
|
||||
ПараметрыРасширеннойФормыПодбора());
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -125,10 +126,21 @@
|
||||
Закрыть(Истина);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ОтключитьСервер()
|
||||
ОбсужденияСлужебный.ОтключитьИнтеграцию(Параметры.Идентификатор);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПараметрыРасширеннойФормыПодбора()
|
||||
|
||||
Возврат ОбсужденияСлужебный.ПараметрыРасширеннойФормыПодбора(ЭтотОбъект);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подобрать(Команда)
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(Элементы.Участники);
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(ЭтотОбъект,
|
||||
ПараметрыРасширеннойФормыПодбора());
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -125,10 +126,21 @@
|
||||
Закрыть(Истина);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ОтключитьСервер()
|
||||
ОбсужденияСлужебный.ОтключитьИнтеграцию(Параметры.Идентификатор);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПараметрыРасширеннойФормыПодбора()
|
||||
|
||||
Возврат ОбсужденияСлужебный.ПараметрыРасширеннойФормыПодбора(ЭтотОбъект);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
&НаКлиенте
|
||||
Процедура Подобрать(Команда)
|
||||
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(Элементы.Участники);
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(ЭтотОбъект,
|
||||
ПараметрыРасширеннойФормыПодбора());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -180,4 +181,11 @@
|
||||
ОбсужденияСлужебный.ОтключитьИнтеграцию(Параметры.Идентификатор);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПараметрыРасширеннойФормыПодбора()
|
||||
|
||||
Возврат ОбсужденияСлужебный.ПараметрыРасширеннойФормыПодбора(ЭтотОбъект);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -96,7 +96,8 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подобрать(Команда)
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(Элементы.Участники);
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(ЭтотОбъект,
|
||||
ПараметрыРасширеннойФормыПодбора());
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -182,4 +183,11 @@
|
||||
ОбсужденияСлужебный.ОтключитьИнтеграцию(Параметры.Идентификатор);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПараметрыРасширеннойФормыПодбора()
|
||||
|
||||
Возврат ОбсужденияСлужебный.ПараметрыРасширеннойФормыПодбора(ЭтотОбъект);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
+13
-1
@@ -52,7 +52,8 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подобрать(Команда)
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(Элементы.Участники);
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(ЭтотОбъект,
|
||||
ПараметрыРасширеннойФормыПодбора());
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -134,10 +135,21 @@
|
||||
Закрыть(Истина);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ОтключитьСервер()
|
||||
ОбсужденияСлужебный.ОтключитьИнтеграцию(Параметры.Идентификатор);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПараметрыРасширеннойФормыПодбора()
|
||||
|
||||
Возврат ОбсужденияСлужебный.ПараметрыРасширеннойФормыПодбора(ЭтотОбъект);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -184,7 +184,8 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подобрать(Команда)
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(Элементы.Участники);
|
||||
ОбсужденияСлужебныйКлиент.НачатьПодборУчастниковОбсуждения(ЭтотОбъект,
|
||||
ПараметрыРасширеннойФормыПодбора());
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -807,4 +808,11 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
&НаСервере
|
||||
Функция ПараметрыРасширеннойФормыПодбора()
|
||||
|
||||
Возврат ОбсужденияСлужебный.ПараметрыРасширеннойФормыПодбора(ЭтотОбъект);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1607,25 +1607,17 @@
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаСостояние</name>
|
||||
<id>157</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ОписаниеСостоянияНайденныхДублей</name>
|
||||
<id>202</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Описание состояния найденных дублей</value>
|
||||
</title>
|
||||
<id>788</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ОписаниеСостоянияНайденныхДублей</segments>
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<extendedTooltip>
|
||||
<name>ОписаниеСостоянияНайденныхДублейРасширеннаяПодсказка</name>
|
||||
<id>204</id>
|
||||
<id>790</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1635,21 +1627,17 @@
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ОписаниеСостоянияНайденныхДублейКонтекстноеМеню</name>
|
||||
<id>203</id>
|
||||
<id>789</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<type>Label</type>
|
||||
<height>3</height>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<handlers>
|
||||
<event>URLProcessing</event>
|
||||
<name>ОписаниеСостоянияНайденныхДублейОбработкаНавигационнойСсылки</name>
|
||||
</handlers>
|
||||
<height>3</height>
|
||||
<maxHeight>3</maxHeight>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
@@ -1661,7 +1649,7 @@
|
||||
<key>ru</key>
|
||||
<value>Состояние</value>
|
||||
</title>
|
||||
<height>2</height>
|
||||
<height>3</height>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаСостояниеРасширеннаяПодсказка</name>
|
||||
<id>158</id>
|
||||
@@ -1674,7 +1662,7 @@
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<group>Vertical</group>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
@@ -4434,10 +4422,6 @@
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ОписаниеСостоянияНайденныхДублей</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Описание состояния найденных дублей</value>
|
||||
</title>
|
||||
<id>15</id>
|
||||
<valueType>
|
||||
<types>FormattedString</types>
|
||||
|
||||
@@ -295,10 +295,10 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОписаниеСостоянияНайденныхДублейОбработкаНавигационнойСсылки(Элемент, Ссылка, СтандартнаяОбработка)
|
||||
Процедура ОписаниеСостоянияНайденныхДублейОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
Если Ссылка = "СпособУдаления" Тогда
|
||||
Если НавигационнаяСсылкаФорматированнойСтроки = "СпособУдаления" Тогда
|
||||
СпособУдаления = ?(СпособУдаления = "Непосредственно", "Пометка", "Непосредственно");
|
||||
ОбновитьОписаниеСостоянияНайденныхДублей();
|
||||
КонецЕсли;
|
||||
@@ -1320,7 +1320,7 @@
|
||||
ТекстПодсказки = НСтр("ru = 'Выбранные элементы будут помечены на удаление и заменены на оригиналы (отмечены стрелкой).'");
|
||||
|
||||
КонецЕсли;
|
||||
ОписаниеСостоянияНайденныхДублей = СтроковыеФункцииКлиент.ФорматированнаяСтрока(Описание + Символы.ПС + ТекстПодсказки);
|
||||
Элементы.ОписаниеСостоянияНайденныхДублей.Заголовок = СтроковыеФункцииКлиент.ФорматированнаяСтрока(Описание + Символы.ПС + ТекстПодсказки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
File renamed without changes.
File renamed without changes.
+1
-1
@@ -21,7 +21,7 @@
|
||||
НСтр("ru='Приложение КриптоПро CSP - платное. Подробнее о приложении и условиях его приобретения см. сайт компании <a href = ""%1"">ООО ""КРИПТО-ПРО""</a>'"),
|
||||
"https://www.cryptopro.ru/buy");
|
||||
|
||||
ОбщегоНазначения.ВставитьВажноеСообщение(ЭтотОбъект, ПараметрыСообщения, Элементы.ГруппаВажныеСообщения, Элементы.ВыполнятьКонтрольЦелостности);
|
||||
ОбщегоНазначения.ВставитьВажноеСообщение(ЭтотОбъект, ПараметрыСообщения, Элементы.ГруппаВажныеСообщения);
|
||||
ОбщегоНазначения.ВывестиСтатусыИВажныеСообщенияНаФорму(ЭтотОбъект);
|
||||
|
||||
|
||||
|
||||
+9
@@ -75,6 +75,15 @@
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
<forms uuid="31f2a49e-3095-4888-afbd-bf1a4d8fbec9">
|
||||
<name>ВводПинКода</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Ввод пин кода</value>
|
||||
</synonym>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
<templates uuid="766f2abe-1dfd-4e16-bffd-83f44d25d82a">
|
||||
<name>КлассификаторАУЦ_1_0_0_1</name>
|
||||
<synonym>
|
||||
|
||||
@@ -1789,6 +1789,10 @@ TIF - Не все браузеры отображают этот формат.</
|
||||
<items xsi:type="form:Button">
|
||||
<name>УстановитьСтандартныеНастройки</name>
|
||||
<id>204</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Установить стандартные параметры</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -1804,7 +1808,7 @@ TIF - Не все браузеры отображают этот формат.</
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.StandardCommand.RestoreValues</commandName>
|
||||
<commandName>Form.Command.УстановитьСтандартныеНастройки</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
@@ -2495,6 +2495,19 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ЭтоВнешняяОбработка</name>
|
||||
<id>23</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>ВыполнитьСкрытие</name>
|
||||
<title>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
|
||||
АдресХранилищаНастроек = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
|
||||
ЭтоВнешняяОбработка = Не Метаданные.Обработки.Содержит(ОбработкаОбъект.Метаданные());
|
||||
|
||||
Заголовок = НСтр("ru = 'Скрытие конфиденциальной информации'");
|
||||
|
||||
@@ -483,7 +484,7 @@
|
||||
|
||||
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
|
||||
МодульДлительныеОперации = ОбщийМодуль("ДлительныеОперации");
|
||||
Если МодульДлительныеОперации = Неопределено Тогда
|
||||
Если МодульДлительныеОперации = Неопределено Или ЭтоВнешняяОбработка Тогда
|
||||
АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
|
||||
ОбработкаОбъект.ЗаполнитьДеревоОбрабатываемыхОбъектов(СохраненныеНастройки, АдресХранилища);
|
||||
Возврат;
|
||||
@@ -613,7 +614,7 @@
|
||||
ПараметрыПроцедуры.Вставить("ПравилаОбработки", ПравилаОбработки);
|
||||
|
||||
МодульДлительныеОперации = ОбщийМодуль("ДлительныеОперации");
|
||||
Если МодульДлительныеОперации = Неопределено Тогда
|
||||
Если МодульДлительныеОперации = Неопределено Или ЭтоВнешняяОбработка Тогда
|
||||
АдресХранилищаВторой = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
|
||||
ОбработкаОбъект.УничтожитьПерсональныеДанные(ПараметрыПроцедуры, АдресХранилищаВторой);
|
||||
Возврат Истина;
|
||||
|
||||
@@ -2194,8 +2194,8 @@
|
||||
// Получим список адресатов
|
||||
СоответствиеТабличныхЧастей = Новый Соответствие;
|
||||
СоответствиеТабличныхЧастей.Вставить("Кому", Объект.ПолучателиПисьма);
|
||||
СоответствиеТабличныхЧастей.Вставить("Копии", Объект.ПолучателиКопий);
|
||||
СоответствиеТабличныхЧастей.Вставить("Скрытые", Объект.ПолучателиСкрытыхКопий);
|
||||
СоответствиеТабличныхЧастей.Вставить("Копия", Объект.ПолучателиКопий);
|
||||
СоответствиеТабличныхЧастей.Вставить("СкрытаяКопия", Объект.ПолучателиСкрытыхКопий);
|
||||
СоответствиеТабличныхЧастей.Вставить("Ответ", Объект.ПолучателиОтвета);
|
||||
|
||||
СписокВыбранных = Новый СписокЗначений;
|
||||
@@ -2235,8 +2235,8 @@
|
||||
// Получим список адресатов
|
||||
СоответствиеТабличныхЧастей = Новый Соответствие;
|
||||
СоответствиеТабличныхЧастей.Вставить("Кому", Объект.ПолучателиПисьма);
|
||||
СоответствиеТабличныхЧастей.Вставить("Копии", Объект.ПолучателиКопий);
|
||||
СоответствиеТабличныхЧастей.Вставить("Скрытые", Объект.ПолучателиСкрытыхКопий);
|
||||
СоответствиеТабличныхЧастей.Вставить("Копия", Объект.ПолучателиКопий);
|
||||
СоответствиеТабличныхЧастей.Вставить("СкрытаяКопия", Объект.ПолучателиСкрытыхКопий);
|
||||
СоответствиеТабличныхЧастей.Вставить("Получатели", Объект.ПолучателиОтвета);
|
||||
|
||||
ДляПодбора = (Объект.СтатусПисьма <> ПредопределенноеЗначение("Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Отправлено"));
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<li><strong>Действует по</strong> - для произвольной даты напишите или <img src="StdPicture.InputFieldCalendar" width="12" height="12"></img> выберите значение, для относительной даты значение проставляется приложением автоматически.</li></ul></li>
|
||||
<li>В списке по умолчанию присутствует элемент <strong><Общая дата></strong>. Значение даты запрета для этого элемента будет использоваться для всех разделов по умолчанию, кроме тех, которые уже содержатся в списке. </li></ul></li>
|
||||
<li><strong>По объектам</strong> – даты запрета задаются в разрезе объектов приложения. Для каждого объекта устанавливается своя дата запрета. Если выбрано это значение, то становится доступным список, в который можно добавлять объекты (соответствующей командой) и указывать для каждого объекта свое значение даты запрета. Так же, как и в предыдущем способе, в списке для аналогичных целей содержится элемент <strong><Общая дата></strong>.
|
||||
</li>
|
||||
<ul><li>Данный способ доступен не во всех приложениях. Если в интерфейсе присутствует способ <strong>По объектам</strong>, то способы <strong>По разделам</strong> и <strong>По разделам и объектам</strong> недоступны, и наоборот. Также возможна ситуация, когда доступен только способ <strong>По разделам</strong>, а <strong>По разделам и объектам</strong> отсутствует.</li></ul></li>
|
||||
<li><strong>По разделам и объектам</strong> – даты запрета задаются и в разрезе разделов, и в разрезе объектов.
|
||||
<ul><li>При этом становится доступным список, в котором перечислены разделы и объекты. Можно указать для каждого раздела и каждого объекта свое значение даты запрета. Так же, как и в предыдущих способах, в списке содержится элемент <strong><Общая дата></strong> для аналогичных целей.
|
||||
<ul><li>Для выбора нескольких объектов в выделенном разделе выполните команду <strong>Подобрать</strong>.
|
||||
|
||||
@@ -100,34 +100,39 @@
|
||||
|
||||
МетаданныеРегистра = Метаданные.РегистрыСведений.ДатыЗапретаИзменения;
|
||||
|
||||
Поля = Новый СписокЗначений;
|
||||
ШиринаКолонок = Новый Соответствие;
|
||||
ДобавитьПоле(Поля, ШиринаКолонок, МетаданныеРегистра.Измерения.Раздел, 20);
|
||||
ДобавитьПоле(Поля, ШиринаКолонок, МетаданныеРегистра.Измерения.Объект, 40);
|
||||
ДобавитьПоле(Поля, ШиринаКолонок, МетаданныеРегистра.Измерения.Пользователь, 40);
|
||||
ДобавитьПоле(Поля, ШиринаКолонок, МетаданныеРегистра.Ресурсы.ДатаЗапрета, 20);
|
||||
ДобавитьПоле(Поля, ШиринаКолонок, МетаданныеРегистра.Реквизиты.ОписаниеДатыЗапрета, 22);
|
||||
ДобавитьПоле(Поля, ШиринаКолонок, МетаданныеРегистра.Реквизиты.Комментарий, 20);
|
||||
Поля = Новый Массив;
|
||||
Поля.Добавить(НовоеОписаниеПоля(МетаданныеРегистра.Измерения.Раздел));
|
||||
Поля.Добавить(НовоеОписаниеПоля(МетаданныеРегистра.Измерения.Объект));
|
||||
Поля.Добавить(НовоеОписаниеПоля(МетаданныеРегистра.Измерения.Пользователь));
|
||||
Поля.Добавить(НовоеОписаниеПоля(МетаданныеРегистра.Ресурсы.ДатаЗапрета));
|
||||
Поля.Добавить(НовоеОписаниеПоля(МетаданныеРегистра.Реквизиты.ОписаниеДатыЗапрета));
|
||||
Поля.Добавить(НовоеОписаниеПоля(МетаданныеРегистра.Реквизиты.Комментарий));
|
||||
|
||||
Заголовок = Новый Массив;
|
||||
Заголовок.Добавить("");
|
||||
Для Каждого Поле Из Поля Цикл
|
||||
Заголовок.Добавить(ДополненнаяСтрока(Поле.Представление,
|
||||
ШиринаКолонок.Получить(Поле.Значение)));
|
||||
Заголовок.Добавить(ДополненнаяСтрока(Поле.Представление, Поля, Поле));
|
||||
КонецЦикла;
|
||||
|
||||
СтрокиКомментария = Новый Массив;
|
||||
СтрокиКомментария.Добавить(СтрСоединить(Заголовок, " | "));
|
||||
|
||||
Если ЗначениеЗаполнено(ДобавленныеСтроки) Тогда
|
||||
ДобавитьСтроки(СтрокиКомментария, ДобавленныеСтроки, Поля, ШиринаКолонок, "+");
|
||||
ДобавитьСтроки(СтрокиКомментария, ДобавленныеСтроки, Поля, "+");
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(УдаленныеСтроки) Тогда
|
||||
ДобавитьСтроки(СтрокиКомментария, УдаленныеСтроки, Поля, ШиринаКолонок, "-");
|
||||
ДобавитьСтроки(СтрокиКомментария, УдаленныеСтроки, Поля, "-");
|
||||
КонецЕсли;
|
||||
|
||||
Комментарий = СтрСоединить(СтрокиКомментария, Символы.ПС) + Символы.ПС;
|
||||
|
||||
ПробелыПоШирине = ПробелыПоШирине();
|
||||
НачальнаяШирина = СтрДлина(ПробелыПоШирине);
|
||||
Для Каждого Поле Из Поля Цикл
|
||||
СтрокаЗамены = Лев(ПробелыПоШирине, НачальнаяШирина - Поле.Ширина) + "/" + Поля.Найти(Поле) + " | ";
|
||||
Комментарий = СтрЗаменить(Комментарий, СтрокаЗамены, " | ");
|
||||
КонецЦикла;
|
||||
|
||||
ЗаписьЖурналаРегистрации(
|
||||
НСтр("ru = 'Даты запрета.Регистрация изменений'",
|
||||
ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
@@ -141,37 +146,60 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьПоле(Поля, ШиринаКолонок, МетаданныеПоля, ШиринаКолонки);
|
||||
Функция НовоеОписаниеПоля(МетаданныеПоля)
|
||||
|
||||
Поля.Добавить(МетаданныеПоля.Имя, МетаданныеПоля.Представление());
|
||||
ШиринаКолонок.Вставить(МетаданныеПоля.Имя, ШиринаКолонки);
|
||||
ОписаниеПоля = Новый Структура;
|
||||
ОписаниеПоля.Вставить("Имя", МетаданныеПоля.Имя);
|
||||
ОписаниеПоля.Вставить("Представление", МетаданныеПоля.Представление());
|
||||
ОписаниеПоля.Вставить("Ширина", 0);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДополненнаяСтрока(Значение, ШиринаКолонки)
|
||||
|
||||
Строка = Строка(Значение);
|
||||
Если Не ЗначениеЗаполнено(Строка)
|
||||
И ТипЗнч(Значение) <> Тип("Строка") Тогда
|
||||
Строка = "<> (" + Строка(ТипЗнч(Значение)) + ")";
|
||||
КонецЕсли;
|
||||
ДлинаСтроки = СтрДлина(Строка);
|
||||
Если ТипЗнч(ШиринаКолонки) <> Тип("Число")
|
||||
Или ШиринаКолонки <= ДлинаСтроки Тогда
|
||||
Возврат Строка;
|
||||
КонецЕсли;
|
||||
Пробелы = " ";
|
||||
Возврат Строка + Лев(Пробелы, ШиринаКолонки - ДлинаСтроки);
|
||||
Возврат ОписаниеПоля;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ДобавитьСтроки(СтрокиКомментария, СтрокиТаблицы, Поля, ШиринаКолонок, Операция)
|
||||
Функция ДополненнаяСтрока(Значение, Поля, Поле)
|
||||
|
||||
Тип = ТипЗнч(Значение);
|
||||
Если Тип = Тип("Дата") Тогда
|
||||
Строка = Формат(Значение, "ДЛФ=DT");
|
||||
Иначе
|
||||
Строка = Строка(Значение);
|
||||
КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(Строка) И Тип <> Тип("Строка") Тогда
|
||||
Строка = "<> (" + Строка(ТипЗнч(Значение)) + ")";
|
||||
КонецЕсли;
|
||||
Строка = СтрЗаменить(СокрЛП(Строка), Символы.ПС, " ");
|
||||
|
||||
ИндексПоля = Поля.Найти(Поле);
|
||||
Если ИндексПоля = Поля.ВГраница() Тогда
|
||||
Возврат Строка;
|
||||
КонецЕсли;
|
||||
|
||||
ДлинаСтроки = СтрДлина(Строка);
|
||||
ПробелыПоШирине = ПробелыПоШирине();
|
||||
НачальнаяШирина = СтрДлина(ПробелыПоШирине);
|
||||
Если ДлинаСтроки >= НачальнаяШирина Тогда
|
||||
Возврат Строка;
|
||||
КонецЕсли;
|
||||
|
||||
Если Поле.Ширина < ДлинаСтроки Тогда
|
||||
Поле.Ширина = ДлинаСтроки;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Строка + Лев(ПробелыПоШирине, НачальнаяШирина - ДлинаСтроки) + "/" + ИндексПоля;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПробелыПоШирине()
|
||||
Возврат " ";
|
||||
КонецФункции
|
||||
|
||||
Процедура ДобавитьСтроки(СтрокиКомментария, СтрокиТаблицы, Поля, Операция)
|
||||
|
||||
Для Каждого СтрокаТаблицы Из СтрокиТаблицы Цикл
|
||||
СтрокаКомментария = Новый Массив;
|
||||
Для Каждого Поле Из Поля Цикл
|
||||
СтрокаКомментария.Добавить(ДополненнаяСтрока(СтрокаТаблицы[Поле.Значение],
|
||||
ШиринаКолонок.Получить(Поле.Значение)));
|
||||
СтрокаКомментария.Добавить(ДополненнаяСтрока(СтрокаТаблицы[Поле.Имя], Поля, Поле));
|
||||
КонецЦикла;
|
||||
СтрокиКомментария.Добавить(Операция + "| " + СтрСоединить(СтрокаКомментария, " | "));
|
||||
КонецЦикла;
|
||||
|
||||
@@ -3,49 +3,36 @@
|
||||
<p>Для ведения истории изменений объектов необходимо включить флажок <strong>Хранить историю изменений</strong> (по умолчанию включен) в разделе <strong>Администрирование - Общие настройки - История изменений</strong>.</p>
|
||||
<p>После этого становится доступной команда <strong>Настройки хранения</strong>, по которой можно произвести необходимые настройки.</p>
|
||||
<p>В списке выводится:</p>
|
||||
<ul><li><strong>Объект</strong> - список объектов приложения в виде дерева с группировкой по типам объектов.
|
||||
</li>
|
||||
<li><strong>Когда сохранять версии</strong> - выбранный вариант хранения версий;
|
||||
</li>
|
||||
<li><strong>Срок хранения версий</strong> - выбранный срок хранения версий.</li></ul><h3>Выбор варианта хранения истории изменений объектов</h3>
|
||||
<ul><li><strong>Объект</strong> - список объектов приложения в виде дерева с группировкой по типам объектов.</li>
|
||||
<li><strong>Когда сохранять версии</strong> - выбранный вариант хранения версий;</li>
|
||||
<li><strong>Срок хранения версий</strong> - выбранный срок хранения версий.</li>
|
||||
</ul><h3>Выбор варианта хранения истории изменений объектов</h3>
|
||||
<ul><li>Выберите один или несколько объектов, затем нажмите кнопку <strong>Установить когда сохранять версии</strong>, из выпадающего списка выберите нужный вариант хранения версий для каждого типа документов и справочников (также можно найти команду в меню <strong>Еще</strong> или в контекстном меню по правой кнопке мыши):
|
||||
<ul><li><strong>Никогда</strong> - история версий объекта не ведется;
|
||||
</li>
|
||||
<li><strong>При записи</strong> - новая запись заносится в <a href="InformationRegister.ВерсииОбъектов.Form.ВыборХранимыхВерсий/Help">историю версий</a> каждый раз при изменении (или создании нового) справочника или документа;
|
||||
</li>
|
||||
<li><strong>При проведении (для документов)</strong> - версии сохраняются только при проведении; применимо только для документов, для которых разрешено проведение;
|
||||
</li>
|
||||
<li><strong>При старте (для бизнес-процессов)</strong> - версии сохраняются только после запуска бизнес-процесса; применимо только для бизнес-процессов;
|
||||
</li>
|
||||
<li><strong>По умолчанию</strong> - установить рекомендуемые настройки (для справочников - никогда (не создавать версии), для документов - создавать версии при проведении, для бизнес-процессов - создавать версии при старте).</li></ul></li>
|
||||
<li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Также возможна настройка хранения версий сразу для группы объектов приложения, например, можно выбрать все документы или справочники.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Выбор срока хранения версий</h3>
|
||||
<ul><li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Нажмите кнопку <strong>Установить срок хранения версий</strong>, затем из выпадающего списка выберите нужный срок хранения версий для каждого типа документов и справочников: версии можно хранить <strong>За последнюю неделю</strong>, <strong>За последний месяц</strong>, <strong>За последние три месяца</strong>, <strong>За последние шесть месяцев</strong>, <strong>За последний год</strong> и <strong>Бессрочно</strong>.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Просмотр отчета "Количество и объем хранимых версий объектов"</h3>
|
||||
<ul><li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">По соответствующей ссылке можно перейти к просмотру <a href="Report.АнализВерсийОбъектов/Help">отчета</a> <strong>Количество и объем хранимых версий объектов</strong>.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Очистка устаревших версий</h3>
|
||||
<ul><li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">В поле <strong>Всего устаревших версий </strong>выдается информация о количестве и объеме устаревших версий в приложении.</div>
|
||||
</li>
|
||||
<li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Нажмите <strong>Очистить</strong>, для того чтобы удалить устаревшие версии. Кнопка становится доступной, если в приложении имеются устаревшие версии.</div>
|
||||
</li>
|
||||
<li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Для того чтобы <strong>Автоматически удалять устаревшие версии</strong>, включите соответствующий флажок.</div>
|
||||
</li>
|
||||
<li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Перейдите по соответствующей ссылке, для того чтобы <strong>Настроить расписание</strong>. Настроенное <a href="v8help://mngbase/jobschedule.lf">расписание</a> выводится в нижней части окна.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Применение хранения версий объектов</h3>
|
||||
<ul><li>В начале внедрения приложения, когда объемы информации еще небольшие, когда исполнители делают много ошибок в работе (например, вводят лишнюю информацию или нечаянно удаляют нужную), хранение версий может помочь привести списки и документы в порядок, избавиться от допущенных ошибок, помочь исполнителям понять свои ошибочные действия и не допускать их в дальнейшей работе.
|
||||
</li>
|
||||
<li>Благодаря хранению версий объектов можно вернуться к какой-либо предыдущей версии документа или элемента справочника, которая была наиболее полной или более правильной в отличие от последнего состояния.
|
||||
</li>
|
||||
<li>В дальнейшем, когда объемы информации в приложении возрастают, можно постепенно отказываться от хранения версий некоторых объектов вообще или вести историю версий только в важные моменты, например, при проведении документов.
|
||||
</li>
|
||||
<li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Хранение версий большого количества объектов может привести к увеличению объема хранимой в приложении информации из-за хранения их версий, что может существенно замедлить работу приложения. Поэтому рекомендуется использовать эту возможность избирательно.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Особенности режима "При проведении"</h3>
|
||||
<ul><li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Если у документа установлен режим <strong>При проведении</strong>, то первая версия документа будет записана в историю только после первого проведения документа. Впоследствии версии документа будут записываться при каждой записи проведенного документа. Режим позволяет не создавать версии новых и не заполненных окончательно документов, для того чтобы не увеличивать объем хранимой в приложении информации. Рекомендуется применять эту настройку для всех документов.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Особенности режима "При старте"</h3>
|
||||
<ul><li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Если у бизнес-процесса установлен режим <strong>При старте</strong>, то первая версия будет записана только после его старта. Режим позволяет не создавать лишние версии бизнес-процессов в то время, пока их подготавливают к запуску.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">См. также:</h3>
|
||||
<ul><li>
|
||||
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html>
|
||||
<ul><li><strong>Никогда</strong> - история версий объекта не ведется;</li>
|
||||
<li><strong>При записи</strong> - новая запись заносится в <a href="InformationRegister.ВерсииОбъектов.Form.ВыборХранимыхВерсий/Help">историю версий</a> каждый раз при изменении (или создании нового) справочника или документа;</li>
|
||||
<li><strong>При проведении (для документов)</strong> - версии сохраняются только при проведении; применимо только для документов, для которых разрешено проведение;</li>
|
||||
<li><strong>При старте (для бизнес-процессов)</strong> - версии сохраняются только после запуска бизнес-процесса; применимо только для бизнес-процессов;</li>
|
||||
<li><strong>По умолчанию</strong> - установить рекомендуемые настройки (для справочников - никогда (не создавать версии), для документов - создавать версии при проведении, для бизнес-процессов - создавать версии при старте).</li>
|
||||
</ul></li>
|
||||
<li>Также возможна настройка хранения версий сразу для группы объектов приложения, например, можно выбрать все документы или справочники.</li>
|
||||
</ul><h3>Выбор срока хранения версий</h3>
|
||||
<ul><li>Нажмите кнопку <strong>Установить срок хранения версий</strong>, затем из выпадающего списка выберите нужный срок хранения версий для каждого типа документов и справочников: версии можно хранить <strong>За последнюю неделю</strong>, <strong>За последний месяц</strong>, <strong>За последние три месяца</strong>, <strong>За последние шесть месяцев</strong>, <strong>За последний год</strong> и <strong>Бессрочно</strong>.</li>
|
||||
</ul><h3>Просмотр отчета "Количество и объем хранимых версий объектов"</h3>
|
||||
<ul><li>С помощью меню <strong>Еще</strong> по соответствующей ссылке можно перейти к просмотру <a href="Report.АнализВерсийОбъектов/Help">отчета</a> <strong>Количество и объем хранимых версий объектов</strong>.</li>
|
||||
</ul><h3>Очистка устаревших версий</h3>
|
||||
<ul><li>В поле <strong>Всего устаревших версий</strong> выдается информация о количестве и объеме устаревших версий в приложении.</li>
|
||||
<li>Нажмите <strong>Очистить</strong>, для того чтобы удалить устаревшие версии. Кнопка становится доступной, если в приложении имеются устаревшие версии.</li>
|
||||
<li>Для того чтобы <strong>Автоматически удалять устаревшие версии</strong>, включите соответствующий флажок.</li>
|
||||
<li>Перейдите по соответствующей ссылке, для того чтобы <strong>Настроить расписание</strong>. Настроенное <a href="v8help://mngbase/jobschedule.lf">расписание</a> выводится в нижней части окна.</li>
|
||||
</ul><h3>Применение хранения версий объектов</h3>
|
||||
<ul><li>В начале внедрения приложения, когда объемы информации еще небольшие, когда исполнители делают много ошибок в работе (например, вводят лишнюю информацию или нечаянно удаляют нужную), хранение версий может помочь привести списки и документы в порядок, избавиться от допущенных ошибок, помочь исполнителям понять свои ошибочные действия и не допускать их в дальнейшей работе.</li>
|
||||
<li>Благодаря хранению версий объектов можно вернуться к какой-либо предыдущей версии документа или элемента справочника, которая была наиболее полной или более правильной в отличие от последнего состояния.</li>
|
||||
<li>В дальнейшем, когда объемы информации в приложении возрастают, можно постепенно отказываться от хранения версий некоторых объектов вообще или вести историю версий только в важные моменты, например, при проведении документов.</li>
|
||||
<li>Хранение версий большого количества объектов может привести к увеличению объема хранимой в приложении информации из-за хранения их версий, что может существенно замедлить работу приложения. Поэтому рекомендуется использовать эту возможность избирательно.</li>
|
||||
</ul><h3>Особенности режима "При проведении"</h3>
|
||||
<ul><li>Если у документа установлен режим <strong>При проведении</strong>, то первая версия документа будет записана в историю только после первого проведения документа. Впоследствии версии документа будут записываться при каждой записи проведенного документа. Режим позволяет не создавать версии новых и не заполненных окончательно документов, для того чтобы не увеличивать объем хранимой в приложении информации. Рекомендуется применять эту настройку для всех документов.</li>
|
||||
</ul><h3>Особенности режима "При старте"</h3>
|
||||
<ul><li>Если у бизнес-процесса установлен режим <strong>При старте</strong>, то первая версия будет записана только после его старта. Режим позволяет не создавать лишние версии бизнес-процессов в то время, пока их подготавливают к запуску.</li>
|
||||
</ul><h3>См. также:</h3>
|
||||
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li>
|
||||
</ul></body></html>
|
||||
@@ -1324,14 +1324,6 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
|
||||
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
|
||||
|
||||
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
|
||||
Методы.Вставить("ОбработатьДанныеДляПереходаНаНовуюВерсию");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
@@ -554,8 +554,6 @@
|
||||
// См. СтандартныеПодсистемыСервер.ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод
|
||||
Процедура ПриОпределенииМетодовРазрешенныхДляВызоваКакПроизвольныйКод(Методы) Экспорт
|
||||
|
||||
Методы.Вставить("ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию");
|
||||
Методы.Вставить("ОбработатьПользовательскиеМакеты");
|
||||
Методы.Вставить("МакетыОбъектов", Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -3,18 +3,14 @@
|
||||
<p>Открывается по команде <strong>Количество и объем хранимых версий объектов</strong> из <a href="InformationRegister.НастройкиВерсионированияОбъектов/Help">настроек версионирования</a>.</p>
|
||||
<p>Если ограничен размер устройства, предназначенного для хранения данных приложения, с помощью отчета можно контролировать объем хранимых версий объектов в сравнении и принять решение о сокращении числа хранимых версий.</p>
|
||||
<p>В отчете выводится:</p>
|
||||
<ul><li>Диаграмма <strong>Объем хранимых версий по типам объектов</strong>;
|
||||
</li>
|
||||
<li>Диаграмма <strong>Количество хранимых версий по типам объектов</strong>;
|
||||
</li>
|
||||
<ul><li>Диаграмма <strong>Объем хранимых версий по типам объектов</strong>;</li>
|
||||
<li>Диаграмма <strong>Количество хранимых версий по типам объектов</strong>;</li>
|
||||
<li>Таблица <strong>Количество и объем хранимых версий объектов</strong> - числовые данные по количеству и объему хранимых версий объектов. Состоит из колонок:
|
||||
<ul><li><strong>Тип объекта</strong> - объект приложения;
|
||||
</li>
|
||||
<li><strong>Количество</strong> - количество версий объекта;
|
||||
</li>
|
||||
<li><strong>Размер данных (Мб)</strong> - объем, занимаемый версиями объекта.</li></ul></li></ul><h3 style="MARGIN: 0cm 0cm 6pt">См. также: </h3>
|
||||
<ul><li>
|
||||
<div style="MARGIN: 0cm 0cm 6pt"><a href="CommonForm.ФормаОтчета/Help">Работа с отчетами</a>;</div>
|
||||
</li>
|
||||
<li>
|
||||
<div style="MARGIN: 0cm 0cm 6pt"><a href="CommonForm.ФормаНастроекОтчета/Help">Настройки отчетов</a>.</div></li></ul></body></html>
|
||||
<ul><li><strong>Тип объекта</strong> - объект приложения;</li>
|
||||
<li><strong>Количество</strong> - количество версий объекта;</li>
|
||||
<li><strong>Размер данных (Мб)</strong> - объем, занимаемый версиями объекта.</li>
|
||||
</ul></li>
|
||||
</ul><h3>См. также:</h3>
|
||||
<ul><li><a href="CommonForm.ФормаОтчета/Help">Работа с отчетами</a>;</li>
|
||||
<li><a href="CommonForm.ФормаНастроекОтчета/Help">Настройки отчетов</a>.</li>
|
||||
</ul></body></html>
|
||||
@@ -110,7 +110,7 @@
|
||||
НайтиПеревыпущенныеСертификаты = Неопределено;
|
||||
НайтиМЧД = Неопределено;
|
||||
ПолеНовыйСертификат = Новый ПолеКомпоновкиДанных("НовыйСертификат");
|
||||
ПолеМЧД = Новый ПолеКомпоновкиДанных("МЧД");
|
||||
ПолеМЧД = Новый ПолеКомпоновкиДанных("МашиночитаемаяДоверенность");
|
||||
Для каждого Элемент Из НастройкиКомпоновки.Выбор.Элементы Цикл
|
||||
Если ТипЗнч(Элемент) = Тип("ВыбранноеПолеКомпоновкиДанных") Тогда
|
||||
Если Элемент.Поле = ПолеНовыйСертификат Тогда
|
||||
@@ -300,7 +300,7 @@
|
||||
ВыбранныеПоля);
|
||||
|
||||
Если Доверенности.Количество() > 0 Тогда
|
||||
Строка.МЧД = Доверенности[0].МашиночитаемаяДоверенность;
|
||||
Строка.МашиночитаемаяДоверенность = Доверенности[0].МашиночитаемаяДоверенность;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
// Конец СтандартныеПодсистемы.МашиночитаемыеДоверенности
|
||||
|
||||
@@ -1080,6 +1080,93 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>Constant.НастройкиРегистрацииСобытийДоступаКДанным</name>
|
||||
<right>
|
||||
@@ -6024,93 +6111,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>Constant.ИспользоватьСинхронизациюДанныхВМоделиСервисаСЛокальнойПрограммой</name>
|
||||
<right>
|
||||
|
||||
@@ -534,6 +534,33 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>InformationRegister.ПредопределенныеВариантыОтчетовВерсийРасширений</name>
|
||||
<right>
|
||||
@@ -3062,33 +3089,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>Constant.ИспользоватьДатуНачалаЗадач</name>
|
||||
<right>
|
||||
|
||||
@@ -379,6 +379,33 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>InformationRegister.ПредопределенныеВариантыОтчетовВерсийРасширений</name>
|
||||
<right>
|
||||
@@ -2467,33 +2494,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>Constant.ИспользоватьДатуНачалаЗадач</name>
|
||||
<right>
|
||||
|
||||
@@ -149,6 +149,33 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>CommonCommand.СценарииСинхронизации</name>
|
||||
<right>
|
||||
@@ -1057,33 +1084,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>WebService.Exchange_3_0_2_2.Operation.Callback</name>
|
||||
<right>
|
||||
|
||||
@@ -72,6 +72,33 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>InformationRegister.ПричиныИзмененияАдресныхСведений</name>
|
||||
<right>
|
||||
@@ -325,31 +352,4 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
</Rights>
|
||||
+27
-27
@@ -3,6 +3,33 @@
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<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>
|
||||
<name>InformationRegister.СрокиХраненияПерсональныхДанных</name>
|
||||
<right>
|
||||
@@ -135,31 +162,4 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
</Rights>
|
||||
@@ -3,6 +3,33 @@
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<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>
|
||||
<name>DataProcessor.ЗагрузкаКлассификатораБанков.Command.ЗагрузкаКлассификатораБанков</name>
|
||||
<right>
|
||||
@@ -60,31 +87,4 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
</Rights>
|
||||
@@ -49,6 +49,33 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>Catalog.ПользовательскиеНастройкиОтчетов</name>
|
||||
<right>
|
||||
@@ -179,31 +206,4 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
</Rights>
|
||||
@@ -272,6 +272,33 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>DocumentJournal.Взаимодействия.Command.ПозвонитьПоПредмету</name>
|
||||
<right>
|
||||
@@ -1429,33 +1456,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>Subsystem.СтандартныеПодсистемы.Subsystem.Взаимодействия</name>
|
||||
<right>
|
||||
|
||||
@@ -3,6 +3,33 @@
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<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>
|
||||
<name>Catalog.ВидыКонтактнойИнформации</name>
|
||||
<right>
|
||||
@@ -81,31 +108,4 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
</Rights>
|
||||
@@ -14,6 +14,33 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>CommonForm.ГруппыПользователей</name>
|
||||
<right>
|
||||
@@ -124,31 +151,4 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
</Rights>
|
||||
@@ -65,29 +65,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.РучныеИзмененияГрафиковРаботы</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>
|
||||
<right>
|
||||
<name>TotalsControl</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
@@ -115,4 +92,27 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.РучныеИзмененияГрафиковРаботы</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>
|
||||
<right>
|
||||
<name>TotalsControl</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
</Rights>
|
||||
@@ -29,6 +29,33 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаЗагрузкиДанных</name>
|
||||
<right>
|
||||
@@ -131,33 +158,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<restrictionTemplate>
|
||||
<name>ДляРегистра(Регистр, Поле1, Поле2, Поле3, Поле4, Поле5)</name>
|
||||
<condition>// ДляРегистра(Регистр, Поле1, Поле2 = "", Поле3 = "", Поле4 = "", Поле5 = "")
|
||||
|
||||
@@ -18,6 +18,33 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<name>Report.ДатыЗапретаИзменения</name>
|
||||
<right>
|
||||
@@ -135,33 +162,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</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>
|
||||
<restrictionTemplate>
|
||||
<name>ДляРегистра(Регистр, Поле1, Поле2, Поле3, Поле4, Поле5)</name>
|
||||
<condition>// ДляРегистра(Регистр, Поле1, Поле2 = "", Поле3 = "", Поле4 = "", Поле5 = "")
|
||||
|
||||
Loaded 100 of 174 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user