3_0_2_208

This commit is contained in:
Компания 1С committed 2019-02-05 00:17:00 +03:00
1 parent 1269447e94
commit 67088525c2
129 files changed
+7224 -2432

No files matched your search

@@ -1104,10 +1104,10 @@
</edit>
</attributes>
<attributes>
<name>ЕстьФормаПрописей</name>
<name>ЕстьФормаПараметрыПрописиВалюты</name>
<title>
<key>ru</key>
<value>Есть форма прописей</value>
<value>Есть форма параметры прописи валюты</value>
</title>
<id>16</id>
<valueType>
@@ -41,8 +41,12 @@
КонецЕсли;
ЕстьФормаПрописей = Метаданные.Обработки.Найти("ЗагрузкаКурсовВалют") <> Неопределено;
ОбработкаЗагрузкаКурсовВалют = Метаданные.Обработки.Найти("ЗагрузкаКурсовВалют");
Если ОбработкаЗагрузкаКурсовВалют <> Неопределено Тогда
ЕстьФормаПараметрыПрописиВалюты = ОбработкаЗагрузкаКурсовВалют.Формы.Найти("ПараметрыПрописиВалюты") <> Неопределено;
КонецЕсли;
Элементы.КурсВалютыЗагружаетсяИзИнтернета.Видимость = ОбработкаЗагрузкаКурсовВалют <> Неопределено;
УстановитьДоступностьЭлементов(ЭтотОбъект);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
@@ -78,7 +82,7 @@
Процедура ПараметрыПрописиВалютыНажатие(Элемент)
ОписаниеОповещения = Новый ОписаниеОповещения("ПриИзмененииПараметровПрописиВалюты", ЭтотОбъект);
Если ЕстьФормаПрописей Тогда
Если ЕстьФормаПараметрыПрописиВалюты Тогда
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("ТолькоПросмотр", ТолькоПросмотр);
ПараметрыОткрытия.Вставить("ПараметрыПрописи", Объект.ПараметрыПрописи);
@@ -131,7 +131,9 @@
"ВЫБРАТЬ ПЕРВЫЕ 2
| ИСТИНА КАК ЗначениеИстина
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений";
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| НЕ ВерсииРасширений.ПометкаУдаления";
// Если справочник изменяется в другом сеансе, тогда нужно дождаться окончания изменений.
Блокировка = Новый БлокировкаДанных;
@@ -207,6 +209,7 @@
| ПО (СеансыВерсийРасширений.ВерсияРасширений = ВерсииРасширений.Ссылка)
|ГДЕ
| ВерсииРасширений.Ссылка <> &ТекущаяВерсияРасширений
| И НЕ ВерсииРасширений.ПометкаУдаления
|ИТОГИ ПО
| ВерсияРасширений
|;
@@ -214,21 +217,23 @@
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| ВерсииРасширений.Ссылка КАК ВерсияРасширений,
| ВерсииРасширений.ПоследняяДатаДобавленияВторойВерсии
| ВерсииРасширений.ПоследняяДатаДобавленияВторойВерсии КАК ПоследняяДатаДобавленияВторойВерсии
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| ВерсииРасширений.ПоследняяДатаДобавленияВторойВерсии <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| И НЕ ВерсииРасширений.ПометкаУдаления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| ВерсииРасширений.Ссылка КАК ВерсияРасширений,
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений КАК ДатаПервогоВходаПослеУдаленияВсехРасширений
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)";
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| И НЕ ВерсииРасширений.ПометкаУдаления";
// Если справочник ВерсииРасширений или регистр сведений СеансыВерсийРасширений изменяются в другом сеансе,
// тогда нужно дождаться окончания изменений.
@@ -311,8 +316,23 @@
Или ТекущаяВерсия = ВерсияИспользуемаяВНезарегистрированныхСеансах Тогда
Продолжить;
КонецЕсли;
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВерсииРасширений");
ЭлементБлокировки.УстановитьЗначение("Ссылка", ТекущаяВерсия);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
Объект = ТекущаяВерсия.ПолучитьОбъект();
Объект.Удалить();
Объект.ПометкаУдаления = Истина;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Объект);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
ВерсииУдалялись = Истина;
КонецЦикла;
@@ -331,9 +351,11 @@
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 2
| ВерсииРасширений.Ссылка КАК Ссылка,
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений КАК ДатаПервогоВходаПослеУдаленияВсехРасширений
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений";
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| НЕ ВерсииРасширений.ПометкаУдаления";
НачатьТранзакцию();
Попытка
@@ -468,7 +490,9 @@
| ВерсииРасширений.Ссылка КАК Ссылка,
| ВерсииРасширений.ОписаниеМетаданных КАК ОписаниеРасширений
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений";
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| НЕ ВерсииРасширений.ПометкаУдаления";
// Если справочник изменяется в другом сеансе, тогда нужно дождаться окончания изменений.
Блокировка = Новый БлокировкаДанных;
@@ -506,7 +530,9 @@
"ВЫБРАТЬ
| ВерсииРасширений.Ссылка КАК Ссылка
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений";
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| НЕ ВерсииРасширений.ПометкаУдаления";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() И Выборка.Количество() = 1 Тогда
Объект = Выборка.Ссылка.ПолучитьОбъект();
@@ -565,9 +591,11 @@
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 2
| ВерсииРасширений.Ссылка КАК Ссылка,
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений
| ВерсииРасширений.ДатаПервогоВходаПослеУдаленияВсехРасширений КАК ДатаПервогоВходаПослеУдаленияВсехРасширений
|ИЗ
| Справочник.ВерсииРасширений КАК ВерсииРасширений";
| Справочник.ВерсииРасширений КАК ВерсииРасширений
|ГДЕ
| НЕ ВерсииРасширений.ПометкаУдаления";
Выгрузка = Запрос.Выполнить().Выгрузить();
Если Выгрузка.Количество() = 1
@@ -40,6 +40,10 @@
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>Opening</event>
<name>НаименованиеОткрытие</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
@@ -194,6 +198,10 @@
<event>OnReadAtServer</event>
<name>ПриЧтенииНаСервере</name>
</handlers>
<handlers>
<event>BeforeWriteAtServer</event>
<name>ПередЗаписьюНаСервере</name>
</handlers>
<useForFoldersAndItems>Folders</useForFoldersAndItems>
</extInfo>
</form:Form>
@@ -27,18 +27,25 @@
УстановитьЗаголовок();
ЛокализуемыеЭлементы = Новый Массив;
ЛокализуемыеЭлементы.Добавить(Элементы.Наименование);
ЛокализацияСервер.ПриСозданииНаСервере(ЛокализуемыеЭлементы);
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ЛокализацияСервер.ПередЗаписьюНаСервере(ТекущийОбъект);
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
УстановитьЗаголовок();
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// СтандартныеПодсистемы.УправлениеДоступом
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
@@ -46,6 +53,16 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
ЛокализацияСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура НаименованиеОткрытие(Элемент, СтандартнаяОбработка)
ЛокализацияКлиент.ПриОткрытии(Объект, Элемент, "Наименование", СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
@@ -242,6 +242,7 @@
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<use>ForFolderAndItem</use>
</tabularSections>
<forms uuid="3fd4bc77-2a1b-4750-a54a-4171c8d40027">
<name>ФормаЭлемента</name>
@@ -30,7 +30,7 @@
Элементы.Создать.Вид = ВидГруппыФормы.ГруппаКнопок;
КонецЕсли;
Элементы.СоздатьКалендарь.Отображение = ОтображениеКнопки.Текст;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СоздатьКалендарь", "Отображение", ОтображениеКнопки.Текст);
КонецПроцедуры
@@ -185,7 +185,13 @@
&НаСервереБезКонтекста
Функция СостояниеКлассификатора()
Данные = УправлениеКонтактнойИнформацией.ТаблицаКлассификатора();
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
Возврат Новый ТаблицаЗначений;
КонецЕсли;
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
Данные = МодульРаботаСАдресами.ТаблицаКлассификатора();
Данные.Колонки.Добавить("ИндексПиктограммы", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(2, 0)));
Данные.ЗаполнитьЗначения(8, "ИндексПиктограммы");
@@ -754,6 +754,23 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ДанныеКлассификатораДоступны</name>
<title>
<key>ru</key>
<value>Данные классификатора доступны</value>
</title>
<id>5</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ОткрытьКлассификатор</name>
<title>
@@ -7,10 +7,10 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
//
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
@@ -18,11 +18,13 @@
// Инициализируем внутренние флаги.
МожноДобавлятьВСправочник = УправлениеКонтактнойИнформациейСлужебный.ЕстьПравоДобавления();
Если Параметры.РазрешитьДанныеКлассификатора=Неопределено Тогда
РазрешитьДанныеКлассификатора = Истина;
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
ДанныеКлассификатораДоступны = Ложь;
ИначеЕсли Параметры.РазрешитьДанныеКлассификатора = Неопределено Тогда
ДанныеКлассификатораДоступны = Истина;
Иначе
ТипБулево = Новый ОписаниеТипов("Булево");
РазрешитьДанныеКлассификатора = ТипБулево.ПривестиЗначение(Параметры.РазрешитьДанныеКлассификатора);
ДанныеКлассификатораДоступны = ТипБулево.ПривестиЗначение(Параметры.РазрешитьДанныеКлассификатора);
КонецЕсли;
ТолькоДанныеКлассификатора = Параметры.ТолькоДанныеКлассификатора;
@@ -33,9 +35,19 @@
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СписокВыбрать", "КнопкаПоУмолчанию", РежимВыбора);
Элементы.Создать.Видимость = МожноДобавлятьВСправочник;
// По флагам определяем режим
Если Не ДанныеКлассификатораДоступны Тогда
// Показываем только элементы справочника.
Элементы.СписокКлассификатор.Видимость = Ложь;
// Кнопки классификатора скрываем.
Элементы.СписокВыбратьИзКлассификатора.Видимость = Ложь;
Элементы.СписокКлассификатор.Видимость = Ложь;
Элементы.СписокСоздать.ТолькоВоВсехДействиях = Ложь;
Элементы.СписокСоздать.КнопкаПоУмолчанию = Не РежимВыбора;
Элементы.СписокСоздать.Заголовок = "";
Возврат;
КонецЕсли;
Если РежимВыбора Тогда
Если РазрешитьДанныеКлассификатора Тогда
Если ТолькоДанныеКлассификатора Тогда
Если МожноДобавлятьВСправочник Тогда
// Выбор только стран классификатора.
@@ -50,22 +62,13 @@
КонецЕсли;
Иначе
Если МожноДобавлятьВСправочник Тогда
// Показываем справочник и кнопку выбора из классификатора (установки по умолчанию).
Иначе
Если Не МожноДобавлятьВСправочник Тогда
// Кнопки классификатора скрываем.
Элементы.СписокВыбратьИзКлассификатора.Видимость = Ложь;
Элементы.СписокКлассификатор.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
Иначе
// Показываем только элементы справочника.
Элементы.СписокКлассификатор.Видимость = Ложь;
// Кнопки классификатора скрываем.
Элементы.СписокВыбратьИзКлассификатора.Видимость = Ложь;
Элементы.СписокКлассификатор.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -82,7 +85,7 @@
ПараметрыОткрытия.Вставить("РежимОткрытияОкна", РежимОткрытияОкна);
ПараметрыОткрытия.Вставить("ТекущаяСтрока", Элементы.Список.ТекущаяСтрока);
ОткрытьФорму("Справочник.СтраныМира.Форма.Классификатор", ПараметрыОткрытия, ВладелецФормы);
ПоказатьКлассификатор(ПараметрыОткрытия, ВладелецФормы);
Отказ = Истина;
КонецЕсли;
@@ -115,14 +118,15 @@
#КонецОбласти
#Область ОбработчикиКомандФормы
//
&НаКлиенте
Процедура ОткрытьКлассификатор(Команда)
// Открываем на просмотр
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("ТекущаяСтрока", Элементы.Список.ТекущаяСтрока);
ОткрытьФорму("Справочник.СтраныМира.Форма.Классификатор", ПараметрыОткрытия, Элементы.Список);
ПоказатьКлассификатор(ПараметрыОткрытия, Элементы.Список);
КонецПроцедуры
&НаКлиенте
@@ -135,14 +139,26 @@
ПараметрыОткрытия.Вставить("ТекущаяСтрока", Элементы.Список.ТекущаяСтрока);
ПараметрыОткрытия.Вставить("РежимОткрытияОкна", РежимОткрытияОкна);
ПараметрыОткрытия.Вставить("ТекущаяСтрока", Элементы.Список.ТекущаяСтрока);
ОткрытьФорму("Справочник.СтраныМира.Форма.Классификатор", ПараметрыОткрытия, Элементы.Список,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ПоказатьКлассификатор(ПараметрыОткрытия, Элементы.Список, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
//
&НаКлиенте
Процедура ПоказатьКлассификатор(ПараметрыОткрытия, ВладелецФормы, РежимОткрытияОкна = Неопределено);
Если Не ДанныеКлассификатораДоступны Тогда
Возврат;
КонецЕсли;
МодульРаботаСАдресамиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСАдресамиКлиент");
МодульРаботаСАдресамиКлиент.ПоказатьКлассификатор( ПараметрыОткрытия, ВладелецФормы, РежимОткрытияОкна);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьОтображениеСпискаСтран()
@@ -192,7 +208,9 @@
| СтраныМира.Код = Классификатор.Код
| И СтраныМира.Наименование = Классификатор.Наименование
|");
Запрос.УстановитьПараметр("Классификатор", УправлениеКонтактнойИнформацией.ТаблицаКлассификатора());
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
Запрос.УстановитьПараметр("Классификатор", МодульРаботаСАдресами.ТаблицаКлассификатора());
ЭлементОтбора.ПравоеЗначение = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
КонецПроцедуры
@@ -748,6 +748,36 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>Формулировка</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>Подсказка</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>СпособОтображенияПодсказки</name>
<valueType>
<types>EnumRef.СпособыОтображенияПодсказок</types>
</valueType>
</parameters>
<parameters>
<name>ЭтоНоваяСтрока</name>
<valueType>
<types>Boolean</types>
</valueType>
</parameters>
<parameters>
<name>СоставКомплексногоВопроса</name>
<valueType/>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -6,6 +6,12 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Параметры формы:
// СоставКомплексногоВопроса - ДанныеФормыКоллекция - с колонками:
// * ЭлементарныйВопрос - ПланВидовХарактеристикСсылка.ВопросыДляАнкетирования
// * НомерСтроки - Число
//
#Область ОбработчикиСобытийФормы
&НаСервере
@@ -125,7 +131,7 @@
|УПОРЯДОЧИТЬ ПО
| ЭлементарныеВопросы.НомерСтроки";
Запрос.УстановитьПараметр("Вопросы",Параметры.СоставКомплексногоВопроса.Выгрузить());
Запрос.УстановитьПараметр("Вопросы", Параметры.СоставКомплексногоВопроса.Выгрузить());
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда;
@@ -3171,6 +3171,46 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>ТипТабличногоВопроса</name>
<valueType>
<types>EnumRef.ТипыТабличныхВопросов</types>
</valueType>
</parameters>
<parameters>
<name>Формулировка</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>Подсказка</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>СпособОтображенияПодсказки</name>
<valueType>
<types>EnumRef.СпособыОтображенияПодсказок</types>
</valueType>
</parameters>
<parameters>
<name>ЭтоНоваяСтрока</name>
<valueType>
<types>Boolean</types>
</valueType>
</parameters>
<parameters>
<name>СоставТабличногоВопроса</name>
<valueType/>
</parameters>
<parameters>
<name>ПредопределенныеОтветы</name>
<valueType/>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -6,6 +6,12 @@
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Параметры формы:
// СоставТабличногоВопроса - ДанныеФормыКоллекция - с колонками:
// * ЭлементарныйВопрос - ПланВидовХарактеристикСсылка.ВопросыДляАнкетирования
// * НомерСтроки - Число
//
#Область ОбработчикиСобытийФормы
&НаКлиенте
@@ -584,13 +590,13 @@
СпособОтображенияПодсказки = Параметры.СпособОтображенияПодсказки;
ЭтоНоваяСтрока = Параметры.ЭтоНоваяСтрока;
Если НЕ Параметры.ТипТабличногоВопроса.Пустая() Тогда
ТипТабличногоВопроса = Параметры.ТипТабличногоВопроса;
Иначе
Если Параметры.ТипТабличногоВопроса.Пустая() Тогда
ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.Составной;
Возврат;
КонецЕсли;
ТипТабличногоВопроса = Параметры.ТипТабличногоВопроса;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| Вопросы.ЭлементарныйВопрос,
@@ -614,20 +620,18 @@
|УПОРЯДОЧИТЬ ПО
| ЭлементарныеВопросы.НомерСтроки";
Запрос.УстановитьПараметр("Вопросы",Параметры.СоставТабличногоВопроса.Выгрузить());
Запрос.УстановитьПараметр("Вопросы", Параметры.СоставТабличногоВопроса.Выгрузить());
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда;
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = Вопросы.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,Выборка);
КонецЦикла;
КонецЕсли;
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(Параметры.ПредопределенныеОтветы,Ответы);
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(Параметры.ПредопределенныеОтветы, Ответы);
КонецПроцедуры
@@ -15,7 +15,7 @@
Возврат;
КонецЕсли;
ЗаполнитьЗначенияСвойств(ЭтотОбъект,Параметры);
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры);
Если ТипСтрокиДерева = "Раздел" Тогда
Элементы.Обязательный.Видимость = Ложь;
@@ -910,51 +910,51 @@
&НаКлиенте
Процедура ОткрытьФормуПростыхВопросов(ТекущиеДанные)
СтруктураПараметры = Новый Структура;
СтруктураПараметры.Вставить("ТипСтрокиДерева",ТекущиеДанные.ТипСтроки);
СтруктураПараметры.Вставить("ЭлементарныйВопрос",ТекущиеДанные.ЭлементарныйВопрос);
СтруктураПараметры.Вставить("Обязательный",ТекущиеДанные.Обязательный);
СтруктураПараметры.Вставить("ТипВопроса",ТекущиеДанные.ТипВопроса);
СтруктураПараметры.Вставить("Формулировка",ТекущиеДанные.Формулировка);
СтруктураПараметры.Вставить("ЗакрыватьПриВыборе",Истина);
СтруктураПараметры.Вставить("ЗакрыватьПриЗакрытииВладельца",Истина);
СтруктураПараметры.Вставить("ТолькоПросмотр",Ложь);
СтруктураПараметры.Вставить("Заметки", ТекущиеДанные.Заметки);
СтруктураПараметры.Вставить("ЭтоНоваяСтрока", ТекущиеДанные.ЭтоНоваяСтрока);
СтруктураПараметры.Вставить("Подсказка", ТекущиеДанные.Подсказка);
СтруктураПараметры.Вставить("СпособОтображенияПодсказки", ТекущиеДанные.СпособОтображенияПодсказки);
ПростойВопрос = Новый Структура;
ПростойВопрос.Вставить("ТипСтрокиДерева", ТекущиеДанные.ТипСтроки);
ПростойВопрос.Вставить("ЭлементарныйВопрос", ТекущиеДанные.ЭлементарныйВопрос);
ПростойВопрос.Вставить("Обязательный", ТекущиеДанные.Обязательный);
ПростойВопрос.Вставить("ТипВопроса", ТекущиеДанные.ТипВопроса);
ПростойВопрос.Вставить("Формулировка", ТекущиеДанные.Формулировка);
ПростойВопрос.Вставить("ЗакрыватьПриВыборе", Истина);
ПростойВопрос.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина);
ПростойВопрос.Вставить("ТолькоПросмотр", Ложь);
ПростойВопрос.Вставить("Заметки", ТекущиеДанные.Заметки);
ПростойВопрос.Вставить("ЭтоНоваяСтрока", ТекущиеДанные.ЭтоНоваяСтрока);
ПростойВопрос.Вставить("Подсказка", ТекущиеДанные.Подсказка);
ПростойВопрос.Вставить("СпособОтображенияПодсказки", ТекущиеДанные.СпособОтображенияПодсказки);
ОткрытьФорму("Справочник.ШаблоныАнкет.Форма.ФормаПростыхВопросов",СтруктураПараметры,ЭтотОбъект);
ОткрытьФорму("Справочник.ШаблоныАнкет.Форма.ФормаПростыхВопросов", ПростойВопрос, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуМастераКомплексныхВопросов(ТекущиеДанные)
СтруктураПараметры = Новый Структура;
СтруктураПараметры.Вставить("СоставКомплексногоВопроса",ТекущиеДанные.СоставКомплексногоВопроса);
СтруктураПараметры.Вставить("Формулировка",ТекущиеДанные.Формулировка);
СтруктураПараметры.Вставить("Подсказка",ТекущиеДанные.Подсказка);
СтруктураПараметры.Вставить("СпособОтображенияПодсказки",ТекущиеДанные.СпособОтображенияПодсказки);
СтруктураПараметры.Вставить("ЭтоНоваяСтрока", ТекущиеДанные.ЭтоНоваяСтрока);
КомплексныйВопрос = Новый Структура;
КомплексныйВопрос.Вставить("СоставКомплексногоВопроса", ТекущиеДанные.СоставКомплексногоВопроса);
КомплексныйВопрос.Вставить("Формулировка" ,ТекущиеДанные.Формулировка);
КомплексныйВопрос.Вставить("Подсказка", ТекущиеДанные.Подсказка);
КомплексныйВопрос.Вставить("СпособОтображенияПодсказки", ТекущиеДанные.СпособОтображенияПодсказки);
КомплексныйВопрос.Вставить("ЭтоНоваяСтрока", ТекущиеДанные.ЭтоНоваяСтрока);
ОткрытьФорму("Справочник.ШаблоныАнкет.Форма.ФормаМастераКомплексныхВопросов",СтруктураПараметры,ЭтотОбъект);
ОткрытьФорму("Справочник.ШаблоныАнкет.Форма.ФормаМастераКомплексныхВопросов", КомплексныйВопрос, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуМастераТабличныхВопросов(ТекущиеДанные)
СтруктураПараметры = Новый Структура;
СтруктураПараметры.Вставить("ТипТабличногоВопроса", ТекущиеДанные.ТипТабличногоВопроса);
СтруктураПараметры.Вставить("СоставТабличногоВопроса", ТекущиеДанные.СоставТабличногоВопроса);
СтруктураПараметры.Вставить("ПредопределенныеОтветы", ТекущиеДанные.ПредопределенныеОтветы);
СтруктураПараметры.Вставить("Формулировка", ТекущиеДанные.Формулировка);
СтруктураПараметры.Вставить("Подсказка", ТекущиеДанные.Подсказка);
СтруктураПараметры.Вставить("СпособОтображенияПодсказки", ТекущиеДанные.СпособОтображенияПодсказки);
СтруктураПараметры.Вставить("ЭтоНоваяСтрока", ТекущиеДанные.ЭтоНоваяСтрока);
ТабличныйВопрос = Новый Структура;
ТабличныйВопрос.Вставить("ТипТабличногоВопроса", ТекущиеДанные.ТипТабличногоВопроса);
ТабличныйВопрос.Вставить("СоставТабличногоВопроса", ТекущиеДанные.СоставТабличногоВопроса);
ТабличныйВопрос.Вставить("ПредопределенныеОтветы", ТекущиеДанные.ПредопределенныеОтветы);
ТабличныйВопрос.Вставить("Формулировка", ТекущиеДанные.Формулировка);
ТабличныйВопрос.Вставить("Подсказка", ТекущиеДанные.Подсказка);
ТабличныйВопрос.Вставить("СпособОтображенияПодсказки", ТекущиеДанные.СпособОтображенияПодсказки);
ТабличныйВопрос.Вставить("ЭтоНоваяСтрока", ТекущиеДанные.ЭтоНоваяСтрока);
ОткрытьФорму("Справочник.ШаблоныАнкет.Форма.ФормаМастераТабличныхВопросов",СтруктураПараметры,ЭтотОбъект);
ОткрытьФорму("Справочник.ШаблоныАнкет.Форма.ФормаМастераТабличныхВопросов", ТабличныйВопрос, ЭтотОбъект);
КонецПроцедуры
@@ -7,7 +7,11 @@
</li><li><a href="#1">Печать комплекта</a>;
</li><li><a href="#2">Настраиваемый комплект</a>.</li></ul><h3>Вывод на принтер</h3>
<ul><li>Нажмите <strong>Печать</strong> для вывода нужного количества копий сформированной печатной формы на принтер.</li></ul><h3>Количество копий</h3>
<ul><li>Укажите количество <strong>Копий</strong>. Выбранное количество копий запоминается. Для комплектов документов количество копий зависит от настроек комплекта.</li></ul><h3>Редактирование печатной формы</h3>
<ul><li>Укажите количество <strong>Копий</strong>. Выбранное количество копий запоминается. Для комплектов документов количество копий зависит от настроек комплекта.</li></ul><h3>Просмотр и изменение параметров печати</h3>
<ul><li>
<div>С помощью кнопки <img src="StdPicture.SyncContents"></img> <strong>Предварительный просмотр</strong> (справа от кнопки <strong>Печать</strong>) можно просмотреть документ перед печатью. В окне <strong>Предварительный просмотр</strong> можно распечатать документ или изменить параметры печати.</div>
</li><li>
<div>Если вид полученной по умолчанию страницы не устраивает, то с помощью команды меню <strong>Еще - </strong><strong>Параметры страницы</strong> или соответствующей кнопки в окне <strong>Предварительный просмотр</strong> можно просмотреть текущие настройки и изменить поля, ориентацию страницы и т.д., а также выбрать принтер, на котором будет осуществляться печать документа. </div></li></ul><h3>Редактирование печатной формы</h3>
<ul><li>С помощью кнопки <img src="StdPicture.SpreadsheetReadOnly"></img> <strong>Редактирование</strong> можно включить режим редактирования этой печатной формы. В этом случае печатная форма будет занята и другие пользователи не смогут ее редактировать. Повторным нажатием кнопки можно отключить режим редактирования.</li></ul><h3>Сохранение печатных форм</h3>
<ul><li>По кнопке <strong>Сохранить</strong> имеется  возможность <a href="CommonForm.СохранениеПечатнойФормы/Help">сохранить</a> печатные формы в нужных форматах в папку на компьютере или присоединить к документу. Выберите с помощью переключателя способ сохранения документа и нужные форматы для сохранения.</li></ul><h3>Отправка по электронной почте</h3>
<p>Сформированные печатные формы документа можно <strong>Отправить</strong> в качестве вложений в <a href="CommonForm.ОтправкаСообщения/Help">электронном письме</a>. </p>
@@ -46,8 +50,28 @@
</li><li>Кроме этого, можно изменить количество <strong>Копий комплекта</strong>.
</li><li>Для удобства просмотра печатной формы можно отключить панель настройки количества копий с помощью кнопки <img src="StdPicture.ListViewModeHierarchicalList"></img><strong>Показать/Скрыть настройку количества копий</strong>.</li></ul><h3>Показатели выделенных ячеек</h3>
<ul><li>
<div>С помощью кнопки <img src="CommonPicture.Сумма" width="16" height="16"></img> можно подсчитать сумму, среднее, минимум и максимум. Указывается также общее количество выделенных ячеек и количество числовых ячеек. Расчеты проводятся только для числовых ячеек.</div>
<div>В программе предусмотрена кнопка с выпадающим подменю для выбора основного вида расчетного показателя для выделенных ячеек, выбранный показатель отображается на кнопке:</div>
<ul><li>
<div><img src="CommonPicture.Сумма" width="16" height="16"></img> Сумма;</div>
</li><li>
<div>Выделите нужные ячейки с числами.</div>
<div><img src="CommonPicture.Среднее"></img> - среднее арифметическое выделенных ячеек;</div>
</li><li>
<div>Нажмите <img src="CommonPicture.Сумма"></img>, для того чтобы подсчитать <strong>Показатели выделенных ячеек</strong>.</div></li></ul></body></html>
<div><img src="CommonPicture.Количество"></img> - количество выделенных ячеек;</div>
</li><li>
<div><img src="CommonPicture.Минимум"></img> - минимальное число, содержащее в выделенных ячейках;</div>
</li><li>
<div><img src="CommonPicture.Максимум"></img> - максимум;</div>
</li><li>
<div><strong>Все показатели</strong> - если включен флажок, то в нижней части варианта отчета (подвале) показывается строка, в которой выводятся все показатели из списка.</div></li></ul></li><li>
<div>Выделите нужные ячейки с числами. </div>
</li><li>
<div>Перед кнопкой выбора показателей размещено поле, отражающее значение выбранного показателя.</div>
</li><li>
<div>При изменении области выделенных ячеек показатели рассчитываются динамически.</div>
</li><li>
<div>Убрать панель расчетных показателей в нижней части отчета можно двумя способами:</div>
<ul><li>
<div>С помощью кнопки <img src="CommonPicture.СтрелкаВнизЗеленая"></img> справа от панели;</div>
</li><li>
<div>Отключить флажок <strong>Все показатели</strong> в выпадающем меню.</div></li></ul></li><li>
<div><strong>Внимание!</strong> При вычислении показателей выполняется преобразование текстовых строк в выбранных ячейках в числа. Преобразование происходит в соответствии с региональными настройками. При этом если форматирование числовых полей было перенастроено так, что представление числа перестает им соответствовать, то показатели не вычисляются.</div></li></ul></body></html>
@@ -55,7 +55,7 @@
</li><li>
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">Также команду можно найти в контекстном меню по правой кнопке мыши.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">Просмотр предупреждений</h3>
<ul><li>
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">Пройдите по ссылке <img src="CommonPicture.Предупреждение"></img> <strong>Предупреждения</strong> (в скобках отражается количество предупреждений), для того чтобы подробнее ознакомиться с <a href="InformationRegister.РезультатыОбменаДанными/Help">предупреждениями</a> при синхронизации данных.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">Просмотр журнала регистрации</h3>
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">Пройдите по ссылке <img src="CommonPicture.Предупреждение"></img> <strong>Предупреждения</strong> (в скобках отражается количество предупреждений), для того чтобы подробнее ознакомиться с <a href="InformationRegister.УдалитьРезультатыОбменаДанными/Help">предупреждениями</a> при синхронизации данных.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">Просмотр журнала регистрации</h3>
<ul><li>
<div style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">С помощью команд меню <strong>Еще - </strong><strong>События отправки данных</strong> или <strong>События получения данных</strong> можно подробно узнать, как проходила синхронизация данных, из <a href="DataProcessor.ЖурналРегистрации/Help">журнала регистрации</a> программы, отфильтрованного по событиям синхронизации, а также просмотреть каждое <a href="DataProcessor.ЖурналРегистрации.Form.Событие/Help">событие</a>.</div></li></ul><h3 style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto">Замена правил для синхронизации из внешнего файла</h3>
<ul dir="ltr"><li>
@@ -37,7 +37,33 @@
<li>
<div><strong>Создать</strong> <a href="Catalog.РассылкиОтчетов.Form.ФормаЭлемента/Help">рассылку отчетов</a>;</div>
</li><li>
<div><strong>Включить в существующую рассылку отчетов</strong>. Для этого из <a href="Catalog.РассылкиОтчетов/Help">списка рассылок</a> выберите нужную.</div></li></a></li></ul><h3>Выбор варианта отчета</h3>
<div><strong>Включить в существующую рассылку отчетов</strong>. Для этого из <a href="Catalog.РассылкиОтчетов/Help">списка рассылок</a> выберите нужную.</div></li></a></li></ul><h3>Показатели выделенных ячеек</h3>
<ul><li>
<div>В программе предусмотрена кнопка с выпадающим подменю для выбора основного вида расчетного показателя для выделенных ячеек, выбранный показатель отображается на кнопке:</div>
<ul><li>
<div><img src="CommonPicture.Сумма" width="16" height="16"></img> Сумма;</div>
</li><li>
<div><img src="CommonPicture.Среднее"></img> - среднее арифметическое выделенных ячеек;</div>
</li><li>
<div><img src="CommonPicture.Количество"></img> - количество выделенных ячеек;</div>
</li><li>
<div><img src="CommonPicture.Минимум"></img> - минимальное число, содержащее в выделенных ячейках;</div>
</li><li>
<div><img src="CommonPicture.Максимум"></img> - максимум;</div>
</li><li>
<div><strong>Все показатели</strong> - если включен флажок, то в нижней части варианта отчета (подвале) показывается строка, в которой выводятся все показатели из списка.</div></li></ul></li><li>
<div>Выделите нужные ячейки с числами. </div>
</li><li>
<div>Перед кнопкой выбора показателей размещено поле, отражающее значение выбранного показателя.</div>
</li><li>
<div>При изменении области выделенных ячеек показатели рассчитываются динамически.</div>
</li><li>
<div>Убрать панель расчетных показателей в нижней части отчета можно двумя способами:</div>
<ul><li>
<div>С помощью кнопки <img src="CommonPicture.СтрелкаВнизЗеленая"></img> справа от панели;</div>
</li><li>
<div>Отключить флажок <strong>Все показатели</strong> в выпадающем меню.</div></li></ul></li><li>
<div><strong>Внимание!</strong> При вычислении показателей выполняется преобразование текстовых строк в выбранных ячейках в числа. Преобразование происходит в соответствии с региональными настройками. При этом если форматирование числовых полей было перенастроено так, что представление числа перестает им соответствовать, то показатели не вычисляются.</div></li></ul><h3>Выбор варианта отчета</h3>
<ul><li>Для загрузки ранее сохраненного варианта отчета воспользуйтесь командой <strong>Еще - Прочее - Выбрать вариант отчета</strong>.
<ul><li>в <a href="SettingsStorage.ХранилищеВариантовОтчетов.Form.ВыборВариантаОтчета/Help">списке вариантов отчета</a> нажмите кнопку <strong>Выбрать</strong> для перехода к нужному варианту отчета. </li></ul></li></ul><h3>Изменение варианта отчета</h3>
<ul><li>
@@ -342,17 +342,16 @@
// Загрузка фиксированных настроек для режима расшифровки.
Если РежимРасшифровки Тогда
ОтчетНаименованиеТекущегоВарианта = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
НовыеНастройкиКД.ДополнительныеСвойства, "ВариантНаименование", ПредставлениеТекущегоВарианта);
ОтчетНаименованиеТекущегоВарианта = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(НовыеНастройкиКД.ДополнительныеСвойства, "ВариантНаименование");
Если Параметры <> Неопределено И Параметры.Свойство("Расшифровка") Тогда
Отчет.КомпоновщикНастроек.ЗагрузитьФиксированныеНастройки(Параметры.Расшифровка.ПрименяемыеНастройки);
Отчет.КомпоновщикНастроек.ФиксированныеНастройки.ДополнительныеСвойства.Вставить("РежимРасшифровки", Истина);
КонецЕсли;
Если КлючТекущегоВарианта = Неопределено Тогда
КлючТекущегоВарианта = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(НовыеНастройкиКД.ДополнительныеСвойства, "КлючВарианта");
КонецЕсли;
Иначе
Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ВариантНаименование", ОтчетНаименованиеТекущегоВарианта);
КонецЕсли;
// Установка фиксированных отборов выполняется через компоновщик, т.к. в нем наиболее полная коллекция настроек.
@@ -1737,6 +1736,7 @@
Запрос = Новый Запрос("
|ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| ВариантыОтчетов.Ссылка КАК ВариантСсылка,
| ВариантыОтчетов.Представление КАК ВариантНаименование,
| ВариантыОтчетов.ПредопределенныйВариант.КлючЗамеров КАК КлючЗамеров,
| ВариантыОтчетов.ПредопределенныйВариант КАК ПредопределенныйСсылка,
| ВЫБОР
@@ -1771,6 +1771,11 @@
НастройкиОтчета.ПредопределенныйСсылка = Выборка.ПредопределенныйСсылка;
НастройкиОтчета.ИмяИсходногоВарианта = ?(Выборка.Пользовательский, Выборка.ИмяИсходногоВарианта, КлючТекущегоВарианта);
НастройкиОтчета.Пользовательский = Выборка.Пользовательский;
Если Не РежимРасшифровки Тогда
ОтчетНаименованиеТекущегоВарианта = Выборка.ВариантНаименование;
ДополнительныеСвойства.ВариантНаименование = ОтчетНаименованиеТекущегоВарианта;
КонецЕсли;
КонецПроцедуры
&НаСервере
@@ -1042,6 +1042,8 @@
КонецЕсли;
Возврат Новый COMОбъект(ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя());
#ИначеЕсли МобильныйКлиент Тогда
ВызватьИсключение НСтр("ru = 'Внимание! Администрирование кластера невозможно в мобильном клиенте'");
#Иначе
Возврат Новый COMОбъект(СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ИмяCOMСоединителя);
#КонецЕсли
@@ -109,6 +109,7 @@
НачалоПериода = НачалоДня(ТекущаяУниверсальнаяДата());
КонецПериода = НачалоДня(ДатаПоследнейЗагрузки);
ДнейРазницы = Цел((НачалоПериода - КонецПериода) / 86400);
Представление = "";
Если ДнейРазницы = 0 Тогда
Представление = НСтр("ru = 'Адресный классификатор был загружен сегодня.'");
@@ -1849,9 +1849,9 @@
КонецЦикла;
КонецЕсли;
ОбщегоНазначенияКлиентСервер.СвернутьМассив(СсылкиОтчетовКонфигурации);
ОбщегоНазначенияКлиентСервер.СвернутьМассив(СсылкиОтчетовРасширений);
ОбщегоНазначенияКлиентСервер.СвернутьМассив(СсылкиДопОтчетов);
СсылкиОтчетовКонфигурации = ОбщегоНазначенияКлиентСервер.СвернутьМассив(СсылкиОтчетовКонфигурации);
СсылкиОтчетовРасширений = ОбщегоНазначенияКлиентСервер.СвернутьМассив(СсылкиОтчетовРасширений);
СсылкиДопОтчетов = ОбщегоНазначенияКлиентСервер.СвернутьМассив(СсылкиДопОтчетов);
Если СсылкиОтчетовКонфигурации.Количество() > 0 Тогда
ПриОпределенииДоступностиОтчетов(СсылкиОтчетовКонфигурации, Результат);
@@ -5297,7 +5297,9 @@
КонецЦикла;
Возврат СтрСоединить(ОбщегоНазначенияКлиентСервер.СвернутьМассив(Результат), Символы.ПС);
Результат = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Результат);
Возврат СтрСоединить(Результат, Символы.ПС);
КонецФункции
// Представления параметров и отборов из СКД.
@@ -5353,7 +5355,9 @@
КонецЦикла;
Возврат СтрСоединить(ОбщегоНазначенияКлиентСервер.СвернутьМассив(Результат), Символы.ПС);
Результат = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Результат);
Возврат СтрСоединить(Результат, Символы.ПС);
КонецФункции
// Извлекает текстовую информацию из макета.
@@ -6083,8 +6087,8 @@
Процедура ПодготовитьЗапросОтчетовСПростымиОтборами(Знач Запрос, ТекстЗапроса, Знач ЕстьОтборПоТипамОтчетов, Знач ПараметрыПоиска)
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТекстЗапроса = "
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВариантыОтчетов.Ссылка КАК Ссылка,
| ВариантыОтчетов.Родитель КАК Родитель,
| ВЫБОР
@@ -6092,7 +6096,7 @@
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА &ЭтоОсновнойЯзык
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ВариантыКонфигурации.Наименование, ВариантыРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ПредставленияПользовательских.Наименование) КАК СТРОКА(1000))
| КОНЕЦ КАК Наименование,
| ВариантыОтчетов.ТолькоДляАвтора КАК ТолькоДляАвтора,
| ВЫБОР
@@ -6124,13 +6128,15 @@
| ВЫБОР
| КОГДА &НеПолучатьОписания
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ЕСТЬNULL(ПредставленияПользовательских.Описание, """"), 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияПользовательских.Описание КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ("""" КАК СТРОКА(1000))
| КОНЕЦ КАК Описание,
| НЕОПРЕДЕЛЕНО КАК Подсистема,
| """" КАК НаименованиеПодсистемы,
@@ -6143,6 +6149,9 @@
| ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыКонфигурации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширений
| ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыРасширений.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Представления КАК ПредставленияПользовательских
| ПО ВариантыОтчетов.Ссылка = ПредставленияПользовательских.Ссылка
| И (ПредставленияПользовательских.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Представления КАК ПредставленияИзКонфигурации
| ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзКонфигурации.Ссылка
| И (ПредставленияИзКонфигурации.КодЯзыка = &КодЯзыка)
@@ -6155,11 +6164,13 @@
| ИЛИ ВариантыОтчетов.ТипОтчета В (&ТипыОтчетов))
| И НЕ ВариантыОтчетов.ПредопределенныйВариант В (&ОтключенныеВариантыПрограммы)
| И (НЕ ВариантыОтчетов.Пользовательский
| ИЛИ &НетОтбораПоПометкеУдаления ИЛИ НЕ ВариантыОтчетов.ИнтерактивнаяПометкаУдаления)
| ИЛИ &НетОтбораПоПометкеУдаления
| ИЛИ НЕ ВариантыОтчетов.ИнтерактивнаяПометкаУдаления)
| И (ВариантыОтчетов.Пользовательский
| ИЛИ &НетОтбораПоПометкеУдаления ИЛИ НЕ ВариантыОтчетов.ПометкаУдаления)
| ИЛИ &НетОтбораПоПометкеУдаления
| ИЛИ НЕ ВариантыОтчетов.ПометкаУдаления)
| И (&ПоказыватьЛичныеВариантыОтчетовДругихАвторов
| ИЛИ ВариантыОтчетов.ТолькоДляАвтора = ЛОЖЬ
| ИЛИ НЕ ВариантыОтчетов.ТолькоДляАвтора
| ИЛИ ВариантыОтчетов.Автор = &ТекущийПользователь)";
КонецПроцедуры
@@ -6559,7 +6570,7 @@
| ПредопределенныеРазмещение.СмТакже,
| ВЫБОР
| КОГДА &ЭтоОсновнойЯзык
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.ПредопределенныйВариант.Наименование КАК СТРОКА(1000))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыРасширений.Наименование, ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзРасширений.Наименование, ПредставленияВариантов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ,
| ВЫБОР
@@ -6610,21 +6621,14 @@
| ВариантыРазмещение.Важный КАК Важный,
| ВариантыРазмещение.СмТакже КАК СмТакже,
| ВЫБОР
| КОГДА ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (НЕОПРЕДЕЛЕНО, ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка), ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыПредставления.Наименование, ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.ПредопределенныйВариант.Наименование КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование) КАК СТРОКА(1000))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ВариантыКонфигурации.Наименование, ВариантыРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ВариантыПредставления.Наименование) КАК СТРОКА(1000))
| КОНЕЦ КАК Наименование,
| ВЫБОР
| КОГДА ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (НЕОПРЕДЕЛЕНО, ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка), ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыПредставления.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.ПредопределенныйВариант.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание) КАК СТРОКА(1000))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание), ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание), ВариантыПредставления.Описание) КАК СТРОКА(1000))
| КОНЕЦ КАК Описание,
| ВариантыОтчетов.Отчет КАК Отчет,
| ВариантыОтчетов.ТипОтчета КАК ТипОтчета,
@@ -6644,15 +6648,19 @@
| Справочник.ВариантыОтчетов.Размещение КАК ВариантыРазмещение
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов КАК ВариантыОтчетов
| ПО (ВариантыОтчетов.Ссылка = ВариантыРазмещение.Ссылка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Представления КАК ПредставленияИзКонфигурации
| ПО (ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзКонфигурации.Ссылка)
| И (ПредставленияИзКонфигурации.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений.Представления КАК ПредставленияИзРасширений
| ПО (ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзРасширений.Ссылка)
| И (ПредставленияИзРасширений.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Представления КАК ВариантыПредставления
| ПО (ВариантыОтчетов.Ссылка = ВариантыПредставления.Ссылка)
| И (ВариантыПредставления.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов КАК ВариантыКонфигурации
| ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыКонфигурации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Представления КАК ПредставленияИзКонфигурации
| ПО (ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзКонфигурации.Ссылка)
| И (ПредставленияИзКонфигурации.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширений
| ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыРасширений.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений.Представления КАК ПредставленияИзРасширений
| ПО (ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзРасширений.Ссылка)
| И (ПредставленияИзРасширений.КодЯзыка = &КодЯзыка)
|ГДЕ
| (ВариантыРазмещение.Ссылка В (&ВариантыНайденныеПоиском)
| ИЛИ (&НетОтбораПоПодсистемамИОтчетам
@@ -6729,7 +6737,7 @@
| ТОГДА """"
| ИНАЧЕ ПОДСТРОКА(ВЫРАЗИТЬ(втВсеВарианты.Отчет КАК СТРОКА(150)), 14, 137)
| КОНЕЦ КАК ИмяОтчета,
| втВсеВарианты.Наименование КАК Наименование,
| ЕСТЬNULL(втВсеВарианты.Наименование, """") КАК Наименование,
| втВсеВарианты.Описание КАК Описание,
| втВсеВарианты.Автор КАК Автор,
| втВсеВарианты.Отчет КАК Отчет,
@@ -6868,6 +6876,13 @@
ТаблицаРезультат.Удалить(НедоступныйОтчет);
КонецЦикла;
ОтчетыНеименованные = ТаблицаРезультат.НайтиСтроки(Новый Структура("Наименование", ""));
Для Каждого ОписаниеОтчета Из ОтчетыНеименованные Цикл
Если ЗначениеЗаполнено(ОписаниеОтчета.ИмяОтчета) Тогда
ОписаниеОтчета.Наименование = ОписаниеОтчета.ИмяОтчета;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
@@ -37,14 +37,14 @@
// Возвращает ссылку на объект авторизации внешнего пользователя, полученный из информационной базы.
// Объект авторизации - это ссылка на объект информационной базы, используемый
// для связи с внешним пользователем, например, контрагент, физическое лицо и т.д.
// для связи с внешним пользователем, например: контрагент, физическое лицо и т.д.
//
// Параметры:
// ВнешнийПользователь - Неопределено - используется текущий внешний пользователь.
// - СправочникСсылка.ВнешниеПользователи - указанный внешний пользователь.
//
// Возвращаемое значение:
// Ссылка - объект авторизации одного из типов, указанных в описании типов в свойстве.
// Ссылка - объект авторизации одного из типов, указанных в описании типов в свойстве
// "Метаданные.Справочники.ВнешниеПользователи.Реквизиты.ОбъектыАвторизации.Тип".
//
Функция ПолучитьОбъектАвторизацииВнешнегоПользователя(ВнешнийПользователь = Неопределено) Экспорт
@@ -75,7 +75,7 @@
КонецФункции
// Используется для настройки отображения наличия внешних пользователей в списках справочников (партнеры, респонденты и др.)
// Используется для настройки отображения наличия внешних пользователей в списках справочников (партнеры, респонденты и др.),
// являющихся объектом авторизации в справочнике ВнешниеПользователи.
//
// Параметры:
@@ -28,7 +28,7 @@
// РегистрРасчетаНаборЗаписей - проверяемый элемент данных или набор записей.
// - Строка - полное имя объекта метаданных, данные которого следует проверить в базе данных.
// Например: "Документ.ПриходнаяНакладная".
// В этом случае, следует указать в параметре ИдентификаторДанных,
// В этом случае следует указать в параметре ИдентификаторДанных,
// какие именно данные требуется прочитать из базы и проверить.
//
// ИдентификаторДанных - СправочникСсылка,
@@ -233,10 +233,10 @@
//
// Параметры:
// Данные - ТаблицаЗначений - передается в процедуру ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения.
// Таблица - Строка - полное имя объекта метаданных, например, "Документ.ПриходнаяНакладная".
// ПолеДаты - Строка - имя реквизита объекта или табличной части, например "Дата", "Товары.ДатаОтгрузки".
// Таблица - Строка - полное имя объекта метаданных, например "Документ.ПриходнаяНакладная".
// ПолеДаты - Строка - имя реквизита объекта или табличной части, например: "Дата", "Товары.ДатаОтгрузки".
// Раздел - Строка - имя предопределенного элемента ПланВидовХарактеристикСсылка.РазделыДатЗапрета.
// ПолеОбъекта - Строка - имя реквизита объекта или реквизита табличной части, например "Организация", "Товары.Склад".
// ПолеОбъекта - Строка - имя реквизита объекта или реквизита табличной части, например: "Организация", "Товары.Склад".
//
Процедура ДобавитьСтроку(Данные, Таблица, ПолеДаты, Раздел = "", ПолеОбъекта = "") Экспорт
@@ -274,18 +274,18 @@
// - Строка - (возвращаемое значение) - вернуть текстовое описание найденных запретов.
// - Структура - (возвращаемое значение) - вернуть структурное описание найденных запретов:
// * ПредставлениеДанных - Строка - представление данных, используемое в заголовке ошибки.
// * ЗаголовокОшибки - Строка - строка подобная следующей:
// * ЗаголовокОшибки - Строка - строка, подобная следующей:
// "Заказ 10 от 01.01.2017 невозможно изменить в запрещенном периоде.".
// * Запреты - ТаблицаЗначений - найденные запреты в виде таблицы с колонками:
// ** Дата - Дата - проверяемая дата.
// ** Раздел - Строка - имя раздела, по которому выполнялся поиск запретов, если
// пустая строка, значит выполнялся поиск даты, действующей для всех разделов.
// пустая строка, значит, выполнялся поиск даты, действующей для всех разделов.
// ** Объект - ЛюбаяСсылка - ссылка на объект, по которому выполнялся поиск даты запрета.
// - Неопределено - выполнялся поиск даты, действующей для всех объектов.
// ** ДатаЗапрета - Дата - найденная дата запрета.
// ** ОбщаяДата - Булево - если Истина, значит найденная дата запрета действует для
// ** ОбщаяДата - Булево - если Истина, значит, найденная дата запрета действует для
// всех разделов, а не только для раздела, по которому выполнялся поиск.
// ** ДляВсехОбъектов - Булево - если Истина, значит найденная дата запрета действует для
// ** ДляВсехОбъектов - Булево - если Истина, значит, найденная дата запрета действует для
// всех объектов, а не только для объекта, по которому выполнялся поиск.
// ** Адресат - ОпределяемыйТип.АдресатЗапретаИзменения - пользователь или узел
// плана обмена, для которого задана найденная дата запрета.
@@ -298,7 +298,7 @@
// загрузки данных для указанного узла.
//
// Возвращаемое значение:
// Булево - если Истина, значит найден хотя бы один запрет изменения.
// Булево - если Истина, значит, найден хотя бы один запрет изменения.
//
Функция НайденЗапретИзмененияДанных(Знач ДанныеДляПроверки,
ОписаниеДанных = Неопределено,
@@ -12,7 +12,7 @@
//
// Параметры:
// НастройкиРаботыИнтерфейса - Структура - содержит свойство:
// * ИспользоватьВнешнихПользователей - Булево - (начальное значение Ложь),
// * ИспользоватьВнешнихПользователей - Булево - начальное значение Ложь,
// если установить Истина, тогда даты запрета можно будет настраивать для внешних пользователей.
//
Процедура НастройкаИнтерфейса(НастройкиРаботыИнтерфейса) Экспорт
@@ -26,19 +26,19 @@
//
// Параметры:
// Разделы - ТаблицаЗначений - с колонками:
// * Имя - Строка - имя используемое в описании источников данных в
// * Имя - Строка - имя, используемое в описании источников данных в
// процедуре ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения.
//
// * Идентификатор - УникальныйИдентификатор - идентификатор ссылки элемента плана видов характеристик.
// Чтобы получить идентификатор нужно в режиме 1С:Предприятия выполнить метод платформы:
// Чтобы получить идентификатор, нужно в режиме 1С:Предприятие выполнить метод платформы:
// "ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.ПолучитьСсылку().УникальныйИдентификатор()".
// Не следует указывать идентификаторы, полученные любым другим способом,
// так как это может нарушить их уникальность.
//
// * Представление - Строка - представляет раздел в форме настройки дат запрета.
//
// * ТипыОбъектов - Массив - типы ссылок объектов в разрезе которых можно настроить даты запрета,
// например, Тип("СправочникСсылка.Организации"), если не указано ни одного типа,
// * ТипыОбъектов - Массив - типы ссылок объектов, в разрезе которых можно настроить даты запрета,
// например Тип("СправочникСсылка.Организации"); если не указано ни одного типа,
// то даты запрета будут настраиваться только с точностью до раздела.
//
Процедура ПриЗаполненииРазделовДатЗапретаИзменения(Разделы) Экспорт
@@ -57,13 +57,13 @@
// Параметры:
// ИсточникиДанных - ТаблицаЗначений - с колонками:
// * Таблица - Строка - полное имя объекта метаданных,
// например, Метаданные.Документы.ПриходнаяНакладная.ПолноеИмя().
// например Метаданные.Документы.ПриходнаяНакладная.ПолноеИмя().
// * ПолеДаты - Строка - имя реквизита объекта или табличной части,
// например "Дата", "Товары.ДатаОтгрузки".
// например: "Дата", "Товары.ДатаОтгрузки".
// * Раздел - Строка - имя раздела дат запрета, указанного в
// процедуре ПриЗаполненииРазделовДатЗапретаИзменения (см. выше).
// * ПолеОбъекта - Строка - имя реквизита объекта или реквизита табличной части,
// например "Организация", "Товары.Склад".
// например: "Организация", "Товары.Склад".
//
Процедура ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(ИсточникиДанных) Экспорт
@@ -10,17 +10,17 @@
// Подключает и возвращает имя, под которым подключен внешний отчет или обработка.
// После подключения отчет или обработка регистрируется в программе под определенным именем,
// используя которое можно создавать объект или открывать формы отчета или обработки.
// используя которое, можно создавать объект или открывать формы отчета или обработки.
//
// Важно: проверка функциональной опции "ИспользоватьДополнительныеОтчетыИОбработки"
// должна выполняться вызывающим кодом.
//
// Параметры:
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Подключаемая обработка.
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - подключаемая обработка.
//
// Возвращаемое значение:
// * Строка - Имя подключенного отчета или обработки.
// * Неопределено - Если передана некорректная ссылка.
// * Строка - имя подключенного отчета или обработки.
// * Неопределено - если передана некорректная ссылка.
//
Функция ПодключитьВнешнююОбработку(Ссылка) Экспорт
@@ -113,12 +113,12 @@
// должна выполняться вызывающим кодом.
//
// Параметры:
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Подключаемый отчет или обработка.
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - подключаемый отчет или обработка.
//
// Возвращаемое значение:
// * ВнешняяОбработкаОбъект - Объект подключенной обработки.
// * ВнешнийОтчетОбъект - Объект подключенного отчета.
// * Неопределено - Если передана некорректная ссылка.
// * ВнешняяОбработкаОбъект - объект подключенной обработки.
// * ВнешнийОтчетОбъект - объект подключенного отчета.
// * Неопределено - если передана некорректная ссылка.
//
Функция ОбъектВнешнейОбработки(Ссылка) Экспорт
@@ -187,7 +187,7 @@
//
// Возвращаемое значение:
// Структура - параметры внешнего отчета или обработки:
// * Вид - Строка - Вид внешнего отчета или обработки. Для указания вида рекомендуется использовать функции
// * Вид - Строка - вид внешнего отчета или обработки. Для указания вида рекомендуется использовать функции
// ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработки<ИмяВида>.
// Также вид можно указать явно:
// "ПечатнаяФорма",
@@ -198,40 +198,40 @@
// "ДополнительнаяОбработка" или
// "ДополнительныйОтчет".
//
// * Версия - Строка - Версия отчета или обработки (далее - обработки).
// * Версия - Строка - версия отчета или обработки (далее - обработки).
// Задается в формате: "<Старший номер>.<Младший номер>".
//
// * Назначение - Массив - Полные имена объектов конфигурации (Строка), для которых предназначен эта обработка.
// * Назначение - Массив - полные имена объектов конфигурации (Строка), для которых предназначен эта обработка.
// Необязательное свойство.
//
// * Наименование - Строка - Представление для администратора (наименование элемента справочника).
// * Наименование - Строка - представление для администратора (наименование элемента справочника).
// Если не заполнено, то берется представление объекта метаданных внешней обработки.
// Необязательное свойство.
//
// * БезопасныйРежим - Булево - Признак подключения внешней обработки в безопасном режиме.
// * БезопасныйРежим - Булево - признак подключения внешней обработки в безопасном режиме.
// Значение по умолчанию Истина (обработка будет выполняться безопасно).
// В безопасном режиме:
// Игнорируется привилегированный режим.
// Запрещены внешние по отношению к платформе 1С:Предприятия действия:
// Запрещены внешние по отношению к платформе «1С:Предприятия» действия:
// COM;
// Загрузка внешних компонентов;
// Запуск внешних приложений и команд операционной системы;
// Доступ к файловой системе, кроме временных файлов;
// Доступ к Интернету.
// загрузка внешних компонент;
// запуск внешних приложений и команд операционной системы;
// доступ к файловой системе, кроме временных файлов;
// доступ к Интернету.
// Необязательное свойство.
//
// * Разрешения - Массив - Дополнительные разрешения, необходимые внешней обработке при работе в безопасном режиме.
// * Разрешения - Массив - дополнительные разрешения, необходимые внешней обработке при работе в безопасном режиме.
// Элемент массива - ОбъектXDTO - разрешение типа
// {http://www.1c.ru/1cFresh/ApplicationExtensions/Permissions/a.b.c.d}PermissionBase.
// Для формирования описания разрешения рекомендуется использовать функции
// РаботаВБезопасномРежиме.Разрешение<ВидРазрешения>(<ПараметрыРазрешения>).
// Необязательное свойство.
//
// * Информация - Строка - Краткая информация о внешней обработке.
// * Информация - Строка - краткая информация о внешней обработке.
// В этом параметре для администратора рекомендуется дать описание ее возможностей.
// Если не заполнено, то берется комментарий объекта метаданных внешней обработки.
//
// * ВерсияБСП - Строка - Необязательный. Версия библиотеки, на которую рассчитывают механизмы внешней обработки.
// * ВерсияБСП - Строка - необязательный. Версия библиотеки, на которую рассчитывают механизмы внешней обработки.
// См. СтандартныеПодсистемыСервер.ВерсияБиблиотеки.
// Необязательное свойство.
//
@@ -243,9 +243,9 @@
// // Настройки общей формы отчета подсистемы "Варианты отчетов".
// //
// // Параметры:
// // Форма - УправляемаяФорма, Неопределено - Форма отчета или форма настроек отчета.
// // Форма - УправляемаяФорма, Неопределено - форма отчета или форма настроек отчета.
// // Неопределено когда вызов без контекста.
// // КлючВарианта - Строка, Неопределено - Имя предопределенного
// // КлючВарианта - Строка, Неопределено - имя предопределенного
// // или уникальный идентификатор пользовательского варианта отчета.
// // Неопределено когда вызов без контекста.
// // Настройки - Структура - см. возвращаемое значение
@@ -258,13 +258,13 @@
// Подробнее см. в документации к подсистемам "Дополнительные отчеты и обработки" и "Варианты отчетов".
// Необязательное свойство.
//
// * Команды - ТаблицаЗначений - Настройки команд, поставляемых внешней обработкой (необязательно для отчетов):
// * Команды - ТаблицаЗначений - настройки команд, поставляемых внешней обработкой (необязательно для отчетов):
// ** Идентификатор - Строка - Внутреннее имя команды. Для внешних печатных форм (когда Вид = "ПечатнаяФорма"):
// Идентификатор может содержать имена одной или нескольких команд печати,
// разделенных запятыми. Подробнее см. описание колонки Идентификатор
// разделенные запятыми. Подробнее см. описание колонки Идентификатор
// в функции СоздатьКоллекциюКомандПечати() общего модуля УправлениеПечатью.
// ** Представление - Строка - Пользовательское представление команды.
// ** Использование - Строка - Тип команды:
// ** Представление - Строка - пользовательское представление команды.
// ** Использование - Строка - тип команды:
// "ВызовКлиентскогоМетода",
// "ВызовСерверногоМетода",
// "ЗаполнениеФормы",
@@ -275,14 +275,14 @@
// В комментариях к этим функциям также даны шаблоны процедур-обработчиков команд.
// ** ПоказыватьОповещение - Булево - если Истина, то при запуске команды выводится оповещение "Команда выполняется...".
// Действует для всех типов команд, кроме команд по открытию формы (Использование = "ОткрытиеФормы").
// ** Модификатор - Строка - Дополнительная классификация команды.
// ** Модификатор - Строка - дополнительная классификация команды.
// Для внешних печатных форм (когда Вид = "ПечатнаяФорма"):
// "ПечатьMXL" - для печатных форм на основе табличных макетов.
// Для загрузки данных из файла (когда Вид = "ПечатнаяФорма" и Использование = "ЗагрузкаДанныхИзФайла"):
// Модификатор является обязательным для заполнения
// и должен содержать полное имя объекта метаданных (справочника),
// для которого выполняется загрузка данных.
// ** Скрыть - Булево - Необязательный. Признак того, что это служебная команда.
// ** Скрыть - Булево - необязательный. Признак того, что это служебная команда.
// Если установить в значение Истина, то команда скрывается в карточке дополнительного объекта.
//
Функция СведенияОВнешнейОбработке(ВерсияБСП = "") Экспорт
@@ -320,17 +320,17 @@
// должна выполняться вызывающим кодом.
//
// Параметры:
// ПараметрыКоманды - Структура - Параметры, с которыми выполняется команда.
// * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Элемент справочника.
// * ИдентификаторКоманды - Строка - Имя выполняемой команды.
// * ОбъектыНазначения - Массив - Ссылки объектов, для которых выполняется обработка. Обязательный для
// ПараметрыКоманды - Структура - параметры, с которыми выполняется команда.
// * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - элемент справочника.
// * ИдентификаторКоманды - Строка - имя выполняемой команды.
// * ОбъектыНазначения - Массив - ссылки объектов, для которых выполняется обработка. Обязательный для
// назначаемых обработок.
// АдресРезультата - Строка - Необязательный. Адрес временного хранилища по которому будет размещен результат
// АдресРезультата - Строка - необязательный. Адрес временного хранилища по которому будет размещен результат
// выполнения.
//
// Возвращаемое значение:
// Структура - Результат выполнения, который далее передается на клиент.
// Неопределено - Если был передан АдресРезультата.
// Структура - результат выполнения, который далее передается на клиент.
// Неопределено - если был передан АдресРезультата.
//
Функция ВыполнитьКоманду(ПараметрыКоманды, АдресРезультата = Неопределено) Экспорт
@@ -354,10 +354,10 @@
// должна выполняться вызывающим кодом.
//
// Параметры:
// ИдентификаторКоманды - Строка - Имя команды как оно задано в функции СведенияОВнешнейОбработке() модуля объекта.
// ПараметрыКоманды - Структура - Параметры выполнения команды.
// ИдентификаторКоманды - Строка - имя команды, как оно задано в функции СведенияОВнешнейОбработке() модуля объекта.
// ПараметрыКоманды - Структура - параметры выполнения команды.
// См. ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьКомандуВФоне().
// Форма - УправляемаяФорма - Форма, в которую необходимо вернуть результат.
// Форма - УправляемаяФорма - форма, в которую необходимо вернуть результат.
//
// Возвращаемое значение:
// Структура - для служебного использования.
@@ -9,14 +9,14 @@
#Область ПрограммныйИнтерфейс
// Подключает внешнюю обработку (отчет).
// Подробнее - см. ДополнительныеОтчетыИОбработки.ПодключитьВнешнююОбработку().
// Подробнее см. ДополнительныеОтчетыИОбработки.ПодключитьВнешнююОбработку().
//
// Параметры:
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Подключаемая обработка.
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - подключаемая обработка.
//
// Возвращаемое значение:
// Строка - Имя подключенного отчета или обработки.
// Неопределено - Если передана некорректная ссылка.
// Строка - имя подключенного отчета или обработки.
// Неопределено - если передана некорректная ссылка.
//
Функция ПодключитьВнешнююОбработку(Ссылка) Экспорт
@@ -25,15 +25,15 @@
КонецФункции
// Создает и возвращает экземпляр внешней обработки (отчета).
// Подробнее - см. ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки().
// Подробнее см. ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки().
//
// Параметры:
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Подключаемый отчет или обработка.
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - подключаемый отчет или обработка.
//
// Возвращаемое значение:
// ВнешняяОбработкаОбъект - Объект подключенной обработки.
// ВнешнийОтчетОбъект - Объект подключенного отчета.
// Неопределено - Если передана некорректная ссылка.
// ВнешняяОбработкаОбъект - объект подключенной обработки.
// ВнешнийОтчетОбъект - объект подключенного отчета.
// Неопределено - если передана некорректная ссылка.
//
Функция ОбъектВнешнейОбработки(Ссылка) Экспорт
@@ -11,11 +11,11 @@
// Открывает форму с доступными командами.
//
// Параметры:
// ПараметрКоманды - Произвольный - Передается "как есть" из параметров обработчика команды.
// ПараметрыВыполненияКоманды - ПараметрыВыполненияКоманды - Передается "как есть" из параметров обработчика команды.
// Вид - Строка - Вид обработки, который можно получить из серии функций:
// ПараметрКоманды - Произвольный - передается "как есть" из параметров обработчика команды.
// ПараметрыВыполненияКоманды - ПараметрыВыполненияКоманды - передается "как есть" из параметров обработчика команды.
// Вид - Строка - вид обработки, который можно получить из серии функций:
// ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработки<...>.
// ИмяРаздела - Строка - Имя раздела командного интерфейса, из которого вызывается команда.
// ИмяРаздела - Строка - имя раздела командного интерфейса, из которого вызывается команда.
//
Процедура ОткрытьФормуКомандДополнительныхОтчетовИОбработок(ПараметрКоманды, ПараметрыВыполненияКоманды, Вид, ИмяРаздела = "") Экспорт
@@ -55,8 +55,8 @@
// Открывает форму дополнительного отчета с заданным вариантом.
//
// Параметры:
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка дополнительного отчета.
// КлючВарианта - Строка - Имя варианта дополнительного отчета.
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка дополнительного отчета.
// КлючВарианта - Строка - имя варианта дополнительного отчета.
//
Процедура ОткрытьВариантДополнительногоОтчета(Ссылка, КлючВарианта) Экспорт
@@ -74,16 +74,16 @@
// Возвращает пустую структуру параметров выполнения команды в фоне.
//
// Параметры:
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка выполняемой дополнительной обработки или отчета.
// Ссылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка выполняемой дополнительной обработки или отчета.
//
// Возвращаемое значение:
// Структура - Шаблон параметров выполнения команды в фоне.
// * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Передается "как есть" из
// Структура - шаблон параметров выполнения команды в фоне.
// * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - передается "как есть" из
// параметров формы.
// * СопровождающийТекст - Строка - Текст длительной операции.
// * ОбъектыНазначения - Массив - Ссылки объектов, для которых выполняется команда.
// * СопровождающийТекст - Строка - текст длительной операции.
// * ОбъектыНазначения - Массив - ссылки объектов, для которых выполняется команда.
// Используется для назначаемых дополнительных обработок.
// * СозданныеОбъекты - Массив - Ссылки объектов, созданных в процессе выполнения команды.
// * СозданныеОбъекты - Массив - ссылки объектов, созданных в процессе выполнения команды.
// Используется для назначаемых дополнительных обработок вида "Создание связанных объектов".
// * ФормаВладелец - УправляемаяФорма - форма объекта или списка, из которой была вызвана команда.
//
@@ -102,25 +102,25 @@
// Для использования в формах внешних отчетов и обработок.
//
// Параметры:
// ИдентификаторКоманды - Строка - Имя команды как оно задано в функции СведенияОВнешнейОбработке модуля объекта.
// ПараметрыКоманды - Структура - Параметры выполнения команды.
// ИдентификаторКоманды - Строка - имя команды, как оно задано в функции СведенияОВнешнейОбработке модуля объекта.
// ПараметрыКоманды - Структура - параметры выполнения команды.
// Состав параметров описан в функции ПараметрыВыполненияКомандыВФоне.
// Также включает в себя служебный параметр, зарезервированный подсистемой:
// * ИдентификаторКоманды - Строка - Имя выполняемой команды. Соответствует параметру ИдентификаторКоманды.
// * ИдентификаторКоманды - Строка - имя выполняемой команды. Соответствует параметру ИдентификаторКоманды.
// Помимо стандартных параметров может содержать пользовательские для использования в обработчике команды.
// При добавлении собственных параметров рекомендуется использовать префикс в их именах,
// исключающий конфликты со стандартными параметрами, например "Контекст...".
// Обработчик - ОписаниеОповещения - Описание процедуры, которая принимает результат выполнения фонового задания.
// См. описание 2го параметра (ОповещениеОЗавершении) процедуры ДлительныеОперацииКлиент.ОжидатьЗавершение().
// Обработчик - ОписаниеОповещения - описание процедуры, которая принимает результат выполнения фонового задания.
// См. описание 2-го параметра (ОповещениеОЗавершении) процедуры ДлительныеОперацииКлиент.ОжидатьЗавершение().
// Параметры процедуры:
// * Задание - Структура, Неопределено - Сведения о фоновом задании.
// * Задание - Структура, Неопределено - сведения о фоновом задании.
// ** Статус - Строка - "Выполнено" (задание завершено) или "Ошибка" (в задании возникло исключение).
// ** АдресРезультата - Строка - Адрес временного хранилища, по которому размещен результат процедуры.
// ** АдресРезультата - Строка - адрес временного хранилища, по которому размещен результат процедуры.
// Результат заполняется в структуре ПараметрыВыполнения.РезультатВыполнения обработчика команды.
// ** КраткоеПредставлениеОшибки - Строка - Краткая информация об исключении, если Статус = "Ошибка".
// ** ПодробноеПредставлениеОшибки - Строка - Подробная информация об исключении, если Статус = "Ошибка".
// ** Сообщения - ФиксированныйМассив, Неопределено - Сообщения из фонового задания.
// * ДополнительныеПараметры - Значение, которое было указано при создании объекта ОписаниеОповещения.
// ** КраткоеПредставлениеОшибки - Строка - краткая информация об исключении, если Статус = "Ошибка".
// ** ПодробноеПредставлениеОшибки - Строка - подробная информация об исключении, если Статус = "Ошибка".
// ** Сообщения - ФиксированныйМассив, Неопределено - сообщения из фонового задания.
// * ДополнительныеПараметры - значение, которое было указано при создании объекта ОписаниеОповещения.
//
// Пример:
// &НаКлиенте
@@ -197,7 +197,7 @@
// Возвращает имя формы для идентификации результата выполнения длительной операции.
//
// Возвращаемое значение:
// Строка - См. ВыполнитьКомандуВФоне.
// Строка - см. ВыполнитьКомандуВФоне.
//
Функция ИмяФормыДлительнойОперации() Экспорт
@@ -14,7 +14,7 @@
// Печатная форма.
//
// Возвращаемое значение:
// Строка - Имя вида дополнительных печатных форм.
// Строка - имя вида дополнительных печатных форм.
//
Функция ВидОбработкиПечатнаяФорма() Экспорт
@@ -25,7 +25,7 @@
// Заполнение объекта.
//
// Возвращаемое значение:
// Строка - Имя вида дополнительных обработок заполнения.
// Строка - имя вида дополнительных обработок заполнения.
//
Функция ВидОбработкиЗаполнениеОбъекта() Экспорт
@@ -36,7 +36,7 @@
// Создание связанных объектов.
//
// Возвращаемое значение:
// Строка - Имя вида дополнительных обработок создания связанных объектов.
// Строка - имя вида дополнительных обработок создания связанных объектов.
//
Функция ВидОбработкиСозданиеСвязанныхОбъектов() Экспорт
@@ -47,7 +47,7 @@
// Назначаемый отчет.
//
// Возвращаемое значение:
// Строка - Имя вида дополнительных контекстных отчетов.
// Строка - имя вида дополнительных контекстных отчетов.
//
Функция ВидОбработкиОтчет() Экспорт
@@ -58,7 +58,7 @@
// Создание связанных объектов.
//
// Возвращаемое значение:
// Строка - Имя вида дополнительных контекстных отчетов.
// Строка - имя вида дополнительных контекстных отчетов.
//
Функция ВидОбработкиШаблонСообщения() Экспорт
@@ -69,7 +69,7 @@
// Дополнительная обработка.
//
// Возвращаемое значение:
// Строка - Имя вида дополнительных глобальных обработок.
// Строка - имя вида дополнительных глобальных обработок.
//
Функция ВидОбработкиДополнительнаяОбработка() Экспорт
@@ -80,7 +80,7 @@
// Дополнительный отчет.
//
// Возвращаемое значение:
// Строка - Имя вида дополнительных глобальных отчетов.
// Строка - имя вида дополнительных глобальных отчетов.
//
Функция ВидОбработкиДополнительныйОтчет() Экспорт
@@ -92,18 +92,18 @@
// Имена типов команд.
// Возвращает имя типа команд с вызовом серверного метода. Для выполнения команд такого типа
// в модуле объекта следует определить экспортную процедуру по шаблону:
// в модуле объекта следует определить экспортную процедуру по следующему шаблону.
//
// Для глобальных отчетов и обработок (Вид = "ДополнительнаяОбработка" или Вид = "ДополнительныйОтчет"):
// // Обработчик серверных команд.
// //
// // Параметры:
// // ИдентификаторКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ПараметрыВыполнения - Структура - Контекст выполнения команды.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка обработки.
// // ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ПараметрыВыполнения - Структура - контекст выполнения команды.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка обработки.
// // Может использоваться для чтения параметров обработки.
// // Пример см. в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы().
// // * РезультатВыполнения - Структура - Результат выполнения команды.
// // * РезультатВыполнения - Структура - результат выполнения команды.
// // Может использоваться для передачи результата с сервера или из фонового задания в исходную точку.
// // В частности, возвращается функциями ДополнительныеОтчетыИОбработки.ВыполнитьКоманду()
// // и ДополнительныеОтчетыИОбработки.ВыполнитьКомандуИзФормыВнешнегоОбъекта(),
@@ -118,13 +118,13 @@
// // Обработчик печати.
// //
// // Параметры:
// // МассивОбъектов - Массив - Ссылки на объекты, которые нужно распечатать.
// // КоллекцияПечатныхФорм - ТаблицаЗначений - Информация о табличных документах.
// // МассивОбъектов - Массив - ссылки на объекты, которые нужно распечатать.
// // КоллекцияПечатныхФорм - ТаблицаЗначений - информация о табличных документах.
// // Используется для передачи в параметрах функции УправлениеПечатью.СведенияОПечатнойФорме().
// // ОбъектыПечати - СписокЗначений - Соответствие между объектами и именами областей в табличных документах.
// // ОбъектыПечати - СписокЗначений - соответствие между объектами и именами областей в табличных документах.
// // Используется для передачи в параметрах процедуры УправлениеПечатью.ЗадатьОбластьПечатиДокумента().
// // ПараметрыВывода - Структура - Дополнительные параметры сформированных табличных документов.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка обработки.
// // ПараметрыВывода - Структура - дополнительные параметры сформированных табличных документов.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка обработки.
// // Может использоваться для чтения параметров обработки.
// // Пример см. в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы().
// //
@@ -152,14 +152,14 @@
// // Обработчик серверных команд.
// //
// // Параметры:
// // ИдентификаторКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ОбъектыНазначения - Массив - Ссылки объектов, для которых вызвана команда.
// // СозданныеОбъекты - Массив - Ссылки новых объектов, созданных в результате выполнения команды.
// // ПараметрыВыполнения - Структура - Контекст выполнения команды.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка обработки.
// // ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ОбъектыНазначения - Массив - ссылки объектов, для которых вызвана команда.
// // СозданныеОбъекты - Массив - ссылки новых объектов, созданных в результате выполнения команды.
// // ПараметрыВыполнения - Структура - контекст выполнения команды.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка обработки.
// // Может использоваться для чтения параметров обработки.
// // Пример см. в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы().
// // * РезультатВыполнения - Структура - Результат выполнения команды.
// // * РезультатВыполнения - Структура - результат выполнения команды.
// // Может использоваться для передачи результата с сервера или из фонового задания в исходную точку.
// // В частности, возвращается функциями ДополнительныеОтчетыИОбработки.ВыполнитьКоманду()
// // и ДополнительныеОтчетыИОбработки.ВыполнитьКомандуИзФормыВнешнегоОбъекта(),
@@ -174,14 +174,14 @@
// // Обработчик серверных команд.
// //
// // Параметры:
// // ИдентификаторКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ОбъектыНазначения - Массив - Ссылки объектов, для которых вызвана команда.
// // ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ОбъектыНазначения - Массив - ссылки объектов, для которых вызвана команда.
// // - Неопределено - для команд "ЗаполнениеФормы".
// // ПараметрыВыполнения - Структура - Контекст выполнения команды.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка обработки.
// // ПараметрыВыполнения - Структура - контекст выполнения команды.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка обработки.
// // Может использоваться для чтения параметров обработки.
// // Пример см. в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы().
// // * РезультатВыполнения - Структура - Результат выполнения команды.
// // * РезультатВыполнения - Структура - результат выполнения команды.
// // Может использоваться для передачи результата с сервера или из фонового задания в исходную точку.
// // В частности, возвращается функциями ДополнительныеОтчетыИОбработки.ВыполнитьКоманду()
// // и ДополнительныеОтчетыИОбработки.ВыполнитьКомандуИзФормыВнешнегоОбъекта(),
@@ -202,7 +202,7 @@
КонецФункции
// Возвращает имя типа команд с вызовом клиентского метода. Для выполнения команд такого типа
// в основной форме внешнего объекта следует определить клиентскую экспортную процедуру по шаблону:
// в основной форме внешнего объекта следует определить клиентскую экспортную процедуру по следующему шаблону.
//
// Для глобальных отчетов и обработок (Вид = "ДополнительнаяОбработка" или Вид = "ДополнительныйОтчет"):
// &НаКлиенте
@@ -228,8 +228,7 @@
// // Реализация логики команды.
// КонецПроцедуры
//
// Дополнительно (для всех видов):
// В параметре формы "ДополнительнаяОбработкаСсылка" передается ссылка этого объекта
// Дополнительно (для всех видов) в параметре формы "ДополнительнаяОбработкаСсылка" передается ссылка этого объекта
// (элемент справочника ДополнительныеОтчетыИОбработки, соответствующий этому объекту),
// которая может использоваться для фонового выполнения длительных операций.
// Подробнее см. в документации к подсистеме, раздел "Фоновое выполнение длительных операций".
@@ -247,12 +246,12 @@
// открывается основная форма внешнего объекта с указанными ниже параметрами.
//
// Общие параметры:
// * ИдентификаторКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка этого объекта.
// * ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке().
// * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка этого объекта.
// Может использоваться для чтения и сохранения параметров обработки.
// Также может использоваться для фонового выполнения длительных операций.
// Подробнее см. в документации к подсистеме, раздел "Фоновое выполнение длительных операций".
// * ИмяФормы - Строка - Имя формы-владельца, из которой вызвана эта команда.
// * ИмяФормы - Строка - имя формы-владельца, из которой вызвана эта команда.
//
// Вспомогательные параметры для обработок создания связанных объектов (Вид = "СозданиеСвязанныхОбъектов"),
// обработок заполнения (Вид = "ЗаполнениеОбъекта") и контекстных отчетов (Вид = "Отчет"):
@@ -292,12 +291,12 @@
// // Обработчик серверных команд.
// //
// // Параметры:
// // ИдентификаторКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ОбъектыНазначения - Массив - Ссылки объектов, для которых вызвана команда.
// // - Неопределено - Не передается для команд типа "ЗаполнениеФормы".
// // ПараметрыВыполнения - Структура - Контекст выполнения команды.
// // * ЭтаФорма - УправляемаяФорма - Заполняемая форма. Передается для команд типа "ЗаполнениеФормы".
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка обработки.
// // ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ОбъектыНазначения - Массив - ссылки объектов, для которых вызвана команда.
// // - Неопределено - не передается для команд типа "ЗаполнениеФормы".
// // ПараметрыВыполнения - Структура - контекст выполнения команды.
// // * ЭтаФорма - УправляемаяФорма - заполняемая форма. Передается для команд типа "ЗаполнениеФормы".
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка обработки.
// // Может использоваться для чтения параметров обработки.
// // Пример см. в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы().
// //
@@ -320,9 +319,9 @@
// // ДополнительныеОтчетыИОбработкиВБезопасномРежимеИнтерфейс.
// // Функции, добавляющие этапы сценария:
// // ДобавитьМетодКонфигурации() добавляет в сценарий вызов процедуры или функции конфигурации.
// // Функция возвращает этап сценария, который затем можно использовать в функция по заполнению параметров.
// // Функция возвращает этап сценария, который затем можно использовать в функции по заполнению параметров.
// // ДобавитьМетодОбработки() добавляет в сценарий вызов процедуры или функции объекта дополнительной обработки.
// // Функция возвращает этап сценария, который затем можно использовать в функция по заполнению параметров.
// // Функция возвращает этап сценария, который затем можно использовать в функции по заполнению параметров.
// // Процедуры, регистрирующие параметры, которые будут переданы в процедуру или функцию, обрабатывающую этап:
// // ДобавитьКлючСессии() добавляет в массив параметров текущий ключ сессии расширения безопасного режима.
// // ДобавитьЗначение() добавляет в массив параметров фиксированное значение произвольного типа.
@@ -334,14 +333,14 @@
// // Подробнее см. в документации к подсистеме, раздел "Расширение безопасного режима".
// //
// // Параметры:
// // ИдентификаторКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ПараметрыВыполнения - Структура - Контекст выполнения команды.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - Ссылка этого объекта.
// // ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ПараметрыВыполнения - Структура - контекст выполнения команды.
// // * ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка этого объекта.
// // Может использоваться для чтения параметров обработки.
// // Пример см. в комментарии к функции ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы().
// //
// // Возвращаемое значение:
// // ТаблицаЗначений - Подробнее см. ДополнительныеОтчетыИОбработкиВБезопасномРежимеИнтерфейс.НовыйСценарий().
// // ТаблицаЗначений - подробнее см. ДополнительныеОтчетыИОбработкиВБезопасномРежимеИнтерфейс.НовыйСценарий().
// //
// Функция СформироватьСценарий(ИдентификаторКоманды, ПараметрыВыполнения) Экспорт
// Сценарий = ДополнительныеОтчетыИОбработкиВБезопасномРежимеИнтерфейс.НовыйСценарий();
@@ -365,11 +364,11 @@
// // Определяет параметры загрузки данных из файла.
// //
// // Параметры:
// // ИдентификаторКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ПараметрыЗагрузки - Структура - Настройки загрузки данных:
// // * ИмяМакетаСШаблоном - Строка - Имя макета с шаблоном загружаемых данных.
// // ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ПараметрыЗагрузки - Структура - настройки загрузки данных:
// // * ИмяМакетаСШаблоном - Строка - имя макета с шаблоном загружаемых данных.
// // По умолчанию используется макет "ЗагрузкаИзФайла".
// // * ОбязательныеКолонкиМакета - Массив - Список имен колонок обязательных для заполнения.
// // * ОбязательныеКолонкиМакета - Массив - список имен колонок обязательных для заполнения.
// //
// Процедура ОпределитьПараметрыЗагрузкиДанныхИзФайла(ИдентификаторКоманды, ПараметрыЗагрузки) Экспорт
// // Переопределение настроек загрузки данных из файла.
@@ -378,11 +377,11 @@
// // Сопоставляет загружаемые данные с данными в информационной базе.
// //
// // Параметры:
// // ИдентификаторКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ЗагружаемыеДанные - ТаблицаЗначений - Описание загружаемых данных:
// // * СопоставленныйОбъект - СправочникСсылка.Ссылка - Ссылка на сопоставленный объект.
// // ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ЗагружаемыеДанные - ТаблицаЗначений - описание загружаемых данных:
// // * СопоставленныйОбъект - СправочникСсылка.Ссылка - ссылка на сопоставленный объект.
// // Заполняется внутри этой процедуры.
// // * <другие колонки> - Строка - Данные, загруженные из файла.
// // * <другие колонки> - Строка - данные, загруженные из файла.
// // Состав колонок соответствует макету "ЗагрузкаИзФайла".
// //
// Процедура СопоставитьЗагружаемыеДанныеИзФайла(ИдентификаторКоманды, ЗагружаемыеДанные) Экспорт
@@ -392,18 +391,18 @@
// // Загружает сопоставленные данные в базу.
// //
// // Параметры:
// // ИдентификаторКоманды - Строка - Имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ЗагружаемыеДанные - ТаблицаЗначений - Описание загружаемых данных:
// // * СопоставленныйОбъект - СправочникСсылка - Ссылка на сопоставленный объект.
// // * РезультатСопоставленияСтроки - Строка - Статус загрузки. Возможны варианты: Создан, Обновлен, Пропущен.
// // * ОписаниеОшибки - Строка - Расшифровка ошибки загрузки данных.
// // * Идентификатор - Число - Уникальный номер строки.
// // * <другие колонки> - Строка - Данные, загруженные из файла.
// // ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке().
// // ЗагружаемыеДанные - ТаблицаЗначений - описание загружаемых данных:
// // * СопоставленныйОбъект - СправочникСсылка - ссылка на сопоставленный объект.
// // * РезультатСопоставленияСтроки - Строка - статус загрузки. Возможны варианты: Создан, Обновлен, Пропущен.
// // * ОписаниеОшибки - Строка - расшифровка ошибки загрузки данных.
// // * Идентификатор - Число - уникальный номер строки.
// // * <другие колонки> - Строка - данные, загруженные из файла.
// // Состав колонок соответствует макету "ЗагрузкаИзФайла".
// // ПараметрыЗагрузки - Структура - Параметры с пользовательскими установками загрузки данных.
// // * СоздаватьНовые - Булево - Требуется ли создавать новые элементы справочника.
// // * ОбновлятьСуществующие - Булево - Требуется ли обновлять элементы справочника.
// // Отказ - Булево - Признак отмены загрузки.
// // ПараметрыЗагрузки - Структура - параметры с пользовательскими установками загрузки данных.
// // * СоздаватьНовые - Булево - требуется ли создавать новые элементы справочника.
// // * ОбновлятьСуществующие - Булево - требуется ли обновлять элементы справочника.
// // Отказ - Булево - признак отмены загрузки.
// //
// Процедура ЗагрузитьИзФайла(ИдентификаторКоманды, ЗагружаемыеДанные, ПараметрыЗагрузки, Отказ) Экспорт
// // Реализация логики загрузки данных в программу.
@@ -424,7 +423,7 @@
// Идентификатор формы списка.
//
// Возвращаемое значение:
// Строка - Идентификатор форм списков.
// Строка - идентификатор форм списков.
//
Функция ТипФормыСписка() Экспорт
@@ -435,7 +434,7 @@
// Идентификатор формы объекта.
//
// Возвращаемое значение:
// Строка - Идентификатор форм объектов.
// Строка - идентификатор форм объектов.
//
Функция ТипФормыОбъекта() Экспорт
@@ -449,7 +448,7 @@
// Фильтр для диалогов выбора или сохранения дополнительных отчетов и обработок.
//
// Возвращаемое значение:
// Строка - Фильтр для диалогов выбора или сохранения дополнительных отчетов и обработок.
// Строка - фильтр для диалогов выбора или сохранения дополнительных отчетов и обработок.
//
Функция ФильтрДиалоговВыбораИСохранения() Экспорт
@@ -9,14 +9,14 @@
#Область ПрограммныйИнтерфейс
// Определяет разделы, в которых доступна команда вызова дополнительных обработок.
// В Разделы необходимо добавить метаданные тех разделов,
// В разделы необходимо добавить метаданные тех разделов,
// в которых размещены команды вызова.
// Для начальной страницы указать ДополнительныеОтчетыИОбработкиКлиентСервер.ИмяНачальнойСтраницы.
//
// Параметры:
// Разделы - Массив - Разделы, в которых размещены команды вызова дополнительных обработок.
// * ОбъектМетаданных: Подсистема - Метаданные раздела (подсистемы).
// * Строка - Для начальной страницы.
// Разделы - Массив - разделы, в которых размещены команды вызова дополнительных обработок.
// * ОбъектМетаданных: Подсистема - метаданные раздела (подсистемы).
// * Строка - для начальной страницы.
//
Процедура ОпределитьРазделыСДополнительнымиОбработками(Разделы) Экспорт
@@ -30,9 +30,9 @@
// Для начальной страницы указать ДополнительныеОтчетыИОбработкиКлиентСервер.ИмяНачальнойСтраницы.
//
// Параметры:
// Разделы - Массив - Разделы, в которых размещены команды вызова дополнительных отчетов.
// * ОбъектМетаданных: Подсистема - Метаданные раздела (подсистемы).
// * Строка - Для начальной страницы.
// Разделы - Массив - разделы, в которых размещены команды вызова дополнительных отчетов.
// * ОбъектМетаданных: Подсистема - метаданные раздела (подсистемы).
// * Строка - для начальной страницы.
//
Процедура ОпределитьРазделыСДополнительнымиОтчетами(Разделы) Экспорт
@@ -16,7 +16,7 @@
// Форма - УправляемаяФорма - форма объекта.
// ГруппаДляКнопкиЗапрета - ГруппаФормы - переопределяет стандартное размещение
// кнопки запрета в форме объекта.
// ЗаголовокКнопкиЗапрета - Строка - заголовок кнопки. По умолчанию, "Разрешить редактирование реквизитов".
// ЗаголовокКнопкиЗапрета - Строка - заголовок кнопки. По умолчанию "Разрешить редактирование реквизитов".
// Объект - Неопределено - взять объект из реквизита формы "Объект".
// - ДанныеФормыСтруктура - по типу объекта.
//
@@ -58,8 +58,8 @@
// Устанавливает доступность элементов формы, связанных с заданными реквизитами,
// для которых установлено разрешение изменения. Если передать массив реквизитов,
// тогда сначала будет дополнен состав реквизитов разрешенных для изменения.
// Если разблокировка элементов формы, связанных с заданными реквизитами
// тогда сначала будет дополнен состав реквизитов, разрешенных для изменения.
// Если разблокировка элементов формы, связанных с заданными реквизитами,
// снята для всех реквизитов, тогда кнопка разрешения редактирования блокируется.
//
// Параметры:
@@ -69,8 +69,8 @@
// Реквизиты - Массив - значения:
// * Строка - имена реквизитов, для которых нужно установить разрешенность изменения.
// Используется, когда функция РазрешитьРедактированиеРеквизитовОбъекта не используется.
// - Неопределено - состав реквизитов доступных для редактирования не изменяется,
// а для элементов формы, связанных с реквизитами, изменение которых разрешено
// - Неопределено - состав реквизитов, доступных для редактирования, не изменяется,
// а для элементов формы, связанных с реквизитами, изменение которых разрешено,
// устанавливается доступность.
//
Процедура УстановитьДоступностьЭлементовФормы(Знач Форма, Знач Реквизиты = Неопределено) Экспорт
@@ -177,10 +177,10 @@
// Форма - УправляемаяФорма - форма, в которой требуется разрешить редактирование реквизитов объекта.
//
// Реквизиты - Массив - значения.
// * Строка - имена реквизитов, которые нужно пометить, как разрешенные для изменения.
// * Строка - имена реквизитов, которые нужно пометить как разрешенные для изменения.
//
// РедактированиеРазрешено - Булево - значение разрешенности редактирования реквизитов, которое нужно установить.
// Значение не будет установлено Истина, если нет права редактирования реквизита.
// Значение не будет установлено в Истина, если нет права редактирования реквизита.
// - Неопределено - не изменять разрешенность редактирования реквизитов.
//
// ПравоРедактирования - Булево - позволяет переопределить или доопределить возможность разблокировки
@@ -221,7 +221,7 @@
КонецПроцедуры
// Возвращает массив имен реквизитов, заданных в свойстве формы ПараметрыЗапретаРедактированияРеквизитов
// на основе имен реквизитов указанных в модуле менеджера объекта, исключая реквизиты,
// на основе имен реквизитов, указанных в модуле менеджера объекта, исключая реквизиты,
// у которых ПравоРедактирования = Ложь.
//
// Параметры:
@@ -13,7 +13,7 @@
//
// Функция ПолучитьБлокируемыеРеквизитыОбъекта должна возвращать значение Массив - строки в формате
// ИмяРеквизита[;ИмяЭлементаФормы,...], где ИмяРеквизита - имя реквизита объекта, ИмяЭлементаФормы -
// имя элемента формы, связанного с реквизитом. Например, "Объект.Автор", "ПолеАвтор".
// имя элемента формы, связанного с реквизитом. Например: "Объект.Автор", "ПолеАвтор".
//
// Поле надписи, связанное с реквизитом, не блокируется. Если требуется блокировать,
// имя элемента надписи нужно указать после точки с запятой, как написано выше.
@@ -14,13 +14,13 @@
// Параметры - Структура - со свойствами:
//
// * Организация - СправочникСсылка.Организации - организация, которую нужно заполнить.
// Если организация уже заполнена, требуется перезаполнить ее свойства, например,
// Если организация уже заполнена, требуется перезаполнить ее свойства - например,
// при повтором вызове, когда пользователь выбрал другую организацию.
// - Неопределено, если ОпределяемыйТип.Организации не настроен.
// Пользователю недоступен выбор организации.
//
// * ЭтоИндивидуальныйПредприниматель - Булево - (возвращаемое значение):
// Ложь - начальное значение - указанная организация является юридическим лицом,
// Ложь - начальное значение - указанная организация является юридическим лицом;
// Истина - указанная организация является индивидуальным предпринимателем.
//
// * НаименованиеСокращенное - Строка - (возвращаемое значение) краткое наименование организации.
@@ -71,7 +71,7 @@
// * Организация - СправочникСсылка.Организации - выбранная организация, на которую оформляется сертификат.
// - Неопределено, если ОпределяемыйТип.Организации не настроен.
//
// * ТипВладельца - ОписаниеТипов - (возвращаемое значение) содержит ссылочные типы из которых можно сделать выбор.
// * ТипВладельца - ОписаниеТипов - (возвращаемое значение) содержит ссылочные типы, из которых можно сделать выбор.
// - Неопределено - (возвращаемое значение) выбор владельца не поддерживается.
//
// * Сотрудник - ТипВладельца - (возвращаемое значение) - это владелец сертификата, которого нужно заполнить.
@@ -82,12 +82,12 @@
// как владелец сертификата.
// - Неопределено - начальное значение - скрыть директора из списка выбора.
//
// * ГлавныйБухгалтер - ТипВладельца - (возвращаемое значение) это главный бухгалтер, который может быть выбран,
// * ГлавныйБухгалтер - ТипВладельца - (возвращаемое значение) это главный бухгалтер, который может быть выбран
// как владелец сертификата.
// - Неопределено - начальное значение - скрыть главного бухгалтера из списка выбора.
//
// * Пользователь - СправочникСсылка.Пользователи - (возвращаемое значение) пользователь-владелец сертификата.
// В общем случае, может быть не заполнено. Рекомендуется заполнить, если есть возможность.
// * Пользователь - СправочникСсылка.Пользователи - (возвращаемое значение) пользователь - владелец сертификата.
// В общем случае может быть не заполнено. Рекомендуется заполнить, если есть возможность.
// Записывается в сертификат в поле Пользователь, может быть изменено в дальнейшем.
//
// * Фамилия - Строка - (возвращаемое значение) фамилия сотрудника.
@@ -123,7 +123,7 @@
//
//
// * ДокументВид - Строка - (возвращаемое значение) строки "21" или "91". 21 - паспорт гражданина РФ,
// 91 - иной документ предусмотренный законодательством РФ (по СПДУЛ).
// 91 - иной документ, предусмотренный законодательством РФ (по СПДУЛ).
// - Неопределено - значение не указано, не изменять имеющееся значение.
//
//
@@ -163,7 +163,7 @@
// * Организация - СправочникСсылка.Организации - выбранная организация, на которую оформляется сертификат.
// - Неопределено, если ОпределяемыйТип.Организации не настроен.
//
// * ТипРуководителя - ОписаниеТипов - (возвращаемое значение) содержит ссылочные типы из которых можно сделать выбор.
// * ТипРуководителя - ОписаниеТипов - (возвращаемое значение) содержит ссылочные типы, из которых можно сделать выбор.
// - Неопределено - (возвращаемое значение) выбор партнера не поддерживается.
//
// * Руководитель - ТипРуководителя - это значение, выбранное пользователем по которому нужно заполнить должность.
@@ -199,7 +199,7 @@
// * Партнер - ТипПартнера - это контрагент (обслуживающая организация), выбранный пользователем,
// по которому нужно заполнить реквизиты, описанные ниже.
// - Неопределено - ТипПартнера не определен.
// - ЛюбаяСсылка - (возвращаемое значение) - значение сохраняемое в заявке для истории.
// - ЛюбаяСсылка - (возвращаемое значение) - значение, сохраняемое в заявке для истории.
//
// * Представление - Строка - (возвращаемое значение) представление партнера.
// - Неопределено - получить представление от значения Партнер.
File diff suppressed because it is too large. Load diff
@@ -518,6 +518,30 @@
КонецФункции
// Перечень метаданных объектов, входящих в составы планов обмена БСП, кроме РИБ,
// по которым могут быть зарегистрированы проблемы "Незаполненные реквизиты"
// и "Непроведенные документы".
//
// Возвращаемое значение:
// Соответствие - ключ соответствия - метаданные объекта, значение - Истина.
//
Функция ОбъектыДляРегистрацииПроблемСДаннымиПриЗагрузке() Экспорт
Результат = Новый Соответствие;
Для Каждого ИмяПланаОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
Если ОбменДаннымиПовтИсп.ЭтоПланОбменаРаспределеннойИнформационнойБазы(ИмяПланаОбмена) Тогда
Продолжить;
КонецЕсли;
Для Каждого ЭлементСостава Из Метаданные.ПланыОбмена[ИмяПланаОбмена].Состав Цикл
Результат.Вставить(ЭлементСостава.Метаданные, Истина);
КонецЦикла;
КонецЦикла;
Возврат Результат;
КонецФункции
// Возвращает состав плана обмена, заданный пользователем.
// Пользовательский состав плана обмена определяется правилами регистрации объектов
// и настройками узла, которые задал пользователь.
@@ -2615,16 +2615,19 @@
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелОбмена);
КодУзла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПланыОбмена[ИмяПланаОбмена].ЭтотУзел(), "Код");
КодУзла = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПланыОбмена[ИмяПланаОбмена].ЭтотУзел(), "Код"));
Если ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(УзелОбмена) Тогда
ПрефиксыУзла = РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ПрефиксыУзла(УзелОбмена);
ПрефиксЭтогоУзла = СокрЛП(ПрефиксыУзла.Префикс);
Если СтрДлина(КодУзла) < 9
И Не ПустаяСтрока(ПрефиксыУзла.Префикс) Тогда
Если Не ПустаяСтрока(ПрефиксЭтогоУзла) Тогда
Если СтрДлина(КодУзла) <= 2
Или (СтрДлина(КодУзла) = 36 И ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ИмяПланаОбмена)) Тогда
// В качестве кода для целей идентификации при обмене использует префикс,
// установленный при создании настройки подключения.
КодУзла = ПрефиксыУзла.Префикс;
КодУзла = ПрефиксЭтогоУзла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
@@ -2634,16 +2637,16 @@
Функция ИдентификаторУзлаКорреспондентаДляОбмена(УзелОбмена) Экспорт
КодУзла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УзелОбмена, "Код");
КодУзла = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УзелОбмена, "Код"));
Если ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(УзелОбмена) Тогда
ПрефиксыУзла = РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ПрефиксыУзла(УзелОбмена);
Если СтрДлина(КодУзла) < 9
Если СтрДлина(КодУзла) <= 2
И Не ПустаяСтрока(ПрефиксыУзла.ПрефиксКорреспондента) Тогда
// В качестве кода для целей идентификации при обмене использует префикс,
// установленный при создании настройки подключения.
КодУзла = ПрефиксыУзла.ПрефиксКорреспондента;
КодУзла = СокрЛП(ПрефиксыУзла.ПрефиксКорреспондента);
КонецЕсли;
КонецЕсли;
@@ -3359,6 +3362,21 @@
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.БлокируемыеОбъекты = "РегистрСведений.НастройкиОбменаДаннымиXDTO";
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.0.2.207";
Обработчик.Комментарий =
НСтр("ru = 'Перенос результатов выполнения обменов данными в новый регистр.'");
Обработчик.Идентификатор = Новый УникальныйИдентификатор("012c28d7-bbe8-494f-87f7-620ffe5c99e2");
Обработчик.Процедура = "РегистрыСведений.УдалитьРезультатыОбменаДанными.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.ЧитаемыеОбъекты = "РегистрСведений.УдалитьРезультатыОбменаДанными";
Обработчик.ИзменяемыеОбъекты = "РегистрСведений.УдалитьРезультатыОбменаДанными,РегистрСведений.РезультатыОбменаДанными";
Обработчик.ОчередьОтложеннойОбработки = 1;
Обработчик.ЗапускатьИВПодчиненномУзлеРИБСФильтрами = Истина;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыСведений.УдалитьРезультатыОбменаДанными.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.БлокируемыеОбъекты = "РегистрСведений.УдалитьРезультатыОбменаДанными,РегистрСведений.РезультатыОбменаДанными";
КонецПроцедуры
// См. ОбновлениеИнформационнойБазыБСП.ПередОбновлениемИнформационнойБазы.
@@ -9601,7 +9619,15 @@
Функция КоличествоПроблемОбменаДанными(УзлыОбмена = Неопределено)
Возврат РегистрыСведений.РезультатыОбменаДанными.КоличествоПроблем(УзлыОбмена, Неопределено);
ПараметрыПоискаПроблем = РегистрыСведений.РезультатыОбменаДанными.ПараметрыПоискаПроблем();
ПараметрыПоискаПроблем.УзлыПланаОбмена = УзлыОбмена;
ПараметрыПоискаПроблем.ТипПроблемы = Новый Массив;
ПараметрыПоискаПроблем.ТипПроблемы.Добавить(Перечисления.ТипыПроблемОбменаДанными.НезаполненныеРеквизиты);
ПараметрыПоискаПроблем.ТипПроблемы.Добавить(Перечисления.ТипыПроблемОбменаДанными.НепроведенныйДокумент);
ПараметрыПоискаПроблем.ТипПроблемы.Добавить(Перечисления.ТипыПроблемОбменаДанными.ОшибкаПроверкиСконвертированногоОбъекта);
Возврат РегистрыСведений.РезультатыОбменаДанными.КоличествоПроблем(ПараметрыПоискаПроблем);
КонецФункции
@@ -10226,6 +10252,7 @@
| РегистрСведений.СостоянияОбменовДаннымиОбластейДанных КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
|;
@@ -10236,15 +10263,22 @@
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаНачала,
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаОкончания,
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА 0
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА 2
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КоличествоПроблем.Количество, 0) > 0
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ КАК РезультатВыполненияОбмена
|ПОМЕСТИТЬ СостоянияОбменовДаннымиВыгрузка
|ИЗ
| РегистрСведений.СостоянияОбменовДаннымиОбластейДанных КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
|;
@@ -10268,8 +10302,7 @@
|ИЗ
| РегистрСведений.СостоянияУспешныхОбменовДаннымиОбластейДанных КАК СостоянияУспешныхОбменовДанными
|ГДЕ
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
|;";
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)";
Иначе
ТекстЗапросаРезультат =
"ВЫБРАТЬ
@@ -10293,6 +10326,7 @@
| РегистрСведений.СостоянияОбменовДанными КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
|;
@@ -10303,15 +10337,22 @@
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаНачала,
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаОкончания,
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА 0
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА 2
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КоличествоПроблем.Количество, 0) > 0
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ КАК РезультатВыполненияОбмена
|ПОМЕСТИТЬ СостоянияОбменовДаннымиВыгрузка
|ИЗ
| РегистрСведений.СостоянияОбменовДанными КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
|;
@@ -10335,8 +10376,7 @@
|ИЗ
| РегистрСведений.СостоянияУспешныхОбменовДанными КАК СостоянияУспешныхОбменовДанными
|ГДЕ
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
|;";
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)";
КонецЕсли;
Запрос.Текст = ТекстЗапросаРезультат;
@@ -10351,9 +10391,16 @@
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ТекстЗапросаРезультат = "
|ВЫБРАТЬ
ТекстЗапросаРезультат =
"ВЫБРАТЬ
| РезультатыОбменаДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| ВЫБОР
| КОГДА РезультатыОбменаДанными.ТипПроблемы В (ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.НепроведенныйДокумент), ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.НезаполненныеРеквизиты), ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриПолученииДанных))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
| КОГДА РезультатыОбменаДанными.ТипПроблемы В (ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриОтправкеДанных), ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.ОшибкаПроверкиСконвертированногоОбъекта))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ДействиеПриОбмене,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РезультатыОбменаДанными.ПроблемныйОбъект) КАК Количество
|ПОМЕСТИТЬ КоличествоПроблем
|ИЗ
@@ -10362,14 +10409,22 @@
| РезультатыОбменаДанными.Пропущена = ЛОЖЬ
|
|СГРУППИРОВАТЬ ПО
| РезультатыОбменаДанными.УзелИнформационнойБазы";
| РезультатыОбменаДанными.УзелИнформационнойБазы,
| ВЫБОР
| КОГДА РезультатыОбменаДанными.ТипПроблемы В (ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.НепроведенныйДокумент), ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.НезаполненныеРеквизиты), ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриПолученииДанных))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
| КОГДА РезультатыОбменаДанными.ТипПроблемы В (ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриОтправкеДанных), ЗНАЧЕНИЕ(Перечисление.ТипыПроблемОбменаДанными.ОшибкаПроверкиСконвертированногоОбъекта))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ";
Иначе
ТекстЗапросаРезультат = "
|ВЫБРАТЬ
| Неопределено КАК УзелИнформационнойБазы,
| Неопределено КАК Количество
ТекстЗапросаРезультат =
"ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК УзелИнформационнойБазы,
| НЕОПРЕДЕЛЕНО КАК ДействиеПриОбмене,
| НЕОПРЕДЕЛЕНО КАК Количество
|ПОМЕСТИТЬ КоличествоПроблем";
КонецЕсли;
@@ -151,41 +151,6 @@
КонецПроцедуры
// Удаляет информацию о проблемах записи объекта при его записи.
//
Процедура ЗарегистрироватьУстранениеПроблемы(Источник, ТипПроблемы, Знач НовоеЗначениеПометкиУдаления) Экспорт
УстановитьПривилегированныйРежим(Истина);
Если ОбменДаннымиПовтИсп.ИспользуемыеПланыОбмена().Количество() > 0
И (БезопасныйРежим() = ЛОЖЬ ИЛИ Пользователи.ЭтоПолноправныйПользователь()) Тогда
НаборЗаписейКонфликта = РегистрыСведений.РезультатыОбменаДанными.СоздатьНаборЗаписей();
НаборЗаписейКонфликта.Отбор.ПроблемныйОбъект.Установить(Источник);
НаборЗаписейКонфликта.Отбор.ТипПроблемы.Установить(ТипПроблемы);
НаборЗаписейКонфликта.Прочитать();
Если НаборЗаписейКонфликта.Количество() = 1 Тогда
Если НовоеЗначениеПометкиУдаления <> ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник, "ПометкаУдаления") Тогда
НаборЗаписейКонфликта[0].ПометкаУдаления = НовоеЗначениеПометкиУдаления;
НаборЗаписейКонфликта.Записать();
Иначе
НаборЗаписейКонфликта.Очистить();
НаборЗаписейКонфликта.Записать();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
// Возвращает список приоритетных данных обмена.
//
// Возвращаемое значение:
@@ -496,14 +461,16 @@
РазблокироватьДанныеДляРедактирования(КомпонентыОбмена.УзелКорреспондента);
КонецЕсли;
СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
Инфо = ИнформацияОбОшибке();
КодОшибки = Новый Структура("КраткоеПредставлениеОшибки, ПодробноеПредставлениеОшибки",
КраткоеПредставлениеОшибки(Инфо), ПодробноеПредставлениеОшибки(Инфо));
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, СообщениеОбОшибке);
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, КодОшибки);
ОбменДаннымиXDTOСервер.ЗавершитьВедениеПротоколаОбмена(КомпонентыОбмена);
КомпонентыОбмена.ФайлОбмена = Неопределено;
ВызватьИсключение СообщениеОбОшибке;
ВызватьИсключение КодОшибки.КраткоеПредставлениеОшибки;
КонецПопытки;
КомпонентыОбмена.ФайлОбмена.Закрыть();
@@ -836,8 +836,6 @@
Возврат;
КонецЕсли;
РегистрыСведений.РезультатыОбменаДанными.ОчиститьСсылкиНаУзелИнформационнойБазы(Источник.Ссылка);
Справочники.СценарииОбменовДанными.ОчиститьСсылкиНаУзелИнформационнойБазы(Источник.Ссылка);
Если ОбщегоНазначения.РазделениеВключено()
@@ -2035,6 +2033,10 @@
Значение = Значение[ИмяСвойства];
Если Значение = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
КонецЦикла;
Возврат Значение;
@@ -86,7 +86,7 @@
// РегистрНакопленияНаборЗаписей,
// РегистрБухгалтерииНаборЗаписей,
// РегистрРасчетаНаборЗаписей - набор записей, который необходимо записать.
// Замещать - Булево - Определяет режим замещения существующей записи в соответствии с
// Замещать - Булево - определяет режим замещения существующей записи в соответствии с
// текущими установками отбора. Истина - перед записью существующие записи будут удалены. Ложь - записи будут
// дописаны к уже существующим в информационной базе записям.
// РегистрироватьНаУзлахПлановОбмена - Булево - включает регистрацию на узлах планов обмена при записи объекта.
@@ -166,7 +166,7 @@
// ИмяОтложенногоОбработчика - Строка - если заполнено, тогда при вызове из другого отложенного обработчика
// проверяется, что указанный отложенный обработчик имеет номер очереди меньше, чем текущий.
// Если это не так, тогда вызывается исключение о недопустимости использования
// программного интерфейса указанного в параметре ИмяПроцедурыПрограммногоИнтерфейса.
// программного интерфейса, указанного в параметре ИмяПроцедурыПрограммногоИнтерфейса.
//
// ИмяПроцедурыПрограммногоИнтерфейса - Строка - имя процедуры программного интерфейса,
// которое выводится в тексте исключения, вызываемого при проверке номера очереди
@@ -335,11 +335,11 @@
// Параметры:
// Данные - Ссылка, Массив, НаборДанных - данные, по которым нужно зарегистрировать изменения.
// - ТаблицаЗначений - значения измерений независимого регистра сведений. Требования:
// - все измерения регистра должны входить в основной отбор
// - все измерения регистра должны входить в основной отбор;
// - в таблице должны быть только колонки, соответствующие по именам измерениям регистра,
// по которым ранее регистрировалась необходимость обработки
// по которым ранее регистрировалась необходимость обработки;
// - запись наборов в процессе обновления должна проходить с тем же отбором,
// что и регистрация необходимости обработки
// что и регистрация необходимости обработки;
// - в ДополнительныеПараметры нужно передать соответствующий признак и полное имя регистра.
// ДополнительныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыОтметкиОбработки.
// Очередь - Число, Неопределено - очередь обработки, в которой выполняется текущий обработчик. По умолчанию очередь передавать
@@ -457,15 +457,15 @@
//
// Возвращаемое значение:
// Структура - структура со свойствами:
// * ЭтоДвижения - Булево - в параметре Данные функции переданы ссылки на регистраторы, по которым нужно обновить движения,
// Значение по умолчанию - ЛОЖЬ.
// * ЭтоДвижения - Булево - в параметре Данные функции переданы ссылки на регистраторы, по которым нужно обновить движения.
// Значение по умолчанию - Ложь.
// * ПолноеИмяРегистра - Строка - полное имя регистра, по которому нужно обновить данные. Например, РегистрНакопления.ТоварыНаСкладах.
// * ОтметитьВсеРегистраторы - Булево - необходимо отметить к обработке все проведенные документы переданного во
// втором параметре типа.
// В этом случае в параметре Данные процедуры можно передавать
// ОбъектМетаданных:Документ или ДокументСсылка.
// * ЭтоНезависимыйРегистрСведений - Булево - в параметре Данные функции передана таблица со значениями измерений,
// по которым нужно обновлять данные, Значение по умолчанию - ЛОЖЬ.
// по которым нужно обновлять данные, значение по умолчанию - Ложь.
//
Функция ДополнительныеПараметрыОтметкиОбработки() Экспорт
@@ -521,7 +521,7 @@
// * МетаданныеОбъекта - ОбъектМетаданных - объект метаданных, соответствующий параметру Данные.
// * ПолноеИмя - Строка - полное имя объекта метаданных (см. метод ОбъектМетаданных.ПолноеИмя).
// * Отбор - ЛюбаяСсылка - если Данные - это ссылочный объект, то значение ссылки,
// если регистр подчиненный регистратору - значение отбора по регистратору.
// если регистр подчиненный регистратору, - значение отбора по регистратору.
// - Структура - если Данные - это независимый регистр сведений, то структура, соответствующая
// установленным отборам по измерениям.
// * ЭтоНовый - Булево - если Данные - это ссылочный объект, то признак нового объекта.
@@ -630,18 +630,18 @@
// необходимо зарегистрировать к обработке, т.к. большие коллекции типа Массив
// или ТаблицаЗначений могут занять существенный объем памяти сервера и привести
// к сильному снижению производительности системы. Рекомендуется получать и передавать
// данные небольшими порциями, например, по 1000 объектов.
// данные небольшими порциями, например по 1000 объектов.
//
// Параметры:
// ОсновныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке.
// Данные - Ссылка, Массив, НаборЗаписей - данные, по которым нужно зарегистрировать изменения.
// - ТаблицаЗначений - значения измерений независимого регистра сведений. Требования:
// - нет измерений с именем "Узел".
// - все измерения регистра должны входить в основной отбор
// - нет измерений с именем "Узел";
// - все измерения регистра должны входить в основной отбор;
// - в таблице должны быть только колонки, соответствующие по именам измерениям регистра,
// по которым нужно регистрировать необходимость обработки
// по которым нужно регистрировать необходимость обработки;
// - запись наборов в процессе обновления должна проходить с тем же отбором,
// что и регистрация необходимости обработки
// что и регистрация необходимости обработки;
// - в ДополнительныеПараметры нужно передать соответствующий признак и полное имя регистра.
// ДополнительныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыОтметкиОбработки.
//
@@ -813,7 +813,7 @@
// по дате документа. Если выбираются регистраторы регистра, то порция определяется с
// учетом упорядочивания по убыванию по дате регистратора, если передано полное имя документа.
// Если полное имя документа не передано - упорядочивание происходит по периоду регистра:
// - берется максимальная дата по каждому регистратору
// - берется максимальная дата по каждому регистратору;
// - если по регистратору нет записей - он в топе.
// * ИмяВременнойТаблицы - Строка - параметр актуален для методов, создающих временные таблицы. Если имя не задано
// (поведение по умолчанию), то временная таблица будет создана с именем, указанным
@@ -826,10 +826,10 @@
// обращении "через точку").
// 2. Имена ссылочных объектов метаданных (Строка), в значениях которых находится
// соответствие, в котором ключ - это имя регистра (Строка), а в значении
// соответствие в ключах которого тоже, что и в п. 1, т.е.
// соответствие в ключах которого то же, что и в п. 1, т.е.
// иерархия соответствий "Объект" -> "Регистр" -> "Источники".
// Процедуры проверяют блокировку данных этих таблиц обработчиками меньших
// очередей. Формат имен источников <ИмяРеквизита> или
// очередей. Формат имен источников: <ИмяРеквизита> или
// <ИмяТабличной>.<ИмяРеквизитаТабличнойЧасти>. Для удобства заполнения
// см. УстановитьИсточникДанных() и см. ПолучитьИсточникДанных().
// * ПоляУпорядочивания - Массив - имена полей независимого регистра сведений, используется для упорядочивания
@@ -852,9 +852,9 @@
// Дополнительные параметры выборки данных для многопоточной обработки.
//
// Возвращаемое значение:
// Структура - поля из ДополнительныеПараметрыВыборкиДанныхДляОбработки() дополненные следующими полями:
// * ПолныеИменаОбъектов - Строка - полные имена обновляемых объектов (например, документов), разделенных запятыми.
// * ПолныеИменаРегистров - Строка - полные имена регистров, разделенных запятыми.
// Структура - поля из ДополнительныеПараметрыВыборкиДанныхДляОбработки(), дополненные следующими полями:
// * ПолныеИменаОбъектов - Строка - полные имена обновляемых объектов (например, документов), разделенные запятыми.
// * ПолныеИменаРегистров - Строка - полные имена регистров, разделенные запятыми.
// * ПоляУпорядочиванияПриРаботеПользователей - Массив - поля упорядочивания, используемые при обновлении
// с приоритетом работы пользователей.
// * ПоляУпорядочиванияПриОбработкеДанных - Массив - поля упорядочивания, используемые при обновлении
@@ -893,7 +893,7 @@
// Применяется при многопоточном обновлении.
//
// Параметры:
// ДополнительныеИсточникиДанных - Соответствие - тоже, что и ДополнительныеИсточникиДанных
// ДополнительныеИсточникиДанных - Соответствие - то же, что и ДополнительныеИсточникиДанных
// (см. ДополнительныеПараметрыВыборкиДанныхДляОбработки()).
// Источник - Строка - источники данных (см. ДополнительныеПараметрыВыборкиДанныхДляОбработки()).
// Объект - Строка - имя документа (полное или короткое).
@@ -933,7 +933,7 @@
// Применяется при многопоточном обновлении.
//
// Параметры:
// ДополнительныеИсточникиДанных - Соответствие - тоже, что и ДополнительныеИсточникиДанных
// ДополнительныеИсточникиДанных - Соответствие - то же, что и ДополнительныеИсточникиДанных
// (см. ДополнительныеПараметрыВыборкиДанныхДляОбработки()).
// Объект - Строка - имя документа (полное или короткое).
// Регистр - Строка - имя регистра (полное или короткое).
@@ -967,16 +967,16 @@
// Создает временную таблицу ссылок, которые не обработаны в текущей очереди
// и не заблокированы меньшими очередями.
// Имя таблицы: ВТДляОбработки<ИмяРегистра>, например ВТДляОбработкиТоварыНаСкладах.
// Колонки таблицы
// Колонки таблицы:
// * Регистратор - ДокументСсылка.
//
// Параметры:
// Очередь - Число - очередь обработки, в которой выполняется текущий обработчик.
// ПолноеИмяДокумента - Строка - имя документа, движения по которому нужно переформировать. Если движения формируются не по данным
// документа, то нужно передать Неопределено - тогда не будет проверяться блокировка таблицы документа.
// Например, Документ.ПриходныйОрдерНаТовары
// Например, Документ.ПриходныйОрдерНаТовары.
// ПолноеИмяРегистра - Строка - имя регистра, движения по которому нужно переформировать.
// Например, РегистрНакопления.ТоварыНаСкладах
// Например, РегистрНакопления.ТоварыНаСкладах.
// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - менеджер, в котором будет создана временная таблица.
// ДополнительныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки.
//
@@ -984,7 +984,7 @@
// Структура - результат формирования временной таблицы:
// * ЕстьЗаписиВоВременнойТаблице - Булево - в создаваемой таблице есть хотя бы одна запись. Записей может не быть по
// двум причинам
// - все обработано или все, что нужно обработать, еще заблокировано обработчиками с меньшей очередью.
// все обработано или все, что нужно обработать, еще заблокировано обработчиками с меньшей очередью.
// * ЕстьДанныеДляОбработки - Булево - в очереди есть ссылки для обработки, т.е. еще не все обработано.
// * ИмяВременнойТаблицы - Строка - имя созданной временной таблицы.
//
@@ -1205,15 +1205,15 @@
// Блокировка по другим очередям делается по документу и по регистру.
// Регистраторы в выборке упорядочены по дате регистратора по убыванию, если передано полное имя документа.
// Если полное имя документа не передано - упорядочивание происходит по периоду регистра:
// - берется максимальная дата по каждому регистратору
// - берется максимальная дата по каждому регистратору;
// - если по регистратору нет записей - он в топе.
// Параметры:
// Очередь - Число - очередь, к которой отнесен обработчик и в которой зарегистрированы данные, которые он будет обрабатывать.
// ПолноеИмяДокумента - Строка - имя документа, движения по которому нужно переформировать. Если движения формируются не по данным
// документа, то нужно передать Неопределено - тогда не будет проверяться блокировка таблицы документа.
// Например, Документ.ПриходныйОрдерНаТовары
// Например, Документ.ПриходныйОрдерНаТовары.
// ПолноеИмяРегистра - Строка - имя регистра, движения по которому нужно переформировать.
// Например, РегистрНакопления.ТоварыНаСкладах
// Например, РегистрНакопления.ТоварыНаСкладах.
// ДополнительныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки.
//
// Возвращаемое значение:
@@ -1405,20 +1405,20 @@
// Создает временную таблицу ссылок, которые не обработаны в текущей очереди
// и не заблокированы меньшими очередями.
// Имя таблицы: ВТДляОбработки<ИмяОбъекта>, например ВТДляОбработкиНоменклатура.
// Колонки таблицы
// Колонки таблицы:
// * Ссылка - ЛюбаяСсылка.
//
// Параметры:
// Очередь - Число - очередь обработки, в которой выполняется текущий обработчик.
// ПолноеИмяОбъекта - Строка - полное имя объекта, для которого выполняется проверка, например, Справочник.Номенклатура.
// ПолноеИмяОбъекта - Строка - полное имя объекта, для которого выполняется проверка, например Справочник.Номенклатура.
// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - менеджер, в котором будет создана временная таблица.
// ДополнительныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки.
//
// Возвращаемое значение:
// Структура - результат формирования временной таблицы:
// * ЕстьЗаписиВоВременнойТаблице - Булево - в создаваемой таблице есть хотя бы одна запись. Записей может не быть по
// двум причинам
// - все обработано или все, что нужно обработать, еще заблокировано обработчиками с меньшей очередью.
// двум причинам:
// все обработано или все, что нужно обработать, еще заблокировано обработчиками с меньшей очередью.
// * ЕстьДанныеДляОбработки - Булево - в очереди есть ссылки для обработки, т.е. еще не все обработано.
// * ИмяВременнойТаблицы - Строка - имя созданной временной таблицы.
//
@@ -1676,15 +1676,15 @@
//
// Параметры:
// Очередь - Число - очередь обработки, в которой выполняется текущий обработчик.
// ПолноеИмяОбъекта - Строка - полное имя объекта, для которого выполняется проверка, например, Справочник.Номенклатура.
// ПолноеИмяОбъекта - Строка - полное имя объекта, для которого выполняется проверка, например Справочник.Номенклатура.
// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - менеджер, в котором будет создана временная таблица.
// ДополнительныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки.
//
// Возвращаемое значение:
// Структура - результат формирования временной таблицы:
// * ЕстьЗаписиВоВременнойТаблице - Булево - в создаваемой таблице есть хотя бы одна запись. Записей может не быть по
// двум причинам
// - все обработано или все, что нужно обработать, еще заблокировано обработчиками с меньшей очередью.
// двум причинам:
// все обработано или все, что нужно обработать, еще заблокировано обработчиками с меньшей очередью.
// * ЕстьДанныеДляОбработки - Булево - в очереди есть данные для обработки, т.е. еще не все обработано.
// * ИмяВременнойТаблицы - Строка - имя созданной временной таблицы.
//
@@ -1828,13 +1828,13 @@
// Очередь - Число - очередь, к которой отнесен обработчик и в которой зарегистрированы данные,
// которые он будет обрабатывать.
// - Неопределено - проверяется, завершена ли обработка в целом;
// - Массив - проверяется есть данные для обработки в списке очередей.
// - Массив - проверяется, есть данные для обработки в списке очередей.
// ПолноеИмяМетаданныеОбъекта- Строка, ОбъектМетаданных - полное имя обрабатываемого объекта или
// его метаданные. Например, "Документ.ПриходныйОрдерНаТовары"
// - Массив - массив полных имен объектов или объектов метаданных,
// в массиве не должно быть независимых регистров сведений.
// Отбор - ЛюбаяСсылка, Структура, Неопределено, Массив - отбор данных для проверки.
// Если передано Неопределено - проверяется по всему типу объекта,
// Если передано Неопределено - проверяется по всему типу объекта.
// Если объект - регистр, подчиненный регистратору, то в отборе - ссылка
// на регистратор или массив ссылок.
// Если объект ссылочного типа, то в отборе - или ссылка, или массив ссылок.
@@ -2023,13 +2023,13 @@
// Очередь - Число - очередь, к которой отнесен обработчик и в которой зарегистрированы данные,
// которые он будет обрабатывать.
// - Неопределено - проверяется, завершена ли обработка в целом;
// - Массив - проверяется есть данные для обработки в списке очередей.
// - Массив - проверяется, есть ли данные для обработки в списке очередей.
// ПолноеИмяМетаданныеОбъекта- Строка, ОбъектМетаданных - полное имя обрабатываемого объекта или
// его метаданные. Например, "Документ.ПриходныйОрдерНаТовары"
// - Массив - массив полных имен объектов или объектов метаданных,
// в массиве не должно быть независимых регистров сведений.
// Отбор - ЛюбаяСсылка, Структура, Неопределено, Массив - отбор данных для проверки.
// Если передано Неопределено - проверяется по всему типу объекта,
// Если передано Неопределено - проверяется по всему типу объекта.
// Если объект - регистр, подчиненный регистратору, то в отборе - ссылка
// на регистратор или массив ссылок.
// Если объект ссылочного типа, то в отборе - или ссылка, или массив ссылок.
@@ -2045,7 +2045,7 @@
КонецФункции
// Проверяет есть заблокированные меньшими очередями обработки данные.
// Проверяет, есть ли заблокированные меньшими очередями обработки данные.
//
// Параметры:
// Очередь - Число, Неопределено - очередь, к которой отнесен обработчик и в которой
@@ -2064,13 +2064,13 @@
КонецФункции
// Проверяет завершилась ли обработка данных обработчиками, отнесенными на более раннюю очередь.
// Проверяет, завершилась ли обработка данных обработчиками, отнесенными на более раннюю очередь.
//
// Параметры:
// Очередь - Число - очередь, к которой отнесен обработчик и в которой зарегистрированы данные,
// которые он будет обрабатывать.
// - Неопределено - проверяется, завершена ли обработка в целом;
// - Массив - проверяется есть данные для обработки в списке очередей.
// - Массив - проверяется, есть ли данные для обработки в списке очередей.
// Данные - ЛюбаяСсылка, НаборЗаписей, Объект, ДанныеФормыСтруктура - ссылка на объект, сам объект
// или набор записей, который необходимо проверить.
// Если ДополнительныеПараметры.ЭтоДвижения = Истина, то Данные - это регистратор
@@ -2109,19 +2109,19 @@
// Создает временную таблицу заблокированных данных.
// Имя таблицы: ВТЗаблокированы<ИмяОбъекта>, например ВТЗаблокированоНоменклатура.
// Колонки таблицы
// для объектов ссылочного типа:
// * Ссылка
// Колонки таблицы:
// для объектов ссылочного типа
// * Ссылка;
// для регистров, подчиненных регистратору
// * Регистратор
// * Регистратор;
// для регистров с непосредственной записью
// * колонки, соответствующие измерениям регистра.
//
// Параметры:
// Очередь - Число, Неопределено - очередь обработки, в которой выполняется текущий обработчик.
// Если передано Неопределенно, то проверяется во всех очередях.
// Если передано Неопределено, то проверяется во всех очередях.
// ПолноеИмяОбъекта - Строка - полное имя объекта, для которого выполняется проверка,
// например, Справочник.Номенклатура.
// например Справочник.Номенклатура.
// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - менеджер, в котором будет создана временная таблица.
// ДополнительныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки,
// параметр ВыбиратьПорциями игнорируется, заблокированные данные всегда помещаются в
@@ -2295,9 +2295,9 @@
//
// Параметры:
// Очередь - Число, Неопределено - очередь обработки, в которой выполняется
// текущий обработчик. Если передано Неопределенно, то проверяется во всех очередях.
// текущий обработчик. Если передано Неопределено, то проверяется во всех очередях.
// ПолныеИменаОбъектов - Строка, Массив - полные имена объектов, для которых выполняется проверка,
// например, Справочник.Номенклатура.
// например Справочник.Номенклатура.
// Могут быть переданы объекты ссылочного типа, или регистры, подчиненные регистратору.
// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - менеджер, в котором будет создана временная таблица.
// ДополнительныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки,
@@ -2457,23 +2457,23 @@
КонецФункции
// Создает временную таблицу измерений регистров, подчиненных регистраторам, по которым еще есть необработанные регистраторы.
// Алгоритм вычисления
// - берутся заблокированные регистраторы
// - по ним соединяется с основной таблицей регистра
// - из основной таблицы получаются значения изменений
// - делается группировка
// Имя таблицы: ВТЗаблокированы<ИмяОбъекта>, например ВТЗаблокированоТоварыНаСкладах
// Создает временную таблицу измерений регистров, подчиненных регистраторам, по которым еще есть не обработанные регистраторы.
// Алгоритм вычисления:
// - берутся заблокированные регистраторы;
// - по ним соединяется с основной таблицей регистра;
// - из основной таблицы получаются значения изменений;
// - делается группировка.
// Имя таблицы: ВТЗаблокированы<ИмяОбъекта>, например ВТЗаблокированоТоварыНаСкладах.
// Колонки таблицы соответствуют переданным измерениям.
//
// Параметры:
// Очередь - Число, Неопределено - очередь обработки, в которой выполняется
// текущий обработчик. Если передано Неопределенно,
// текущий обработчик. Если передано Неопределено,
// то проверяется во всех очередях.
// ПолноеИмяРегистра - Строка - имя регистра, движения по которому нужно переформировать.
// Например, РегистрНакопления.ТоварыНаСкладах
// Измерения - Строка, Массив - имя измерений, по которым нужно проверить блокировку
// перечисленные через запятую или массив имен.
// Измерения - Строка, Массив - имена измерений, по которым нужно проверить блокировку,
// перечисленные через запятую, или массив имен.
// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - менеджер, в котором будет создана временная таблица.
// ДополнительныеПараметры - Структура - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки,
// параметр ВыбиратьПорциями игнорируется, заблокированные данные
@@ -2702,12 +2702,11 @@
// Допустимо указывать только для обработчиков с режимом выполнения Монопольно и Оперативно.
// Если указать значение Истина для обработчика с режимом
// выполнения Отложенно, будет выдано исключение.
// * УправлениеОбработчиками - Булево - если Истина, то обработчик должен иметь параметр типа структура, в котором
// есть свойство.
// РазделенныеОбработчики - таблица значений со структурой, возвращаемой этой
// функцией.
// * УправлениеОбработчиками - Булево - если Истина, то обработчик должен иметь параметр типа Структура, в котором
// есть свойство РазделенныеОбработчики - таблица значений со структурой,
// возвращаемой этой функцией.
// При этом колонка Версия игнорируется. В случае необходимости выполнения
// разделенного обработчика, в данную таблицу необходимо добавить строку с
// разделенного обработчика в данную таблицу необходимо добавить строку с
// описанием процедуры обработчика.
// Имеет смысл только для обязательных (Версия = *) обработчиков обновления
// с установленным флагом ОбщиеДанные.
@@ -2739,12 +2738,12 @@
// Указать Истина, если обработчик обновления должен выполняться только в главном
// узле РИБ.
// * ЗапускатьИВПодчиненномУзлеРИБСФильтрами - Булево - только для обработчиков отложенного обновления с режимом
// выполнения Параллельно,
// выполнения Параллельно.
// Указать Истина, если обработчик обновления должен также выполняться в
// подчиненном узле РИБ с фильтрами.
// * ЧитаемыеОбъекты - Строка - Объекты, которые обработчик обновления будет читать при обработке данных.
// * ИзменяемыеОбъекты - Строка - Объекты, которые обработчик обновления будет изменять при обработке данных.
// * ПриоритетыВыполнения - ТаблицаЗначений - Таблица приоритетов выполнения между отложенными обработчиками,
// * ЧитаемыеОбъекты - Строка - объекты, которые обработчик обновления будет читать при обработке данных.
// * ИзменяемыеОбъекты - Строка - объекты, которые обработчик обновления будет изменять при обработке данных.
// * ПриоритетыВыполнения - ТаблицаЗначений - таблица приоритетов выполнения между отложенными обработчиками,
// изменяющими или читающими одни и те же данные. Подробнее см. в комментарии
// к функции ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика.
//
@@ -2752,7 +2751,7 @@
//
// * ВыполнятьВГруппеОбязательных - Булево - следует указывать, если обработчик требуется
// выполнять в одной группе с обработчиками на версии "*".
// При этом, возможно менять порядок выполнения обработчика
// При этом возможно менять порядок выполнения обработчика
// относительно других путем изменения приоритета.
// * Приоритет - Число - для внутреннего использования.
//
@@ -2775,11 +2774,11 @@
// При запуске обработчика в немонопольном режиме передается
// значение Ложь. В этом случае обработчик не должен вносить никакие
// изменения в ИБ.
// Если в результате анализа выясняется что обработчику требуется
// изменить данные ИБ следует установить значение параметра в.
// Истина и прекратить выполнение обработчика.
// В этом случае оперативное (немонопольное обновление ИБ) будет
// отменено и выдана ошибка с требованием выполнить обновление в
// Если в результате анализа выясняется, что обработчику требуется
// изменить данные ИБ, следует установить значение параметра в Истина
// и прекратить выполнение обработчика.
// В этом случае оперативное (немонопольное) обновление ИБ будет
// отменено и будет выдана ошибка с требованием выполнить обновление в
// монопольном режиме.
//
Функция НоваяТаблицаОбработчиковОбновления() Экспорт
@@ -2825,7 +2824,7 @@
// Возвращаемое значение:
// ТаблицаЗначений - с колонками:
// * Порядок - Строка - порядок выполнения текущего обработчика относительно других.
// Допустимые варианты - "До", "После", "Любой".
// Допустимые варианты: "До", "После", "Любой".
// * Идентификатор - УникальныйИдентификатор - идентификатор процедуры, с которой настраивается взаимосвязь.
// * Процедура - Строка - полное имя процедуры, с которой настраивается взаимосвязь.
//
@@ -2853,7 +2852,7 @@
// ВерсияМетаданныхИБ - Строка - версия метаданных, до которой необходимо выполнить обновление.
// ОбработчикиОбновления - Соответствие - список обработчиков обновления.
// ОперативноеОбновление - Булево - Истина, если обновление оперативное.
// ХодВыполненияОбработчиков- Структура - со свойствами:
// ХодВыполненияОбработчиков - Структура - со свойствами:
// * ВсегоОбработчиков - Строка - общее количество выполняемых обработчиков.
// * ВыполненоОбработчиков - Булево - количество выполненных обработчиков.
//
@@ -2902,7 +2901,7 @@
КонецФункции
// Возвращает таблицу с версиями подсистем конфигурации.
// Для пакетной выгрузки-загрузки сведений о версиях подсистем.
// Для пакетной выгрузки/загрузки сведений о версиях подсистем.
//
// Возвращаемое значение:
// ТаблицаЗначений - таблица с колонками:
@@ -2924,7 +2923,7 @@
КонецФункции
// Устанавливает версии всех подсистем.
// Для пакетной выгрузки-загрузки сведений о версиях подсистем.
// Для пакетной выгрузки/загрузки сведений о версиях подсистем.
//
// Параметры:
// ВерсииПодсистем - ТаблицаЗначений - таблица с колонками:
@@ -2967,7 +2966,7 @@
// Записывает в информационную базу версию конфигурации или родительской конфигурации (библиотеки).
//
// Параметры:
// ИдентификаторБиблиотеки - Строка - имя конфигурации или родительской конфигурации (библиотеки),
// ИдентификаторБиблиотеки - Строка - имя конфигурации или родительской конфигурации (библиотеки).
// НомерВерсии - Строка - номер версии.
// ЭтоОсновнаяКонфигурация - Булево - признак, что ИдентификаторБиблиотеки соответствует имени конфигурации.
//
@@ -3034,7 +3033,7 @@
//
// Возвращаемое значение:
// Число, Неопределено - номер очереди переданного обработчика, если
// обработчик не найден будет возвращено Неопределено.
// обработчик не найден - будет возвращено Неопределено.
//
Функция ОчередьОтложенногоОбработчикаОбновления(ИмяИлиИдентификатор) Экспорт
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.2.195";
Описание.Версия = "3.0.2.208";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -26,9 +26,9 @@
// открыть форму с описанием изменений в новой версии программы.
// * МногопоточноеОбновление - Булево - если Истина, то в один момент времени могут выполняться сразу
// несколько обработчиков обновления. По умолчанию - Ложь.
// Это влияет, как на количество потоков выполнения обработчиков обновления,
// Это влияет как на количество потоков выполнения обработчиков обновления,
// так и количество потоков регистрации данных для обновления.
// ВАЖНО: Перед включением ознакомьтесь с документацией.
// ВАЖНО: перед включением ознакомьтесь с документацией.
// * КоличествоПотоковОбновленияИнформационнойБазыПоУмолчанию - Строка - количество потоков отложенного обновления
// используемое, когда не задано значение для константы
// КоличествоПотоковОбновленияИнформационнойБазы. По умолчанию равно 1.
@@ -40,8 +40,8 @@
КонецПроцедуры
// Вызывается перед процедурами-обработчиками обновления данных ИБ.
// Здесь можно разместить любую нестандартную логику обновления данных,
// например, иначе проинициализировать сведения о версиях тех или иных подсистем
// Здесь можно разместить любую нестандартную логику обновления данных - например,
// иначе проинициализировать сведения о версиях тех или иных подсистем
// с помощью ОбновлениеИнформационнойБазы.ВерсияИБ, ОбновлениеИнформационнойБазы.УстановитьВерсиюИБ,
// и ОбновлениеИнформационнойБазы.ЗарегистрироватьНовуюПодсистему.
//
@@ -75,15 +75,16 @@
// * ЭтоОсновнаяКонфигурация - Булево - Истина, если это основная конфигурация, а не библиотека.
// * Обработчики - ТаблицаЗначений - все обработчики обновления библиотеки, описание колонок
// см. в ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления.
// * ВыполненныеОбработчики - ДеревоЗначений - выполненные обработчики обновления, библиотеке и номеру версии,
// описание колонок см. в ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления.
// * ВыполненныеОбработчики - ДеревоЗначений - выполненные обработчики обновления, сгруппированные по
// библиотеке и номеру версии, описание колонок
// см. в ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления.
// * ИмяОсновногоСерверногоМодуля - Строка - имя модуля библиотеки (конфигурации), который предоставляет
// основные сведения о ней: имя, версия и т.д.
// * ОсновнойСерверныйМодуль - ОбщийМодуль - общий модуль библиотеки (конфигурации), который предоставляет
// основные сведения о ней: имя, версия и т.д.
// * ПредыдущаяВерсия - Строка - например, "2.1.3.30". Номер версии библиотеки (конфигурации) до обновления.
// ВыводитьОписаниеОбновлений - Булево - если установить Ложь, то не будет открыта форма
// с описанием изменений в новой версии программы. По умолчанию, Истина.
// с описанием изменений в новой версии программы. По умолчанию Истина.
// МонопольныйРежим - Булево - признак того, что обновление выполнилось в монопольном режиме.
//
// Пример:
@@ -111,7 +112,7 @@
КонецПроцедуры
// Вызывается при подготовке документа с описанием изменений в новой версии программы,
// которое выводится пользователю при первом входа в программу (после обновления).
// которое выводится пользователю при первом входе в программу (после обновления).
//
// Параметры:
// Макет - ТабличныйДокумент - описание изменений в новой версии программы, автоматически
@@ -20,6 +20,15 @@
//
Функция ИсправленияИзменены() Экспорт
Результат = Новый Структура;
Результат.Вставить("ЕстьИзменения", Ложь);
Результат.Вставить("ОписаниеИзменений", "");
Если ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
// В подчиненном узле патчи изменяются при синхронизации.
Возврат Результат;
КонецЕсли;
ИсправленияИзменены = Ложь;
// Для расширений, которые подключились нужно проверять версию.
@@ -161,9 +170,8 @@
ОписаниеИзменений = ОписаниеИзменений + Заголовок + ":" + Символы.ПС + СтрСоединить(Изменения.СнятБезопасныйРежим, Символы.ПС);
КонецЕсли;
Результат = Новый Структура;
Результат.Вставить("ЕстьИзменения", ИсправленияИзменены);
Результат.Вставить("ОписаниеИзменений", ОписаниеИзменений);
Результат.ЕстьИзменения = ИсправленияИзменены;
Результат.ОписаниеИзменений = ОписаниеИзменений;
Возврат Результат;
@@ -561,7 +561,7 @@
КонецПроцедуры
// Удаляет повторяющиеся элементы массива.
// Возвращает копию исходного массива с уникальными значениями.
//
// Параметры:
// Массив - Массив - массив произвольных значений.
@@ -569,7 +569,7 @@
// Возвращаемое значение:
// Массив - коллекция уникальных элементов.
//
Функция СвернутьМассив(Массив) Экспорт
Функция СвернутьМассив(Знач Массив) Экспорт
Результат = Новый Массив;
ДополнитьМассив(Результат, Массив, Истина);
Возврат Результат;
@@ -13,7 +13,7 @@
// Параметры:
// НомераПолучателей - Массив - массив строк номеров получателей в формате +7ХХХХХХХХХХ;
// Текст - Строка - текст сообщения, максимальная длина у операторов может быть разной;
// ИмяОтправителя - Строка - имя отправителя, которое будет отображаться вместо номера у получателей.
// ИмяОтправителя - Строка - имя отправителя, которое будет отображаться вместо номера у получателей;
// ПеревестиВТранслит - Булево - Истина, если требуется переводить текст сообщения в транслит перед отправкой.
//
// Возвращаемое значение:
@@ -1742,7 +1742,13 @@
Возврат;
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Контекст, "Внешний", Ложь) Тогда
ИдентификаторОтчета = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Контекст, "ОтчетСсылка");
Если ИдентификаторОтчета = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(ИдентификаторОтчета) = Тип("Строка")
Или ТипЗнч(ИдентификаторОтчета) = Тип("СправочникСсылка.ДополнительныеОтчетыИОбработки") Тогда
Заголовок.Значение = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Контекст, "Наименование", "");
Возврат;
КонецЕсли;
@@ -1757,11 +1763,6 @@
Возврат;
КонецЕсли;
ИдентификаторОтчета = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Контекст, "ОтчетСсылка");
Если ИдентификаторОтчета = Неопределено Тогда
Возврат;
КонецЕсли;
МетаданныеОтчета = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ИдентификаторОтчета, Ложь);
Если ТипЗнч(МетаданныеОтчета) = Тип("ОбъектМетаданных") Тогда
Заголовок.Значение = МетаданныеОтчета.Представление();
@@ -11,9 +11,9 @@
// Выводит подключенные команды в форме.
//
// Параметры:
// Форма - УправляемаяФорма - Форма, в которой необходимо разместить команды.
// ПараметрыРазмещения - Неопределено, Структура - Параметры размещения команд.
// Используется когда в форме несколько списков
// Форма - УправляемаяФорма - форма, в которой необходимо разместить команды.
// ПараметрыРазмещения - Структура - параметры размещения команд.
// Используется, когда в форме несколько списков
// (в этом случае размещается несколько вызовов этой процедуры с указанием 2го параметра),
// или когда типы источников зависят от параметров открытия формы.
// Состав ключей см. в функции ПараметрыРазмещения().
@@ -96,14 +96,14 @@
// Конструктор одноименного параметра процедуры ПриСозданииНаСервере.
//
// Возвращаемое значение:
// Структура - Параметры размещения подключаемых команд.
// * Источники - ОписаниеТипов, Массив - Источники команд.
// Структура - параметры размещения подключаемых команд.
// * Источники - ОписаниеТипов, Массив - источники команд.
// Используется для второстепенных списков, а также в формах объектов, не являющихся поставщиками
// команд (обработки, общие формы). В массиве ожидаются элементы типа "ОбъектМетаданных".
// * КоманднаяПанель - ГруппаФормы - Командная панель или группа команд, в которой выводятся подменю.
// * КоманднаяПанель - ГруппаФормы - командная панель или группа команд, в которой выводятся подменю.
// Используется как родитель для создания подменю в случае их отсутствия.
// Если не указан то в первую очередь ищется группа "ПодключаемыеКоманды".
// * ПрефиксГрупп - Строка - Добавка к именам подменю и имени командной панели.
// * ПрефиксГрупп - Строка - добавка к именам подменю и имени командной панели.
// Используется при необходимости префиксации групп с командами (в частности, когда в форме несколько таблиц).
// В качестве префикса рекомендуется использовать имя таблицы формы, для которой выводятся команды.
// Например, если ПрефиксГрупп = "СкладскиеДокументы" (имя второстепенной таблицы формы),
@@ -115,13 +115,13 @@
Возврат Результат;
КонецФункции
// Обработчик команды формы, требующей контекстный вызов сервера.
// Обработчик команды формы, требующей контекстного вызова сервера.
//
// Параметры:
// Форма - УправляемаяФорма - Форма, из которой выполняется команда.
// ПараметрыВызова - Структура - Параметры вызова.
// Источник - ТаблицаФормы, ДанныеФормыСтруктура - Объект или список формы с полем "Ссылка".
// Результат - Структура - Результат выполнения команды.
// Форма - УправляемаяФорма - форма, из которой выполняется команда.
// ПараметрыВызова - Структура - параметры вызова.
// Источник - ТаблицаФормы, ДанныеФормыСтруктура - объект или список формы с полем "Ссылка".
// Результат - Структура - результат выполнения команды.
//
Процедура ВыполнитьКоманду(Знач Форма, Знач ПараметрыВызова, Знач Источник, Результат) Экспорт
Результат = Новый Структура;
@@ -160,11 +160,11 @@
// Задает условия видимости команды на форме в зависимости от контекста.
//
// Параметры:
// Команда - СтрокаТаблицыЗначений - Команда, для которой добавляется условие видимости.
// Реквизит - Строка - Имя реквизита объекта.
// Значение - Произвольный - Значение реквизита объекта. Параметр обязательный для всех видов
// Команда - СтрокаТаблицыЗначений - команда, для которой добавляется условие видимости.
// Реквизит - Строка - имя реквизита объекта.
// Значение - Произвольный - значение реквизита объекта. Параметр обязательный для всех видов
// сравнения кроме Заполнено и НеЗаполнено.
// ВидСравнения - ВидСравненияКомпоновкиДанных - Вид сравнения значений.
// ВидСравнения - ВидСравненияКомпоновкиДанных - вид сравнения значений.
// Допустимо использовать следующие виды сравнения:
// ВидСравненияКомпоновкиДанных.Равно,
// ВидСравненияКомпоновкиДанных.НеРавно,
@@ -176,7 +176,7 @@
// ВидСравненияКомпоновкиДанных.Меньше,
// ВидСравненияКомпоновкиДанных.БольшеИлиРавно,
// ВидСравненияКомпоновкиДанных.МеньшеИлиРавно.
// Значение по умолчанию: ВидСравненияКомпоновкиДанных.Равно.
// Значение по умолчанию - ВидСравненияКомпоновкиДанных.Равно.
//
Процедура ДобавитьУсловиеВидимостиКоманды(Команда, Реквизит, Значение = Неопределено, Знач ВидСравнения = Неопределено) Экспорт
Если ВидСравнения = Неопределено Тогда
@@ -241,8 +241,8 @@
// Получает настройки интеграции объекта метаданных - поставщика команд (отчета или обработки).
//
// Параметры:
// ПолноеИмя - Строка - Полное имя объекта метаданных.
// НастройкиПрограммногоИнтерфейса - Произвольный - Необязательный. Результат выполнения функции
// ПолноеИмя - Строка - полное имя объекта метаданных.
// НастройкиПрограммногоИнтерфейса - Произвольный - Результат выполнения функции
// НастройкиПрограммногоИнтерфейсаПодключаемыхОбъектов().
//
// Возвращаемое значение:
@@ -46,7 +46,7 @@
// программный интерфейс.
//
// При внедрении в конфигурацию подсистем "Печать", "Заполнение объектов" и "Варианты отчетов" в параметре Настройки
// процедуры ПриОпределенииНастроек модулей менеджеров отчетов и обработок, предопределен ряд стандартных свойств,
// процедуры ПриОпределенииНастроек модулей менеджеров отчетов и обработок предопределен ряд стандартных свойств,
// в которых возможно задать следующее:
// * Размещение - Массив - перечислить объекты метаданных конфигурации (ОбъектМетаданных), к которым подключен данный
// отчет или обработка.
@@ -84,7 +84,7 @@
// ПриОпределенииНастроек модулей менеджеров отчетов и обработок,
// включенных в состав подсистемы ПодключаемыеОтчетыИОбработки,
// добавить строку таблицы с колонками:
// * Ключ - Строка - имя настройки, например, "ДобавитьМотиваторы".
// * Ключ - Строка - имя настройки, например "ДобавитьМотиваторы".
// * ОписаниеТипов - ОписаниеТипов - тип настройки, например: Новый ОписаниеТипов("Булево").
// * ВидыПодключаемыхОбъектов - Строка - имена видов объектов метаданных, для которых будет доступна эта настройка,
// перечисленные через запятую. Например: "Отчет" или "Отчет, Обработка".
@@ -126,13 +126,13 @@
// * Менеджер - Произвольный - модуль менеджера объекта, или Неопределено, если у объекта
// нет модуля менеджера или если его не удалось получить.
// * Ссылка - СправочникСсылка.ИдентификаторыОбъектовМетаданных - ссылка объекта метаданных.
// * ЭтоЖурналДокументов - Булево - Истина если объект является журналом документов.
// * ЭтоЖурналДокументов - Булево - Истина, если объект является журналом документов.
// * ТипСсылкиДанных - Тип, ОписаниеТипов - тип ссылки элемента.
//
// ПодключенныеОтчетыИОбработки - ТаблицаЗначений - отчеты и обработки, предоставляющие свои команды
// для объектов Источники:
// * ПолноеИмя - Строка - Полное имя объекта метаданных.
// * Менеджер - Произвольный - Модуль менеджера объекта метаданных.
// * ПолноеИмя - Строка - полное имя объекта метаданных.
// * Менеджер - Произвольный - модуль менеджера объекта метаданных.
// Состав колонок см. в ПодключаемыеКомандыПереопределяемый.ПриОпределенииСоставаНастроекПодключаемыхОбъектов.
//
// Команды - ТаблицаЗначений - записать в этот параметр сформированные команды для вывода в подменю:
@@ -152,7 +152,7 @@
// Настройки видимости и доступности:
// * ТипПараметра - ОписаниеТипов - типы объектов, для которых предназначена эта команда.
// * ВидимостьВФормах - Строка - имена форм через запятую, в которых должна отображаться команда.
// Используется когда состав команд отличается для различных форм.
// Используется, когда состав команд отличается для различных форм.
// * Назначение - Строка - определяет вид форм, для которых предназначена команда.
// Принимаемые значения:
// "ДляСписка" - показывать команду только в форме списка,
@@ -166,23 +166,23 @@
// * ИзменяетВыбранныеОбъекты - Булево - определяет доступность команды в ситуации,
// когда у пользователя нет прав на изменение объекта.
// Если Истина, то в описанной выше ситуации кнопка будет недоступна.
// Необязательный. Значение по умолчанию: Ложь.
// Необязательный. Значение по умолчанию - Ложь.
//
// Настройки процесса выполнения:
// * МножественныйВыбор - Булево - если Истина, то команда поддерживает множественный выбор.
// В этом случае в параметре выполнения будет передан список ссылок.
// Необязательный. Значение по умолчанию: Истина.
// * РежимЗаписи - Строка - Действия, связанные с записью объекта, которые выполняются перед обработчиком команды.
// ** "НеЗаписывать" - Объект не записывается, а в параметрах обработчика вместо ссылок передается
// Необязательный. Значение по умолчанию - Истина.
// * РежимЗаписи - Строка - действия, связанные с записью объекта, которые выполняются перед обработчиком команды.
// ** "НеЗаписывать" - объект не записывается, а в параметрах обработчика вместо ссылок передается
// вся форма. В этом режиме рекомендуется работать напрямую с формой,
// которая передается в структуре 2 параметра обработчика команды.
// ** "ЗаписыватьТолькоНовые" - Записывать новые объекты.
// ** "Записывать" - Записывать новые и модифицированные объекты.
// ** "Проводить" - Проводить документы.
// которая передается в структуре 2-го параметра обработчика команды.
// ** "ЗаписыватьТолькоНовые" - записывать новые объекты.
// ** "Записывать" - записывать новые и модифицированные объекты.
// ** "Проводить" - проводить документы.
// Перед записью и проведением у пользователя запрашивается подтверждение.
// Необязательный. Значение по умолчанию: "Записывать".
// Необязательный. Значение по умолчанию - "Записывать".
// * ТребуетсяРаботаСФайлами - Булево - если Истина, то в веб-клиенте предлагается
// установить расширение работы с файлами. Необязательный. Значение по умолчанию: Ложь.
// установить расширение работы с файлами. Необязательный. Значение по умолчанию - Ложь.
//
// Настройки обработчика:
// * Менеджер - Строка - объект, отвечающий за выполнение команды.
@@ -52,16 +52,16 @@
// Проверяет, является ли текущий или указанный пользователь полноправным.
//
// Полноправным считается пользователь, который
// а) при не пустом списке пользователей информационной базы,
// имеет роль ПолныеПрава и роль для администрирования системы (если ПроверятьПраваАдминистрированияСистемы = Истина)
// Полноправным считается пользователь, который:
// а) при непустом списке пользователей информационной базы
// имеет роль ПолныеПрава и роль для администрирования системы (если ПроверятьПраваАдминистрированияСистемы = Истина);
// б) при пустом списке пользователей информационной базы
// основная роль конфигурации не задана или ПолныеПрава.
//
// Параметры:
// Пользователь - Неопределено - проверяется текущий пользователь ИБ.
// - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - осуществляется
// поиск пользователя ИБ по уникальному идентификатору, заданному в реквизите.
// поиск пользователя ИБ по уникальному идентификатору, заданному в реквизите
// ИдентификаторПользователяИБ. Если пользователь ИБ не найден, возвращается Ложь.
// - ПользовательИнформационнойБазы - проверяется указанный пользователь ИБ.
//
@@ -164,7 +164,7 @@
// функция возвращает Истина, когда установлен привилегированный режим.
//
// Возвращаемое значение:
// Булево - Истина, если хотя бы одна из указанных ролей доступна,
// Булево - Истина, если хотя бы одна из указанных ролей доступна
// или функция ЭтоПолноправныйПользователь(Пользователь) возвращает Истина.
//
Функция РолиДоступны(ИменаРолей,
@@ -280,7 +280,7 @@
// Для использования в обработчиках событий ОкончаниеВводаТекста и АвтоПодбор.
//
// Параметры:
// Текст - Строка - символы введенные пользователем.
// Текст - Строка - символы, введенные пользователем.
//
// ВключаяГруппы - Булево - если Истина, включать группы пользователей и внешних пользователей.
// Если ФО ИспользоватьГруппыПользователей отключена, параметр игнорируется.
@@ -386,21 +386,21 @@
КонецФункции
// Заполняет номера картинок пользователей, групп пользователей, внешних пользователей и групп внешних пользователей
// во всех или указанной (см. параметр ИдентификаторСтроки) строк коллекции ТаблицаИлиДерево.
// во всех строках или указанной (см. параметр ИдентификаторСтроки) строке коллекции ТаблицаИлиДерево.
//
// Параметры:
// ТаблицаИлиДерево - ДанныеФормыКоллекция, ДанныеФормыДерево - коллекция для заполнения.
// ИмяПоляПользователь - Строка - имя колонки в коллекции ТаблицаИлиДерево, содержащего ссылку на пользователя,
// ИмяПоляПользователь - Строка - имя колонки в коллекции ТаблицаИлиДерево, содержащей ссылку на пользователя,
// группу пользователей, внешнего пользователя или группу внешних пользователей.
// По ее значению вычисляется номер картинки.
// ИмяПоляНомераКартинки - Строка - имя колонки в коллекции ТаблицаИлиДерево с номером картинки,
// которое требуется заполнить.
// ИдентификаторСтроки - Неопределено, Число - идентификатор строки (не порядковый номер), которую требуется
// заполнить (у дерева также будут заполнены и дочерние строки);
// заполнить (у дерева также будут заполнены и дочерние строки),
// если Неопределено, то картинки будут заполнены во всех строках.
// ОбработатьИерархиюВторогоИТретьегоУровней - Булево - если Истина и в параметре ТаблицаИлиДерево указана
// коллекция типа ДанныеФормыДерево, то
// будут заполнены поля по четвертый уровень дерева включительно;
// будут заполнены поля по четвертый уровень дерева включительно,
// иначе будут заполнены поля только на первом и втором уровне дерева.
//
Процедура ЗаполнитьНомераКартинокПользователей(Знач ТаблицаИлиДерево,
@@ -535,7 +535,7 @@
// Используется при обновлении и начальном заполнении информационной базы.
// 1) Создает первого администратора и сопоставляет его с новым или существующим
// пользователем в справочнике Пользователи.
// 2) Сопоставляет администратора, указанного в параметре ПользовательИБ с новым или
// 2) Сопоставляет администратора, указанного в параметре ПользовательИБ, с новым или
// существующим пользователем в справочнике Пользователи.
//
// Параметры:
@@ -740,7 +740,7 @@
КонецФункции
// Проверяет сопоставлен ли пользовательИБ с элементом справочника Пользователи или
// Проверяет, сопоставлен ли пользователь ИБ с элементом справочника Пользователи или
// с элементом справочника ВнешниеПользователи.
//
// Параметры:
@@ -892,7 +892,7 @@
КонецФункции
// Записывает новые значения свойств указанного пользователя ИБ, либо создает нового пользователя ИБ.
// Записывает новые значения свойств указанного пользователя ИБ либо создает нового пользователя ИБ.
// Если пользователь не существует, а также при попытке создания существующего пользователя будет вызвано исключение.
//
// Параметры:
@@ -1086,10 +1086,10 @@
// Несуществующие свойства в источнике или приемнике не копируются.
//
// Свойства Пароль и СохраняемоеЗначениеПароля не копируются, если
// значения в Источнике равно Неопределено.
// значение в Источнике равно Неопределено.
//
// Свойства АутентификацияОС, АутентификацияСтандартная,
// АутентификацияOpenID и ПользовательОС не переустанавливается,
// АутентификацияOpenID и ПользовательОС не переустанавливаются,
// если совпадают, когда Приемник типа ПользовательИнформационнойБазы.
//
// Свойства УникальныйИдентификатор, ПарольУстановлен, СтарыйПароль
@@ -1373,7 +1373,7 @@
КонецФункции
// Выполняет поиск идентификаторов пользователей ИБ используемых более одного раза и
// Выполняет поиск идентификаторов пользователей ИБ, используемых более одного раза, и
// либо вызывает исключение, либо возвращает найденных пользователей ИБ для дальнейшей
// обработки.
//
@@ -1388,11 +1388,11 @@
// НайденныеИдентификаторы - Неопределено - при нахождении ошибок вызывается исключение.
// - Соответствие - при нахождении ошибок исключение не вызывается,
// а вместо этого заполняется переданное соответствие:
// * Ключ - неоднозначный идентификатор пользователя ИБ.
// * Ключ - неоднозначный идентификатор пользователя ИБ;
// * Значение - массив пользователей и внешних пользователей.
//
// ИдентификаторПользователяСервиса - Булево - если Ложь, тогда проверять ИдентификаторПользователяИБ,
// если Истина,тогда проверять ИдентификаторПользователяСервиса.
// если Истина, тогда проверять ИдентификаторПользователяСервиса.
//
Процедура НайтиНеоднозначныхПользователейИБ(Знач Пользователь,
Знач УникальныйИдентификатор = Неопределено,
@@ -1620,7 +1620,7 @@
// Возвращает сохраняемое значение пароля для указанного пароля.
//
// Параметры:
// Пароль - Строка - пароль для которого нужно получить сохраняемое значение.
// Пароль - Строка - пароль, для которого нужно получить сохраняемое значение.
//
// Возвращаемое значение:
// Строка - сохраняемое значение пароля.
@@ -1669,7 +1669,7 @@
КонецФункции
// Проверяет соответствие прав ролей назначению ролей, указанном
// Проверяет соответствие прав ролей назначению ролей, указанному
// в процедуре ПриОпределенииНазначенияРолей общего модуля ПользователиПереопределяемый.
//
// Применяется в случаях:
@@ -1679,13 +1679,13 @@
//
// Параметры:
// ПроверитьВсе - Булево - если Ложь, тогда пропускается проверка назначения ролей
// по требованиям технологий сервиса (что быстрее), в противном случае,
// по требованиям технологий сервиса (что быстрее), в противном случае
// проверка выполняется, если разделение включено.
//
// СписокОшибок - Неопределено - если ошибки найдены, формируется текст ошибок и вызывается исключение.
// - СписокЗначений - (возвращаемое значение) найденные ошибки добавляются в список без вызова исключения.
// * Значение - Строка - имя роли.
// - Неопределено - роль, указанная в процедуре не найдена в метаданных.
// - Неопределено - роль, указанная в процедуре, не найдена в метаданных.
// * Представление - Строка - текст ошибки.
//
Процедура ПроверитьНазначениеРолей(ПроверитьВсе = Ложь, СписокОшибок = Неопределено) Экспорт
@@ -12,14 +12,14 @@
//
// Параметры:
// Настройки - Структура - со свойствами:
// * ОбщиеНастройкиВхода - Булево - определяет будут ли в панели администрирования
// "Настройки прав и пользователей" доступны настройки входа и доступность
// * ОбщиеНастройкиВхода - Булево - определяет, будут ли в панели администрирования
// "Настройки прав и пользователей" доступны настройки входа, и доступность
// настроек ограничения срока действия в формах пользователя и внешнего пользователя.
// По умолчанию, Истина, а для базовых версий конфигурации - всегда Ложь.
// По умолчанию - Истина, а для базовых версий конфигурации - всегда Ложь.
//
// * РедактированиеРолей - Булево - определяет доступность интерфейса изменения ролей
// в карточках пользователя, внешнего пользователя и группы внешних пользователей
// (в том числе для администратора). По умолчанию, Истина.
// (в том числе для администратора). По умолчанию - Истина.
//
Процедура ПриОпределенииНастроек(Настройки) Экспорт
@@ -89,7 +89,7 @@
//
// ДействияВФорме - Структура - со свойствами:
// * Роли - Строка - "", "Просмотр", "Редактирование".
// Например, когда роли редактируются в другой форме можно скрыть
// Например, когда роли редактируются в другой форме, можно скрыть
// их в этой форме или только блокировать редактирование.
// * КонтактнаяИнформация - Строка - "", "Просмотр", "Редактирование".
// Свойство отсутствует для групп внешних пользователей.
@@ -100,7 +100,7 @@
// Например, может потребоваться показать свойства пользователя ИБ
// для пользователя, который имеет прикладные права на эти сведения.
// * СвойстваЭлемента - Строка - "", "Просмотр", "Редактирование".
// Например, Наименование, является полным именем пользователя ИБ,
// Например, Наименование является полным именем пользователя ИБ,
// может потребоваться разрешить редактировать наименование
// для пользователя, который имеет прикладные права на кадровые операции.
//
@@ -111,7 +111,7 @@
// Доопределяет действия при записи пользователя информационной базы.
// Например, если требуется синхронно обновить запись в соответствующем регистре и т.п.
// Вызывается из процедуры Пользователи.ЗаписатьПользователяИБ, если пользователь был действительно изменен.
// Если поле Имя в структуре СтарыеСвойства не заполнено, значит создается новый пользователь ИБ.
// Если поле Имя в структуре СтарыеСвойства не заполнено, то создается новый пользователь ИБ.
//
// Параметры:
// СтарыеСвойства - Структура - см. Пользователи.НовоеОписаниеПользователяИБ.
@@ -16,7 +16,7 @@
// Оповещение - ОписаниеОповещения - содержит обработчик, вызываемый после
// подтверждения легальности получения обновления.
// ЗавершатьРаботуСистемы - Булево - завершать работу системы, если пользователь
// указал что обновление получено не легально.
// указал, что обновление получено не легально.
//
Процедура ПоказатьПроверкуЛегальностиПолученияОбновления(Оповещение, ЗавершатьРаботуСистемы = Ложь) Экспорт
@@ -2343,4 +2343,250 @@
Возврат Результат;
КонецФункции
// Общероссийский классификатор стран мира
// Возвращает полные данные ОКСМ классификатора.
// Таблица значений в макете проиндексирована по полям "Код", "Наименование".
//
// Возвращаемое значение:
// ТаблицаЗначений - данные классификатора с колонками:
// * Код - Строка - данные страны.
// * Наименование - Строка - данные страны.
// * НаименованиеПолное - Строка - данные страны.
// * КодАльфа2 - Строка - данные страны.
// * КодАльфа3 - Строка - данные страны.
//
Функция ТаблицаКлассификатора() Экспорт
Макет = Справочники.СтраныМира.ПолучитьМакет("Классификатор");
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(Макет.ПолучитьТекст());
Возврат СериализаторXDTO.ПрочитатьXML(Чтение);
КонецФункции
Функция ЗаполнитьДанныеВыбораАвтоподбораПоСтранам(Знач Параметры) Экспорт
ДанныеВыбора = Новый СписокЗначений;
// Будем имитировать поведение платформы - поиск по всем доступным полям поиска с формированием подобного списка.
// Подразумеваем, что поля справочника и классификатора совпадают, за исключением отсутствующего в классификаторе поля "Ссылка".
Запрос = Новый Запрос;
ПрефиксПараметраОтбора = "ПараметрыОтбора";
ПоляОтбора = Новый Массив;
ПоляОтбора.Добавить("Код");
ПоляОтбора.Добавить("Наименование");
// Общий отбор по параметрам
Отборы = Новый Массив;
Для Каждого КлючЗначение Из Параметры.Отбор Цикл
ЗначениеПоля = КлючЗначение.Значение;
ИмяПоля = КлючЗначение.Ключ;
ИмяПараметра = ПрефиксПараметраОтбора + ИмяПоля;
Если ТипЗнч(ЗначениеПоля) = Тип("Массив") Или ТипЗнч(ЗначениеПоля) = Тип("ФиксированныйМассив") Тогда
Отборы.Добавить(" %1." + ИмяПоля + " В (&" + ИмяПараметра + ")");
Иначе
Отборы.Добавить(" %1." + ИмяПоля + " = &" + ИмяПараметра);
КонецЕсли;
ПоляОтбора.Добавить(ИмяПоля);
Запрос.УстановитьПараметр(ИмяПараметра, КлючЗначение.Значение);
КонецЦикла;
// Дополнительные отборы
Если Параметры.Свойство("ВыборГруппИЭлементов") Тогда
Если Параметры.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы Тогда
Отборы.Добавить(" %1.ЭтоГруппа");
ИначеЕсли Параметры.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы Тогда
Отборы.Добавить(" (НЕ %1.ЭтоГруппа)");
КонецЕсли;
КонецЕсли;
ШаблонОтбора = СтрСоединить(Отборы, " И ");
// Источники данных
Если (Параметры.Свойство("ТолькоДанныеКлассификатора") И Параметры.ТолькоДанныеКлассификатора) Тогда
// Запрос только по классификатору.
ШаблонЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 50
| NULL КАК Ссылка,
| Классификатор.Код КАК Код,
| Классификатор.Наименование КАК Наименование,
| ЛОЖЬ КАК ПометкаУдаления,
| %2 КАК Представление
|ИЗ
| Классификатор КАК Классификатор
|ГДЕ
| Классификатор.%1 ПОДОБНО &СтрокаПоиска";
Если ЗначениеЗаполнено(ШаблонОтбора) Тогда
ШаблонЗапроса = ШаблонЗапроса + "
|И (
| " + СтрЗаменить(ШаблонОтбора, "%1", "Классификатор") + "
| )
|";
КонецЕсли;
Иначе
// Запрос и по справочнику и по классификатору.
ШаблонЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 50
| СтраныМира.Ссылка КАК Ссылка,
| ЕСТЬNULL(СтраныМира.Код, Классификатор.Код) КАК Код,
| ЕСТЬNULL(СтраныМира.Наименование, Классификатор.Наименование) КАК Наименование,
| ЕСТЬNULL(СтраныМира.ПометкаУдаления, ЛОЖЬ) КАК ПометкаУдаления,
|
| ВЫБОР КОГДА СтраныМира.Ссылка ЕСТЬ NULL ТОГДА
| %2
| ИНАЧЕ
| %3
| КОНЕЦ КАК Представление
|
|ИЗ
| Справочник.СтраныМира КАК СтраныМира
|ПОЛНОЕ СОЕДИНЕНИЕ
| Классификатор
|ПО
| Классификатор.Код = СтраныМира.Код
| И Классификатор.Наименование = СтраныМира.Наименование
|ГДЕ
| (СтраныМира.%1 ПОДОБНО &СтрокаПоиска ИЛИ Классификатор.%1 ПОДОБНО &СтрокаПоиска)";
Если ЗначениеЗаполнено(ШаблонОтбора) Тогда
ШаблонЗапроса = ШаблонЗапроса + "
| И ((" + СтрЗаменить(ШаблонОтбора, "%1", "Классификатор") + ")
| ИЛИ (" + СтрЗаменить(ШаблонОтбора, "%1", "СтраныМира") + "))
|
|";
КонецЕсли;
КонецЕсли;
ИменаПолей = ПоляПоиска(ПоляОтбора);
ИменаПолейСтрокой = СтрСоединить(ИменаПолей.ИменаПолейДляОтбораВКлассификаторе, ", ");
ТекстЗапросаКлассификатор = "ВЫБРАТЬ
| " + ИменаПолейСтрокой + "
|ПОМЕСТИТЬ
| Классификатор
|ИЗ
| &Классификатор КАК Классификатор
|ИНДЕКСИРОВАТЬ ПО
| " + ИменаПолейСтрокой + "
|";
НаборЗапросов = Новый Массив;
Для Каждого ДанныеПоля Из ИменаПолей.СписокПолей Цикл
ТекстЗапроса = СтрЗаменить(ШаблонЗапроса, "%1", ДанныеПоля.Имя);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%2", СтрЗаменить(ДанныеПоля.ШаблонПредставления, "%1", "Классификатор"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%3", СтрЗаменить(ДанныеПоля.ШаблонПредставления, "%1", "СтраныМира"));
НаборЗапросов.Добавить(ТекстЗапроса);
КонецЦикла;
Запрос.Текст = ТекстЗапросаКлассификатор + "
|;
|" + СтрСоединить(НаборЗапросов, " ОБЪЕДИНИТЬ ВСЕ ") + "
|УПОРЯДОЧИТЬ ПО Представление";
Запрос.УстановитьПараметр("Классификатор", ТаблицаКлассификатора());
Запрос.УстановитьПараметр("СтрокаПоиска", ЭкранироватьСимволыПодобия(Параметры.СтрокаПоиска) + "%");
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат ДанныеВыбора;
КонецЕсли;
ДлинаСтрокиПоиска = СтрДлина(Параметры.СтрокаПоиска);
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Если ЗначениеЗаполнено(Выборка.Ссылка) Тогда
// Данные справочника
ЭлементВыбора = Выборка.Ссылка;
Иначе
// Данные классификатора
РезультатВыбора = Новый Структура("Код, Наименование",
Выборка.Код, Выборка.Наименование);
ЭлементВыбора = Новый Структура("Значение, ПометкаУдаления, Предупреждение",
РезультатВыбора, Выборка.ПометкаУдаления, Неопределено);
КонецЕсли;
ВыделенныйТекст = Новый ФорматированнаяСтрока(Лев(Выборка.Представление, ДлинаСтрокиПоиска), Новый Шрифт(,, Истина), ЦветаСтиля.РезультатУспехЦвет);
Представление = Новый ФорматированнаяСтрока(ВыделенныйТекст, Сред(Выборка.Представление, ДлинаСтрокиПоиска + 1));
ДанныеВыбора.Добавить(ЭлементВыбора, Представление);
КонецЦикла;
Возврат ДанныеВыбора;
КонецФункции
// Возвращает поля поиска в порядке предпочтения для справочника стран мира.
//
// Возвращаемое значение:
// Массив - содержит структуры с полями:
// * Имя - Строка - имя реквизита поиска.
// * ШаблонПредставления - Строка - шаблон для формирования значения представления по именам реквизитов,
// например: "%1.Наименование (%1.Код)". Здесь "Наименование" и "Код" - имена
// реквизитов,
// "%1" - заполнитель для передачи псевдонима таблицы.
//
Функция ПоляПоиска(ПоляОтбора)
Результат = Новый Массив;
СписокПолей = Справочники.СтраныМира.ПустаяСсылка().Метаданные().ВводПоСтроке;
ГраницаПолей = СписокПолей.Количество() - 1;
Для Индекс = 0 По ГраницаПолей Цикл
ИмяПоля = СписокПолей[Индекс].Имя;
Если ПоляОтбора.Найти(ИмяПоля) = Неопределено Тогда
ПоляОтбора.Добавить(ИмяПоля);
КонецЕсли;
ШаблонПредставления = "%1." + ИмяПоля;
ОстальныеПоля = Новый Массив;
Для Позиция = 0 По ГраницаПолей Цикл
Если Позиция <> Индекс Тогда
ОстальныеПоля.Добавить("%1." + СписокПолей[Позиция].Имя);
КонецЕсли;
КонецЦикла;
Если ОстальныеПоля.Количество() > 0 Тогда
ШаблонПредставления = ШаблонПредставления
+ " + "" ("" + " + СтрСоединить(ОстальныеПоля, " + "", "" + ") + " + "")""";
КонецЕсли;
Результат.Добавить(
Новый Структура("Имя, ШаблонПредставления", ИмяПоля, ШаблонПредставления));
КонецЦикла;
Возврат Новый Структура("СписокПолей, ИменаПолейДляОтбораВКлассификаторе", Результат, ПоляОтбора);
КонецФункции
// Экранирует символы для использования в функции запроса ПОДОБНО.
//
Функция ЭкранироватьСимволыПодобия(Знач Текст, Знач СпецСимвол = "\")
Результат = Текст;
СимволыПодобия = "%_[]^" + СпецСимвол;
Для Позиция=1 По СтрДлина(СимволыПодобия) Цикл
ТекущийСимвол = Сред(СимволыПодобия, Позиция, 1);
Результат = СтрЗаменить(Результат, ТекущийСимвол, СпецСимвол + ТекущийСимвол);
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти
@@ -24,6 +24,12 @@
КонецПроцедуры
Процедура ПоказатьКлассификатор(ПараметрыОткрытия, ВладелецФормы, РежимОткрытияОкна = Неопределено) Экспорт
ОткрытьФорму("Справочник.СтраныМира.Форма.Классификатор", ПараметрыОткрытия, ВладелецФормы,,,,, РежимОткрытияОкна);
КонецПроцедуры
#КонецОбласти
@@ -20,10 +20,10 @@
// - Массив - коллекция структур адресов:
// * Адрес - Строка - почтовый адрес (должно быть обязательно заполнено).
// * Представление - Строка - имя адресата.
// - Строка - интернет адреса получателей письма, разделитель - ";".
// - Строка - интернет-адреса получателей письма, разделитель - ";".
//
// * ПолучателиСообщения - Массив - массив структур, описывающий получателей:
// ** Адрес - Строка - Почтовый адрес получателя сообщения.
// ** Адрес - Строка - почтовый адрес получателя сообщения.
// ** Представление - Строка - представление адресата.
//
// * Копии - Массив, Строка - адреса получателей копий письма. См. описание поля Кому.
@@ -58,8 +58,7 @@
// протоколу SMTP и по протоколу IMAP, если ничего не указано то по протоколу SMTP.
// Параметр имеет смысл, только наличии действующего соединения, указанного в параметр Соединение.
// В противном случае протокол будет определен автоматически при установке соединения.
// * ИдентификаторСообщения - Строка - (возвращаемый параметр) идентификатор отправленного почтового сообщения на SMTP
// сервере;
// * ИдентификаторСообщения - Строка - (возвращаемый параметр) идентификатор отправленного почтового сообщения на SMTP-сервере;
// * ИдентификаторСообщенияОтправкаIMAP - Строка - (возвращаемый параметр) идентификатор отправленного почтового сообщения на IMAP
// сервере;
// * ОшибочныеПолучатели - Соответствие - (возвращаемый параметр) список адресов, по которым отправка не выполнена.
@@ -69,7 +68,7 @@
// УдалитьПротоколПочты - Строка - параметр устарел, см. параметр ПараметрыОтправки.ПротоколПочты.
//
// Возвращаемое значение:
// Строка - Идентификатор отправленного сообщения.
// Строка - идентификатор отправленного сообщения.
//
Функция ОтправитьПочтовоеСообщение(Знач УчетнаяЗапись, Знач ПараметрыОтправки,
Знач УдалитьСоединение = Неопределено, УдалитьПротоколПочты = "") Экспорт
@@ -141,7 +140,7 @@
КонецФункции
// Загружает сообщения с сервера электронной почты для указанной учетной записи.
// Предварительно, проверяется корректность заполнения учетной записи.
// Предварительно проверяется корректность заполнения учетной записи.
// Функция может вызвать исключение, которое требуется обработать.
//
// Параметры:
@@ -151,16 +150,13 @@
// * Колонки - Массив - массив строк названий колонок
// названия колонок должны соответствовать полям объекта
// ИнтернетПочтовоеСообщение.
// * РежимТестирования - Булево - если Истина то вызов сделан в режиме тестирования
// учетной записи - при этом выборка писем происходит,
// но в возвращаемом значении они не попадают; по умолчанию
// режим тестирования отключен.
// * РежимТестирования - Булево - используется для проверки подключения к серверу.
// * ПолучениеЗаголовков - Булево - если Истина, то в возвращаемом наборе есть только
// заголовки писем.
// * ЗаголовкиИдентификаторы - Массив - заголовки или идентификаторы сообщений, полные
// сообщения по которым требуется получить.
// * ПриводитьСообщенияКТипу - Булево - возвращать набор полученных почтовых сообщений
// в виде таблицы значений, с простыми типами. По умолчанию Истина.
// в виде таблицы значений с простыми типами. По умолчанию Истина.
//
// Возвращаемое значение:
// НаборСообщений - ТаблицаЗначений, Булево - список почтовых сообщений с колонками:
@@ -171,8 +167,8 @@
//
// В режиме тестирования возвращается Истина.
//
// Прим. ** - в случае, если вложениями являются другие почтовые сообщения,
// они сами не возвращаются но возвращаются их вложения - двоичные
// ** Прим. - В случае если вложениями являются другие почтовые сообщения,
// они сами не возвращаются, но возвращаются их вложения - двоичные
// данные и их тексты в виде двоичных данных, рекурсивно.
//
Функция ЗагрузитьПочтовыеСообщения(Знач УчетнаяЗапись, Знач ПараметрыЗагрузки = Неопределено) Экспорт
@@ -194,10 +190,8 @@
// Получить доступные учетные записи электронной почты.
//
// Параметры:
// ДляОтправки - Булево - Если установлено Истина, то будут выбирать только записи, с которых
// можно отправлять почту.
// ДляПолучения - Булево - Если установлено Истина, то будут выбирать только записи, по которым
// можно получать почту.
// ДляОтправки - Булево - выбирать только учетные записи, настроенные для отправки почты.
// ДляПолучения - Булево - выбирать только учетные записи, настроенные на получение почты.
// ВключатьСистемнуюУчетнуюЗапись - Булево - включать системную учетную запись, если настроена для отправки/получения.
//
// Возвращаемое значение:
@@ -295,7 +289,7 @@
КонецФункции
// Возвращает Истину, если доступна по меньшей мере одна настроенная учетная запись для отправки почты,
// Возвращает Истина, если доступна по меньшей мере одна настроенная учетная запись для отправки почты
// либо достаточно прав на настройку учетной записи.
//
// Возвращаемое значение:
@@ -363,7 +357,7 @@
//
// Параметры:
// УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - проверяемая учетная запись;
// СообщениеОбОшибке - Строка - текст сообщения об ошибке, либо пустая строка, если ошибок не было;
// СообщениеОбОшибке - Строка - текст сообщения об ошибке либо пустая строка, если ошибок не было;
// ДополнительноеСообщение - Строка - сообщения о том, какие проверки были выполнены для учетной записи.
//
Процедура ПроверитьВозможностьОтправкиИПолученияЭлектроннойПочты(УчетнаяЗапись, СообщениеОбОшибке, ДополнительноеСообщение) Экспорт
@@ -55,7 +55,7 @@
//
// * Получатель - Строка - список адресов в формате:
// [ПредставлениеПолучателя1] <Адрес1>; [[ПредставлениеПолучателя2] <Адрес2>;...]
// - СписокЗначений - Список адресов.
// - СписокЗначений - список адресов.
// ** Представление - Строка - представление получателя,
// ** Значение - Строка - почтовый адрес.
// - Массив - массив структур, описывающий получателей:
@@ -24,20 +24,20 @@
//
// Параметры:
// ПараметрыПисьма - Структура - содержит всю необходимую информацию о письме:
// * Кому - Массив - (обязательный) Интернет адрес получателя письма.
// * Кому - Массив - (обязательный) интернет-адрес получателя письма.
// Адрес - строка - почтовый адрес.
// Представление - строка - имя адресата.
//
// * ПолучателиСообщения - Массив - массив структур, описывающий получателей:
// * ИсточникКонтактнойИнформации - СправочникСсылка - владелец контактной информации.
// * Адрес - Строка - Почтовый адрес получателя сообщения.
// * Адрес - Строка - почтовый адрес получателя сообщения.
// * Представление - Строка - представление адресата.
//
// * Копии - Массив - коллекция структур адресов:
// * Адрес - строка - почтовый адрес (должно быть обязательно заполнено).
// * Представление - строка - имя адресата.
//
// - Строка - интернет адреса получателей письма, разделитель - ";".
// - Строка - интернет-адреса получателей письма, разделитель - ";".
//
// * СкрытыеКопии - Массив, Строка - см. описание поля Копии.
//
@@ -60,10 +60,10 @@
// * УведомитьОПрочтении - Булево - необходимость запроса уведомления о прочтении.
// * ТипТекста - Строка, Перечисление.ТипыТекстовЭлектронныхПисем, ТипТекстаПочтовогоСообщения - определяет тип
// переданного теста допустимые значения:
// HTML/ТипыТекстовЭлектронныхПисем.HTML - текст почтового сообщения в формате HTML.
// HTML/ТипыТекстовЭлектронныхПисем.HTML - текст почтового сообщения в формате HTML;
// ПростойТекст/ТипыТекстовЭлектронныхПисем.ПростойТекст - простой текст почтового сообщения.
// Отображается "как есть" (значение по
// умолчанию).
// умолчанию);
// РазмеченныйТекст/ТипыТекстовЭлектронныхПисем.РазмеченныйТекст - текст почтового сообщения в формате
// Rich Text.
//
@@ -16,13 +16,13 @@
// Возвращает двоичные данные файла.
//
// Параметры:
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с файлом.
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
//
// ВызыватьИсключение - Булево - Если указать Ложь, то функция будет возвращать Неопределено
// ВызыватьИсключение - Булево - если указать Ложь, то функция будет возвращать Неопределено
// вместо вызова исключений. Значение по умолчанию - Истина.
//
// Возвращаемое значение:
// ДвоичныеДанные, Неопределено - Двоичные данные присоединенного файла. Если двоичные данные файла не найдены
// ДвоичныеДанные, Неопределено - двоичные данные присоединенного файла. Если двоичные данные файла не найдены
// в информационной базе или в томах, вызывает исключение. Если двоичные данные не
// найдены и параметр ВызыватьИсключение принимает значение Ложь, тогда
// возвращаемое значение - Неопределено.
@@ -103,51 +103,51 @@
КонецФункции
// Возвращает структурированную информацию о файле. Используется в различных командах работы с файлами,
// Возвращает структурированную информацию о файле. Используется в различных командах работы с файлами
// и как значение параметра ДанныеФайла в других процедурах и функциях.
//
// Параметры:
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с файлом.
// ДополнительныеПараметры - Структура - см. РаботаСФайламиКлиентСервер.ПараметрыДанныхФайла.
// УдалитьПолучатьСсылкуНаДвоичныеДанные - Булево - Устарел, следует использовать ДополнительныеПараметры.
// УдалитьДляРедактирования - Булево - Устарел, следует использовать ДополнительныеПараметры.
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
// ДополнительныеПараметры - Структура - см. работаСФайламиКлиентСервер.ПараметрыДанныхФайла.
// УдалитьПолучатьСсылкуНаДвоичныеДанные - Булево - устарел, следует использовать ДополнительныеПараметры.
// УдалитьДляРедактирования - Булево - устарел, следует использовать ДополнительныеПараметры.
//
// Возвращаемое значение:
// Структура, Неопределено - Структура, содержащая информацию о присоединенном файле. Если файл не найден или
// Структура, Неопределено - информация о присоединенном файле. Если файл не найден или
// отсутствует часть обязательной информации о файле и свойство ВызыватьИсключение параметра
// ДополнительныеПараметры принимает значение Ложь, возвращаемое значение - Неопределено. Если файл
// не найден или отсутствует часть обязательной информации о файле и ВызыватьИсключение отсутствует
// или принимает значение Истина, вызывает исключение. Свойства структуры:
// * СсылкаНаДвоичныеДанныеФайла - Строка - Адрес во временном хранилище, по которому помещены данные.
// * ОтносительныйПуть - Строка - Относительный путь файла.
// * ДатаМодификацииУниверсальная - Дата - Дата изменения фала.
// * ИмяФайла - Строка - Имя файла.
// * Наименование - Строка - Наименование файла в справочнике хранения файлов.
// * Расширение - Строка - Расширение файла без точки.
// * Размер - Число - Размер файла.
// * СсылкаНаДвоичныеДанныеФайла - Строка - адрес во временном хранилище, по которому помещены данные.
// * ОтносительныйПуть - Строка - относительный путь файла.
// * ДатаМодификацииУниверсальная - Дата - дата изменения фала.
// * ИмяФайла - Строка - имя файла.
// * Наименование - Строка - наименование файла в справочнике хранения файлов.
// * Расширение - Строка - расширение файла без точки.
// * Размер - Число - размер файла.
// * Редактирует - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи,
// Неопределено - Ссылка на пользователя, занявшего файл.
// * ПодписанЭП - Булево - Признак, что файл подписан.
// * Зашифрован - Булево - Признак, что файл зашифрован.
// * Версия - ОпределяемыйТип.ПрисоединенныйФайл - Если справочник файлов поддерживает создание
// Неопределено - ссылка на пользователя, занявшего файл.
// * ПодписанЭП - Булево - признак того, что файл подписан.
// * Зашифрован - Булево - признак того, что файл зашифрован.
// * Версия - ОпределяемыйТип.ПрисоединенныйФайл - если справочник файлов поддерживает создание
// версий, содержит ссылку на текущую версию файла. В ином случае содержит ссылку на файл.
// * НомерВерсии - Число - Если справочник файлов поддерживает создание версий, содержит номер
// * НомерВерсии - Число - если справочник файлов поддерживает создание версий, содержит номер
// текущей версии файла, иначе - 0.
// * Том - СправочникСсылка.ТомаХраненияФайлов - Том хранения файла.
// * Том - СправочникСсылка.ТомаХраненияФайлов - том хранения файла.
// * Автор - СправочникСсылка.УчетныеЗаписиСинхронизацииФайлов, СправочникСсылка.Пользователи,
// СправочникСсылка.ВнешниеПользователи - Автор файла.
// * СтатусИзвлеченияТекста - ПеречислениеСсылка.СтатусыИзвлеченияТекстаФайлов - Статус извлечения текста из файла.
// * ПолноеНаименованиеВерсии - Строка - Если справочник файлов поддерживает создание версий, содержит полное
// СправочникСсылка.ВнешниеПользователи - автор файла.
// * СтатусИзвлеченияТекста - ПеречислениеСсылка.СтатусыИзвлеченияТекстаФайлов - статус извлечения текста из файла.
// * ПолноеНаименованиеВерсии - Строка - если справочник файлов поддерживает создание версий, содержит полное
// наименование текущей версии файла. В ином случае содержит полное наименование файла.
// * КодировкаТекущейВерсии - Строка - Кодировка текстового файла.
// * НаЧтение - Булево - Признак того, что файл редактируется пользователем, отличным от текущего.
// * ПолноеИмяФайлаВРабочемКаталоге - Строка - Путь к файлу в рабочем каталоге.
// * ВРабочемКаталогеНаЧтение - Булево - Файл в рабочем каталоге помечен только для чтения.
// * РабочийКаталогВладельца - Строка - Путь к рабочему каталогу владельца.
// * ПапкаДляСохранитьКак - Строка - Путь к каталогу сохранения.
// * ФайлРедактируется - Булево - Признак, что файл занят для редактирования.
// * ФайлРедактируетТекущийПользователь - Булево - Признак, что файл занят для редактирования текущим пользователем.
// * Служебный - Булево - Признак, что файл является служебным.
// * КодировкаТекущейВерсии - Строка - кодировка текстового файла.
// * НаЧтение - Булево - признак того, что файл редактируется пользователем, отличным от текущего.
// * ПолноеИмяФайлаВРабочемКаталоге - Строка - путь к файлу в рабочем каталоге.
// * ВРабочемКаталогеНаЧтение - Булево - файл в рабочем каталоге помечен только для чтения.
// * РабочийКаталогВладельца - Строка - путь к рабочему каталогу владельца.
// * ПапкаДляСохранитьКак - Строка - путь к каталогу сохранения.
// * ФайлРедактируется - Булево - признак того, что файл занят для редактирования.
// * ФайлРедактируетТекущийПользователь - Булево - признак того, что файл занят для редактирования текущим пользователем.
// * Служебный - Булево - признак того, что файл является служебным.
//
Функция ДанныеФайла(Знач ПрисоединенныйФайл,
Знач ДополнительныеПараметры = Неопределено,
@@ -263,12 +263,12 @@
КонецФункции
// Находит все присоединенные файлы к объекту и добавляет ссылки на них в свойство Файлы.
// Находит все присоединенные к объекту файлы и добавляет ссылки на них в свойство Файлы.
//
// Параметры:
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Ссылка на объект-владелец файлов.
// Файлы - Массив - Массив в который будут добавлены ссылки на файлы объекта:
// * ОпределяемыйТип.ПрисоединенныйФайл - (возвращаемое значение),
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - ссылка на объект-владелец файлов.
// Файлы - Массив - массив в который будут добавлены ссылки на файлы объекта:
// * ОпределяемыйТип.ПрисоединенныйФайл - (возвращаемое значение)
// ссылка на элемента справочника с файлом.
//
Процедура ЗаполнитьПрисоединенныеФайлыКОбъекту(Знач ВладелецФайла, Знач Файлы) Экспорт
@@ -290,10 +290,10 @@
КонецПроцедуры
// Возвращает новую ссылку на файл для указанного владельца файла.
// В частности ссылка используется при добавление файла в функции ДобавитьФайл.
// В частности, ссылка используется при добавлении файла в функции ДобавитьФайл.
//
// Параметры:
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
//
// ИмяСправочника - Неопределено - вычислить справочник по владельцу (допустимо,
@@ -303,7 +303,7 @@
// от стандартного <ИмяВладельца>ПрисоединенныеФайлы.
//
// Возвращаемое значение:
// ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на новый еще не записанный элемент справочника с файлом.
// ОпределяемыйТип.ПрисоединенныйФайл - ссылка на новый еще не записанный элемент справочника с файлом.
//
Функция НоваяСсылкаНаФайл(ВладелецФайлов, ИмяСправочника = Неопределено) Экспорт
@@ -316,25 +316,25 @@
КонецФункции
// Обновляет свойства файла без учета версий - двоичные данные, текст, дату изменения,
// Обновляет свойства файла без учета версий: двоичные данные, текст, дату изменения,
// а также другие необязательные свойства. Использовать только для файлов, которые не хранят версии.
//
// Параметры:
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с файлом.
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
// ИнформацияОФайле - Структура - со свойствами:
// <обязательные>
// * АдресФайлаВоВременномХранилище - Строка - Адрес новых двоичных данных файла.
// * АдресВременногоХранилищаТекста - Строка - Адрес новых двоичных данных текста,
// * АдресФайлаВоВременномХранилище - Строка - адрес новых двоичных данных файла.
// * АдресВременногоХранилищаТекста - Строка - адрес новых двоичных данных текста,
// извлеченного из файла.
// <необязательные>
// * ИмяБезРасширения - Строка - Если свойство не указано или не заполнено,
// * ИмяБезРасширения - Строка - если свойство не указано или не заполнено,
// тогда не будет изменено.
// * ДатаМодификацииУниверсальная - Дата - Дата последнего изменения файла, если
// * ДатаМодификацииУниверсальная - Дата - дата последнего изменения файла, если
// свойство не указано или не заполнено, тогда будет
// установлена текущая дата сеанса.
// * Расширение - Строка - Новое расширение файла.
// * Редактирует - Ссылка - Новый пользователь, редактирующий файл.
// * Кодировка - Строка - Необязательный. Кодировка, в которой сохранен файл.
// * Расширение - Строка - новое расширение файла.
// * Редактирует - Ссылка - новый пользователь, редактирующий файл.
// * Кодировка - Строка - кодировка, в которой сохранен файл.
// Список поддерживаемых кодировок см. в справке к методу
// глобального контекста "ПолучитьДвоичныеДанныеИзСтроки".
//
@@ -347,11 +347,11 @@
// Возвращает имя формы объекта присоединенных файлов по владельцу.
//
// Параметры:
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
//
// Возвращаемое значение:
// Строка - Полное имя формы объекта присоединенных файлов по владельцу.
// Строка - полное имя формы объекта присоединенных файлов по владельцу.
//
Функция ИмяФормыОбъектаФайловПоВладельцу(Знач ВладелецФайлов) Экспорт
@@ -378,13 +378,13 @@
// Определяет возможность прикрепления добавляемого файла к владельцу файлов.
//
// Параметры:
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
// ИмяСправочника - Строка - Если указано, то выполняется проверка добавления в определенное хранилище файлов.
// ИмяСправочника - Строка - если указано, то выполняется проверка добавления в определенное хранилище файлов.
// Иначе имя справочника будет определено по владельцу.
//
// Возвращаемое значение:
// Булево - если Истина, тогда к объекту может присоединять файлы.
// Булево - если Истина, тогда к объекту можно присоединять файлы.
//
Функция КОбъектуМожноПрисоединятьФайлы(ВладелецФайлов, ИмяСправочника = "") Экспорт
@@ -406,13 +406,13 @@
// Если справочник файлов поддерживает хранение версий, то будет создана первая версия файла.
//
// Параметры:
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
// ПутьКФайлуНаДиске - Строка - Полный путь к файлу на диске, включающий имя и расширение файла.
// ПутьКФайлуНаДиске - Строка - полный путь к файлу на диске, включающий имя и расширение файла.
// Файл должен находиться на сервере.
//
// Возвращаемое значение:
// ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с созданным файлом.
// ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с созданным файлом.
//
Функция ДобавитьФайлСДиска(ВладелецФайлов, ПутьКФайлуНаДиске) Экспорт
@@ -525,20 +525,20 @@
// Создает объект в справочнике для хранения файла и заполняет его реквизиты переданными свойствами.
//
// Параметры:
// ПараметрыФайла - Структура - Параметры с данными файла.
// * Автор - Ссылка - Пользователь, создавший файл.
// * ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому
// ПараметрыФайла - Структура - параметры с данными файла.
// * Автор - Ссылка - пользователь, создавший файл.
// * ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
// * ИмяБезРасширения - Строка - Имя файла без расширения.
// * РасширениеБезТочки - Строка - Расширение файла (без точки вначале).
// * ВремяИзмененияУниверсальное - Дата - Дата и время изменения файла (UTC+0:00),
// * ИмяБезРасширения - Строка - имя файла без расширения.
// * РасширениеБезТочки - Строка - расширение файла (без точки вначале).
// * ВремяИзмененияУниверсальное - Дата - дата и время изменения файла (UTC+0:00),
// если не указана, тогда используется ТекущаяУниверсальнаяДата().
// * ГруппаФайлов - Ссылка - Группа справочника с файлами, в которую будет добавлен новый файл.
// * Служебный - Булево - Если Истина, тогда файл будет скрыт от пользователей.
// * ГруппаФайлов - Ссылка - группа справочника с файлами, в которую будет добавлен новый файл.
// * Служебный - Булево - если Истина, тогда файл будет скрыт от пользователей.
// Значение по умолчанию - Ложь.
// АдресФайлаВоВременномХранилище - Строка - Адрес, указывающий на двоичные данные во временном хранилище.
// АдресВременногоХранилищаТекста - Строка - Адрес, указывающий на извлеченный текст из файла во временном хранилище.
// Описание - Строка - Текстовое описание файла.
// АдресФайлаВоВременномХранилище - Строка - адрес, указывающий на двоичные данные во временном хранилище.
// АдресВременногоХранилищаТекста - Строка - адрес, указывающий на извлеченный текст из файла во временном хранилище.
// Описание - Строка - текстовое описание файла.
//
// НоваяСсылкаНаФайл - Неопределено - создать новую ссылку на файл в стандартном справочнике
// или в нестандартном, но единственном справочнике. Когда у владельца файла несколько
@@ -549,7 +549,7 @@
// Должна соответствовать одному из типов справочников хранения файлов владельца
// файлов. Ссылка может быть получена функцией НоваяСсылкаНаФайл.
// Возвращаемое значение:
// ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на созданный присоединенный файл.
// ОпределяемыйТип.ПрисоединенныйФайл - ссылка на созданный присоединенный файл.
//
Функция ДобавитьФайл(ПараметрыФайла,
Знач АдресФайлаВоВременномХранилище,
@@ -753,30 +753,30 @@
//
// Возвращаемое значение:
// Структура - со свойствами:
// * ПоказыватьЗанятыеФайлыПриЗавершенииРаботы - Булево - Существует, только если внедрена подсистема Работа с
// * ПоказыватьЗанятыеФайлыПриЗавершенииРаботы - Булево - существует, только если внедрена подсистема Работа с
// файлами.
// * СпрашиватьРежимРедактированияПриОткрытииФайла - Булево - Существует, только если внедрена подсистема Работа с
// * СпрашиватьРежимРедактированияПриОткрытииФайла - Булево - существует, только если внедрена подсистема Работа с
// файлами.
// * ПоказыватьКолонкуРазмер - Булево - Существует, только если внедрена подсистема Работа с
// * ПоказыватьКолонкуРазмер - Булево - существует, только если внедрена подсистема Работа с
// файлами.
// * ДействиеПоДвойномуЩелчкуМыши - Строка - Существует, только если внедрена подсистема Работа с
// * ДействиеПоДвойномуЩелчкуМыши - Строка - существует, только если внедрена подсистема Работа с
// файлами.
// * СпособСравненияВерсийФайлов - Строка - Существует, только если внедрена подсистема Работа с
// * СпособСравненияВерсийФайлов - Строка - существует, только если внедрена подсистема Работа с
// файлами.
// * ГрафическиеСхемыРасширение - Строка - Список расширений для графических схем.
// * ГрафическиеСхемыРасширение - Строка - список расширений для графических схем.
// * ГрафическиеСхемыСпособОткрытия - ПеречислениеСсылка.СпособыОткрытияФайлаНаПросмотр - способ
// открытия графических схем.
// * ТекстовыеФайлыРасширение - Строка - Расширения файлов открытого формата документов.
// * ТекстовыеФайлыРасширение - Строка - расширения файлов открытого формата документов.
// * ТекстовыеФайлыСпособОткрытия - ПеречислениеСсылка.СпособыОткрытияФайлаНаПросмотр - способ
// открытия текстовых файлов.
// * МаксимальныйРазмерЛокальногоКэшаФайлов - Число - Определяет максимальный размер локального кэша файлов.
// * ПодтверждатьПриУдаленииИзЛокальногоКэшаФайлов - Булево - Задавать вопрос при удалении файлов из локального кэша.
// * ПоказыватьИнформациюЧтоФайлНеБылИзменен - Булево - Показывать файлы при завершении работы.
// * ПоказыватьПодсказкиПриРедактированииФайлов - Булево - В веб-клиенте показывать подсказки при
// * МаксимальныйРазмерЛокальногоКэшаФайлов - Число - определяет максимальный размер локального кэша файлов.
// * ПодтверждатьПриУдаленииИзЛокальногоКэшаФайлов - Булево - задавать вопрос при удалении файлов из локального кэша.
// * ПоказыватьИнформациюЧтоФайлНеБылИзменен - Булево - показывать файлы при завершении работы.
// * ПоказыватьПодсказкиПриРедактированииФайлов - Булево - а веб-клиенте показывать подсказки при
// редактировании файлов.
// * ПутьКЛокальномуКэшуФайлов - Строка - Путь к локальному кэшу файлов.
// * ПутьКЛокальномуКэшуФайлов - Строка - путь к локальному кэшу файлов.
// * ЭтоПолноправныйПользователь - Булево - Истина, если это полноправный пользователь.
// * УдалятьФайлИзЛокальногоКэшаФайловПриЗавершенииРедактирования - Булево - удаления файлов из локального кэша при
// * УдалятьФайлИзЛокальногоКэшаФайловПриЗавершенииРедактирования - Булево - удаление файлов из локального кэша при
// завершении редактирования.
//
Функция НастройкиРаботыСФайлами() Экспорт
@@ -788,7 +788,7 @@
// Возвращает максимальный размер файла.
//
// Возвращаемое значение:
// Число - целое число байт.
// Число - целое число байтов.
//
Функция МаксимальныйРазмерФайла() Экспорт
@@ -819,7 +819,7 @@
// Возвращает максимальный размер файла провайдера.
//
// Возвращаемое значение:
// Число - целое число байт.
// Число - целое число байтов.
//
Функция МаксимальныйРазмерФайлаОбщий() Экспорт
@@ -841,24 +841,24 @@
//
// Параметры:
// НастройкиРаботыСФайлами - Структура - настройки работы с файлами с их значениями.
// * ПоказыватьИнформациюЧтоФайлНеБылИзменен - Булево - Необязательный. Показывать сообщение, если файл не
// * ПоказыватьИнформациюЧтоФайлНеБылИзменен - Булево - необязательный. Показывать сообщение, если файл не
// был изменен.
// * ПоказыватьЗанятыеФайлыПриЗавершенииРаботы - Булево - Необязательный. Показывать файлы при завершении работы.
// * ПоказыватьКолонкуРазмер - Булево - Необязательный. Отображать колонку размер в формах
// списках файлов.
// * ТекстовыеФайлыРасширение - Строка - Расширения файлов открытого формата документов.
// * ПоказыватьЗанятыеФайлыПриЗавершенииРаботы - Булево - необязательный. Показывать файлы при завершении работы.
// * ПоказыватьКолонкуРазмер - Булево - необязательный. Если принимает значение Истина, на формах
// списках файлов будет отображаться колонка «Размер».
// * ТекстовыеФайлыРасширение - Строка - расширения файлов открытого формата документов.
// * ТекстовыеФайлыСпособОткрытия - ПеречислениеСсылка.СпособыОткрытияФайлаНаПросмотр - способ
// открытия текстовых файлов.
// * ГрафическиеСхемыРасширение - Строка - Список расширений графических файлов.
// * ПоказыватьПодсказкиПриРедактированииФайлов - Булево - Необязательный. В веб-клиенте показывать подсказки
// * ГрафическиеСхемыРасширение - Строка - список расширений графических файлов.
// * ПоказыватьПодсказкиПриРедактированииФайлов - Булево - необязательный. В веб-клиенте показывать подсказки
// при редактировании файлов.
// * СпрашиватьРежимРедактированияПриОткрытииФайла - Булево - Необязательный. Выбирать режим редактирования при
// * СпрашиватьРежимРедактированияПриОткрытииФайла - Булево - необязательный. Выбирать режим редактирования при
// открытии файла.
// * СпособСравненияВерсийФайлов - ПеречислениеСсылка.СпособыСравненияВерсийФайлов -
// Необязательный. Способ сравнения версий и файлов.
// * ДействиеПоДвойномуЩелчкуМыши - ПеречислениеСсылка.ДействияСФайламиПоДвойномуЩелчку - Необязательный.
// необязательный. Способ сравнения версий и файлов.
// * ДействиеПоДвойномуЩелчкуМыши - ПеречислениеСсылка.ДействияСФайламиПоДвойномуЩелчку - необязательный.
// * ГрафическиеСхемыСпособОткрытия - ПеречислениеСсылка.СпособыОткрытияФайлаНаПросмотр -
// Необязательный. Способ открытия файла на просмотр.
// необязательный. Способ открытия файла на просмотр.
//
Процедура СохранитьНастройкиРаботыСФайлами(НастройкиРаботыСФайлами) Экспорт
@@ -906,13 +906,13 @@
// (элемента справочника, ПВХ, документа и т.п.).
//
// Параметры:
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Объект-владелец приемник файлов.
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - объект-владелец - приемник файлов.
// ИмяСправочника - Строка - если требуется конвертация в указанное хранилище.
//
// Возвращаемое значение:
// Соответствие - файлы:
// * Ключ - СправочникСсылка.Файлы - Перенесенный файл, который помечен на удаление после переноса.
// * Значение - ОпределяемыйТип.ПрисоединенныйФайл - Созданный файл.
// * Ключ - СправочникСсылка.Файлы - перенесенный файл, который помечен на удаление после переноса.
// * Значение - ОпределяемыйТип.ПрисоединенныйФайл - созданный файл.
//
Функция СконвертироватьФайлыВПрисоединенные(Знач ВладелецФайлов, ИмяСправочника = Неопределено) Экспорт
@@ -1207,12 +1207,12 @@
//
// Параметры:
// Форма - УправляемаяФорма - форма для подключения.
// ДобавляемыеЭлементы - Структура, Массив - структура параметров элементов управления
// ДобавляемыеЭлементы - Структура, Массив - параметры элементов управления
// присоединенными файлами для размещения на форме или массив
// таких структур. Свойства: см. РаботаСФайлами.ГиперссылкаФайлов
// и РаботаСФайлами.ПолеФайла.
//
// Примеры:
// Пример:
// 1. Добавление гиперссылки присоединенных файлов:
// ПараметрыГиперссылки = РаботаСФайлами.ГиперссылкаФайлов();
// ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
@@ -1415,25 +1415,25 @@
//
// Возвращаемое значение:
// Структура - параметры размещения гиперссылки. Свойства:
// * Владелец - Строка - Имя реквизита, содержащего ссылку на владельца присоединенных файлов.
// * Владелец - Строка - имя реквизита, содержащего ссылку на владельца присоединенных файлов.
// Значение по умолчанию - "Объект.Ссылка".
// * Размещение - Строка, Неопределено - Если указано имя группы формы или командная панель,
// * Размещение - Строка, Неопределено - если указано имя группы формы или командная панель,
// гиперссылка будет помещена в указанную группу или панель. Если указано имя элемента
// формы, гиперссылка будет вставлена перед указанным элементом. Если значение
// параметра - Неопределено или элемент не найден, гиперссылка будет добавлена на форму
// после всех существующих элементов.
// Значение по умолчанию - "УправлениеПрисоединеннымиФайлами".
// * Заголовок - Строка - Заголовок гиперссылки. Значение по умолчанию - "Файлы".
// * ОтображатьЗаголовокСправа - Булево - Если параметр принимает значение Истина, заголовок
// * Заголовок - Строка - заголовок гиперссылки. Значение по умолчанию - "Файлы".
// * ОтображатьЗаголовокСправа - Булево - если параметр принимает значение Истина, заголовок
// будет отображаться после команд добавления, иначе - перед командами добавления.
// Значение по умолчанию - Истина;
// * ОтображатьКоличество - Булево - Если параметр принимает значение Истина, отображает
// * ОтображатьКоличество - Булево - если параметр принимает значение Истина, отображает
// количество присоединенных файлов в заголовке. Значение по умолчанию - Истина.
// * ДобавлятьФайлы - Булево - Если указать Ложь, команды добавления файлов будут отсутствовать.
// * ДобавлятьФайлы - Булево - если указать Ложь, команды добавления файлов будут отсутствовать.
// Значение по умолчанию - Истина.
// * ОтображениеФигуры - Строка - Строковое представление свойства "ОтображениеФигуры" для
// * ОтображениеФигуры - Строка - строковое представление свойства "ОтображениеФигуры" для
// команд добавления присоединенных файлов. Значение по умолчанию - "Авто".
// * Видимость - Булево - Если параметр принимает значение Ложь, гиперссылка на форме размещаться
// * Видимость - Булево - если параметр принимает значение Ложь, гиперссылка на форме размещаться
// не будет. Параметр имеет смысл только для глобального отключения видимости
// в процедуре РаботаСФайламиПереопределяемый.ПриОпределенииГиперссылкиФайлов.
//
@@ -1459,56 +1459,56 @@
//
// Возвращаемое значение:
// Структура - параметры размещения гиперссылки. Свойства:
// * Владелец - Строка - Имя реквизита, содержащего ссылку на владельца присоединенных файлов.
// * Владелец - Строка - имя реквизита, содержащего ссылку на владельца присоединенных файлов.
// Значение по умолчанию - "Объект.Ссылка".
// * Размещение - Строка, Неопределено - Если указано имя группы формы, поле будет
// * Размещение - Строка, Неопределено - если указано имя группы формы, поле будет
// размещено в указанной группе. Если указано имя элемента формы, поле будет
// вставлено перед указанным элементом. Если значение параметра - Неопределено
// или элемент не найден, поле будет добавлена на форму после всех существующих
// или элемент не найден, поле будет добавлено на форму после всех существующих
// элементов. Значение по умолчанию - "УправлениеПрисоединеннымиФайлами".
// * ПутьКДанным - Строка, Неопределено - Имя реквизита формы, содержащего ссылку на файл для
// * ПутьКДанным - Строка, Неопределено - имя реквизита формы, содержащего ссылку на файл для
// отображения. Если параметр принимает значение Неопределено или реквизит не найден,
// добавляет реквизит формы с именем "ПолеПрисоединенногоФайла" и типом
// "ОпределяемыйТип.ПрисоединенныйФайл". Значение по умолчанию - "ПолеПрисоединенногоФайла".
// * ПутьКДаннымИзображения - Строка, Неопределено - Имя реквизита формы, содержащего изображение, которое будет
// * ПутьКДаннымИзображения - Строка, Неопределено - имя реквизита формы, содержащего изображение, которое будет
// выведено в поле предпросмотра. Если параметр принимает значение Неопределено или реквизит
// не найден, добавляет реквизит формы с именем "ПолеКартинкиПрисоединенногоФайла" и типом
// "Строка". Значение по умолчанию - Неопределено.
// * ТолькоОдинФайл - Булево - Если указать Истина, с помощью команд добавления можно будет
// * ТолькоОдинФайл - Булево - если указать Истина, с помощью команд добавления можно будет
// присоединить только один файл. После добавления первого файла, команда "Добавить"
// будет заменять существующий файл на файл, выбранный пользователем, а нажатие на
// заголовок приведет к открытию файла для просмотра. Значение по умолчанию - Ложь.
// * ПоказыватьПредпросмотр - Булево - Если параметр принимает значение Истина, добавляет на форму
// * ПоказыватьПредпросмотр - Булево - если параметр принимает значение Истина, добавляет на форму
// область предпросмотра присоединенного файла. Значение по умолчанию - Истина.
// * ТекстНевыбраннойКартинки - Строка - Выводится в поле предпросмотра изображения, если
// * ТекстНевыбраннойКартинки - Строка - выводится в поле предпросмотра изображения, если
// изображение отсутствует. Значение по умолчанию - "Добавить изображение".
// * Заголовок - Строка - Если заголовок отличается от пустой строки, добавляет на форму заголовок
// * Заголовок - Строка - если заголовок отличается от пустой строки, добавляет на форму заголовок
// поля присоединенного файла. Значение по умолчанию - "".
// * ВыводитьЗаголовокФайла - Булево - Если параметр принимает значение Истина, добавляет гиперссылку
// * ВыводитьЗаголовокФайла - Булево - если параметр принимает значение Истина, добавляет гиперссылку
// заголовок которой соответствует краткому имени файла. Если значение параметра
// "Заголовок" отличается от "", заголовок файла будет добавлен после общего заголовка
// элемента управления. Значение по умолчанию - Ложь.
// * ПоказыватьКоманднуюПанель - Булево - Если параметр принимает значение Истина, команды будут размещены в
// * ПоказыватьКоманднуюПанель - Булево - если параметр принимает значение Истина, команды будут размещены в
// командной панели на форме и в контекстном меню элемента предпросмотра, иначе -
// только в контекстном меню элемента предпросмотра. Значение по умолчанию - Истина.
// * ДобавлятьФайлы - Булево - Если указать Ложь, команды добавления файлов будут отсутствовать.
// * ДобавлятьФайлы - Булево - если указать Ложь, команды добавления файлов будут отсутствовать.
// Значение по умолчанию - Истина.
// * ВыбиратьФайл - Булево - Если параметр принимает значение Истина, добавляет команду выбора файла
// * ВыбиратьФайл - Булево - если параметр принимает значение Истина, добавляет команду выбора файла
// из присоединенных. Значение по умолчанию - Истина.
// * ПросматриватьФайл - Булево - Если параметр принимает значение Истина, добавляет команду открытия
// * ПросматриватьФайл - Булево - если параметр принимает значение Истина, добавляет команду открытия
// файла для просмотра. Значение по умолчанию - Истина.
// * РедактироватьФайл - Строка - Если параметр принимает значение "ВФорме", добавляет команду
// * РедактироватьФайл - Строка - если параметр принимает значение "ВФорме", добавляет команду
// открытия формы присоединенного файла. Если параметр принимает значение
// "Непосредственно", добавляет команды редактирования файла, сохранения и отмены
// изменений. Если принимает значение "НеРедактировать", команды редактирования добавлены
// не будут. Значение по умолчанию - "ВФорме".
// * ОчищатьФайл - Булево - Если параметр принимает значение Истина, добавляет команду очистки
// * ОчищатьФайл - Булево - если параметр принимает значение Истина, добавляет команду очистки
// реквизита-владельца. Значение по умолчанию - Истина.
// * МаксимальныйРазмер - Число - Ограничение на размер файла (в мегабайтах), загружаемого из файловой системы.
// * МаксимальныйРазмер - Число - ограничение на размер файла (в мегабайтах), загружаемого из файловой системы.
// Если принимает значение 0, проверка размера не проводится. Свойство игнорируется,
// если принимает значение больше, чем указано в константе МаксимальныйРазмерФайла.
// Значение по умолчанию - 0.
// * ФильтрДиалогаВыбора - Строка - Фильтр, устанавливаемый в диалог выбора при добавлении файла.
// * ФильтрДиалогаВыбора - Строка - фильтр, устанавливаемый в диалог выбора при добавлении файла.
// Формат см. в свойстве Фильтр объекта ДиалогВыбораФайла в синтакс-помощнике.
// Значение по умолчанию - "Все файлы(*.*)|*.*"
//
@@ -1568,11 +1568,11 @@
//
// Параметры:
// ИмяТаблицыВладельцевФайлов - Строка - полное имя объекта метаданных,
// который может являться владельцем присоединенными файлами.
// который может являться владельцем присоединенных файлов.
//
// Возвращаемое значение:
// Массив - со значениями:
// * Ссылка - Ссылка на объект, у которого есть хотя бы один присоединенный файл.
// * Ссылка - ссылка на объект, у которого есть хотя бы один присоединенный файл.
//
Функция СсылкиНаОбъектыСФайлами(Знач ИмяТаблицыВладельцевФайлов) Экспорт
@@ -1583,7 +1583,7 @@
// Добавляет электронную подпись к файлу.
//
// Параметры:
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с файлом.
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
//
// СвойстваПодписи - Структура - содержит данные, которые возвращает процедура Подписать
// общего модуля ЭлектроннаяПодписьКлиент в качестве результата.
@@ -1630,13 +1630,13 @@
// Если владелец файлов поддерживает хранение версий, то будет создана первая версия файла.
//
// Параметры:
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
// ПутьКФайлуНаДиске - Строка - Полный путь к файлу на диске, включающий имя и расширение файла.
// ПутьКФайлуНаДиске - Строка - полный путь к файлу на диске, включающий имя и расширение файла.
// Файл должен находиться на сервере.
//
// Возвращаемое значение:
// ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с созданным файлом.
// ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с созданным файлом.
//
Функция СоздатьФайлНаОсновеФайлаНаДиске(ВладелецФайлов, ПутьКФайлуНаДиске) Экспорт
@@ -1650,8 +1650,7 @@
#Область СлужебныеПроцедурыИФункции
////////////////////////////////////////////////////////////////////////////////
// Работа с кодировками файлов
#Область РаботаСКодировкамиФайлов
// Возвращает кодировку файла.
//
@@ -1672,10 +1671,13 @@
Если ДвоичныеДанные <> Неопределено Тогда
Кодировка = КодировкаИзДвоичныхДанных(ДвоичныеДанные);
Если Не ЗначениеЗаполнено(Кодировка)
И СтрЗаканчиваетсяНа(НРег(Расширение), "xml") Тогда
Если Не ЗначениеЗаполнено(Кодировка) Тогда
Если СтрЗаканчиваетсяНа(НРег(Расширение), "xml") Тогда
Кодировка = КодировкаИзОбъявленияXML(ДвоичныеДанные);
Иначе
Кодировка = КодировкаИзСоответствияАлфавиту(ДвоичныеДанные);
КонецЕсли;
Если НРег(Кодировка) = "utf-8" Тогда
Кодировка = НРег(Кодировка) + "_WithoutBOM";
КонецЕсли;
@@ -1807,6 +1809,120 @@
КонецФункции
// Возвращает наиболее подходящую кодировку текста, полученную путем сравнения с алфавитом.
//
// Параметры:
// ДанныеТекста - ДвоичныеДанные - Двоичные данные файла.
//
// Возвращаемое значение:
// СоответствующаяКодировка - Строка - Кодировка файла.
//
Функция КодировкаИзСоответствияАлфавиту(ДанныеТекста)
Кодировки = РаботаСФайламиСлужебный.Кодировки();
Кодировки.Удалить(Кодировки.НайтиПоЗначению("utf-8_WithoutBOM"));
КодировкаKOI8R = Кодировки.НайтиПоЗначению("koi8-r");
Кодировки.Сдвинуть(КодировкаKOI8R, -Кодировки.Индекс(КодировкаKOI8R));
КодировкаWin1251 = Кодировки.НайтиПоЗначению("windows-1251");
Кодировки.Сдвинуть(КодировкаWin1251, -Кодировки.Индекс(КодировкаWin1251));
КодировкаUTF8 = Кодировки.НайтиПоЗначению("utf-8");
Кодировки.Сдвинуть(КодировкаUTF8, -Кодировки.Индекс(КодировкаUTF8));
СоответствующаяКодировка = "";
МаксимальноеСоответствиеКодировки = 0;
Для Каждого Кодировка Из Кодировки Цикл
СоответствиеКодировки = ПроцентСоответствияАлфавиту(ДанныеТекста, Кодировка.Значение);
Если СоответствиеКодировки > 0.95 Тогда
Возврат Кодировка.Значение;
КонецЕсли;
Если СоответствиеКодировки > МаксимальноеСоответствиеКодировки Тогда
СоответствующаяКодировка = Кодировка.Значение;
МаксимальноеСоответствиеКодировки = СоответствиеКодировки;
КонецЕсли;
КонецЦикла;
Возврат СоответствующаяКодировка;
КонецФункции
Функция ПроцентСоответствияАлфавиту(ДвоичныеДанные, ПроверяемаяКодировка)
Алфавит = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя"
+ "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"
+ "1234567890 ";
ПотокАлфавита = Новый ПотокВПамяти();
ЗаписьАлфавита = Новый ЗаписьДанных(ПотокАлфавита);
ЗаписьАлфавита.ЗаписатьСтроку(Алфавит, ПроверяемаяКодировка);
ЗаписьАлфавита.Закрыть();
ДанныеАлфавита = ПотокАлфавита.ЗакрытьИПолучитьДвоичныеДанные();
ЧтениеДанныхАлфавита = Новый ЧтениеДанных(ДанныеАлфавита);
БуферАлфавитаВКодировке = ЧтениеДанныхАлфавита.ПрочитатьВБуферДвоичныхДанных();
Индекс = 0;
СимволыАлфавита = Новый Массив;
Пока Индекс <= БуферАлфавитаВКодировке.Размер - 1 Цикл
ТекущийСимвол = БуферАлфавитаВКодировке[Индекс];
// Символы кириллицы в кодировке UTF-8 - двухбайтовые.
Если ПроверяемаяКодировка = "utf-8"
И (ТекущийСимвол = 208
Или ТекущийСимвол = 209) Тогда
Индекс = Индекс + 1;
ТекущийСимвол = Формат(ТекущийСимвол, "ЧН=0; ЧГ=") + Формат(БуферАлфавитаВКодировке[Индекс], "ЧН=0; ЧГ=");
КонецЕсли;
Индекс = Индекс + 1;
СимволыАлфавита.Добавить(ТекущийСимвол);
КонецЦикла;
ЧтениеДанныхТекста = Новый ЧтениеДанных(ДвоичныеДанные);
БуферДанныхТекста = ЧтениеДанныхТекста.ПрочитатьВБуферДвоичныхДанных(?(ПроверяемаяКодировка = "utf-8", 200, 100));
РазмерБуфераТекста = БуферДанныхТекста.Размер;
КоличествоСимволов = РазмерБуфераТекста;
Индекс = 0;
КоличествоВхождений = 0;
Пока Индекс <= РазмерБуфераТекста - 1 Цикл
ТекущийСимвол = БуферДанныхТекста[Индекс];
Если ПроверяемаяКодировка = "utf-8"
И (ТекущийСимвол = 208
Или ТекущийСимвол = 209) Тогда
// Если последний байт в буфере является первым байтом двухбайтового символа, игнорируем его.
Если Индекс = РазмерБуфераТекста - 1 Тогда
Прервать;
КонецЕсли;
Индекс = Индекс + 1;
КоличествоСимволов = КоличествоСимволов - 1;
ТекущийСимвол = Формат(ТекущийСимвол, "ЧН=0; ЧГ=") + Формат(БуферДанныхТекста[Индекс], "ЧН=0; ЧГ=");
КонецЕсли;
Индекс = Индекс + 1;
Если СимволыАлфавита.Найти(ТекущийСимвол) <> Неопределено Тогда
КоличествоВхождений = КоличествоВхождений + 1;
КонецЕсли;
КонецЦикла;
Возврат ?(КоличествоСимволов = 0, 100, КоличествоВхождений/КоличествоСимволов);
КонецФункции
#КонецОбласти
////////////////////////////////////////////////////////////////////////////////
// Вспомогательные процедуры и функции.
@@ -23,7 +23,7 @@
// получает его с сервера.
//
// Параметры:
// ДанныеФайла - Структура - Данные файла. Описание см. РаботаСФайлами.ДанныеФайла.
// ДанныеФайла - Структура - данные файла. Описание см. РаботаСФайлами.ДанныеФайла.
// ДляРедактирования - Булево - Истина, если файл открывается для редактирования, иначе Ложь.
//
Процедура ОткрытьФайл(Знач ДанныеФайла, Знач ДляРедактирования = Ложь) Экспорт
@@ -50,22 +50,22 @@
// Открывает диалог выбора файлов для помещения в программу одного или нескольких файлов.
// При этом проверяются необходимые условия:
// - размер файла не превышает максимально допустимый,
// - размер файла не превышает максимально допустимого,
// - файл имеет допустимое расширение,
// - имеется свободное место в томе (при хранении файлов в томах),
// - прочие условия.
//
// Параметры:
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
// ИдентификаторФормы - УникальныйИдентификатор - Уникальный идентификатор формы, во временное хранилище
// ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы, во временное хранилище
// которой будет помещен файл.
// Фильтр - Строка - Фильтр выбираемого файла, например, картинки для номенклатуры.
// ГруппаФайлов - ОпределяемыйТип.ПрисоединенныйФайл - Группа справочника с файлами, в которую будет
// Фильтр - Строка - фильтр выбираемого файла, например, картинки для номенклатуры.
// ГруппаФайлов - ОпределяемыйТип.ПрисоединенныйФайл - группа справочника с файлами, в которую будет
// добавлен новый файл.
// ОбработчикРезультата - ОписаниеОповещения - Содержит описание процедуры, вызов которой будет произведен
// ОбработчикРезультата - ОписаниеОповещения - содержит описание процедуры, вызов которой будет произведен
// после добавления файлов со следующими параметрами:
// * Результат - Массив - Ссылки на добавленные файлы. Если файлы не были добавлены, пустой массив.
// * Результат - Массив - ссылки на добавленные файлы. Если файлы не были добавлены, пустой массив.
// * ДополнительныеПараметры - Произвольный - значение, указанное при создании описания оповещения.
//
Процедура ДобавитьФайлы(Знач ВладелецФайла, Знач ИдентификаторФормы, Знач Фильтр = "", ГруппаФайлов = Неопределено,
@@ -86,32 +86,32 @@
// Открывает диалог выбора файлов для помещения в программу одного выбранного файла.
//
// Параметры:
// ОбработчикРезультата - ОписаниеОповещения - Содержит описание процедуры, вызов которой будет произведен
// ОбработчикРезультата - ОписаниеОповещения - содержит описание процедуры, вызов которой будет произведен
// после добавления файла со следующими параметрами:
// * Результат - Структура с полями:
// ** ФайлСсылка - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с файлом,
// ** ФайлСсылка - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом,
// если он был добавлен, иначе Неопределено.
// ** ФайлДобавлен - Булево - Истина, если файл добавлен.
// ** ТекстОшибки - Строка - Текст ошибки, если файл не был добавлен.
// ** ТекстОшибки - Строка - текст ошибки, если файл не был добавлен.
// * ДополнительныеПараметры - значение, которое было указано при создании объекта оповещения.
//
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
// ФормаВладелец - УправляемаяФорма - Форма, из которой вызвано создание файла.
// ФормаВладелец - УправляемаяФорма - форма, из которой вызвано создание файла.
// РежимСоздания - Неопределено, Число - режим создания файла:
// - Неопределено - Показать диалог выбора режима создания файла.
// - Число - Создать файл указанным способом:
// - Неопределено - показать диалог выбора режима создания файла.
// - Число - создать файл указанным способом:
// * 1 - из шаблона (копированием другого файла);
// * 2 - с диска (из файловой системы клиента);
// * 3 - со сканера.
//
// ПараметрыДобавления - Структура - Дополнительные параметры добавления файлов.
// * МаксимальныйРазмер - Число - Ограничение на размер файла (в мегабайтах), загружаемого из файловой системы.
// ПараметрыДобавления - Структура - дополнительные параметры добавления файлов.
// * МаксимальныйРазмер - Число - ограничение на размер файла (в мегабайтах), загружаемого из файловой системы.
// Если принимает значение 0, проверка размера не проводится. Свойство игнорируется,
// если принимает значение больше, чем указано в константе МаксимальныйРазмерФайла.
// * ФильтрДиалогаВыбора - Строка - Фильтр, устанавливаемый в диалог выбора при добавлении файла.
// * ФильтрДиалогаВыбора - Строка - фильтр, устанавливаемый в диалог выбора при добавлении файла.
// Формат см. в свойстве Фильтр объекта ДиалогВыбораФайла в синтакс-помощнике.
// * НеОткрыватьКарточку - Булево - Действие после создания. Если принимает значение Истина, карточка файла
// * НеОткрыватьКарточку - Булево - действие после создания. Если принимает значение Истина, карточка файла
// не будет открыта после создания, иначе - карточку файла будет открыта.
//
Процедура ДобавитьФайл(ОбработчикРезультата, ВладелецФайла, ФормаВладелец, РежимСоздания = Неопределено,
@@ -161,12 +161,12 @@
// а пользователю задается вопрос. Если пользователь ответил утвердительно, то форма закрывается.
//
// Параметры:
// Форма - УправляемаяФорма - Форма, в которой редактируется файл.
// Отказ - Булево - Параметр события ПередЗакрытием.
// ЗавершениеРаботы - Булево - Признак того, что форма закрывается в процессе завершения работы приложения.
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому присоединены
// Форма - УправляемаяФорма - форма, в которой редактируется файл.
// Отказ - Булево - параметр события ПередЗакрытием.
// ЗавершениеРаботы - Булево - признак того, что форма закрывается в процессе завершения работы приложения.
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому присоединены
// файлы.
// ИмяРеквизита - Строка - Имя реквизита типа Булево, в котором хранится признак того,
// ИмяРеквизита - Строка - имя реквизита типа Булево, в котором хранится признак того,
// что вопрос уже выводился.
//
// Пример:
@@ -210,13 +210,13 @@
// Открывает форму нового файла с копией указанного файла.
//
// Параметры:
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект, к которому присоединен файл.
// ФайлОснование - ОпределяемыйТип.ПрисоединенныйФайл - Копируемый файл.
// ДополнительныеПараметры - Структура - Параметры открытия формы.
// * ИмяСправочникаХранилищаФайлов - Строка - Определяет справочник для хранения копии файла.
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому присоединен файл.
// ФайлОснование - ОпределяемыйТип.ПрисоединенныйФайл - копируемый файл.
// ДополнительныеПараметры - Структура - параметры открытия формы.
// * ИмяСправочникаХранилищаФайлов - Строка - определяет справочник для хранения копии файла.
// ОписаниеОповещенияОЗакрытии - ОписаниеОповещения - описание процедуры, которая будет вызвана при закрытии формы
// со следующими параметрами:
// <РезультатЗакрытия> - значение, переданное при вызове Закрыть() открываемой формы,
// <РезультатЗакрытия> - значение, переданное при вызове Закрыть() открываемой формы;
// <ДополнительныеПараметры> - значение, указанное при создании
// ОписаниеОповещенияОЗакрытии.
// Если параметр не указан, то по завершению никакая процедура вызвана не будет.
@@ -249,11 +249,11 @@
// для сохранения вместе с файлом по выбранному пользователем пути.
// Имя файл подписи формируется из имени файла и автора подписи с расширением "p7s".
//
// При отсутствии в конфигурации подсистемы Электронная подпись сохранение файла не будет выполнено.
// При отсутствии в конфигурации подсистемы «Электронная подпись» сохранение файла не будет выполнено.
//
// Параметры:
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с файлом.
// ИдентификаторФормы - УникальныйИдентификатор - Уникальный идентификатор формы, который используется для блокировки файл.
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
// ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы, который используется для блокировки файл.
//
Процедура СохранитьВместеСЭП(Знач ПрисоединенныйФайл, Знач ИдентификаторФормы) Экспорт
@@ -285,7 +285,7 @@
// Открывает диалог сохранения файл, где пользователь может определить путь и имя для сохранения файла.
//
// Параметры:
// ДанныеФайла - Структура - Данные файла. Описание см. РаботаСФайлами.ДанныеФайла.
// ДанныеФайла - Структура - данные файла. Описание см. РаботаСФайлами.ДанныеФайла.
//
Процедура СохранитьФайлКак(Знач ДанныеФайла) Экспорт
@@ -297,14 +297,14 @@
// Используется в обработчике выбора для переопределения стандартного поведения.
//
// Параметры:
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Папка файлов или объект,
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект,
// к которому прикреплены выбираемые файлы.
// ЭлементФормы - ТаблицаФормы, ПолеФормы - элемент формы, которому будет отправлено
// оповещение о выборе.
// СтандартнаяОбработка - Булево - (возвращаемое значение), всегда устанавливается в Ложь.
// ОписаниеОповещенияОВыборе - ОписаниеОповещения - описание процедуры, которая будет вызвана при закрытии формы
// со следующими параметрами:
// * ЗначениеВыбора - ОпределяемыйТип.ПрисоединенныйФайл, Неопределено - Если произошел выбор, тогда будет
// * ЗначениеВыбора - ОпределяемыйТип.ПрисоединенныйФайл, Неопределено - если произошел выбор, тогда будет
// возвращено значение выбора. Иначе - Неопределено.
// * ДополнительныеПараметры - Произвольный - значение, указанное при создании ОписаниеОповещенияОЗакрытии.
//
@@ -333,15 +333,15 @@
// Может использоваться как обработчик открытия файла.
//
// Параметры:
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с файлом.
// СтандартнаяОбработка - Булево - (возвращаемое значение), всегда устанавливается в Ложь.
// ДополнительныеПараметры - Структура - Параметры открытия формы.
// ОписаниеОповещенияОЗакрытии - ОписаниеОповещения - описание процедуры, которая будет вызвана при закрытии формы
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
// СтандартнаяОбработка - Булево - (возвращаемое значение) всегда устанавливается в Ложь.
// ДополнительныеПараметры - Структура - параметры открытия формы.
// ОписаниеОповещенияОЗакрытии - ОписаниеОповещения - описание процедуры, которая будет вызвана при закрытии формы,
// со следующими параметрами:
// <РезультатЗакрытия> - значение, переданное при вызове Закрыть() открываемой формы,
// <РезультатЗакрытия> - значение, переданное при вызове Закрыть() открываемой формы;
// <ДополнительныеПараметры> - значение, указанное при создании
// ОписаниеОповещенияОЗакрытии.
// Если параметр не указан, то по завершению никакая процедура вызвана не будет.
// Если параметр не указан, то по завершении никакая процедура вызвана не будет.
//
Процедура ОткрытьФормуФайла(Знач ПрисоединенныйФайл, СтандартнаяОбработка = Ложь, ДополнительныеПараметры = Неопределено,
ОписаниеОповещенияОЗакрытии = Неопределено) Экспорт
@@ -369,8 +369,8 @@
// Выполняет печать файлов на принтер.
//
// Параметры:
// Файлы - ОпределяемыйТип.ПрисоединенныйФайл, Массив - Ссылка или массив ссылок на объекты с файлами.
// ИдентификаторФормы - УникальныйИдентификатор - Уникальный идентификатор формы, во временное хранилище
// Файлы - ОпределяемыйТип.ПрисоединенныйФайл, Массив - ссылка или массив ссылок на объекты с файлами.
// ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы, во временное хранилище
// которой будет помещен файл.
//
Процедура НапечататьФайлы(Знач Файлы, ИдентификаторФормы = Неопределено) Экспорт
@@ -389,12 +389,12 @@
КонецПроцедуры
// Выполняет подписание файла электронной подписью.
// При отсутствии подсистемы электронная подпись будет показано предупреждение
// о не возможности добавление электронной подписи.
// При отсутствии подсистемы «Электронная подпись» будет показано предупреждение
// о невозможности добавления электронной подписи.
//
// Параметры:
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с файлом.
// ИдентификаторФормы - УникальныйИдентификатор - Уникальный идентификатор формы,
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
// ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы,
// который используется для блокировки файла.
// ДополнительныеПараметры - Неопределено - стандартное поведение (см. ниже).
// - Структура - со свойствами:
@@ -442,7 +442,7 @@
КонецПроцедуры
// См. РаботаСФайлами.ДанныеФайла.
// Возвращает структурированную информацию о файле. Используется в различных командах работы с файлами,
// Возвращает структурированную информацию о файле. Используется в различных командах работы с файлами
// и как значение параметра ДанныеФайла других процедур и функций.
//
Функция ДанныеФайла(Знач ФайлСсылка,
@@ -460,26 +460,26 @@
// Получает файл из хранилища файлов в рабочий каталог пользователя.
// Аналог интерактивного действия Просмотреть или Редактировать без открытия полученного файла.
// Свойство ТолькоПросмотр полученного файла будет установлено в зависимости от того захвачен
// Свойство ТолькоПросмотр полученного файла будет установлено в зависимости от того, захвачен
// файл для редактирования или нет. Если не захвачен - устанавливается только просмотр.
// Если в рабочем каталоге уже существует файл, тогда он будет удален и заменен файлом,
// полученным из хранилища файлов.
//
// Параметры:
// Оповещение - ОписаниеОповещения - оповещение, которое выполняется после получения файла в
// рабочий каталог пользователя. В качестве результата возвращается Структура со свойствами:
// рабочий каталог пользователя. В качестве результата возвращается структура со свойствами:
// * ПолноеИмяФайла - Строка - полное имя файла (с путем).
// * ОписаниеОшибки - Строка - текст ошибки, если получить файл не удалось.
//
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочник с файлом.
// ИдентификаторФормы - УникальныйИдентификатор - Уникальный идентификатор формы, во временное хранилище
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
// ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы, во временное хранилище
// которой будет помещен файл.
//
// ДополнительныеПараметры - Неопределено - использовать значения по умолчанию.
// - Структура - с необязательными свойствами:
// * ДляРедактирования - Булево - начальное значение Ложь. Если Истина,
// тогда файл будет захвачен для редактирования.
// * ДанныеФайла - Структура - свойства файла, которые можно передать для ускорения
// * ДанныеФайла - Структура - свойства файла, которые можно передать для ускорения,
// если они ранее были получены на клиент с сервера.
//
Процедура ПолучитьПрисоединенныйФайл(Оповещение, ПрисоединенныйФайл, ИдентификаторФормы, ДополнительныеПараметры = Неопределено) Экспорт
@@ -492,19 +492,19 @@
// Аналог интерактивного действия Закончить редактирование.
//
// Параметры:
// Оповещение - ОписаниеОповещения - Оповещение, которое выполняется после помещения файла в
// хранилище файлов. В качестве результата возвращается Структура со свойствами:
// Оповещение - ОписаниеОповещения - оповещение, которое выполняется после помещения файла в
// хранилище файлов. В качестве результата возвращается структура со свойствами:
// * ОписаниеОшибки - Строка - текст ошибки, если поместить файл не удалось.
//
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - Ссылка на элемент справочника с файлом.
// ИдентификаторФормы - УникальныйИдентификатор - Уникальный идентификатор формы,
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
// ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы,
// во временное хранилище которой надо поместить данные и вернуть новый адрес.
//
// ДополнительныеПараметры - Неопределено - использовать значения по умолчанию.
// - Структура - с необязательными свойствами:
// * ПолноеИмяФайла - Строка - если заполнено, то указанный файл будет помещен в рабочий каталог
// пользователя, а затем в хранилище файлов.
// * ДанныеФайла - Структура - свойства файла, которые можно передать для ускорения
// * ДанныеФайла - Структура - свойства файла, которые можно передать для ускорения,
// если они ранее были получены на клиент с сервера.
//
Процедура ПоместитьПрисоединенныйФайл(Оповещение, ПрисоединенныйФайл, ИдентификаторФормы, ДополнительныеПараметры = Неопределено) Экспорт
@@ -547,8 +547,8 @@
// Обработчик события ПриОткрытии управляемой формы владельца файла.
//
// Параметры:
// Форма - УправляемаяФорма - Форма владельца файла.
// Отказ - Булево - Стандартный параметр события ПриОткрытии управляемой формы.
// Форма - УправляемаяФорма - форма владельца файла.
// Отказ - Булево - стандартный параметр события ПриОткрытии управляемой формы.
//
Процедура ПриОткрытии(Форма, Отказ) Экспорт
@@ -562,8 +562,8 @@
// Обработчик события ОбработкаОповещения управляемой формы владельца файла.
//
// Параметры:
// Форма - УправляемаяФорма - Форма владельца файла.
// ИмяСобытия - Строка - Стандартный параметр события ОбработкаОповещения управляемой формы.
// Форма - УправляемаяФорма - форма владельца файла.
// ИмяСобытия - Строка - стандартный параметр события ОбработкаОповещения управляемой формы.
//
Процедура ОбработкаОповещения(Форма, ИмяСобытия) Экспорт
@@ -605,8 +605,8 @@
// Обработчик выполнения дополнительных команд управления присоединенными файлами.
//
// Параметры:
// Форма - УправляемаяФорма - Форма владельца файла.
// Команда - КомандаФормы - Выполняемая команда.
// Форма - УправляемаяФорма - форма владельца файла.
// Команда - КомандаФормы - выполняемая команда.
//
Процедура КомандаУправленияПрисоединеннымиФайлами(Форма, Команда) Экспорт
@@ -636,10 +636,10 @@
// Обработчик нажатия на поле предпросмотра.
//
// Параметры:
// Форма - УправляемаяФорма - Форма владельца файла.
// Элемент - ПолеФормы - Поле предпросмотра.
// СтандартнаяОбработка - Булево - Стандартный параметр события Нажатие поля формы.
// Просмотр - Булево - Если параметр принимает значение Истина, открывает файл
// Форма - УправляемаяФорма - форма владельца файла.
// Элемент - ПолеФормы - поле предпросмотра.
// СтандартнаяОбработка - Булево - стандартный параметр события Нажатие поля формы.
// Просмотр - Булево - если параметр принимает значение Истина, открывает файл
// для просмотра. Иначе - загружает файл с диска.
// Значение по умолчанию - Ложь.
//
@@ -673,11 +673,11 @@
// Обработчик перетаскивания на поле предпросмотра.
//
// Параметры:
// Форма - УправляемаяФорма - Форма владельца файла.
// Элемент - ПолеФормы - Поле предпросмотра.
// ПараметрыПеретаскивания - ПараметрыПеретаскивания - Стандартный параметр события Перетаскивание
// Форма - УправляемаяФорма - форма владельца файла.
// Элемент - ПолеФормы - поле предпросмотра.
// ПараметрыПеретаскивания - ПараметрыПеретаскивания - стандартный параметр события Перетаскивание
// поля формы.
// СтандартнаяОбработка - Булево - Стандартный параметр события Перетаскивание поля формы.
// СтандартнаяОбработка - Булево - стандартный параметр события Перетаскивание поля формы.
//
Процедура ПолеПредпросмотраПеретаскивание(Форма, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) Экспорт
@@ -708,11 +708,11 @@
// Обработчик проверки перетаскивания на поле предпросмотра.
//
// Параметры:
// Форма - УправляемаяФорма - Форма владельца файла.
// Элемент - ПолеФормы - Поле предпросмотра.
// ПараметрыПеретаскивания - ПараметрыПеретаскивания - Стандартный параметр события Проверка
// Форма - УправляемаяФорма - форма владельца файла.
// Элемент - ПолеФормы - поле предпросмотра.
// ПараметрыПеретаскивания - ПараметрыПеретаскивания - стандартный параметр события Проверка
// перетаскивания поля формы.
// СтандартнаяОбработка - Булево - Стандартный параметр события Проверка перетаскивания поля формы.
// СтандартнаяОбработка - Булево - стандартный параметр события Проверка перетаскивания поля формы.
//
Процедура ПолеПредпросмотраПроверкаПеретаскивания(Форма, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) Экспорт
@@ -16,8 +16,8 @@
// Вызывается при ошибке захвате файла.
//
// Параметры:
// ДанныеФайла - Структура - структура с данными файла.
// СтандартнаяОбработка - Булево - уникальный идентификатор формы.
// ДанныеФайла - Структура - сведения о файле, см. РаботаСФайлами.ДанныеФайла.
// СтандартнаяОбработка - Булево - признак стандартной обработки события.
//
Процедура ПриОшибкеЗахватаФайла(ДанныеФайла, СтандартнаяОбработка) Экспорт
@@ -17,7 +17,7 @@
//
// Возвращаемое значение:
// Структура - со свойствами:
// * ИдентификаторФормы - УникальныйИдентификатор - Уникальный идентификатор формы, во временное хранилище
// * ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы, во временное хранилище
// которой надо поместить файл и вернуть адрес в свойстве СсылкаНаДвоичныеДанныеФайла.
// Значение по умолчанию - Неопределено.
// * ПолучатьСсылкуНаДвоичныеДанные - Булево - если передать Ложь, то ссылка на двоичные данные в СсылкаНаДвоичныеДанныеФайла
@@ -40,7 +40,7 @@
//
// ИменаСправочников - Соответствие - содержит в ключах имена справочников.
// При вызове содержит стандартное имя одного справочника,
// помеченного, как основной (если существует).
// помеченного как основной (если существует).
// Основной справочник используется для интерактивного
// взаимодействия с пользователем. Чтобы указать основной
// справочник, нужно установить Истина в значение соответствия.
@@ -59,9 +59,9 @@
// Позволяет отменить захват файла на основе анализа структуры с данными файла.
//
// Параметры:
// ДанныеФайла - Структура - с данными файла.
// ОписаниеОшибки - Строка - содержащая текст ошибки в случае невозможности занять.
// Если не пустая, тогда файл невозможно занять.
// ДанныеФайла - Структура - сведения о файле, см. РаботаСФайлами.ДанныеФайла.
// ОписаниеОшибки - Строка - текст ошибки в случае невозможности занять файл.
// Если не пустая, файл невозможно занять.
//
Процедура ПриПопыткеЗанятьФайл(ДанныеФайла, ОписаниеОшибки = "") Экспорт
@@ -91,9 +91,7 @@
// Вызывается при захвате файла. Позволяет изменить структуру с данными файла перед захватом.
//
// Параметры:
// ДанныеФайла - Структура - содержащая сведения о файле
// см. функцию РаботаСФайлами.ДанныеФайла.
//
// ДанныеФайла - Структура - сведения о файле, см. РаботаСФайлами.ДанныеФайла.
// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы.
//
Процедура ПриЗахватеФайла(ДанныеФайла, УникальныйИдентификатор) Экспорт
@@ -103,9 +101,7 @@
// Вызывается при освобождении файла. Позволяет изменить структуру с данными файла при освобождении.
//
// Параметры:
// ДанныеФайла - Структура - содержащая сведения о файле
// см. функцию РаботаСФайлами.ДанныеФайла.
//
// ДанныеФайла - Структура - сведения о файле, см. РаботаСФайлами.ДанныеФайла.
// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы.
//
Процедура ПриОсвобожденииФайла(ДанныеФайла, УникальныйИдентификатор) Экспорт
@@ -115,10 +111,10 @@
// Позволяет определить параметры электронного письма перед отправкой файла по почте.
//
// Параметры:
// ФайлыДляОтправки - Массив - Список файлов для отправки.
// ПараметрыОтправки - Структура - Возвращаемый параметр, см. РаботаСПочтовымиСообщениямиКлиент.ПараметрыОтправкиПисьма.
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - Объект-владелец файлов.
// УникальныйИдентификатор - УникальныйИдентификатор - Уникальный идентификатор,
// ФайлыДляОтправки - Массив - список файлов для отправки.
// ПараметрыОтправки - Структура - возвращаемый параметр, см. РаботаСПочтовымиСообщениямиКлиент.ПараметрыОтправкиПисьма.
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - объект-владелец файлов.
// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор,
// который необходимо использовать, есть требуется помещение данных во временное хранилище.
//
Процедура ПриОтправкеФайловПочтой(ПараметрыОтправки, ФайлыДляОтправки, ВладелецФайлов, УникальныйИдентификатор) Экспорт
@@ -5044,8 +5044,9 @@
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ПрисоединенныйФайл);
БлокировкаДанных.Заблокировать();
ЗаблокироватьДанныеДляРедактирования(ПрисоединенныйФайл);
ФайлОбъект = ПрисоединенныйФайл.ПолучитьОбъект();
ФайлОбъект.Заблокировать();
ФайлСсылка = ПрисоединенныйФайл;
Иначе
ФайлОбъект = ПрисоединенныйФайл;
@@ -9600,7 +9600,7 @@
Документ = ОбъектWord.Documents.Open(ПутьКФайлу1);
Документ.Merge(ПутьКФайлу2, 0, 0, 0); // MergeTarget:=wdMergeTargetSelected, DetectFormatChanges:=False, UseFormattingFrom:=wdFormattingFromCurrent
Документ.Merge(ПутьКФайлу2, 2, 0, 0); // MergeTarget:=wdMergeTargetSelected, DetectFormatChanges:=False, UseFormattingFrom:=wdFormattingFromCurrent
ОбъектWord.Visible = 1;
ОбъектWord.Activate();
@@ -9663,8 +9663,17 @@
КонецЕсли;
Исключение
ОбщегоНазначенияКлиент.СообщитьПользователю(
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось сравнить файлы по причине: %1'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
НСтр("ru = 'Файлы. Сравнение файлов'", ОбщегоНазначенияКлиент.КодОсновногоЯзыка()),
"Ошибка", СообщениеОбОшибке, , Истина);
ВызватьИсключение СообщениеОбОшибке;
КонецПопытки;
#КонецЕсли
@@ -9,8 +9,8 @@
#Область ПрограммныйИнтерфейс
// Определяет следующие свойств регламентных заданий:
// - зависимость от функциональных опций.
// - возможность выполнения в различных режимах работы программы.
// - зависимость от функциональных опций;
// - возможность выполнения в различных режимах работы программы;
// - прочие параметры.
//
// Параметры:
@@ -18,7 +18,7 @@
// * РегламентноеЗадание - ОбъектМетаданных:РегламентноеЗадание - регламентное задание.
// * ФункциональнаяОпция - ОбъектМетаданных:ФункциональнаяОпция - функциональная опция,
// от которой зависит регламентное задание.
// * ЗависимостьПоИ - Булево - если регламентное задание зависит более, чем
// * ЗависимостьПоИ - Булево - если регламентное задание зависит более чем
// от одной функциональной опции и его необходимо включать только тогда,
// когда все функциональные опции включены, то следует указывать Истина
// для каждой зависимости.
@@ -27,19 +27,19 @@
// * ВключатьПриВключенииФункциональнойОпции - Булево, Неопределено - если Ложь, то при
// включении функциональной опции регламентное задание не будет включаться. Значение
// Неопределено соответствует значению Истина.
// По умолчанию - неопределено.
// По умолчанию - Неопределено.
// * ДоступноВПодчиненномУзлеРИБ - Булево, Неопределено - Истина или Неопределено, если регламентное
// задание доступно в РИБ.
// По умолчанию - неопределено.
// По умолчанию - Неопределено.
// * ДоступноВАвтономномРабочемМесте - Булево, Неопределено - Истина или Неопределено, если регламентное
// задание доступно в автономном рабочем месте.
// По умолчанию - неопределено.
// По умолчанию - Неопределено.
// * ДоступноВМоделиСервиса - Булево, Неопределено - Истина или Неопределено, если регламентное
// задание доступно в модели сервиса.
// По умолчанию - неопределено.
// По умолчанию - Неопределено.
// * РаботаетСВнешнимиРесурсами - Булево - Истина, если регламентное задание модифицирует данные
// во внешних источниках (получение почты, синхронизация данных и т.п.). Не следует устанавливать
// значение Истина, для регламентных заданий, не модифицирующих данные во внешних источниках.
// значение Истина для регламентных заданий, не модифицирующих данные во внешних источниках.
// Например, регламентное задание ЗагрузкаКурсовВалют. Регламентные задания, работающие с внешними ресурсами,
// автоматически отключаются в копии информационной базы. По умолчанию - Ложь.
// * Параметризуется - Булево - Истина, если регламентное задание параметризованное.
@@ -59,7 +59,7 @@
// Позволяет переопределить настройки подсистемы, заданные по умолчанию.
//
// Параметры:
// Настройки - Структура - Структура с ключами:
// Настройки - Структура - структура с ключами:
// * РасположениеКомандыСнятияБлокировки - Строка - определяет расположение команды снятия
// блокировки работы с внешними ресурсами
// при перемещении информационной базы.
@@ -21,7 +21,8 @@
Если ПараметрыПриЗапускеПрограммы.Свойство("ПолученныеПараметрыКлиента")
И ТипЗнч(ПараметрыПриЗапускеПрограммы.ПолученныеПараметрыКлиента) = Тип("Структура") Тогда
Параметры.Вставить("ПолученныеПараметрыКлиента", ПараметрыПриЗапускеПрограммы.ПолученныеПараметрыКлиента);
Параметры.Вставить("ПолученныеПараметрыКлиента", ОбщегоНазначенияКлиентСервер.СкопироватьСтруктуру(
ПараметрыПриЗапускеПрограммы.ПолученныеПараметрыКлиента));
КонецЕсли;
Если ПараметрыПриЗапускеПрограммы.Свойство("ПропуститьОчисткуСкрытияРабочегоСтола") Тогда
@@ -46,6 +47,12 @@
Параметры.Вставить("ТекущаяДатаНаКлиенте", ТекущаяДата()); // Для расчета ПоправкаКВремениСеанса.
Параметры.Вставить("ТекущаяУниверсальнаяДатаВМиллисекундахНаКлиенте", ТекущаяУниверсальнаяДатаВМиллисекундах());
Если ПараметрыПриЗапускеПрограммы.Свойство("ОпцииИнтерфейса")
И ТипЗнч(Параметры.ПолученныеПараметрыКлиента) = Тип("Структура") Тогда
Параметры.ПолученныеПараметрыКлиента.Вставить("ОпцииИнтерфейса");
КонецЕсли;
ПараметрыКлиента = СтандартныеПодсистемыВызовСервера.ПараметрыРаботыКлиентаПриЗапуске(Параметры);
Если ПараметрыПриЗапускеПрограммы.Свойство("ПолученныеПараметрыКлиента")
@@ -53,7 +60,6 @@
И Не ПараметрыПриЗапускеПрограммы.Свойство("ОпцииИнтерфейса") Тогда
ПараметрыПриЗапускеПрограммы.Вставить("ОпцииИнтерфейса", ПараметрыКлиента.ОпцииИнтерфейса);
ПараметрыПриЗапускеПрограммы.ПолученныеПараметрыКлиента.Вставить("ОпцииИнтерфейса");
КонецЕсли;
СтандартныеПодсистемыКлиент.ЗаполнитьПараметрыКлиента(ПараметрыКлиента);
@@ -11,13 +11,13 @@
// Определяет список обработчиков для формирования (или обновления)
// списка всех текущих дел, предусмотренных в конфигурации.
//
// В указанных модулях должна быть размещена процедура обработчика, в которую передаются параметры
// В указанных модулях должна быть размещена процедура обработчика, в которую передаются параметры:
// ТекущиеДела - ТаблицаЗначений - определяет параметры дела:
// * Идентификатор - Строка - внутренний идентификатор дела, используемый подсистемой.
// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя.
// * Важное - Булево - если Истина, дело будет выделено красным цветом.
// * СкрыватьВНастройках - Булево - если Истина, то дело будет скрыто в форме настроек текущих дел.
// Можно применять для дел, которые не предполагают их многократного
// Можно применять для дел, которые не предполагают многократного
// использования, т.е. после выполнения они для данной информационной базы
// больше отображаться не будут.
// * Представление - Строка - представление дела, выводимое пользователю.
@@ -38,7 +38,7 @@
//
// Параметры:
// Обработчики - Массив - массив ссылок на модули менеджеров или общие модули,
// например, Документы.ЗаказПокупателя, ТекущиеДелаПоПродажам.
// например: Документы.ЗаказПокупателя, ТекущиеДелаПоПродажам.
// Пример:
// Обработчики.Добавить(Документы.ЗаказПокупателя);
//
@@ -96,7 +96,7 @@
// Например, если в нескольких обработчиках получения текущих дел устанавливается
// параметр "ТекущаяДата", то установку параметра можно прописать в данной
// процедуре, а в обработчике формирования дела сделать вызов процедуры
// ТекущиеДела.УстановитьОбщиеПараметрыЗапросов(), которая установить данный параметр.
// ТекущиеДела.УстановитьОбщиеПараметрыЗапросов(), которая установит данный параметр.
//
// Параметры:
// Запрос - Запрос - выполняемый запрос.
@@ -111,7 +111,7 @@
//
// Параметры:
// Форма - УправляемаяФорма - форма, из которой был осуществлен вызов метода.
// Список - ДинамическийСписок - список, чьи параметры можно переопределить.
// Список - ДинамическийСписок - список, параметры которого можно переопределить.
//
Процедура ПриСозданииНаСервере(Форма, Список) Экспорт
@@ -80,7 +80,7 @@
// Запрос с данными должен содержать только одну строку с произвольным количеством полей.
// Значения этих полей должны являться значениями соответствующих показателей.
//
// Например, такой запрос может иметь следующий вид -
// Например, такой запрос может иметь следующий вид:
// ВЫБРАТЬ
// Количество(*) КАК <Имя предопределенного элемента - показателя количества документов>.
// ИЗ
@@ -11,8 +11,8 @@
////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции, используемые для проверки прав.
// Проверяет, что у пользователя есть роль в одном из профилей тех групп доступа в которых он участвует,
// например, роль ПросмотрЖурналаРегистрации, роль ПечатьНепроведенныхДокументов.
// Проверяет, что у пользователя есть роль в одном из профилей тех групп доступа, в которых он участвует,
// например: роль ПросмотрЖурналаРегистрации, роль ПечатьНепроведенныхДокументов.
//
// Если указан объект (или наборы значений доступа), тогда дополнительно проверяется,
// что группа доступа предоставляет право Чтение указанного объекта (или набор значений доступа разрешен).
@@ -20,13 +20,13 @@
// Параметры:
// Роль - Строка - имя роли.
//
// СсылкаНаОбъект - Ссылка - на объект для которого заполняются наборы значений доступа
// СсылкаНаОбъект - Ссылка - на объект, для которого заполняются наборы значений доступа
// для проверки права Чтение.
// - ТаблицаЗначений - таблица произвольных наборов значений доступа с колонками:
// * НомерНабора - Число - номер, группирующий несколько строк в отдельный набор.
// * ВидДоступа - Строка - имя вида доступа, указанного в переопределяемом модуле.
// * ЗначениеДоступа - Ссылка - на тип значения доступа указанного в переопределяемом модуле.
// Пустую подготовленную таблицу можно получить с помощью функции.
// * ЗначениеДоступа - Ссылка - на тип значения доступа, указанного в переопределяемом модуле.
// Пустую подготовленную таблицу можно получить с помощью функции
// ТаблицаНаборыЗначенийДоступа общего модуля УправлениеДоступом
// (колонки Чтение, Изменение не заполнять).
//
@@ -73,7 +73,7 @@
Иначе
НаборыЗначенийДоступа = ТаблицаНаборыЗначенийДоступа();
СсылкаНаОбъект.ПолучитьОбъект().ЗаполнитьНаборыЗначенийДоступа(НаборыЗначенийДоступа);
// Выбор только наборов значений доступа предназначенных для проверки права Чтение.
// Выбор только наборов значений доступа, предназначенных для проверки права Чтение.
СтрокиНаборовЧтения = НаборыЗначенийДоступа.НайтиСтроки(Новый Структура("Чтение", Истина));
НомераНаборов = Новый Соответствие;
Для каждого Строка Из СтрокиНаборовЧтения Цикл
@@ -342,7 +342,7 @@
// Проверяет, что для пользователя настроено разрешение права для объекта.
// Например, для папки файлов могут быть настроены права "УправлениеПравами", "Чтение", "ИзменениеПапок",
// причем право "Чтение" являются, как правом для папки файлов, так и правом для файлов.
// причем право "Чтение" является как правом для папки файлов, так и правом для файлов.
//
// Параметры:
// Право - Строка - имя права, как оно указано в процедуре ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов
@@ -350,7 +350,7 @@
//
// СсылкаНаОбъект - СправочникСсылка, ПланВидовХарактеристикСсылка - ссылка на одного из владельцев прав,
// указанных в процедуре ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов
// общего модуля УправлениеДоступомПереопределяемый, например, ссылка на папку файлов.
// общего модуля УправлениеДоступомПереопределяемый, например ссылка на папку файлов.
//
// Пользователь - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи, Неопределено - если
// параметр не указан, тогда право проверяется для текущего пользователя.
@@ -436,7 +436,7 @@
КонецФункции
// Проверяет, что чтение существующего объекта из в базы данных разрешено на уровне прав и
// Проверяет, что чтение существующего объекта из базы данных разрешено на уровне прав и
// на уровне записей для текущего пользователя.
//
// Параметры:
@@ -486,8 +486,8 @@
КонецФункции
// Проверяет, что чтение существующего объекта из в базы данных разрешено на уровне прав и
// на уровне записей для текущего пользователя. Если не разрешено вызывается исключение.
// Проверяет, что чтение существующего объекта из базы данных разрешено на уровне прав и
// на уровне записей для текущего пользователя. Если не разрешено, вызывается исключение.
//
// Параметры:
// ОписаниеДанных - СправочникСсылка,
@@ -510,7 +510,7 @@
КонецПроцедуры
// Проверяет, что изменение существующего объекта в базе данных разрешено на уровне прав и
// на уровне записей для текущего пользователя. Если не разрешено вызывается исключение.
// на уровне записей для текущего пользователя. Если не разрешено, вызывается исключение.
//
// Важно: если подсистема работает в режиме стандартного ограничения,
// а не в режиме универсального ограничения, тогда проверяется право
@@ -544,7 +544,7 @@
//
// Параметры:
// Пользователь - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - требуемый пользователь.
// Профиль - СправочникСсылка.ПрофилиГруппДоступа - профиль для которого нужно найти или создать персональную
// Профиль - СправочникСсылка.ПрофилиГруппДоступа - профиль, для которого нужно найти или создать персональную
// группу доступа и включить в нее пользователя.
// - УникальныйИдентификатор - уникальный идентификатор поставляемого профиля,
// с помощью которого нужно найти профиль групп доступа.
@@ -560,7 +560,7 @@
//
// Параметры:
// Пользователь - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - требуемый пользователь.
// Профиль - СправочникСсылка.ПрофилиГруппДоступа - профиль для которого нужно найти или создать персональную
// Профиль - СправочникСсылка.ПрофилиГруппДоступа - профиль, для которого нужно найти или создать персональную
// группу доступа и включить в нее пользователя.
// - УникальныйИдентификатор - уникальный идентификатор поставляемого профиля,
// с помощью которого нужно найти профиль групп доступа.
@@ -575,7 +575,7 @@
////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции для получения общих настроек подсистемы.
// Проверяет используется ли ограничении доступа на уровне записей.
// Проверяет, используется ли ограничение доступа на уровне записей.
//
// Возвращаемое значение:
// Булево - если Истина, тогда доступ ограничивается на уровне записей.
@@ -626,15 +626,15 @@
// Поддерживается только для случая, когда у значения доступа выбирается одна группа значений доступа,
// а не несколько.
//
// Для элемента формы ГруппаДоступа, связанного с реквизитом ГруппаДоступа устанавливает
// Для элемента формы ГруппаДоступа, связанного с реквизитом ГруппаДоступа, устанавливает
// список групп значений доступа в параметр выбора, которые дают доступ на изменение значения доступа.
//
// При создании нового значения доступа, если количество групп значений доступа, которые дают доступ
// на изменение значения доступа равно нулю, будет вызвано исключение.
// на изменение значения доступа, равно нулю, будет вызвано исключение.
//
// Если в базе данных уже записана группа значений доступа, которая не дает доступ на изменение значения доступа
// или количество групп значений доступа, которые дают доступ на изменение значения доступа равно нулю,
// тогда свойство формы ТолькоПросмотр устанавливается Истина.
// Если в базе данных уже записана группа значений доступа, которая не дает доступ на изменение значения доступа,
// или количество групп значений доступа, которые дают доступ на изменение значения доступа, равно нулю,
// тогда свойство формы ТолькоПросмотр устанавливается в Истина.
//
// Если ограничение на уровне записей не используется или ограничение по виду доступа не используется,
// тогда элемент формы скрывается.
@@ -644,17 +644,17 @@
// для выбора разрешенных значений.
//
// Реквизит - Неопределено - означает имя реквизита формы "Объект.ГруппаДоступа".
// - Строка - имя реквизита формы содержащего группу доступа.
// - Строка - имя реквизита формы, содержащего группу доступа.
//
// Элементы - Неопределено - означает имя элемента формы "ГруппаДоступа".
// - Строка - имя элемента формы.
// - Массив - имена элементов формы.
//
// ТипЗначения - Неопределено - означает получить тип из реквизита формы "Объект.Ссылка".
// ТипЗначения - Неопределено - означает: получить тип из реквизита формы "Объект.Ссылка".
// - Тип - тип ссылки значения доступа.
//
// СозданиеНового - Неопределено - означает получить значение "НЕ ЗначениеЗаполнено(Форма.Объект.Ссылка)"
// для определения того, что создается новое значение доступа или нет.
// СозданиеНового - Неопределено - означает: получить значение "НЕ ЗначениеЗаполнено(Форма.Объект.Ссылка)"
// для определения того, создается новое значение доступа или нет.
// - Булево - используется указанное значение.
//
Процедура ПриСозданииФормыЗначенияДоступа(Форма,
@@ -815,14 +815,14 @@
КонецПроцедуры
// Возвращает массив групп значений доступа разрешающих изменять значения доступа.
// Возвращает массив групп значений доступа, разрешающих изменять значения доступа.
//
// Поддерживается только для случая, когда выбирается одна группа значений доступа, а не несколько.
//
// Параметры:
// ТипЗначенийДоступа - Тип - тип ссылки значений доступа.
// ВозвращатьВсе - Булево - если Истина, то в случае, когда нет ограничений
// (доступны все) будет возвращен массив всех вместо Неопределено.
// (доступны все), будет возвращен массив всех вместо Неопределено.
//
// Возвращаемое значение:
// Неопределено - все группы значений доступа разрешают изменять значения доступа.
@@ -1034,13 +1034,13 @@
// Используется в процедуре НастроитьОтборыДинамическогоСписка для ускорения открытия динамических списков.
//
// Параметры:
// Таблица - Строка - полное имя объекта метаданных, например, "Документ.РасходнаяНакладная".
// Таблица - Строка - полное имя объекта метаданных, например "Документ.РасходнаяНакладная".
// ТипЗначений - Тип - тип значений доступа, разрешенные значения которых нужно вернуть.
// - Массив - массив указанных выше типов.
// Пользователь - Неопределено - вернуть разрешенные значения для авторизованного пользователя.
// - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - вернуть
// разрешенные значения для указанного пользователя.
// ВернутьВсе - Булево - если установить Истина, тогда будут возвращены все значение даже тогда,
// ВернутьВсе - Булево - если установить в Истина, тогда будут возвращены все значения - даже тогда,
// когда их более 100.
//
// Возвращаемое значение:
@@ -1094,7 +1094,7 @@
////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции для работы с наборами значений доступа.
// Проверяет предусмотрена ли для объекта метаданных процедура заполнения наборов значений доступа.
// Проверяет, предусмотрена ли для объекта метаданных процедура заполнения наборов значений доступа.
//
// Параметры:
// Ссылка - ЛюбаяСсылка - ссылка на любой объект.
@@ -1119,11 +1119,11 @@
//
// Возвращаемое значение:
// ТаблицаЗначений - с колонками:
// * НомерНабора - Число - (необязательно, если набор один),
// * ВидДоступа - Строка - необязательно, кроме специальных ПравоЧтения, ПравоИзменения.
// * ЗначениеДоступа - Неопределено, СправочникСсылка - или др. (обязательно),
// * Чтение - Булево - (необязательно, если набор для всех прав) устанавливается для одной строки набора,
// * Изменение - Булево - (необязательно, если набор для всех прав) устанавливается для одной строки набора.
// * НомерНабора - Число - необязательно, если набор один.
// * ВидДоступа - Строка - необязательно, кроме специальных: ПравоЧтения, ПравоИзменения.
// * ЗначениеДоступа - Неопределено, СправочникСсылка или др. - обязательно.
// * Чтение - Булево - необязательно, если набор для всех прав, устанавливается для одной строки набора.
// * Изменение - Булево - необязательно, если набор для всех прав, устанавливается для одной строки набора.
//
Функция ТаблицаНаборыЗначенийДоступа() Экспорт
@@ -1149,7 +1149,7 @@
// Объекты должны быть включены в подписку на событие ЗаписатьНаборыЗначенийДоступа
// или ЗаписатьЗависимыеНаборыЗначенийДоступа.
//
// В модулях объектов должна быть размещена процедура обработчика, в которую передаются параметры
// В модулях объектов должна быть размещена процедура обработчика, в которую передаются параметры:
// Таблица - ТаблицаЗначений - возвращаемая функцией ТаблицаНаборыЗначенийДоступа.
//
// Далее пример процедуры обработчика для копирования в модули объектов.
@@ -1161,13 +1161,13 @@
// // Чтения: Организация.
// // Изменения: Организация И Ответственный.
//
// // Чтение: набор №1.
// // Чтение: набор № 1.
// Строка = Таблица.Добавить();
// Строка.НомерНабора = 1;
// Строка.Чтение = Истина;
// Строка.ЗначениеДоступа = Организация;
//
// // Изменение: набор №2.
// // Изменение: набор № 2.
// Строка = Таблица.Добавить();
// Строка.НомерНабора = 2;
// Строка.Изменение = Истина;
@@ -1186,7 +1186,7 @@
//
// Таблица - ТаблицаЗначений, Неопределено - возвращает в этом параметре подготовленные наборы значений
// доступа. Описание колонок см. в функции УправлениеДоступом.ТаблицаНаборыЗначенийДоступа.
// Если передано Неопределено,то будет создана и заполнена новая таблица наборов значений доступа.
// Если передано Неопределено, то будет создана и заполнена новая таблица наборов значений доступа.
//
// СсылкаНаПодчиненныйОбъект - ЛюбаяСсылка - используется, когда нужно заполнить наборы значений
// доступа объекта-владельца для указанного подчиненного объекта.
@@ -1347,16 +1347,16 @@
КонецПроцедуры
// Позволяет добавить к одной таблице наборов значений доступа другую таблицу
// наборов значений доступа, либо логическим сложением, либо логическим умножением.
// наборов значений доступа либо логическим сложением, либо логическим умножением.
//
// Результат помещается в параметр Приемник.
//
// Параметры:
// Приемник - ТаблицаЗначений - с колонкам, как у таблицы возвращаемой функцией ТаблицаНаборыЗначенийДоступа.
// Источник - ТаблицаЗначений - с колонкам, как у таблицы возвращаемой функцией ТаблицаНаборыЗначенийДоступа.
// Приемник - ТаблицаЗначений - с колонками как у таблицы, возвращаемой функцией ТаблицаНаборыЗначенийДоступа.
// Источник - ТаблицаЗначений - с колонками как у таблицы, возвращаемой функцией ТаблицаНаборыЗначенийДоступа.
//
// Умножение - Булево - определяет способ логического объединения наборов приемника и источника.
// Упростить - Булево - определяет требуется ли упрощение наборов после добавления.
// Упростить - Булево - определяет, требуется ли упрощение наборов после добавления.
//
Процедура ДобавитьНаборыЗначенийДоступа(Приемник, Знач Источник, Знач Умножение = Ложь, Знач Упростить = Ложь) Экспорт
@@ -1477,18 +1477,18 @@
//
// Возвращаемое значение:
// Структура - со свойствами:
// * Имя - Строка - ИмяПредопределенныхДанных используется для привязки
// * Имя - Строка - ИмяПредопределенныхДанных - используется для привязки
// поставляемых данных к предопределенному элементу.
// * Идентификатор - Строка - строка уникального идентификатора поставляемого
// профиля, которая используется для поиска в базе данных.
// Чтобы получить идентификатор нужно создать профиль в режиме 1С:Предприятия и
// Чтобы получить идентификатор, нужно создать профиль в режиме 1С:Предприятие и
// получить уникальный идентификатор ссылки. Не следует указывать идентификаторы,
// полученные произвольным способом, т.к. это может нарушить уникальность ссылок.
// * Наименование - Строка - наименование поставляемого профиля.
// * Описание - Строка - описание поставляемого профиля.
// * Роли - Массив - имена ролей поставляемого профиля.
// * Назначение - Массив - типы ссылок пользователя и объектов авторизации внешних
// пользователей. Если пустой, значит назначение для пользователей.
// пользователей. Если пустой, значит, назначение для пользователей.
// Должны быть в пределах состава определяемого типа Пользователь.
// * ВидыДоступа - СписокЗначений - со свойствами:
// * Значение - Строка - имя вида доступа, указанного в переопределяемом
@@ -1498,7 +1498,7 @@
//
// * ЗначенияДоступа - СписокЗначений - со свойствами:
// * Значение - Строка - имя вида доступа, указанного в параметре ВидыДоступа.
// * Представление - Строка - имя предопределенного элемента, например,
// * Представление - Строка - имя предопределенного элемента, например
// "Справочник.ГруппыПользователей.ВсеПользователи".
//
// Пример:
@@ -1571,7 +1571,7 @@
// ВидДоступа - СтрокаТаблицыЗначений - добавленная в параметр ВидыДоступа.
// ТипЗначений - Тип - дополнительный тип значений доступа.
// ТипГруппЗначений - Тип - дополнительный тип групп значений доступа, может совпадать
// с типом групп значений указанным ранее для этого же вида доступа.
// с типом групп значений, указанным ранее для этого же вида доступа.
// НесколькоГруппЗначений - Булево - Истина, если у дополнительного типа значений доступа
// можно указать несколько групп значений (есть табличная часть ГруппыДоступа).
//
@@ -1601,8 +1601,8 @@
//
// Параметры:
// ЗаменяемыеРоли - Соответствие - со значениями:
// * Ключ - Строка - имя заменяемой роли, например, "ЧтениеБазовойНСИ". Если роль была удалена,
// то к имени нужно добавить приставку "? ", например, "? ЧтениеБазовойНСИ".
// * Ключ - Строка - имя заменяемой роли, например "ЧтениеБазовойНСИ". Если роль была удалена,
// то к имени нужно добавить приставку "? ", например "? ЧтениеБазовойНСИ".
//
// * Значение - Массив - имена ролей для замены указанной (пустой массив, чтобы удалить указанную роль).
//
@@ -1708,7 +1708,7 @@
//
// Возвращаемое значение:
// ТаблицаЗначений - с колонками:
// * ТипВладельцев - Ссылка - пустая ссылка типа владельца прав из описания типов.
// * ТипВладельцев - Ссылка - пустая ссылка типа владельца прав из описания типов
// ВладелецНастроекПрав, например пустая ссылка справочника ПапкиФайлов.
// * СтароеИмя - Строка - старое имя права.
// * НовоеИмя - Строка - новое имя права.
@@ -1733,12 +1733,12 @@
//
// Параметры:
// ТаблицаПереименований - ТаблицаЗначений - с колонками:
// * ТипВладельцев - Ссылка - пустая ссылка типа владельца прав из описания типов.
// * ТипВладельцев - Ссылка - пустая ссылка типа владельца прав из описания типов
// ВладелецНастроекПрав, например пустая ссылка справочника ПапкиФайлов.
// * СтароеИмя - Строка - старое имя права, относящееся к указанному типу владельцев.
// * НовоеИмя - Строка - новое имя права, относящееся к указанному типу владельцев.
// Если указана пустая строка, настройка старого права будет удалена.
// Если старому имени поставлено в соответствие два новых имени,
// Если старому имени поставлены в соответствие два новых имени,
// тогда одна старая настройка будет размножена в две новых.
//
Процедура ЗаменитьПраваВНастройкахПравОбъектов(ТаблицаПереименований) Экспорт
@@ -1912,13 +1912,13 @@
// к группам доступа. Пользователи ИБ с ролью "ПолныеПрава" пропускаются.
//
// Параметры:
// МассивПользователей - Массив, Неопределено, Тип - массив из элементов.
// МассивПользователей - Массив, Неопределено, Тип - массив из элементов
// СправочникСсылка.Пользователи или СправочникСсылка.ВнешниеПользователи.
// Если Неопределено, то обновить роли всех пользователей.
// Если Тип = Справочник.ВнешниеПользователи, то будут обновлены роли всех внешних пользователей,
// иначе будут обновлены роли всех пользователей.
//
// ПарольПользователяСервиса - Строка - Пароль для авторизации в менеджере сервиса.
// ПарольПользователяСервиса - Строка - пароль для авторизации в менеджере сервиса.
//
Процедура ОбновитьРолиПользователей(Знач МассивПользователей = Неопределено, Знач ПарольПользователяСервиса = Неопределено) Экспорт
@@ -1936,7 +1936,7 @@
КонецПроцедуры
// Выполняет последовательное заполнение и частичное обновление данных, необходимых для работы
// подсистемы УправленияДоступом в режиме ограничения доступа на уровне записей.
// подсистемы УправлениеДоступом в режиме ограничения доступа на уровне записей.
//
// При включенном режиме ограничения доступа на уровне записей заполняет наборы
// значений доступа. Заполнение выполняется частями при каждом запуске, пока все
@@ -1950,11 +1950,11 @@
// После завершения всех обновлений и заполнений отключает использование регламентного задания.
//
// Сведения о состоянии работы записываются в журнал регистрации.
// Возможно вызывать программно, например, при обновлении информационной базы.
// Возможно вызывать программно, например при обновлении информационной базы.
//
// Параметры:
// КоличествоДанных - Число - (возвращаемое значение) содержит количество
// объектов данных для которых было выполнено заполнение.
// объектов данных, для которых было выполнено заполнение.
//
Процедура ЗаполнениеДанныхДляОграниченияДоступа(КоличествоДанных = 0) Экспорт
@@ -1967,23 +1967,23 @@
// (обновление ключей доступа к объектам и к записям регистров, а также прав
// групп доступа, пользователей и внешних пользователей на новые ключи доступа).
//
// Рекомендуется при:
// - восстановление из резервной копии XML,
// - массовая загрузка данных из файла,
// - массовая загрузка данных при обмене данными,
// - групповое изменение объектов.
// Рекомендуется:
// - при восстановлении из резервной копии XML;
// - массовой загрузке данных из файла;
// - массовой загрузке данных при обмене данными;
// - групповом изменении объектов.
//
// Параметры:
// Отключить - Булево - Истина - отключает обновление ключей доступа и включает режим
// сбора состава таблиц (списков), для которых будет запланировано
// обновление ключей доступа при продолжении обновления ключей доступа.
// - Ложь - планирует обновление ключей доступа таблиц, собранных в режиме
// отключения и включает стандартный режим обновления ключей доступа.
// отключения, и включает стандартный режим обновления ключей доступа.
//
// ПланироватьОбновление - Булево - планирование обновления при отключении и продолжении.
// Когда Отключить = Истина, тогда определяет необходимость сбора
// состава таблиц, для которых будет запланировано обновление.
// Ложь требуется только в режиме загрузки из резервной копии XML, когда
// Ложь - требуется только в режиме загрузки из резервной копии XML, когда
// загружаются все данные информационной базы, включая все служебные данные.
// Когда Отключить = Ложь, тогда определяет необходимость планирования
// обновления для собранных таблиц.
@@ -14,14 +14,14 @@
//
// Параметры:
// ВидыДоступа - ТаблицаЗначений - с колонками:
// * Имя - Строка - имя используемое в описании поставляемых
// * Имя - Строка - имя, используемое в описании поставляемых
// профилей групп доступа и текстах ОДД.
// * Представление - Строка - представляет вид доступа в профилях и группах доступа.
// * ТипЗначений - Тип - тип ссылки значений доступа,
// например, Тип("СправочникСсылка.Номенклатура").
// например Тип("СправочникСсылка.Номенклатура").
// * ТипГруппЗначений - Тип - тип ссылки групп значений доступа,
// например, Тип("СправочникСсылка.ГруппыДоступаНоменклатуры").
// * НесколькоГруппЗначений - Булево - Истина указывает, что для значения доступа (Номенклатуры), можно
// например Тип("СправочникСсылка.ГруппыДоступаНоменклатуры").
// * НесколькоГруппЗначений - Булево - Истина указывает, что для значения доступа (Номенклатуры) можно
// выбрать несколько групп значений (Групп доступа номенклатуры).
//
// Пример:
@@ -52,9 +52,9 @@
//
// Ограничение - Структура - со свойствами:
// * Текст - Строка - ограничение доступа для пользователей.
// Если пустая строка, значит доступ разрешен.
// Если пустая строка, значит, доступ разрешен.
// * ТекстДляВнешнихПользователей - Строка - ограничение доступа для внешних пользователей.
// Если пустая строка, значит доступ запрещен.
// Если пустая строка, значит, доступ запрещен.
// * ПоВладельцуБезЗаписиКлючейДоступа - Неопределено - определить автоматически.
// - Булево - если Ложь, то всегда записывать ключи доступа,
// если Истина, тогда не записывать ключи доступа,
@@ -106,7 +106,7 @@
// * ОбновлятьГруппыДоступа - Булево - начальное значение Истина.
// * ОбновлятьГруппыДоступаСУстаревшимиНастройками - Булево - начальное значение Ложь.
// Если установить Истина, то настройки значений, выполненные администратором для
// вида доступа который был удален из профиля, будут также удалены из групп доступа.
// вида доступа, который был удален из профиля, будут также удалены из групп доступа.
//
// Пример:
// ОписаниеПрофиля = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();
@@ -127,8 +127,8 @@
КонецПроцедуры
// Заполняет зависимости прав доступа "подчиненного" объекта, например, задачи ЗадачаИсполнителя,
// от "ведущего" объекта, например, бизнес-процесса Задание, которые отличаются от стандартных.
// Заполняет зависимости прав доступа "подчиненного" объекта (например, задачи ЗадачаИсполнителя),
// от "ведущего" объекта (например, бизнес-процесса Задание), которые отличаются от стандартных.
//
// Зависимости прав используются в стандартном шаблоне ограничения доступа для вида доступа "Объект".
// 1. Стандартно при чтении "подчиненного" объекта
@@ -139,13 +139,13 @@
// проверяется отсутствие ограничения изменения "ведущего" объекта.
//
// Допускается только одно переназначение по сравнению со стандартным -
// в пункте "2)" вместо проверки права изменения "ведущего" объекта установить
// в пункте 2 вместо проверки права изменения "ведущего" объекта установить
// проверку права чтения "ведущего" объекта.
//
// Параметры:
// ЗависимостиПрав - ТаблицаЗначений - с колонками:
// * ВедущаяТаблица - Строка - например, Метаданные.БизнесПроцессы.Задание.ПолноеИмя().
// * ПодчиненнаяТаблица - Строка - например, Метаданные.Задачи.ЗадачаИсполнителя.ПолноеИмя().
// * ВедущаяТаблица - Строка - например Метаданные.БизнесПроцессы.Задание.ПолноеИмя().
// * ПодчиненнаяТаблица - Строка - например Метаданные.Задачи.ЗадачаИсполнителя.ПолноеИмя().
//
Процедура ПриЗаполненииЗависимостейПравДоступа(ЗависимостиПрав) Экспорт
@@ -153,32 +153,32 @@
КонецПроцедуры
// Заполняет описания возможных прав, назначаемых для объектов, указанных типов.
// Заполняет описания возможных прав, назначаемых для объектов указанных типов.
//
// Параметры:
// ВозможныеПрава - ТаблицаЗначений - с колонками:
// ВладелецПрав - Строка - полное имя таблицы значения доступа.
//
// Имя - Строка - идентификатор права, например, ИзменениеПапок. Право с именем УправлениеПравами
// Имя - Строка - идентификатор права, например ИзменениеПапок. Право с именем УправлениеПравами
// должно быть обязательно определено для общей формы настройки прав "Права доступа".
// УправлениеПравами - это право на изменение прав по владельцу прав, которое проверяется
// при открытии РегистрСведений.НастройкиПравОбъектов.Форма.НастройкиПравОбъектов.
// при открытии ОбщаяФорма.НастройкиПравОбъектов.
//
// Заголовок - Строка - заголовок права, например в форме НастройкиПравОбъектов:
// "Изменение.
// |папок".
//
// Подсказка - Строка - подсказка к заголовку права,
// например, "Добавление, изменение и пометка удаления папок".
// например "Добавление, изменение и пометка удаления папок".
//
// НачальноеЗначение - Булево - начальное значение флажка права при добавлении новой строки
// в форме "Права доступа".
//
// ТребуемыеПрава - Массив строк - имена прав, требуемых для от этого права,
// например, право "ДобавлениеФайлов" требует право "ИзменениеФайлов".
// ТребуемыеПрава - Массив строк - имена прав, требуемых для этого права -
// например, право "ДобавлениеФайлов" требует права "ИзменениеФайлов".
//
// ЧтениеВТаблицах - Массив строк - полные имена таблиц, для которых это право обозначает право Чтение.
// Возможно использование символа "*", который обозначает "для всех остальных таблиц"
// Возможно использование символа "*", который обозначает "для всех остальных таблиц",
// т.к. право Чтение может зависеть только от права Чтение, то имеет смысл только символ "*"
// (требуется для работы шаблонов ограничения доступа).
//
@@ -203,7 +203,7 @@
// например, ИспользоватьГруппыДоступаНоменклатуры.
//
// Параметры:
// ВидДоступа - Строка - имя вида доступа заданное в процедуре ПриЗаполненииВидовДоступа.
// ВидДоступа - Строка - имя вида доступа, заданное в процедуре ПриЗаполненииВидовДоступа.
// Использование - Булево - начальное значение Истина.
//
Процедура ПриЗаполненииИспользованияВидаДоступа(ВидДоступа, Использование) Экспорт
@@ -232,7 +232,7 @@
// Если состав видов доступа не заполнен, отчет "Права доступа" покажет некорректные сведения.
//
// Обязательно требуется заполнить только виды доступа, используемые в шаблонах ограничения доступа
// явно, а виды доступа, используемые в наборах значений доступа могут быть получены из текущего
// явно, а виды доступа, используемые в наборах значений доступа, могут быть получены из текущего
// состояния регистра сведений НаборыЗначенийДоступа.
//
// Для автоматической подготовки содержимого процедуры следует воспользоваться инструментами
@@ -250,8 +250,8 @@
// "Документ.Файлы.Чтение.Объект.Документ.ЭлектронноеПисьмо",
// "Документ.Файлы.Изменение.Объект.Справочник.ПапкиФайлов",
// "Документ.Файлы.Изменение.Объект.Документ.ЭлектронноеПисьмо".
// Вид доступа Объект предопределен, как литерал. Этот вид доступа используется в
// шаблонах ограничений доступа, как "ссылка" на другой объект, по которому
// Вид доступа Объект предопределен как литерал. Этот вид доступа используется в
// шаблонах ограничений доступа как "ссылка" на другой объект, по которому
// ограничивается текущий объект таблицы.
// Когда вид доступа "Объект" задан, также требуется задать типы таблиц,
// которые используются для этого вида доступа. Т.е. перечислить типы,
@@ -276,7 +276,7 @@
// Ссылка - СправочникСсылка, ДокументСсылка, ... - ссылка на объект, для которого
// записаны наборы значений доступа.
//
// СсылкиНаЗависимыеОбъекты - Массив - массив элементов типа СправочникСсылка, ДокументСсылка, ...
// СсылкиНаЗависимыеОбъекты - Массив - массив элементов типа СправочникСсылка, ДокументСсылка и т. п.
// Содержит ссылки на объекты с зависимыми наборами значений доступа.
// Начальное значение - пустой массив.
//
@@ -1206,13 +1206,20 @@
|");
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(Результат, Выборка);
Иначе
ДанныеКлассификатора = ТаблицаКлассификатора();
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
ДанныеКлассификатора = МодульРаботаСАдресами.ТаблицаКлассификатора();
СтрокиДанных = ДанныеКлассификатора.НайтиСтроки(ФильтрКлассификатора);
Если СтрокиДанных.Количество()=0 Тогда
Результат = Неопределено;
Если СтрокиДанных.Количество() = 0 Тогда
Возврат Неопределено;
Иначе
ЗаполнитьЗначенияСвойств(Результат, СтрокиДанных[0]);
КонецЕсли;
@@ -1220,6 +1227,7 @@
КонецЕсли;
Возврат Результат;
КонецФункции
// Возвращает данные страны по коду.
@@ -1240,7 +1248,13 @@
//
Функция ДанныеКлассификатораСтранМираПоКоду(Знач Код, Знач ТипКода = "КодСтраны") Экспорт
ДанныеКлассификатора = ТаблицаКлассификатора();
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
ДанныеКлассификатора = МодульРаботаСАдресами.ТаблицаКлассификатора();
Если СтрСравнить(ТипКода, "Альфа2") = 0 Тогда
СтрокаДанных = ДанныеКлассификатора.Найти(ВРег(Код), "КодАльфа2");
ИначеЕсли СтрСравнить(ТипКода, "Альфа3") = 0 Тогда
@@ -1249,7 +1263,7 @@
СтрокаДанных = ДанныеКлассификатора.Найти(КодСтраныМира(Код), "Код");
КонецЕсли;
Если СтрокаДанных=Неопределено Тогда
Если СтрокаДанных = Неопределено Тогда
Результат = Неопределено;
Иначе
Результат = Новый Структура("Код, Наименование, НаименованиеПолное, КодАльфа2, КодАльфа3, УчастникЕАЭС");
@@ -1276,7 +1290,14 @@
// Неопределено - Страна не найдена в классификаторе.
//
Функция ДанныеКлассификатораСтранМираПоНаименованию(Знач Наименование) Экспорт
ДанныеКлассификатора = ТаблицаКлассификатора();
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
ДанныеКлассификатора = МодульРаботаСАдресами.ТаблицаКлассификатора();
СтрокаДанных = ДанныеКлассификатора.Найти(Наименование, "Наименование");
Если СтрокаДанных=Неопределено Тогда
Результат = Неопределено;
@@ -1323,7 +1344,12 @@
Возврат РезультатЗапроса.Ссылка;
КонецЕсли;
ДанныеКлассификатора = ТаблицаКлассификатора();
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
Возврат Справочники.СтраныМира.ПустаяСсылка();
КонецЕсли;
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
ДанныеКлассификатора = МодульРаботаСАдресами.ТаблицаКлассификатора();
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
@@ -1375,6 +1401,7 @@
ОбъектСтраны = Справочники.СтраныМира.СоздатьЭлемент();
ЗаполнитьЗначенияСвойств(ОбъектСтраны, ДанныеЗаполнения);
ОбъектСтраны.Записать();
Возврат ОбъектСтраны.Ссылка;
КонецФункции
@@ -1407,7 +1434,12 @@
СтраныЕАЭС = Запрос.Выполнить().Выгрузить();
ДанныеКлассификатора = ТаблицаКлассификатора();
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
Возврат СтраныЕАЭС;
КонецЕсли;
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
ДанныеКлассификатора = МодульРаботаСАдресами.ТаблицаКлассификатора();
Для каждого Страна Из ДанныеКлассификатора Цикл
Если Страна.УчастникЕАЭС Тогда
@@ -3548,26 +3580,6 @@
КонецФункции
// Возвращает полные данные ОКСМ классификатора.
// Таблица значений в макете проиндексирована по полям "Код", "Наименование".
//
// Возвращаемое значение:
// ТаблицаЗначений - данные классификатора с колонками:
// * Код - Строка - данные страны.
// * Наименование - Строка - данные страны.
// * НаименованиеПолное - Строка - данные страны.
// * КодАльфа2 - Строка - данные страны.
// * КодАльфа3 - Строка - данные страны.
//
Функция ТаблицаКлассификатора() Экспорт
Макет = Справочники.СтраныМира.ПолучитьМакет("Классификатор");
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(Макет.ПолучитьТекст());
Возврат СериализаторXDTO.ПрочитатьXML(Чтение);
КонецФункции
// Возвращает тип контактной информации.
//
// Параметры:
@@ -246,12 +246,13 @@
//
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) Экспорт
Если Не ЕстьПравоДобавления() Тогда
Если Не ЕстьПравоДобавления() Или Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
// Нет прав на добавление страны мира, поведение по умолчанию.
Возврат;
КонецЕсли;
ДанныеВыбора = ЗаполнитьДанныеВыбораАвтоподбораПоСтранам(Параметры);
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
ДанныеВыбора = МодульРаботаСАдресами.ЗаполнитьДанныеВыбораАвтоподбораПоСтранам(Параметры);
СтандартнаяОбработка = Ложь;
КонецПроцедуры
@@ -438,13 +439,19 @@
// Обновляем только существующие элементы стран мира по классификатору.
Процедура ОбновитьСуществующиеСтраныМира() Экспорт
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
Возврат;
КонецЕсли;
ВсеОшибки = "";
Добавлять = Ложь;
Фильтр = Новый Структура("Код");
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
// Сравнивать в запросе нельзя из-за возможной регистронезависимости базы данных.
Для Каждого СтрокаКлассификатора Из УправлениеКонтактнойИнформацией.ТаблицаКлассификатора() Цикл
Для Каждого СтрокаКлассификатора Из МодульРаботаСАдресами.ТаблицаКлассификатора() Цикл
Фильтр.Код = СтрокаКлассификатора.Код;
Выборка = Справочники.СтраныМира.Выбрать(,, Фильтр);
СтранаНайдена = Выборка.Следующий();
@@ -1089,9 +1096,14 @@
Процедура ОпределитьСтрануИИндекс(ДанныеАдреса)
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
Возврат;
КонецЕсли;
Классификатор = УправлениеКонтактнойИнформацией.ТаблицаКлассификатора();
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
Классификатор = МодульРаботаСАдресами.ТаблицаКлассификатора();
Для каждого ЭлементАдреса Из ДанныеАдреса Цикл
Индекс = ОписаниеТипаЧисло.ПривестиЗначение(ЭлементАдреса.Наименование);
Если Индекс >= 100000 И Индекс < 1000000 Тогда
@@ -1818,230 +1830,6 @@
Возврат ПравоДоступа("Добавление", Метаданные.Справочники.СтраныМира);
КонецФункции
Функция ЗаполнитьДанныеВыбораАвтоподбораПоСтранам(Знач Параметры)
ДанныеВыбора = Новый СписокЗначений;
// Будем имитировать поведение платформы - поиск по всем доступным полям поиска с формированием подобного списка.
// Подразумеваем, что поля справочника и классификатора совпадают, за исключением отсутствующего в классификаторе поля "Ссылка".
Запрос = Новый Запрос;
ПрефиксПараметраОтбора = "ПараметрыОтбора";
ПоляОтбора = Новый Массив;
ПоляОтбора.Добавить("Код");
ПоляОтбора.Добавить("Наименование");
// Общий отбор по параметрам
Отборы = Новый Массив;
Для Каждого КлючЗначение Из Параметры.Отбор Цикл
ЗначениеПоля = КлючЗначение.Значение;
ИмяПоля = КлючЗначение.Ключ;
ИмяПараметра = ПрефиксПараметраОтбора + ИмяПоля;
Если ТипЗнч(ЗначениеПоля) = Тип("Массив") Или ТипЗнч(ЗначениеПоля) = Тип("ФиксированныйМассив") Тогда
Отборы.Добавить(" %1." + ИмяПоля + " В (&" + ИмяПараметра + ")");
Иначе
Отборы.Добавить(" %1." + ИмяПоля + " = &" + ИмяПараметра);
КонецЕсли;
ПоляОтбора.Добавить(ИмяПоля);
Запрос.УстановитьПараметр(ИмяПараметра, КлючЗначение.Значение);
КонецЦикла;
// Дополнительные отборы
Если Параметры.Свойство("ВыборГруппИЭлементов") Тогда
Если Параметры.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы Тогда
Отборы.Добавить(" %1.ЭтоГруппа");
ИначеЕсли Параметры.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы Тогда
Отборы.Добавить(" (НЕ %1.ЭтоГруппа)");
КонецЕсли;
КонецЕсли;
ШаблонОтбора = СтрСоединить(Отборы, " И ");
// Источники данных
Если (Параметры.Свойство("ТолькоДанныеКлассификатора") И Параметры.ТолькоДанныеКлассификатора) Тогда
// Запрос только по классификатору.
ШаблонЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 50
| NULL КАК Ссылка,
| Классификатор.Код КАК Код,
| Классификатор.Наименование КАК Наименование,
| ЛОЖЬ КАК ПометкаУдаления,
| %2 КАК Представление
|ИЗ
| Классификатор КАК Классификатор
|ГДЕ
| Классификатор.%1 ПОДОБНО &СтрокаПоиска";
Если ЗначениеЗаполнено(ШаблонОтбора) Тогда
ШаблонЗапроса = ШаблонЗапроса + "
|И (
| " + СтрЗаменить(ШаблонОтбора, "%1", "Классификатор") + "
| )
|";
КонецЕсли;
Иначе
// Запрос и по справочнику и по классификатору.
ШаблонЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 50
| СтраныМира.Ссылка КАК Ссылка,
| ЕСТЬNULL(СтраныМира.Код, Классификатор.Код) КАК Код,
| ЕСТЬNULL(СтраныМира.Наименование, Классификатор.Наименование) КАК Наименование,
| ЕСТЬNULL(СтраныМира.ПометкаУдаления, ЛОЖЬ) КАК ПометкаУдаления,
|
| ВЫБОР КОГДА СтраныМира.Ссылка ЕСТЬ NULL ТОГДА
| %2
| ИНАЧЕ
| %3
| КОНЕЦ КАК Представление
|
|ИЗ
| Справочник.СтраныМира КАК СтраныМира
|ПОЛНОЕ СОЕДИНЕНИЕ
| Классификатор
|ПО
| Классификатор.Код = СтраныМира.Код
| И Классификатор.Наименование = СтраныМира.Наименование
|ГДЕ
| (СтраныМира.%1 ПОДОБНО &СтрокаПоиска ИЛИ Классификатор.%1 ПОДОБНО &СтрокаПоиска)";
Если ЗначениеЗаполнено(ШаблонОтбора) Тогда
ШаблонЗапроса = ШаблонЗапроса + "
| И ((" + СтрЗаменить(ШаблонОтбора, "%1", "Классификатор") + ")
| ИЛИ (" + СтрЗаменить(ШаблонОтбора, "%1", "СтраныМира") + "))
|
|";
КонецЕсли;
КонецЕсли;
ИменаПолей = ПоляПоиска(ПоляОтбора);
ИменаПолейСтрокой = СтрСоединить(ИменаПолей.ИменаПолейДляОтбораВКлассификаторе, ", ");
ТекстЗапросаКлассификатор = "ВЫБРАТЬ
| " + ИменаПолейСтрокой + "
|ПОМЕСТИТЬ
| Классификатор
|ИЗ
| &Классификатор КАК Классификатор
|ИНДЕКСИРОВАТЬ ПО
| " + ИменаПолейСтрокой + "
|";
НаборЗапросов = Новый Массив;
Для Каждого ДанныеПоля Из ИменаПолей.СписокПолей Цикл
ТекстЗапроса = СтрЗаменить(ШаблонЗапроса, "%1", ДанныеПоля.Имя);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%2", СтрЗаменить(ДанныеПоля.ШаблонПредставления, "%1", "Классификатор"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%3", СтрЗаменить(ДанныеПоля.ШаблонПредставления, "%1", "СтраныМира"));
НаборЗапросов.Добавить(ТекстЗапроса);
КонецЦикла;
Запрос.Текст = ТекстЗапросаКлассификатор + "
|;
|" + СтрСоединить(НаборЗапросов, " ОБЪЕДИНИТЬ ВСЕ ") + "
|УПОРЯДОЧИТЬ ПО Представление";
Запрос.УстановитьПараметр("Классификатор", УправлениеКонтактнойИнформацией.ТаблицаКлассификатора());
Запрос.УстановитьПараметр("СтрокаПоиска", ЭкранироватьСимволыПодобия(Параметры.СтрокаПоиска) + "%");
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат ДанныеВыбора;
КонецЕсли;
ДлинаСтрокиПоиска = СтрДлина(Параметры.СтрокаПоиска);
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Если ЗначениеЗаполнено(Выборка.Ссылка) Тогда
// Данные справочника
ЭлементВыбора = Выборка.Ссылка;
Иначе
// Данные классификатора
РезультатВыбора = Новый Структура("Код, Наименование",
Выборка.Код, Выборка.Наименование);
ЭлементВыбора = Новый Структура("Значение, ПометкаУдаления, Предупреждение",
РезультатВыбора, Выборка.ПометкаУдаления, Неопределено);
КонецЕсли;
ВыделенныйТекст = Новый ФорматированнаяСтрока(Лев(Выборка.Представление, ДлинаСтрокиПоиска), Новый Шрифт(,, Истина), ЦветаСтиля.РезультатУспехЦвет);
Представление = Новый ФорматированнаяСтрока(ВыделенныйТекст, Сред(Выборка.Представление, ДлинаСтрокиПоиска + 1));
ДанныеВыбора.Добавить(ЭлементВыбора, Представление);
КонецЦикла;
Возврат ДанныеВыбора;
КонецФункции
// Возвращает поля поиска в порядке предпочтения для справочника стран мира.
//
// Возвращаемое значение:
// Массив - содержит структуры с полями:
// * Имя - Строка - имя реквизита поиска.
// * ШаблонПредставления - Строка - шаблон для формирования значения представления по именам реквизитов,
// например: "%1.Наименование (%1.Код)". Здесь "Наименование" и "Код" - имена
// реквизитов,
// "%1" - заполнитель для передачи псевдонима таблицы.
//
Функция ПоляПоиска(ПоляОтбора)
Результат = Новый Массив;
СписокПолей = Справочники.СтраныМира.ПустаяСсылка().Метаданные().ВводПоСтроке;
ГраницаПолей = СписокПолей.Количество() - 1;
Для Индекс = 0 По ГраницаПолей Цикл
ИмяПоля = СписокПолей[Индекс].Имя;
Если ПоляОтбора.Найти(ИмяПоля) = Неопределено Тогда
ПоляОтбора.Добавить(ИмяПоля);
КонецЕсли;
ШаблонПредставления = "%1." + ИмяПоля;
ОстальныеПоля = Новый Массив;
Для Позиция = 0 По ГраницаПолей Цикл
Если Позиция <> Индекс Тогда
ОстальныеПоля.Добавить("%1." + СписокПолей[Позиция].Имя);
КонецЕсли;
КонецЦикла;
Если ОстальныеПоля.Количество() > 0 Тогда
ШаблонПредставления = ШаблонПредставления
+ " + "" ("" + " + СтрСоединить(ОстальныеПоля, " + "", "" + ") + " + "")""";
КонецЕсли;
Результат.Добавить(
Новый Структура("Имя, ШаблонПредставления", ИмяПоля, ШаблонПредставления));
КонецЦикла;
Возврат Новый Структура("СписокПолей, ИменаПолейДляОтбораВКлассификаторе", Результат, ПоляОтбора);
КонецФункции
// Экранирует символы для использования в функции запроса ПОДОБНО.
//
Функция ЭкранироватьСимволыПодобия(Знач Текст, Знач СпецСимвол = "\")
Результат = Текст;
СимволыПодобия = "%_[]^" + СпецСимвол;
Для Позиция=1 По СтрДлина(СимволыПодобия) Цикл
ТекущийСимвол = Сред(СимволыПодобия, Позиция, 1);
Результат = СтрЗаменить(Результат, ТекущийСимвол, СпецСимвол + ТекущийСимвол);
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти
// Для обратной совместимости.
@@ -46,7 +46,7 @@
// СинонимМакета - Строка - представление макета;
// ТабличныйДокумент - ТабличныйДокумент - печатная форма документа;
// Картинка - Картинка - пиктограмма печатной формы;
// ПолныйПутьКМакету - Строка - путь к макету в дереве метаданных, например:
// ПолныйПутьКМакету - Строка - путь к макету в дереве метаданных, например
// "Документ.СчетНаОплатуПокупателю.ПФ_MXL_СчетЗаказ".
// Если не указывать этот параметр, то редактирование макета пользователем будет
// недоступно в форме ПечатьДокументов.
@@ -253,12 +253,12 @@
// Возвращаемое значение:
// ТаблицаЗначений - описание команд печати:
//
// * Идентификатор - Строка - Идентификатор команды печати, по которому менеджер печати определяет печатную
// * Идентификатор - Строка - идентификатор команды печати, по которому менеджер печати определяет печатную
// форму, которую необходимо сформировать.
// Пример: "СчетЗаказ".
//
// Для печати нескольких печатных форм можно указывать одновременно несколько их
// идентификаторов (строкой, через запятую, либо массивом строк), например:
// идентификаторов (строкой, через запятую либо массивом строк), например:
// "СчетЗаказ,ГарантийноеПисьмо".
//
// Если необходимо задать количество копий печати для печатной формы, то ее
@@ -272,18 +272,18 @@
// печати, если он отличается от указанного в параметре МенеджерПечати,
// например: "СчетЗаказ,Обработка.ПечатнаяФорма.ГарантийноеПисьмо".
//
// В этом примере ГарантийноеПисьмо формируется в менеджере печати.
// В этом примере ГарантийноеПисьмо формируется в менеджере печати
// Обработка.ПечатнаяФорма, а СчетЗаказ - в менеджере печати, указанном в
// параметре МенеджерПечати.
//
// - Массив - список идентификаторов команд печати.
//
// * Представление - Строка - Представление команды в меню Печать.
// * Представление - Строка - представление команды в меню Печать.
// Пример: "Счет на оплату".
//
// * МенеджерПечати - Строка - (необязательный) Имя объекта, в модуле менеджера которого располагается
// * МенеджерПечати - Строка - (необязательный) имя объекта, в модуле менеджера которого располагается
// процедура Печать, формирующая табличные документы для этой команды.
// Значение по умолчанию: имя модуля менеджера объекта.
// Значение по умолчанию - имя модуля менеджера объекта.
// Пример: "Документ.СчетНаОплатуПокупателю".
// * ТипыОбъектовПечати - Массив - (необязательный) список типов объектов, для которых предназначена команда
// печати. Параметр предназначен для команд печати в журналах документов, где
@@ -292,12 +292,12 @@
// в журнале документов он заполняется типом объекта, из которого была
// импортирована команда печати.
//
// * Обработчик - Строка - (необязательный) Клиентский обработчик команды, в который необходимо передать
// управление вместо стандартного обработчика команды печать. Используется,
// * Обработчик - Строка - (необязательный) клиентский обработчик команды, в который необходимо передать
// управление вместо стандартного обработчика команды Печать. Используется,
// например, когда печатная форма формируется на клиенте.
// Формат "<ИмяОбщегоМодуля>.<ИмяПроцедуры>" используется когда процедура размещена
// Формат "<ИмяОбщегоМодуля>.<ИмяПроцедуры>" используется, когда процедура размещена
// в общем модуле.
// Формат "<ИмяПроцедуры>" используется когда процедура размещена
// Формат "<ИмяПроцедуры>" используется, когда процедура размещена
// в модуле основной формы отчета или обработки, указанной в МенеджерПечати.
// Пример:
// КомандаПечати.Обработчик = "_ДемоСтандартныеПодсистемыКлиент.ПечатьСчетовНаОплатуПокупателю";
@@ -305,10 +305,10 @@
// // Формирует печатную форму <представление печатной формы>.
// //
// // Параметры:
// // ПараметрыПечати - Структура - Сведения о печатной форме.
// // * ОбъектыПечати - Массив - Массив ссылок выбранных объектов.
// // * Форма - УправляемаяФорма - Форма, из которой вызвана команда печати.
// // * ДополнительныеПараметры - Структура - Дополнительные параметры печати.
// // ПараметрыПечати - Структура - сведения о печатной форме.
// // * ОбъектыПечати - Массив - массив ссылок выбранных объектов.
// // * Форма - УправляемаяФорма - форма, из которой вызвана команда печати.
// // * ДополнительныеПараметры - Структура - дополнительные параметры печати.
// // Прочие ключи структуры соответствуют колонкам таблицы КомандыПечати,
// // подробнее см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати.
// //
@@ -323,7 +323,7 @@
// * Порядок - Число - (необязательный) Значение от 1 до 100, указывающее порядок размещения команды
// по отношению к другим командам. Сортировка команд меню Печать осуществляется
// сначала по полю Порядок, затем по представлению.
// Значение по умолчанию: 50.
// Значение по умолчанию - 50.
//
// * Картинка - Картинка - (необязательный) Картинка, которая отображается возле команды в меню Печать.
// Пример: БиблиотекаКартинок.ФорматPDF.
@@ -385,7 +385,7 @@
// исключать отдельные печатные формы из комплекта в форме ПечатьДокументов, а
// также изменять их количество.
//
// * ДополнительныеПараметры - Структура - (необязательный) - произвольные параметры для передачи в менеджер печати.
// * ДополнительныеПараметры - Структура - (необязательный) произвольные параметры для передачи в менеджер печати.
//
// * НеВыполнятьЗаписьВФорме - Булево - (необязательный) Признак необходимости отключения механизма записи объекта
// перед выполнением команды печати. Используется в исключительных случаях. Если
@@ -396,8 +396,6 @@
// с файлами перед выполнением команды. Если параметр не указан, подключение
// расширения работы с файлами выполняться не будет.
//
// Пример:
//
Функция СоздатьКоллекциюКомандПечати() Экспорт
Результат = Новый ТаблицаЗначений;
@@ -470,7 +468,7 @@
// Значение - Произвольный - значение реквизита объекта;
// МетодСравнения - ВидСравнения - вид сравнения значений. Допустимые для использования виды:
// Равно, НеРавно, Больше, БольшеИлиРавно, Меньше, МеньшеИлиРавно, ВСписке, НеВСписке.
// Значение по умолчанию: Равно.
// Значение по умолчанию - Равно.
//
Процедура ДобавитьУсловиеВидимостиКоманды(КомандаПечати, Реквизит, Значение, Знач МетодСравнения = Неопределено) Экспорт
Если МетодСравнения = Неопределено Тогда
@@ -488,10 +486,10 @@
// Регистрирует новый адрес макета для обработки.
//
// Параметры:
// ИмяМакета - Строка - Новое имя макета в формате
// ИмяМакета - Строка - новое имя макета в формате
// "Документ.<ИмяДокумента>.<ИмяМакета>"
// "Обработка.<ИмяОбработки>.<ИмяМакета>"
// "ОбщийМакет.<ИмяМакета>":
// "ОбщийМакет.<ИмяМакета>".
// Параметры - Структура - см. ОбновлениеИнформационнойБазы.ОсновныеПараметрыОтметкиКОбработке.
//
Процедура ЗарегистрироватьНовоеИмяМакета(ИмяМакета, Параметры) Экспорт
@@ -506,15 +504,15 @@
// Используется при переносе макета (объекта метаданных) печатной формы в другой объект.
// Предназначена для вызова в "отложенном" обработчике обновления.
// Переносит пользовательские данные, относящиеся макету на новый адрес.
// Переносит пользовательские данные, относящиеся к макету, на новый адрес.
//
// Параметры:
// Макеты - Соответствие - Сведения о прежних и новых именах макетов в формате
// Макеты - Соответствие - сведения о прежних и новых именах макетов в формате
// "Документ.<ИмяДокумента>.<ИмяМакета>"
// "Обработка.<ИмяОбработки>.<ИмяМакета>"
// "ОбщийМакет.<ИмяМакета>":
// * Ключ - Строка - Новое имя макета.
// * Значение - Строка - Прежнее имя макета.
// * Ключ - Строка - новое имя макета.
// * Значение - Строка - прежнее имя макета.
//
// Параметры - Структура - параметры, передаваемые в "отложенный" обработчик обновления.
//
@@ -567,17 +565,19 @@
КонецПроцедуры
// Добавляет к параметру НаборОбластей новую запись об области.
//
// Добавляет к параметру НаборОбластей новую запись об области.
//
// Параметры:
// ОбластиМакетаОфисногоДокумента - Массив - набор областей (массив структур) макета офисного документа.
// ИмяОбласти - Строка - имя добавляемой области.
// ТипОбласти - Строка - тип области:
// ВерхнийКолонтитул
// НижнийКолонтитул
// Общая
// СтрокаТаблицы
// Список
// ВерхнийКолонтитул;
// НижнийКолонтитул;
// Общая;
// СтрокаТаблицы;
// Список.
//
// Пример:
// Функция ОбластиМакетаОфисногоДокумента()
@@ -839,7 +839,7 @@
// совместимости с макетом предыдущей версии конфигурации.
// Для использования в обработчиках обновления.
//
// В общем случае, при внесении изменений в макеты и процедуры формирования печатных форм необходимо учитывать
// В общем случае при внесении изменений в макеты и процедуры формирования печатных форм необходимо учитывать
// возможность того, что макеты могут быть изменены пользователями (т.е. взят за основу типовой макет из конфигурации
// и в него добавлен статический текст, изменен шрифт, цвет и другое оформление ячеек, которое не требует программной
// обработки со стороны алгоритмов конфигурации).
@@ -847,7 +847,7 @@
// Однако в ряде случаев точное следование порядку заполнения форм важнее, чем совместимость с возможными изменениями
// пользователя в макетах предыдущих версий (например, это справедливо для строго регламентированных печатных форм,
// при нарушении порядка их применения контролирующие органы могут накладывать штрафы, отказывать в проведении
// операций, в налоговых вычетах и т.п. В них недопустимо сокращение количества полей на форме, перекомпоновка).
// операций, в налоговых вычетах и т.п. - в них недопустимы сокращение количества полей на форме, перекомпоновка).
// Примерами таких форм являются счет-фактура, созданные на его основе УПД и УКД, кассовые ордера (КО-1 и КО-2),
// платежное поручение.
// Поэтому если у пользователя есть измененный макет, то при обновлении его следует отключать, чтобы эти печатные формы
@@ -924,15 +924,15 @@
КонецФункции
// Возвращает двоичные данные для формирования QR кода.
// Возвращает двоичные данные для формирования QR-кода.
//
// Параметры:
// QRСтрока - Строка - данные, которые необходимо разместить в QR-коде.
//
// УровеньКоррекции - Число - уровень погрешности изображения при котором данный QR-код все еще возможно 100%
// УровеньКоррекции - Число - уровень погрешности изображения, при котором данный QR-код все еще возможно 100 %
// распознать.
// Параметр должен иметь тип целого и принимать одно из 4 допустимых значений:
// 0(7% погрешности), 1(15% погрешности), 2(25% погрешности), 3(35% погрешности).
// 0 (7 % погрешности), 1 (15 % погрешности), 2(25 % погрешности), 3(35 % погрешности).
//
// Размер - Число - определяет длину стороны выходного изображения в пикселях.
// Если минимально возможный размер изображения больше этого параметра - код сформирован не будет.
@@ -1128,7 +1128,7 @@
////////////////////////////////////////////////////////////////////////////////
// Функции инициализации и закрытия ссылок.
// Создает структуру выходной печатной формой.
// Создает структуру выходной печатной формы.
// Необходимо вызвать перед любыми действиями над формой.
//
// Параметры:
@@ -1176,7 +1176,7 @@
КонецФункции
// Удаляет временные файлы, образовавшиеся после раскрытия xml структуры макета.
// Удаляет временные файлы, образовавшиеся после раскрытия xml-структуры макета.
// Необходимо вызывать каждый раз после завершения формирования макета и печатной формы,
// а также в случае аварийного завершения формирования.
//
@@ -1300,7 +1300,7 @@
// Заполняет параметры области печатной формы.
//
// Параметры:
// ПечатнаяФорма - Структура - область печатной формы, либо сама печатная форма.
// ПечатнаяФорма - Структура - область печатной формы либо сама печатная форма.
// Данные - Структура - данные заполнения.
//
Процедура ЗаполнитьПараметры(ПечатнаяФорма, Данные) Экспорт
@@ -1429,61 +1429,61 @@
// Параметры:
// ДанныеДокумента - Структура - содержит значения полей документа.
// Данные документа будут закодированы согласно стандарту
// "СТАНДАРТЫ ФИНАНСОВЫХ ОПЕРАЦИЙ Символы двумерного штрихового кода для осуществления платежей физических лиц".
// "Стандарты финансовых операций. Символы двумерного штрихового кода для осуществления платежей физических лиц".
// ДанныеДокумента должны содержать информацию в полях, описанных ниже.
// Обязательные поля структуры:
// * ТекстПолучателя - Наименование получателя платежа - Макс. 160 символов;
// * НомерСчетаПолучателя - Номер счета получателя платежа - Макс. 20 символов;
// * НаименованиеБанкаПолучателя - Наименование банка получателя платежа - Макс. 45 символов;
// * БИКБанкаПолучателя - БИК - Макс. 9 символов;
// * СчетБанкаПолучателя - Номер к/с банка получателя платежа - Макс. 20 символов;
// * ТекстПолучателя - наименование получателя платежа - макс. 160 символов;
// * НомерСчетаПолучателя - номер счета получателя платежа - макс. 20 символов;
// * НаименованиеБанкаПолучателя - наименование банка получателя платежа - макс. 45 символов;
// * БИКБанкаПолучателя - БИК - макс. 9 символов;
// * СчетБанкаПолучателя - номер к/с банка получателя платежа - макс. 20 символов;
// Дополнительные поля структуры:
// * СуммаЧислом - Сумма платежа, в рублях - Макс. 16 символов.
// * НазначениеПлатежа - Наименование платежа (назначение) - Макс. 210 символов;
// * ИННПолучателя - ИНН получателя платежа - Макс. 12 символов;
// * ИННПлательщика - ИНН плательщика - Макс. 12 символов;
// * СтатусСоставителя - Статус составителя платежного документа - Макс. 2 символа;
// * КПППолучателя - КПП получателя платежа - Макс. 9 символов.
// * КодБК - КБК - Макс. 20 символов;
// * КодОКТМО - Код КодОКТМО - Макс. 11 символов;
// * ПоказательОснования - Основание налогового платежа - Макс. 2 символа;
// * ПоказательПериода - Налоговый период - Макс. 10 символов;
// * ПоказательНомера - Номер документа - Макс. 15 символов;
// * ПоказательДаты - Дата документа - Макс. 10 символ.
// * ПоказательТипа - Тип платежа - Макс. 2 символа.
// Прочие дополнительные поля.
// * ФамилияПлательщика - Фамилия плательщика.
// * ИмяПлательщика - Имя плательщика.
// * ОтчествоПлательщика - Отчество плательщика.
// * АдресПлательщика - Адрес плательщика.
// * ЛицевойСчетБюджетногоПолучателя - Лицевой счет бюджетного получателя.
// * ИндексПлатежногоДокумента - Индекс платежного документа.
// * СуммаЧислом - сумма платежа, в рублях - макс. 16 символов.
// * НазначениеПлатежа - наименование платежа (назначение) - макс. 210 символов;
// * ИННПолучателя - ИНН получателя платежа - макс. 12 символов;
// * ИННПлательщика - ИНН плательщика - макс. 12 символов;
// * СтатусСоставителя - статус составителя платежного документа - макс. 2 символа;
// * КПППолучателя - КПП получателя платежа - макс. 9 символов.
// * КодБК - КБК - макс. 20 символов;
// * КодОКТМО - ОКТМО - макс. 11 символов;
// * ПоказательОснования - основание налогового платежа - макс. 2 символа;
// * ПоказательПериода - налоговый период - макс. 10 символов;
// * ПоказательНомера - номер документа - макс. 15 символов;
// * ПоказательДаты - дата документа - макс. 10 символов.
// * ПоказательТипа - тип платежа - макс. 2 символа.
// Прочие дополнительные поля:
// * ФамилияПлательщика - фамилия плательщика.
// * ИмяПлательщика - имя плательщика.
// * ОтчествоПлательщика - отчество плательщика.
// * АдресПлательщика - адрес плательщика.
// * ЛицевойСчетБюджетногоПолучателя - лицевой счет бюджетного получателя.
// * ИндексПлатежногоДокумента - индекс платежного документа.
// * СНИЛС - № лицевого счета в системе персонифицированного учета в ПФР - СНИЛС.
// * НомерДоговора - Номер договора.
// * НомерЛицевогоСчетаПлательщика - Номер лицевого счета плательщика в организации (в системе учета ПУ).
// * НомерКвартиры - Номер квартиры.
// * НомерТелефона - Номер телефона.
// * ВидПлательщика - Вид ДУЛ плательщика.
// * НомерПлательщик - Номер ДУЛ плательщика.
// * ФИОРебенка - Ф.И.О. ребенка/учащегося.
// * ДатаРождения - Дата рождения.
// * СрокПлатежа - Срок платежа/дата выставления счета.
// * ПериодОплаты - Период оплаты.
// * ВидПлатежа - Вид платежа.
// * КодУслуги - Код услуги/название прибора учета.
// * НомерПрибораУчета - Номер прибора учета.
// * ПоказаниеПрибораУчета - Показание прибора учета.
// * НомерИзвещения - Номер извещения, начисления, счета.
// * ДатаИзвещения - Дата извещения/начисления/счета/постановления (для ГИБДД).
// * НомерУчреждения - Номер учреждения (образовательного, медицинского).
// * НомерГруппы - Номер группы детсада/класса школы.
// * НомерДоговора - номер договора.
// * НомерЛицевогоСчетаПлательщика - номер лицевого счета плательщика в организации (в системе учета ПУ).
// * НомерКвартиры - номер квартиры.
// * НомерТелефона - номер телефона.
// * ВидПлательщика - вид ДУЛ плательщика.
// * НомерПлательщик - номер ДУЛ плательщика.
// * ФИОРебенка - ФИО ребенка/учащегося.
// * ДатаРождения - дата рождения.
// * СрокПлатежа - срок платежа/дата выставления счета.
// * ПериодОплаты - период оплаты.
// * ВидПлатежа - вид платежа.
// * КодУслуги - код услуги/название прибора учета.
// * НомерПрибораУчета - номер прибора учета.
// * ПоказаниеПрибораУчета - показание прибора учета.
// * НомерИзвещения - номер извещения, начисления, счета.
// * ДатаИзвещения - дата извещения/начисления/счета/постановления (для ГИБДД).
// * НомерУчреждения - номер учреждения (образовательного, медицинского).
// * НомерГруппы - номер группы детсада/класса школы.
// * ФИОПреподавателя - ФИО преподавателя, специалиста, оказывающего услугу.
// * СуммаСтраховки - Сумма страховки/дополнительной услуги/Сумма пени (в копейках).
// * НомерПостановления - Номер постановления (для ГИБДД).
// * НомерИсполнительногоПроизводства - Номер исполнительного производства.
// * КодВидаПлатежа - Код вида платежа (например, для платежей в адрес Росреестра).
// * ИдентификаторНачисления - Уникальный идентификатор начисления.
// * ТехническийКод - Технический код, рекомендуемый для заполнения поставщиком услуг.
// * СуммаСтраховки - сумма страховки/дополнительной услуги/Сумма пени (в копейках).
// * НомерПостановления - номер постановления (для ГИБДД).
// * НомерИсполнительногоПроизводства - номер исполнительного производства.
// * КодВидаПлатежа - код вида платежа (например, для платежей в адрес Росреестра).
// * ИдентификаторНачисления - уникальный идентификатор начисления.
// * ТехническийКод - технический код, рекомендуемый для заполнения поставщиком услуг.
// Может использоваться принимающей организацией для вызова соответствующей
// обрабатывающей ИТ-системы.
// Перечень значений кода представлен ниже.
@@ -84,7 +84,7 @@
// Параметры:
// ТабличныеДокументы - СписокЗначений - печатные формы.
// ОбъектыПечати - СписокЗначений - соответствие объектов именам областей табличного документа.
// ПечататьКомплектами - Булево, Неопределено - (не используется, вычисляется автоматически).
// ПечататьКомплектами - Булево, Неопределено - не используется (вычисляется автоматически).
// КоличествоКопийКомплектов - Число - количество экземпляров каждого из комплектов документов.
Процедура РаспечататьТабличныеДокументы(ТабличныеДокументы, ОбъектыПечати, Знач ПечататьКомплектами = Неопределено,
Знач КоличествоКопийКомплектов = 1) Экспорт
@@ -110,7 +110,7 @@
// СписокДокументов - Массив - ссылки на документы, которые требуется провести.
// Форма - УправляемаяФорма - форма, из которой было вызвана команда. Параметр требуется, когда
// процедура
// вызвана из формы объекта, для того, чтобы перечитать форму.
// вызвана из формы объекта, для того чтобы перечитать форму.
Процедура ПроверитьПроведенностьДокументов(ОписаниеПроцедурыЗавершения, СписокДокументов, Форма = Неопределено) Экспорт
ДополнительныеПараметры = Новый Структура;
@@ -604,7 +604,7 @@
// Параметры:
// ПечатнаяФорма - Структура - печатная форма, см. ИнициализироватьПечатнуюФорму.
// ОбластьМакета - Структура - см. ОбластьМакета().
// Данные - Массив - коллекция элементов типа Структура, данные объекта.
// Данные - Массив - коллекция элементов типа Структура - данные объекта.
// ПереходНаСледСтроку - Булево - Истина, если требуется вставить разрыв после вывода области.
//
Процедура ПрисоединитьИЗаполнитьКоллекцию(Знач ПечатнаяФорма,
@@ -56,7 +56,7 @@
// * АвтоматическоеЗаполнение - Булево - заполнять команды печати из объектов, входящих в состав журнала.
// Если установлено значение Ложь, то список команд печати журнала будет
// заполнен вызовом метода ДобавитьКомандыПечати из модуля менеджера журнала.
// Значение по умолчанию: Истина - метод ДобавитьКомандыПечати будет вызван из
// Значение по умолчанию - Истина - метод ДобавитьКомандыПечати будет вызван из
// модулей менеджеров документов, входящих в состав журнала.
//
// Пример:
@@ -109,7 +109,7 @@
// ПараметрыВывода - Структура - параметр ПараметрыВывода в вызове процедуры Печать.
// ПечатныеФормы - ТаблицаЗначений - коллекция табличных документов:
// * Название - Строка - название печатной формы;
// * ТабличныйДокумент - ТабличныйДокумент - печатая форма.
// * ТабличныйДокумент - ТабличныйДокумент - печатная форма.
//
Процедура ПередОтправкойПоПочте(ПараметрыОтправки, ПараметрыВывода, ОбъектыПечати, ПечатныеФормы) Экспорт
@@ -2265,7 +2265,7 @@
УровеньАбзаца = "0";
ТекущийУровень = 0;
ПропуститьТэг = Ложь;
СнятьБлокирующийПоток = Ложь;
ТекстРаздела = "";
СтруктураРазбораXML = ИнициализироватьРазборXML();
@@ -2493,24 +2493,19 @@
КонецЕсли;
Если ЧтениеКонцаРаздела(СтруктураРазбораXML, ЧтениеXML) Тогда
ТекстРаздела = ЗавершитьЗаписьВПоток(СтруктураРазбораXML, "Раздел");
СтруктураРазбораXML.БлокирующийПоток = "";
КонецЕсли;
Если НЕ ПустаяСтрока(ТекстРаздела) И ТекущийУровень = УровеньТэгаБлок Тогда
Если СтруктураРазбораXML.СтатусОбласти = 0 Тогда
СтруктураРаздела = ОбластьРаздела();
СтруктураРаздела.Текст = ТекстРаздела;
СтруктураРаздела.Номер = СтруктураРазбораXML.НомерРаздела;
ДобавитьВСтруктуруДокументаРаздел(СтруктураДокумента, СтруктураРаздела);
СтруктураРазбораXML.НомерРаздела = СтруктураРазбораXML.НомерРаздела + 1;
СнятьБлокирующийПоток = Истина;
КонецЕсли;
Если СнятьБлокирующийПоток И ТекущийУровень = УровеньТэгаБлок Тогда
СнятьБлокирующийПоток = Ложь;
СтруктураРазбораXML.БлокирующийПоток = "";
ТекстРаздела = "";
КонецЕсли;
Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
@@ -29,14 +29,14 @@
// * ИмяЭлементаДляРазмещения - Строка - имя группы формы, в которой будут размещены свойства.
//
// * ПроизвольныйОбъект - Булево - если Истина, тогда в форме создается таблица описания дополнительных
// реквизитов параметр Объект игнорируется, дополнительные реквизиты не создаются и не заполняются.
// реквизитов, параметр Объект игнорируется, дополнительные реквизиты не создаются и не заполняются.
//
// Это востребовано при последовательном использовании одной формы для просмотра или редактирования
// дополнительных реквизитов разных объектов (в том числе разных типов).
//
// После выполнения ПриСозданииНаСервере следует вызывать ЗаполнитьДополнительныеРеквизитыВФорме()
// для добавления и заполнения дополнительных реквизитов.
// Чтобы сохранить изменения следует вызвать ПеренестиЗначенияИзРеквизитовФормыВОбъект(),
// Чтобы сохранить изменения, следует вызвать ПеренестиЗначенияИзРеквизитовФормыВОбъект(),
// а для обновления состава реквизитов вызвать ОбновитьЭлементыДополнительныхРеквизитов().
//
// * ИмяЭлементаКоманднойПанели - Строка - имя группы формы, в которую будет добавлена кнопка.
@@ -44,9 +44,9 @@
// используется стандартная группа "Форма.КоманднаяПанель".
//
// * СкрытьУдаленные - Булево - установить/отключить режим скрытия удаленных.
// Если параметр не указан, а параметр объект указан и свойство Ссылка не заполнено,
// Если параметр не указан, а параметр Объект указан и свойство Ссылка не заполнено,
// тогда начальное значение устанавливается Истина, иначе Ложь.
// При вызове процедуры ПередЗаписьюНаСервере в режиме скрытия удаленных, удаленные значения
// При вызове процедуры ПередЗаписьюНаСервере в режиме скрытия удаленных удаленные значения
// очищаются (не переносятся обратно в объект), а режим СкрытьУдаленные устанавливается Ложь.
//
Процедура ПриСозданииНаСервере(Форма, ДополнительныеПараметры = Неопределено) Экспорт
@@ -155,7 +155,7 @@
КонецПроцедуры
// Проверяет заполненность реквизитов обязательных для заполнения.
// Проверяет заполненность реквизитов, обязательных для заполнения.
//
// Параметры:
// Форма - УправляемаяФорма - уже настроена в процедуре ПриСозданииНаСервере.
@@ -226,14 +226,14 @@
// Обновляет наборы дополнительных реквизитов и сведений для вида объектов со свойствами.
// Используется при записи элементов справочников, которые являются видами объектов со свойствами.
// Например, если есть справочник Номенклатура к которому применяется подсистема Свойства, для него создан
// Например, если есть справочник Номенклатура, к которому применяется подсистема Свойства, для него создан
// справочник ВидыНоменклатуры, то при записи элемента ВидНоменклатуры необходимо вызывать эту процедуру.
//
// Параметры:
// ВидОбъекта - Объект - например, вид номенклатуры перед записью.
// ИмяОбъектаСоСвойствами - Строка - например, Номенклатура.
// ВидОбъекта - Объект - например вид номенклатуры перед записью.
// ИмяОбъектаСоСвойствами - Строка - например "Номенклатура".
// ИмяРеквизитаНабораСвойств - Строка - используется, когда наборов свойств несколько или
// используется имя реквизита основного набора отличное от "НаборСвойств".
// используется имя реквизита основного набора, отличное от "НаборСвойств".
//
Процедура ПередЗаписьюВидаОбъекта(ВидОбъекта,
ИмяОбъектаСоСвойствами,
@@ -322,7 +322,7 @@
//
// СкрытьУдаленные - Неопределено - не менять текущий режим скрытия удаленных, установленный ранее.
// - Булево - установить/отключить режим скрытия удаленных.
// При вызове процедуры ПередЗаписьюНаСервере в режиме скрытия удаленных, удаленные значения
// При вызове процедуры ПередЗаписьюНаСервере в режиме скрытия удаленных удаленные значения
// очищаются (не переносятся обратно в объект), а режим СкрытьУдаленные устанавливается Ложь.
//
Процедура ОбновитьЭлементыДополнительныхРеквизитов(Форма, Объект = Неопределено, СкрытьУдаленные = Неопределено) Экспорт
@@ -890,8 +890,8 @@
// Возвращает дополнительные реквизиты и сведения у указанного объекта.
//
// Параметры:
// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ...
// - Объект - например, СправочникОбъект.Номенклатура, ДокументОбъект.ЗаказПокупателя, ...
// ВладелецСвойств - Ссылка - например: СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ...
// - Объект - например: СправочникОбъект.Номенклатура, ДокументОбъект.ЗаказПокупателя, ...
// - ДанныеФормыСтруктура - коллекция по типу объекта владельца свойств.
// ПолучатьДопРеквизиты - Булево - в результат включать дополнительные реквизиты.
// ПолучатьДопСведения - Булево - в результат включать дополнительные сведения.
@@ -1089,7 +1089,7 @@
// Проверяет, есть ли у объекта свойство.
//
// Параметры:
// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ...
// ВладелецСвойств - Ссылка - например: СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ...
// Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - проверяемое свойство.
//
// Возвращаемое значение:
@@ -1111,7 +1111,7 @@
// Изменения происходят в транзакции.
//
// Параметры:
// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ...
// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя и т.д.
// ТаблицаСвойствИЗначений - ТаблицаЗначений - с колонками:
// * Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - свойство владельца.
// * Значение - Произвольный - любое значение, допустимое для свойства (указано в элементе свойства).
@@ -1244,10 +1244,10 @@
// 1. Обновляет наименования предопределенных наборов свойств,
// если они отличаются от текущих представлений соответствующих
// им объектам метаданных со свойствами.
// им объектов метаданных со свойствами.
// 2. Обновляет наименования не общих свойств, если у них
// уточнение отличается от наименования их набора.
// 3. Устанавливает пометку удаления у не общих свойств,
// 3. Устанавливает пометку удаления у необщих свойств,
// если установлена пометка удаления их наборов.
//
Процедура ОбновитьНаименованияНаборовИСвойств() Экспорт
@@ -1311,7 +1311,7 @@
// Устанавливает параметры набора свойств.
//
// Параметры:
// ИмяНабораСвойств - Строка - Имя предопределенного набора свойств.
// ИмяНабораСвойств - Строка - имя предопределенного набора свойств.
// Параметры - Структура - см. описание функции СтруктураПараметровНабораСвойств.
//
Процедура УстановитьПараметрыНабораСвойств(ИмяНабораСвойств, Параметры = Неопределено) Экспорт
@@ -1344,7 +1344,7 @@
//
// Возвращаемое значение:
// Структура - со свойствами:
// * Используется - Булево - Признак использования набора свойств.
// * Используется - Булево - признак использования набора свойств.
// Устанавливается в Ложь, например, если
// объект отключен функциональной опцией.
//
@@ -56,7 +56,7 @@
// Параметры:
// Форма - УправляемаяФорма - обрабатываемая форма.
// Объект - ДанныеФормыСтруктура - описание объекта, к которому подключены свойства,
// если свойство не указано или Неопределено, то будет
// если свойство не указано или Неопределено, то
// объект будет взят из реквизита формы "Объект".
//
Процедура ОбновитьЗависимостиДополнительныхРеквизитов(Форма, Объект = Неопределено) Экспорт
@@ -130,7 +130,7 @@
КонецПроцедуры
// Проверяет наличие зависимых дополнительных реквизитов на форме
// и, при необходимости, подключает обработчик ожидания проверки зависимостей реквизитов.
// и при необходимости подключает обработчик ожидания проверки зависимостей реквизитов.
//
// Параметры:
// Форма - УправляемаяФорма - проверяемая форма.
@@ -47,9 +47,9 @@
// Заполняет наборы свойств объекта. Обычно требуется, если наборов более одного.
//
// Параметры:
// Объект - ЛюбаяСсылка - Ссылка на объект со свойствами.
// - УправляемаяФорма - Форма объекта, к которому подключены свойства.
// - ДанныеФормыСтруктура - Описание объекта, к которому подключены свойства.
// Объект - ЛюбаяСсылка - ссылка на объект со свойствами.
// - УправляемаяФорма - форма объекта, к которому подключены свойства.
// - ДанныеФормыСтруктура - описание объекта, к которому подключены свойства.
//
// ТипСсылки - Тип - тип ссылки владельца свойств.
//
@@ -61,7 +61,7 @@
// // или страница, которая создается, если наборов больше одного без учета
// // пустого набора, который описывает свойства группы удаленных реквизитов.
//
// // Если значение Неопределено, значит использовать значение по умолчанию.
// // Если значение Неопределено, значит, использовать значение по умолчанию.
//
// // Для любой группы управляемой формы.
// Высота - Число.
@@ -84,7 +84,7 @@
// Картинка - Картинка.
// ОтображатьЗаголовок - Булево.
//
// СтандартнаяОбработка - Булево - начальное значение Истина. Указывает получать ли
// СтандартнаяОбработка - Булево - начальное значение Истина. Указывает, получать ли
// основной набор, когда НаборыСвойств.Количество() равно нулю.
//
// КлючНазначения - Неопределено - (начальное значение) - указывает вычислить
@@ -111,7 +111,8 @@
//
Процедура ОбработатьОчередьИзвлеченияТекста() Экспорт
Если НЕ РаботаВМоделиСервиса.РазделениеВключено() Тогда
Если НЕ РаботаВМоделиСервиса.РазделениеВключено()
Или Не ОбщегоНазначения.ЭтоWindowsСервер() Тогда
Возврат;
КонецЕсли;
@@ -56,28 +56,28 @@
// Получает подписи объекта и возвращает их.
//
// Параметры:
//  Объект - Ссылка - Ссылка на подписанный объект.
//                    Объект должен иметь реквизит ПодписанЭП.
// Объект - Ссылка - ссылка на подписанный объект.
// Объект должен иметь реквизит ПодписанЭП.
//
// Возвращаемое значение:
//  Массив - массив описанных ниже структур.
//    - Структура - развернутое описание подписи:
//     * Подпись                 - ДвоичныеДанные - результат подписания.
//     * УстановившийПодпись     - СправочникСсылка.Пользователи - пользователь, который
//                                подписал объект информационной базы.
//     * Комментарий             - Строка - комментарий, если он был введен при подписании.
//     * ИмяФайлаПодписи         - Строка - если подпись добавлена из файла.
//     * ДатаПодписи             - Дата   - дата, когда подпись была сделана. Имеет смысл для случая,
//                                      когда дату невозможно извлечь из данных подписи.
//     * ДатаПроверкиПодписи     - Дата   - дата последней проверки подписи.
//     * ПодписьВерна            - Булево - результат последней проверки подписи.
//     * ПорядковыйНомер         - Число - идентификатор подписи, по которому можно упорядочивать их в списке.
// Массив - массив описанных ниже структур.
// - Структура - развернутое описание подписи:
// * Подпись - ДвоичныеДанные - результат подписания.
// * УстановившийПодпись - СправочникСсылка.Пользователи - пользователь, который
// подписал объект информационной базы.
// * Комментарий - Строка - комментарий, если он был введен при подписании.
// * ИмяФайлаПодписи - Строка - если подпись добавлена из файла.
// * ДатаПодписи - Дата - дата, когда подпись была сделана. Имеет смысл для случаев,
// когда дату невозможно извлечь из данных подписи.
// * ДатаПроверкиПодписи - Дата - дата последней проверки подписи.
// * ПодписьВерна - Булево - результат последней проверки подписи.
// * ПорядковыйНомер - Число - идентификатор подписи, по которому можно упорядочивать их в списке.
//
//     Производные свойства:
//     * Сертификат              - ДвоичныеДанные - содержит выгрузку сертификата,
//                                который использовался для подписания (содержится в подписи).
//     * Отпечаток               - Строка - отпечаток сертификата в формате строки Base64.
//     * КомуВыданСертификат     - Строка - представление субъекта, полученное из двоичных данных сертификата.
// Производные свойства:
// * Сертификат - ДвоичныеДанные - содержит выгрузку сертификата,
// который использовался для подписания (содержится в подписи).
// * Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
// * КомуВыданСертификат - Строка - представление субъекта, полученное из двоичных данных сертификата.
//
Функция УстановленныеПодписи(Объект) Экспорт
@@ -153,7 +153,7 @@
// подписал объект информационной базы.
// * Комментарий - Строка - комментарий, если он был введен при подписании.
// * ИмяФайлаПодписи - Строка - если подпись добавлена из файла.
// * ДатаПодписи - Дата - дата, когда подпись была сделана. Имеет смысл для случая,
// * ДатаПодписи - Дата - дата, когда подпись была сделана. Имеет смысл для случаев,
// когда дату невозможно извлечь из данных подписи. Если не
// указана или пустая, тогда используется текущая дата сеанса.
// * ДатаПроверкиПодписи - Дата - дата последней проверки подписи.
@@ -175,8 +175,8 @@
// ИдентификаторФормы - УникальныйИдентификатор - идентификатор формы, используемый для блокировки,
// если передана ссылка на объект.
//
// ВерсияОбъекта - Строка - версия данных объекта, если передана ссылка на объект. Используемая
// для блокировки объекта перед записью, с учетом того, что подписание
// ВерсияОбъекта - Строка - версия данных объекта, если передана ссылка на объект, используемая
// для блокировки объекта перед записью с учетом того, что подписание
// выполняется на клиенте и за время подписания объект мог быть изменен.
//
// ЗаписанныйОбъект - Объект - объект, который был получен и записан, если передавалась ссылка.
@@ -340,7 +340,7 @@
// ИдентификаторФормы - УникальныйИдентификатор - идентификатор формы, используемый для блокировки,
// если передана ссылка на объект.
//
// ВерсияОбъекта - Строка - версия данных объекта, если передана ссылка на объект. Используемая
// ВерсияОбъекта - Строка - версия данных объекта, если передана ссылка на объект, используемая
// для блокировки объекта перед записью, с учетом того, что подписание
// выполняется на клиенте и за время подписания объект мог быть изменен.
//
@@ -413,7 +413,7 @@
// Объект - СправочникСсылка - ссылка на справочник с именем "*ПрисоединенныеФайлы", "ВерсииФайлов" или "Файлы".
//
// Возвращаемое значение:
// Массив - массив структур
// Массив - массив структур.
//
Функция СертификатыШифрования(Объект) Экспорт
@@ -479,7 +479,7 @@
// ИдентификаторФормы - УникальныйИдентификатор - идентификатор формы, используемый для блокировки,
// если передана ссылка на объект.
//
// ВерсияОбъекта - Строка - версия данных объекта, если передана ссылка на объект. Используемая
// ВерсияОбъекта - Строка - версия данных объекта, если передана ссылка на объект, используемая
// для блокировки объекта перед записью, с учетом того, что подписание
// выполняется на клиенте и за время подписания объект мог быть изменен.
//
@@ -538,7 +538,7 @@
КонецПроцедуры
// Возвращает дату, извлеченную из двоичных данных подписи или Неопределено.
// Возвращает дату, извлеченную из двоичных данных подписи, или Неопределено.
//
// Параметры:
// Подпись - ДвоичныеДанные - данные подписи из которых нужно извлечь дату.
@@ -624,22 +624,22 @@
// - Строка - адрес временного хранилища, содержащего двоичные данные сертификата.
//
// ДополнительныеПараметры - Неопределено - без дополнительных параметров.
// - Структура - со произвольным составом из следующих свойств:
// - Структура - с произвольным составом из следующих свойств:
// * Наименование - Строка - представление сертификата в списке.
//
// * Пользователь - СправочникСсылка.Пользователь - пользователь, которому принадлежит сертификат.
// Значение используется при получении списка личных сертификатов пользователя
// в формах подписания и шифрования данных.
//
// * Организация - СправочникСсылка.Организация - организация к которой относится сертификат.
// * Организация - СправочникСсылка.Организация - организация, к которой относится сертификат.
//
// * Программа - СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования - программа, которая
// требуется для подписания и расшифровки.
//
// * УсиленнаяЗащитаЗакрытогоКлюча - Булево - сертификат был установлен на компьютере с усиленной
// защитой закрытого ключа, которая означает поддержку только пустого пароля на
// уровне 1С:Предприятия (пароль у пользователя не запрашивается - это делает
// операционная система, которая не принимает от 1С:Предприятия непустой пароль).
// уровне «1С:Предприятия» (пароль у пользователя не запрашивается - это делает
// операционная система, которая не принимает от «1С:Предприятия» непустой пароль).
//
// Возвращаемое значение:
// СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - ссылка на сертификат.
@@ -764,11 +764,11 @@
// функцией ЭлектроннаяПодпись.ШтампВизуализацииЭлектроннойПодписи.
// В данном случае переданные штампы будут выведены в конец документа,
// если в макете подписываемого табличного документа не определены области
// для размещения штампов которые удовлетворяют следующим условиям:
// для размещения штампов, которые удовлетворяют следующим условиям:
// - область вывода штампа размером две колонки и семь строк, с
// произвольной шириной колонок.
// произвольной шириной колонок;
// - имя области задано как ШтампЭП + порядковый номер штампа,
// например, ШтампЭП1 и .т.д.
// например: ШтампЭП1 и т.д.
// В таком случае штампы будут выведены в заданные области в том
// порядке, в котором документ был подписан.
// - Соответствие - описывает места вывода штампов, где:
@@ -64,7 +64,7 @@
//
// Параметры:
// ОписаниеДанных - Структура - со свойствами:
// * Операция - Строка - заголовок формы подписания данных, например, Подписание файла.
// * Операция - Строка - заголовок формы подписания данных, например Подписание файла.
// * ЗаголовокДанных - Строка - заголовок элемента или набора данных, например Файл.
// * СообщитьОЗавершении - Булево - (необязательный) - если Ложь, то не будет показано оповещение о успешном
// завершении операции для представления данных, указанного рядом с заголовком.
@@ -79,25 +79,25 @@
// будет установлен отбор в списке сертификатов пользователя.
// * БезПодтверждения - Булево - (необязательный) - пропустить подтверждение пользователя, если
// в свойстве ОтборСертификатов только один сертификат и:
// а) либо сертификат выпущен с усиленной защитой закрытого ключа,
// б) либо пользователь запомнил пароль к сертификату на время сеанса,
// а) либо сертификат выпущен с усиленной защитой закрытого ключа;
// б) либо пользователь запомнил пароль к сертификату на время сеанса;
// в) либо пароль установлен ранее методом УстановитьПарольСертификата.
// Если в процессе подписания возникла ошибка, тогда будет открыта форма
// с возможностью указать пароль. Параметр ПоказатьКомментарий игнорируется.
// * ПередВыполнением - ОписаниеОповещения - (необязательный) - описание обработчика дополнительной
// подготовки данных, после выбора сертификата, которым будут подписаны данные.
// подготовки данных после выбора сертификата, которым будут подписаны данные.
// В этом обработчике можно заполнить параметр Данные, если он зависит
// от сертификата, который в момент вызова уже вставлен в ОписаниеДанных,
// от сертификата, который в момент вызова уже вставлен в ОписаниеДанных
// как ВыбранныйСертификат (см. ниже). Следует учесть общий подход (см. выше).
// * ВыполнятьНаСервере - Неопределено, Булево - (необязательный) - когда не указан или Неопределено,
// тогда выполнение будет определено автоматически: если есть сервер, то сначала
// на сервере, потом при неудаче на клиенте, потом сообщение о двух ошибках.
// Когда Истина: если есть разрешено выполнение на сервере, тогда выполнение
// на сервере, потом (при неудаче) на клиенте, потом сообщение о двух ошибках.
// Когда Истина: если разрешено выполнение на сервере, тогда выполнение
// только на сервере, при неудаче одно сообщение об ошибке на сервере.
// Когда Ложь: выполнение только на клиенте, как будто нет сервера.
// * ПараметрыДополнительныхДействий - Произвольный - (необязательный) - если указан, то передается
// на сервер в процедуру ПередНачаломОперации общего модуля.
// ЭлектроннаяПодписьПереопределяемый, как ВходныеПараметры.
// на сервер в процедуру ПередНачаломОперации общего модуля
// ЭлектроннаяПодписьПереопределяемый как ВходныеПараметры.
// * КонтекстОперации - Неопределено - (необязательный) - если указан, тогда в свойство будет
// установлено определенное значение произвольного типа, которое позволяет
// выполнить действие с тем же сертификатом повторно (у пользователя
@@ -106,7 +106,7 @@
// с тем же сертификатом без запроса пароля или подтверждения.
// Параметр БезПодтверждения считается равным Истина.
// Параметры Операция, ЗаголовокДанных, ПоказатьКомментарий, ОтборСертификатов
// и ВыполнятьНаСервере игнорируются, их значения остаются, как при первом вызове.
// и ВыполнятьНаСервере игнорируются, их значения остаются такими же, как при первом вызове.
// Параметр ПараметрыДополнительныхДействий игнорируется.
// Процедура ПередНачаломОперации не вызывается.
// Если передать контекст, возвращенный процедурой Расшифровать, тогда
@@ -149,15 +149,15 @@
// сможет открыть пользователь. Если не указан, то заполняется из
// свойств Представление или Объект в свойстве НаборДанных.
//
// Форма - УправляемаяФорма - форма из которой нужно получить уникальный идентификатор,
// Форма - УправляемаяФорма - форма, из которой нужно получить уникальный идентификатор,
// который будет использоваться при блокировке объекта.
// - УникальныйИдентификатор - уникальный идентификаторы, который будет
// - УникальныйИдентификатор - уникальный идентификатор, который будет
// использоваться при блокировке объекта.
// - Неопределено - использовать стандартную форму.
//
// ОбработкаРезультата - ОписаниеОповещения - необязательный параметр.
// Требуется для нестандартной обработки результата, например, если не указан параметр Объект и/или Форма.
// В результат передается входной параметр ОписаниеДанных, который в успешном случае, дополняется свойствами:
// В результат передается входной параметр ОписаниеДанных, который в успешном случае дополняется свойствами:
// * Успех - Булево - Истина, если все прошло успешно. Если Успех = Ложь, то частичное завершение
// определяется по наличию свойства СвойстваПодписи. Если есть, то шаг выполнен.
// * ПользовательНажалКнопкуПодписать - Булево - если Истина, то пользователь хотя бы раз
@@ -255,15 +255,15 @@
// * -- // -- - ОписаниеОповещения (необязательный) - обработчик получения данных, который
// возвращает их в свойстве Данные (см. выше общий подход).
//
// Форма - УправляемаяФорма - форма из которой нужно получить уникальный идентификатор,
// Форма - УправляемаяФорма - форма, из которой нужно получить уникальный идентификатор,
// который будет использоваться при блокировке объекта.
// - УникальныйИдентификатор - уникальный идентификаторы, который будет
// использоваться при блокировке объекта.
// - Неопределено - использовать стандартную форму.
//
// ОбработкаРезультата - ОписаниеОповещения - необязательный параметр.
// Требуется для нестандартной обработки результата, например, если не указан параметр Объект и/или Форма.
// В результат передается входной параметр ОписаниеДанных, который в успешном случае, дополняется свойствами:
// Требуется для нестандартной обработки результата - например, если не указан параметр Объект и/или Форма.
// В результат передается входной параметр ОписаниеДанных, который в успешном случае дополняется свойствами:
// * Успех - Булево - Истина, если все прошло успешно.
// * Подписи - Массив - который содержит элементы:
// * СвойстваПодписи - Строка - адрес временного хранилища, содержащего описанную ниже структуру.
@@ -273,7 +273,7 @@
// подписал объект информационной базы.
// * Комментарий - Строка - комментарий, если он был введен при подписании.
// * ИмяФайлаПодписи - Строка - имя файла, из которого добавлена подпись.
// * ДатаПодписи - Дата - дата, когда подпись была сделана. Имеет смысл для случая,
// * ДатаПодписи - Дата - дата, когда подпись была сделана. Имеет смысл для случаев,
// когда дату невозможно извлечь из данных подписи. Если не
// указана или пустая, тогда используется текущая дата сеанса.
// * ДатаПроверкиПодписи - Дата - дата проверки подписи после добавления из файла, если
@@ -366,13 +366,13 @@
// от продолжения и будет вызвана ОбработкаРезультата с результатом Ложь.
//
// Для пакетного запроса разрешений у пользователя веб-клиента на сохранение файла данных
// и подписей, нужно вставить параметр ОбработкаЗапросаРазрешений типа ОписаниеОповещения.
// В процедуру будет передана Структура с параметрами:
// и подписей нужно вставить параметр ОбработкаЗапросаРазрешений типа ОписаниеОповещения.
// В процедуру будет передана структура с параметрами:
// * Вызовы - Массив - с описанием вызовов для сохранения подписей.
// * ОбработкаПродолжения - ОписаниеОповещения - оповещение, которое нужно выполнить
// после запроса разрешений, - параметры процедуры как у
// оповещения для метода НачатьЗапросРазрешенияПользователя.
// Если разрешение не получено, значит все отменено.
// Если разрешение не получено, значит, все отменено.
//
// ОбработкаРезультата - ОписаниеОповещения - необязательный параметр.
// В результат передается параметр:
@@ -398,7 +398,7 @@
// Математическая проверка выполняется на стороне клиента, даже когда
// администратор настроил проверку электронных подписей на сервере,
// если указан менеджер криптографии или его удалось получить без ошибки.
// Это повышает производительность, а также безопасность когда проверяется
// Это повышает производительность, а также безопасность, когда проверяется
// подпись в расшифрованном файле (он не будет передан на сервер).
// - Строка - адрес временного хранилища, содержащего исходные двоичные данные.
// - Структура - со свойствами:
@@ -408,9 +408,9 @@
//
// Подпись - ДвоичныеДанные - двоичные данные электронной подписи.
// - Строка - адрес временного хранилища, содержащего двоичные данные.
// - Неопределено - если ИсходныеДанные конверт SOAP.
// - Неопределено - если ИсходныеДанные - конверт SOAP.
//
// МенеджерКриптографии - Неопределено - получить менеджер криптографии по-умолчанию
// МенеджерКриптографии - Неопределено - получить менеджер криптографии по умолчанию
// (менеджер первой программы в списке, как настроил администратор).
// - МенеджерКриптографии - использовать указанный менеджер криптографии.
//
@@ -425,7 +425,7 @@
КонецПроцедуры
// Шифрует данные, возвращает сертификаты шифрования и добавляет их объект, если указано.
// Шифрует данные, возвращает сертификаты шифрования и добавляет их в объект, если указано.
//
// Общий подход к обработке значений свойств с типом ОписаниеОповещения в параметре ОписаниеДанных.
// При выполнении обработки оповещения в нее передается структура параметров, в которой всегда есть
@@ -436,9 +436,9 @@
//
// Параметры:
// ОписаниеДанных - Структура - со свойствами:
// * Операция - Строка - заголовок формы шифрования данных, например, Шифрование файла.
// * Операция - Строка - заголовок формы шифрования данных, например Шифрование файла.
// * ЗаголовокДанных - Строка - заголовок элемента или набора данных, например Файл.
// * СообщитьОЗавершении - Булево - (необязательный) - если Ложь, то не будет показано оповещение о успешном
// * СообщитьОЗавершении - Булево - (необязательный) - если Ложь, то не будет показано оповещение об успешном
// завершении операции для представления данных, указанного рядом с заголовком.
// * НаборСертификатов - Строка - (необязательный) адрес временного хранилища, содержащего массив, описанный ниже.
// - Массив - (необязательный) содержит значения
@@ -451,8 +451,8 @@
// если указано свойство ОтборСертификатов.
// * ВыполнятьНаСервере - Неопределено, Булево - (необязательный) - когда не указан или Неопределено,
// тогда выполнение будет определено автоматически: если есть сервер, то сначала
// на сервере, потом при неудаче на клиенте, потом сообщение о двух ошибках.
// Когда Истина: если есть разрешено выполнение на сервере, тогда выполнение
// на сервере, потом (при неудаче) на клиенте, потом сообщение о двух ошибках.
// Когда Истина: если разрешено выполнение на сервере, тогда выполнение
// только на сервере, при неудаче одно сообщение об ошибке на сервере.
// Когда Ложь: выполнение только на клиенте, как будто нет сервера.
// * КонтекстОперации - Неопределено - (необязательный) - если указан, тогда в свойство будет
@@ -463,7 +463,7 @@
// с теми же сертификатами шифрования.
// Параметр БезПодтверждения считается равным Истина.
// Параметры Операция, ЗаголовокДанных, НаборСертификатов, ИзменятьНабор
// и ВыполнятьНаСервере игнорируются, их значения остаются, как при первом вызове.
// и ВыполнятьНаСервере игнорируются, их значения остаются такими же, как при первом вызове.
//
// Вариант 1:
// * Данные - ДвоичныеДанные - данные для шифрования.
@@ -499,15 +499,15 @@
// сможет открыть пользователь. Если не указан, то заполняется из
// свойств Представление или Объект в свойстве НаборДанных.
//
// Форма - УправляемаяФорма - форма из которой нужно получить уникальный идентификатор, который будет
// Форма - УправляемаяФорма - форма, из которой нужно получить уникальный идентификатор, который будет
// использоваться при помещении зашифрованных данных во временное хранилище.
// - УникальныйИдентификатор - уникальный идентификаторы, который будет
// - УникальныйИдентификатор - уникальный идентификатор, который будет
// использоваться при помещении зашифрованных данных во временное хранилище.
// - Неопределено - использовать стандартную форму.
//
// ОбработкаРезультата - ОписаниеОповещения - необязательный параметр.
// Требуется для нестандартной обработки результата, если не указан параметр Форма и/или РазмещениеРезультата.
// В результат передается входной параметр ОписаниеДанных, который в успешном случае, дополняется свойствами:
// В результат передается входной параметр ОписаниеДанных, который в успешном случае дополняется свойствами:
// * Успех - Булево - Истина, если все прошло успешно. Если Успех = Ложь, то частичное завершение
// определяется по наличию свойства ЗашифрованныеДанные. Если есть, то шаг выполнен.
// * СертификатыШифрования - Строка - адрес временного хранилища, содержащего массив, описанный ниже.
@@ -519,7 +519,7 @@
// * Сертификат - ДвоичныеДанные - содержит выгрузку сертификата,
// который использовался для шифрования.
// * ЗашифрованныеДанные - ДвоичныеДанные - результат шифрования.
// При передаче параметра НаборДанных, свойство нужно проверять в нем.
// При передаче параметра НаборДанных свойство нужно проверять в нем.
// - Строка - адрес временного хранилища, содержащего результат шифрования.
//
Процедура Зашифровать(ОписаниеДанных, Форма = Неопределено, ОбработкаРезультата = Неопределено) Экспорт
@@ -578,23 +578,23 @@
// из личного хранилища.
// * БезПодтверждения - Булево - (необязательный) - пропустить подтверждение пользователя, если
// в свойстве ОтборСертификатов только один сертификат и:
// а) либо сертификат выпущен с усиленной защитой закрытого ключа,
// б) либо пользователь запомнил пароль к сертификату на время сеанса,
// а) либо сертификат выпущен с усиленной защитой закрытого ключа;
// б) либо пользователь запомнил пароль к сертификату на время сеанса;
// в) либо пароль установлен ранее методом УстановитьПарольСертификата.
// Если в процессе расшифровки возникла ошибка, тогда будет открыта форма
// с возможностью указать пароль.
// * ЭтоАутентификация - Булево - (необязательный) - если указан Истина, то вместо кнопки Расшифровать
// * ЭтоАутентификация - Булево - (необязательный) - если Истина, то вместо кнопки Расшифровать
// будет показана кнопка ОК. А также скорректированы некоторые надписи.
// Кроме того, параметр СообщитьОЗавершении устанавливается Ложь.
// Кроме того, параметр СообщитьОЗавершении устанавливается в Ложь.
// * ПередВыполнением - ОписаниеОповещения - (необязательный) - описание обработчика дополнительной
// подготовки данных, после выбора сертификата, которым будут расшифрованы данные.
// подготовки данных после выбора сертификата, которым будут расшифрованы данные.
// В этом обработчике можно заполнить параметр Данные, если необходимо.
// В момент вызова в ОписаниеДанных уже вставлен выбранный сертификат,
// как ВыбранныйСертификат (см. ниже). Следует учесть общий подход (см. выше).
// * ВыполнятьНаСервере - Неопределено, Булево - (необязательный) - когда не указан или Неопределено,
// тогда выполнение будет определено автоматически: если есть сервер, то сначала
// на сервере, потом при неудаче на клиенте, потом сообщение о двух ошибках.
// Когда Истина: если есть разрешено выполнение на сервере, тогда выполнение
// на сервере, потом (при неудаче) на клиенте, потом сообщение о двух ошибках.
// Когда Истина: если разрешено выполнение на сервере, тогда выполнение
// только на сервере, при неудаче одно сообщение об ошибке на сервере.
// Когда Ложь: выполнение только на клиенте, как будто нет сервера.
// * ПараметрыДополнительныхДействий - Произвольный - (необязательный) - если указан, то передается
@@ -608,7 +608,7 @@
// с тем же сертификатом без запроса пароля или подтверждения.
// Параметр БезПодтверждения считается равным Истина.
// Параметры Операция, ЗаголовокДанных, ОтборСертификатов, ЭтоАутентификация
// и ВыполнятьНаСервере игнорируются, их значения остаются, как при первом вызове.
// и ВыполнятьНаСервере игнорируются, их значения остаются такими же, как при первом вызове.
// Параметр ПараметрыДополнительныхДействий игнорируется.
// Процедура ПередНачаломОперации не вызывается.
// Если передать контекст, возвращенный процедурой Подписать, тогда
@@ -621,7 +621,7 @@
// * -- // -- - ОписаниеОповещения - обработчик получения данных, который возвращает
// их в свойстве Данные (см. выше общий подход). В момент вызова
// в ОписаниеДанных уже вставлен параметр ВыбранныйСертификат (см. ниже).
// * РазмещениеРезультата - Неопределено - (необязательный) - описывает куда поместить расшифрованные данные.
// * РазмещениеРезультата - Неопределено - (необязательный) - описывает, куда поместить расшифрованные данные.
// Если не указан или Неопределено, тогда через параметр ОбработкаРезультата.
// * -- // -- - ОписаниеОповещения - обработчик сохранения расшифрованных данных.
// Следует учесть общий подход (см. выше).
@@ -662,10 +662,10 @@
// в параметре СписокПредставлений (порядок должен соответствовать).
// Когда указан, параметр Объект не используется.
//
// Форма - УправляемаяФорма - форма из которой нужно получить уникальный идентификатор, который будет
// Форма - УправляемаяФорма - форма, из которой нужно получить уникальный идентификатор, который будет
// использоваться при помещении расшифрованных данных во временное хранилище.
// - УникальныйИдентификатор - уникальный идентификатор, который будет использоваться
// при помещении расшифрованных данных во временное хранилище
// при помещении расшифрованных данных во временное хранилище.
// - Неопределено - использовать стандартную форму.
//
// ОбработкаРезультата - ОписаниеОповещения - необязательный параметр.
@@ -781,7 +781,7 @@
// * ОбработкаРезультата - ОписаниеОповещения - вызывается сразу после проверки, в процедуру
// передается Результат.ПроверкиПройдены (см. ниже) с начальным значением Ложь.
// В режиме ПроверкаПриВыборе, если не установить Истина,
// тогда форма не будет закрыта после возврата из процедуры оповещения и
// форма не будет закрыта после возврата из процедуры оповещения и
// будет показано предупреждение о невозможности продолжения.
// * БезПодтверждения - Булево - если установить Истина, тогда при наличии пароля
// проверка будет выполнена сразу без открытия формы.
@@ -801,15 +801,15 @@
// если Ложь - проверка прошла не успешно, если Неопределено - не выполнялась.
// Если стандартные проверки скрыты в процедуре ПриСозданииФормыПроверкаСертификата,
// общего модуля ЭлектроннаяПодписьПереопределяемый, тогда свойства нет.
// * ДанныеСертификата - Булево, Неопределено - также, как указано выше.
// * НаличиеПрограммы - Булево, Неопределено - также, как указано выше.
// * Подписание - Булево, Неопределено - также, как указано выше.
// * ПроверкаПодписи - Булево, Неопределено - также, как указано выше.
// * Шифрование - Булево, Неопределено - также, как указано выше.
// * Расшифровка - Булево, Неопределено - также, как указано выше.
// * <Имя дополнительной проверки> - Булево, Неопределено - также, как указано выше.
// * ДанныеСертификата - Булево, Неопределено - так же, как указано выше.
// * НаличиеПрограммы - Булево, Неопределено - так же, как указано выше.
// * Подписание - Булево, Неопределено - так же, как указано выше.
// * ПроверкаПодписи - Булево, Неопределено - так же, как указано выше.
// * Шифрование - Булево, Неопределено - так же, как указано выше.
// * Расшифровка - Булево, Неопределено - так же, как указано выше.
// * <Имя дополнительной проверки> - Булево, Неопределено - так же, как указано выше.
//
// * ПараметрыДополнительныхПроверок - Произвольный - параметры, которые передаются в процедуру.
// * ПараметрыДополнительныхПроверок - Произвольный - параметры, которые передаются в процедуру
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
//
Процедура ПроверитьСертификатСправочника(Сертификат, ДополнительныеПараметры = Неопределено) Экспорт
@@ -827,12 +827,12 @@
//
// ОбработчикРезультата - ОписаниеОповещения - описание процедуры, принимающей результат выбора в
// первый параметр (РасширениеУстановлено) в виде одного из значений:
// Истина - Пользователь подтвердил установку, после установки расширение было успешно подключено.
// Ложь - Пользователь подтвердил установку, однако после установки расширение не удалось подключить.
// Неопределено - Пользователь отказался от установки.
// Истина - пользователь подтвердил установку, после установки расширение было успешно подключено.
// Ложь - пользователь подтвердил установку, однако после установки расширение не удалось подключить.
// Неопределено - пользователь отказался от установки.
//
// ТекстВопроса - Строка - Текст вопроса.
// ЗаголовокВопроса - Строка - Заголовок вопроса.
// ТекстВопроса - Строка - текст вопроса.
// ЗаголовокВопроса - Строка - заголовок вопроса.
//
//
Процедура УстановитьРасширение(БезВопроса, ОбработчикРезультата = Неопределено, ТекстВопроса = "", ЗаголовокВопроса = "") Экспорт
@@ -893,13 +893,13 @@
КонецПроцедуры
// Возвращает дату, извлеченную из двоичных данных подписи или Неопределено.
// Возвращает дату, извлеченную из двоичных данных подписи, или Неопределено.
//
// Параметры:
// Оповещение - ОписаниеОповещение - вызывается для передачи возвращаемого значение:
// Дата - успешно извлеченная дата подписи.
// Оповещение - ОписаниеОповещение - вызывается для передачи возвращаемого значения:
// Дата - успешно извлеченная дата подписи;
// Неопределено - не удалось извлечь дату из данных подписи.
// Подпись - ДвоичныеДанные - данные подписи из которых нужно извлечь дату.
// Подпись - ДвоичныеДанные - данные подписи, из которых нужно извлечь дату.
// ПривестиКЧасовомуПоясуСеанса - Булево - привести универсальное время к времени сеанса.
//
Процедура ДатаПодписания(Оповещение, Подпись, ПривестиКЧасовомуПоясуСеанса = Истина) Экспорт
@@ -920,7 +920,7 @@
// из представления субъекта (КомуВыдан) и срока действия сертификата.
//
// Параметры:
// Сертификат - СертификатКриптографии - Сертификат криптографии.
// Сертификат - СертификатКриптографии - сертификат криптографии.
//
// Возвращаемое значение:
// Строка - представление сертификата в справочнике.
@@ -935,7 +935,7 @@
// Возвращает представление субъекта сертификата (КомуВыдан).
//
// Параметры:
// Сертификат - СертификатКриптографии - Сертификат криптографии.
// Сертификат - СертификатКриптографии - сертификат криптографии.
//
// Возвращаемое значение:
// Строка - представление субъекта в формате "Фамилия Имя, Организация, Подразделение, Должность".
@@ -952,7 +952,7 @@
// Возвращает представление издателя сертификата (КемВыдан).
//
// Параметры:
// Сертификат - СертификатКриптографии - Сертификат криптографии.
// Сертификат - СертификатКриптографии - сертификат криптографии.
//
// Возвращаемое значение:
// Строка - представление издателя в формате "ОбщееИмя, Организация, Подразделение",
@@ -967,7 +967,7 @@
// Возвращает основные свойства сертификата в виде структуры.
//
// Параметры:
// Сертификат - СертификатКриптографии - Сертификат криптографии.
// Сертификат - СертификатКриптографии - сертификат криптографии.
//
// Возвращаемое значение:
// Структура - со свойствами:
@@ -998,11 +998,11 @@
// Структура - со свойствами, состав которых зависит от национальной специфики.
// Пример для Российской Федерации:
// * ОбщееИмя - Строка - (64) - извлекается из поля CN.
// ЮЛ: В зависимости от типа конечного владельца СКПЭП
// ЮЛ - в зависимости от типа конечного владельца СКПЭП
// - наименование организации;
// - название автоматизированной системы;
// - другое отображаемое имя по требованиям информационной системы.
// ФЛ: ФИО.
// ФЛ - ФИО.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Страна - Строка - (2) - извлекается из поля C - двухсимвольный код страны
@@ -1010,56 +1010,56 @@
// - Неопределено - нужное свойство сертификата не найдено.
//
// * Регион - Строка - (128) - извлекается из поля S - наименование субъекта РФ.
// ЮЛ: По адресу местонахождения.
// ФЛ: По адресу регистрации.
// ЮЛ - по адресу местонахождения.
// ФЛ - по адресу регистрации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * НаселенныйПункт - Строка - (128) - извлекается из поля L - наименование населенного пункта.
// ЮЛ: По адресу местонахождения.
// ФЛ: По адресу регистрации.
// ЮЛ - по адресу местонахождения.
// ФЛ - по адресу регистрации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Улица - Строка - (128) - извлекается из поля Street - наименование улицы, дома, офиса.
// ЮЛ: По адресу местонахождения.
// ФЛ: По адресу регистрации.
// ЮЛ - по адресу местонахождения.
// ФЛ - по адресу регистрации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Организация - Строка - (64) - извлекается из поля O.
// ЮЛ: Полное или сокращенное наименование организации.
// ЮЛ - полное или сокращенное наименование организации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Подразделение - Строка - (64) - извлекается из поля OU.
// ЮЛ: В случае выпуска СКПЭП на должностное лицо - подразделение организации.
// ЮЛ - в случае выпуска СКПЭП на должностное лицо - подразделение организации.
// Подразделение - это территориальная структурная единица крупной организации,
// которое обычно не заполняется в сертификате.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ЭлектроннаяПочта - Строка - (128) - извлекается из поля E - адрес электронной почты.
// ЮЛ: адрес электронной почты должностного лица.
// ФЛ: адрес электронной почты физического лица.
// ЮЛ - адрес электронной почты должностного лица.
// ФЛ - адрес электронной почты физического лица.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Должность - Строка - (64) - извлекается из поля T.
// ЮЛ: В случае выпуска СКПЭП на должностное лицо - его должность.
// ЮЛ - в случае выпуска СКПЭП на должностное лицо - его должность.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ОГРН - Строка - (13) - извлекается из поля OGRN.
// ЮЛ: ОГРН организации.
// ЮЛ - ОГРН организации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ОГРНИП - Строка - (15) - извлекается из поля OGRNIP.
// ИП: ОГРН индивидуального предпринимателя.
// ИП - ОГРН индивидуального предпринимателя.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * СНИЛС - Строка - (11) - извлекается из поля SNILS.
// ФЛ: СНИЛС
// ЮЛ: Не обязательно, в случае выпуска СКПЭП на должностное лицо - его СНИЛС.
// ФЛ - СНИЛС
// ЮЛ - не обязательно, в случае выпуска СКПЭП на должностное лицо - его СНИЛС.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ИНН - Строка - (12) - извлекается из поля INN.
// ФЛ: ИНН.
// ИП: ИНН.
// ЮЛ: Не обязательно, но может быть заполнен для целей взаимодействия с ФНС.
// ФЛ - ИНН.
// ИП - ИНН.
// ЮЛ - не обязательно, но может быть заполнен для целей взаимодействия с ФНС.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Фамилия - Строка - (64) - извлекается из поля SN, если заполнено.
@@ -1104,11 +1104,10 @@
// по адресу местонахождения ПАК УЦ.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Организация - Строка - (64) - извлекается из поля O
// полное или сокращенное наименование организации.
// * Организация - Строка - (64) - извлекается из поля O - полное или сокращенное наименование организации.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Подразделение - Строка - (64) - извлекается из поля OU подразделение организации.
// * Подразделение - Строка - (64) - извлекается из поля OU - подразделение организации.
// Подразделение - это территориальная структурная единица крупной организации,
// которое обычно не заполняется в сертификате.
// - Неопределено - такое свойство сертификата отсутствует.
@@ -1135,10 +1134,10 @@
// Структура - со свойствами:
// * XPathSignedInfo - Строка - например, "(//. | //@* | //namespace::*)[ancestor-or-self::*[local-name()='SignedInfo']]".
// * XPathПодписываемыйТег - Строка - например, "(//. | //@* | //namespace::*)[ancestor-or-self::soap:Body]".
// * ИмяАлгоритмаПодписи - Строка - например, "GOST R 34.10-2001".
// * OIDАлгоритмаПодписи - Строка - например, "1.2.643.2.2.3" - ГОСТ R 34.11/34.10-2001.
// * ИмяАлгоритмаХеширования - Строка - например, "GOST R 34.11-94".
// * OIDАлгоритмаХеширования - Строка - например, "1.2.643.2.2.9" - ГОСТ R 34.11-94.
// * ИмяАлгоритмаПодписи - Строка - например, "GOST R 34.10-2001" + Символы.ПС + "GOST R 34.11-2012" + ...
// * OIDАлгоритмаПодписи - Строка - например, "1.2.643.2.2.3" + Символы.ПС + "1.2.643.7.1.1.3.2" + ...
// * ИмяАлгоритмаХеширования - Строка - например, "GOST R 34.11-94" + Символы.ПС + "GOST R 34.11-12" + ...
// * OIDАлгоритмаХеширования - Строка - например, "1.2.643.2.2.9" + Символы.ПС + "1.2.643.7.1.1.2.2" + ...
//
Функция ПараметрыXMLDSig() Экспорт
@@ -47,10 +47,10 @@
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
// * ОписаниеОшибки - Строка - (возвращаемое значение) - описание ошибки, полученной при выполнении проверки.
// Это описание сможет увидеть пользователь при нажатии на картинку результата.
// * ЭтоПредупреждение - Булево - (возвращаемое значение) - вид картинки Ошибка/Предупреждение
// начальное значение Ложь.
// * ЭтоПредупреждение - Булево - (возвращаемое значение) - вид картинки Ошибка/Предупреждение,
// начальное значение - Ложь.
// * Пароль - Строка - пароль, введенный пользователем.
// - Неопределено - если свойство ВводитьПароль установлено Ложь в процедуре
// - Неопределено - если свойство ВводитьПароль установлено в Ложь в процедуре
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
// * РезультатыПроверок - Структура - со свойствами:
// * Ключ - Строка - имя стандартной или дополнительной проверки.
@@ -69,6 +69,8 @@
Свойства.Вставить("Имя");
Свойства.Вставить("Отчество");
Свойства.Вставить("Должность");
Свойства.Вставить("Организация");
Свойства.Вставить("ОбщееИмя");
Если Субъект.Свойство("OGRN")Тогда
Свойства.ОГРН = ПодготовитьСтроку(Субъект.OGRN);
@@ -98,6 +100,14 @@
Свойства.ИНН = ПодготовитьСтроку(Субъект.OID1_2_643_3_131_1_1);
КонецЕсли;
Если Субъект.Свойство("CN") Тогда
Свойства.ОбщееИмя = ПодготовитьСтроку(Субъект.CN);
КонецЕсли;
Если Субъект.Свойство("O") Тогда
Свойства.Организация = ПодготовитьСтроку(Субъект.O);
КонецЕсли;
Если Субъект.Свойство("SN") Тогда // Наличие фамилии (обычно для должностного лица).
// Извлечение ФИО из поля SN и GN.
@@ -142,6 +152,7 @@
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(Свойства.Фамилия) Или ЗначениеЗаполнено(Свойства.Имя) Тогда
@@ -10,16 +10,16 @@
// Вызывается в форме элемента справочника СертификатыКлючейЭлектроннойПодписиИШифрования и в других местах,
// где создаются или обновляются сертификаты, например в форме ВыборСертификатаДляПодписанияИлиРасшифровки.
// Допускается вызов исключения, если требуется остановить действие и что-то сообщить пользователю,
// например, при попытке создать элемент-копию сертификата, доступ к которому ограничен.
// Допускается вызов исключения, если требуется остановить действие и что-то сообщить пользователю -
// например, при попытке создать элемент - копию сертификата, доступ к которому ограничен.
//
// Параметры:
// Ссылка - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - пустая для нового элемента.
//
// Сертификат - СертификатКриптографии - сертификат для которого создается или обновляется элемент справочника.
// Сертификат - СертификатКриптографии - сертификат, для которого создается или обновляется элемент справочника.
//
// ПараметрыРеквизитов - ТаблицаЗначений - с колонками:
// * ИмяРеквизита - Строка - имя реквизита для которого можно уточнить параметры.
// * ИмяРеквизита - Строка - имя реквизита, для которого можно уточнить параметры.
// * ТолькоПросмотр - Булево - если установить Истина, редактирование будет запрещено.
// * ПроверкаЗаполнения - Булево - если установить Истина, заполнение будет проверяться.
// * Видимость - Булево - если установить Истина, реквизит станет невидимым.
@@ -93,10 +93,10 @@
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
// * ОписаниеОшибки - Строка - (возвращаемое значение) - описание ошибки, полученной при выполнении проверки.
// Это описание сможет увидеть пользователь при нажатии на картинку результата.
// * ЭтоПредупреждение - Булево - (возвращаемое значение) - вид картинки Ошибка/Предупреждение
// начальное значение Ложь.
// * ЭтоПредупреждение - Булево - (возвращаемое значение) - вид картинки Ошибка/Предупреждение,
// начальное значение - Ложь.
// * Пароль - Строка - пароль, введенный пользователем.
// - Неопределено - если свойство ВводитьПароль установлено Ложь в процедуре
// - Неопределено - если свойство ВводитьПароль установлено в Ложь в процедуре
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
// * РезультатыПроверок - Структура - со свойствами:
// * Ключ - Строка - имя дополнительной проверки, которая уже выполнена.
@@ -1189,7 +1189,6 @@
XPathПодписываемыйТег = ДанныеАлгоритмаПодписания.XPathПодписываемыйТег;
XPathSignedInfo = ДанныеАлгоритмаПодписания.XPathSignedInfo;
OIDАлгоритмаХеширования = ДанныеАлгоритмаПодписания.OIDАлгоритмаХеширования;
Пароль = МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу;
@@ -1203,14 +1202,14 @@
"%BinarySecurityToken%",
СертификатКриптографииBase64(СертификатКриптографии.Выгрузить()));
ПроверитьАлгоритмПодписи(ОбъектКомпоненты,
ПроверитьВыбратьАлгоритмПодписи(ОбъектКомпоненты,
СертификатКриптографииBase64(СертификатКриптографии.Выгрузить()),
ДанныеАлгоритмаПодписания);
DigestValue = Hash(
ОбъектКомпоненты,
C14N(ОбъектКомпоненты, КонвертSOAP, XPathПодписываемыйТег),
OIDАлгоритмаХеширования,
ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаХеширования,
СвойстваКриптопровайдера.Тип);
КонвертSOAP = СтрЗаменить(КонвертSOAP, "%DigestValue%", DigestValue);
@@ -1233,7 +1232,6 @@
XPathПодписываемыйТег = ДанныеАлгоритмаПодписания.XPathПодписываемыйТег;
XPathSignedInfo = ДанныеАлгоритмаПодписания.XPathSignedInfo;
OIDАлгоритмаХеширования = ДанныеАлгоритмаПодписания.OIDАлгоритмаХеширования;
ОбъектКомпоненты = ОбъектВнешнейКомпонентыXMLDSig();
@@ -1242,7 +1240,7 @@
СертификатКриптографииBase64 = ЭлектроннаяПодписьСлужебныйКлиентСервер.НайтиВXML(КонвертSOAP, "wsse:BinarySecurityToken");
ПроверитьАлгоритмПодписи(ОбъектКомпоненты, СертификатКриптографииBase64, ДанныеАлгоритмаПодписания);
ПроверитьВыбратьАлгоритмПодписи(ОбъектКомпоненты, СертификатКриптографииBase64, ДанныеАлгоритмаПодписания);
ПодписьВерна = VerifySign(
ОбъектКомпоненты,
@@ -1254,7 +1252,7 @@
DigestValue = Hash(
ОбъектКомпоненты,
C14N(ОбъектКомпоненты, КонвертSOAP, XPathПодписываемыйТег),
OIDАлгоритмаХеширования,
ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаХеширования,
СвойстваКриптопровайдера.Тип);
ХешСовпадает = Ложь;
@@ -1419,10 +1417,23 @@
КонецФункции
Процедура ПроверитьАлгоритмПодписи(ОбъектКомпоненты, СертификатКриптографииBase64, ДанныеАлгоритмаПодписания)
Процедура ПроверитьВыбратьАлгоритмПодписи(ОбъектКомпоненты, СертификатКриптографииBase64, ДанныеАлгоритмаПодписания)
OIDАлгоритмаПодписи = GetSignOIDFromCert(ОбъектКомпоненты, СертификатКриптографииBase64);
Если OIDАлгоритмаПодписи <> ДанныеАлгоритмаПодписания.OIDАлгоритмаПодписи Тогда
OIDАлгоритмовПодписи = СтрРазделить(ДанныеАлгоритмаПодписания.OIDАлгоритмаПодписи, Символы.ПС);
OIDАлгоритмовХеширования = СтрРазделить(ДанныеАлгоритмаПодписания.OIDАлгоритмаХеширования, Символы.ПС);
ДанныеАлгоритмаПодписания.Вставить("OIDВыбранногоАлгоритмаПодписи", Неопределено);
ДанныеАлгоритмаПодписания.Вставить("OIDВыбранногоАлгоритмаХеширования", Неопределено);
Для Индекс = 0 По OIDАлгоритмовПодписи.Количество() - 1 Цикл
Если OIDАлгоритмаПодписи = OIDАлгоритмовПодписи[Индекс] Тогда
ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаПодписи = OIDАлгоритмовПодписи[Индекс];
ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаХеширования = OIDАлгоритмовХеширования[Индекс];
КонецЕсли;
КонецЦикла;
Если Не ЗначениеЗаполнено(ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаПодписи) Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Алгоритм подписи сертификата криптографии отличается от алгоритма %1.'"),
ДанныеАлгоритмаПодписания.ИмяАлгоритмаПодписи);
@@ -726,9 +726,6 @@
Контекст.Вставить("ПроверятьНаСервере",
ЭлектроннаяПодписьКлиент.ПроверятьЭлектронныеПодписиНаСервере());
Если ИспользоватьЭлектроннуюПодписьВМоделиСервиса() Тогда
ПроверитьПодписьВМоделиСервиса(Контекст);
Иначе
Если МенеджерКриптографии = Неопределено Тогда
СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
"ПроверитьПодписьПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст),
@@ -736,7 +733,6 @@
Иначе
ПроверитьПодписьПослеСозданияМенеджераКриптографии(МенеджерКриптографии, Контекст);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -781,6 +777,10 @@
Возврат;
КонецЕсли;
Если ИспользоватьЭлектроннуюПодписьВМоделиСервиса() Тогда
// Проверка подписи и сертификата в модели сервиса.
ПроверитьПодписьВМоделиСервиса(Контекст);
Иначе
// Проверка подписи и сертификата на сервере.
Если ТипЗнч(Контекст.ИсходныеДанные) = Тип("Строка")
И ЭтоАдресВременногоХранилища(Контекст.ИсходныеДанные) Тогда
@@ -810,6 +810,8 @@
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Результат);
КонецЕсли;
КонецПроцедуры
// Продолжение процедуры ПроверитьПодпись.
@@ -3823,7 +3825,19 @@
Возврат;
КонецЕсли;
Если OIDАлгоритмаПодписи <> Контекст.ДанныеАлгоритмаПодписания.OIDАлгоритмаПодписи Тогда
OIDАлгоритмовПодписи = СтрРазделить(Контекст.ДанныеАлгоритмаПодписания.OIDАлгоритмаПодписи, Символы.ПС);
OIDАлгоритмовХеширования = СтрРазделить(Контекст.ДанныеАлгоритмаПодписания.OIDАлгоритмаХеширования, Символы.ПС);
Контекст.ДанныеАлгоритмаПодписания.Вставить("OIDВыбранногоАлгоритмаПодписи", Неопределено);
Контекст.ДанныеАлгоритмаПодписания.Вставить("OIDВыбранногоАлгоритмаХеширования", Неопределено);
Для Индекс = 0 По OIDАлгоритмовПодписи.Количество() - 1 Цикл
Если OIDАлгоритмаПодписи = OIDАлгоритмовПодписи[Индекс] Тогда
Контекст.ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаПодписи = OIDАлгоритмовПодписи[Индекс];
Контекст.ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаХеширования = OIDАлгоритмовХеширования[Индекс];
КонецЕсли;
КонецЦикла;
Если Не ЗначениеЗаполнено(Контекст.ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаПодписи) Тогда
ЗавершитьОперациюСОшибкой(
Контекст,
@@ -3882,7 +3896,7 @@
Контекст.ОбъектКомпоненты.НачатьВызовHash(
ОписаниеОповещения,
КаноникализированныйТекстXML,
Контекст.ДанныеАлгоритмаПодписания.OIDАлгоритмаХеширования,
Контекст.ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаХеширования,
Контекст.ТипКриптопровайдера);
Исключение
@@ -4016,12 +4030,22 @@
Возврат;
КонецЕсли;
Если OIDАлгоритмаПодписи <> Контекст.ДанныеАлгоритмаПодписания.OIDАлгоритмаПодписи Тогда
OIDАлгоритмовПодписи = СтрРазделить(Контекст.ДанныеАлгоритмаПодписания.OIDАлгоритмаПодписи, Символы.ПС);
OIDАлгоритмовХеширования = СтрРазделить(Контекст.ДанныеАлгоритмаПодписания.OIDАлгоритмаХеширования, Символы.ПС);
Контекст.ДанныеАлгоритмаПодписания.Вставить("OIDВыбранногоАлгоритмаПодписи", Неопределено);
Контекст.ДанныеАлгоритмаПодписания.Вставить("OIDВыбранногоАлгоритмаХеширования", Неопределено);
Для Индекс = 0 По OIDАлгоритмовПодписи.Количество() - 1 Цикл
Если OIDАлгоритмаПодписи = OIDАлгоритмовПодписи[Индекс] Тогда
Контекст.ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаПодписи = OIDАлгоритмовПодписи[Индекс];
Контекст.ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаХеширования = OIDАлгоритмовХеширования[Индекс];
КонецЕсли;
КонецЦикла;
Если Не ЗначениеЗаполнено(Контекст.ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаПодписи) Тогда
ЗавершитьОперациюСОшибкой(
Контекст,
НСтр("ru = 'Ошибка вызова метода Hash компоненты XMLDSig.'") + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Иначе
Попытка
@@ -4164,7 +4188,7 @@
Контекст.ОбъектКомпоненты.НачатьВызовHash(
ОписаниеОповещения,
КаноникализированныйТекстXMLПодписываемыйТег,
Контекст.ДанныеАлгоритмаПодписания.OIDАлгоритмаХеширования,
Контекст.ДанныеАлгоритмаПодписания.OIDВыбранногоАлгоритмаХеширования,
Контекст.ТипКриптопровайдера);
Исключение
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

+10 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c10f8660-01cd-4323-aa8c-a27acd16db75">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="bac8aa48-6d04-488e-b871-21bdd7a7d754">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="e4f04863-1abd-474a-b798-ddb5bf7aac56"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="038ded54-700c-4547-8208-0fe01b0ecf64"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="503fb2d8-1355-4ed1-bfd6-5a6bc3312b0a"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="8d598f39-fc14-4ea3-be50-cc0c861d95f3"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="63cd8a00-0f4f-4d2d-92d6-c423e099aaf7"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="cb03067c-89de-46a1-9874-52387984eaab"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="95cf1962-a85d-4192-afe8-9d6e8057965f"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="7d1e25fc-6747-489e-9760-f03e3604945c"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="2bbb17af-8e10-430c-bcb3-1856316767ae"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="d494245a-dae0-45cc-9023-329682d694d5"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="73535079-d130-4692-99c4-921e888ffdb1"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="9d214116-4e77-484e-96e9-2d33088929f5"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="60dc3bc6-7610-4e73-bfdb-aa8708fa0dae"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="7a2cbd02-fd79-495b-b1cf-f7258da61ce4"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.2.195</version>
<version>3.0.2.208</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1930,6 +1930,7 @@
<informationRegisters>InformationRegister.УдалитьОчередьЗаданий</informationRegisters>
<informationRegisters>InformationRegister.УдалитьОчередьИзвлеченияТекста</informationRegisters>
<informationRegisters>InformationRegister.УдалитьПраваПоЗначениямДоступа</informationRegisters>
<informationRegisters>InformationRegister.УдалитьРезультатыОбменаДанными</informationRegisters>
<informationRegisters>InformationRegister.УдалитьРейтингАктивностиОбластейДанных</informationRegisters>
<informationRegisters>InformationRegister.УдалитьСтраныМира</informationRegisters>
<informationRegisters>InformationRegister.УдалитьХранимыеФайлыВерсий</informationRegisters>
@@ -1 +1 @@
{6,1,1,c93ba738-b301-4eb2-969a-28646bd009ab,1,03794be6-7edb-43d6-94aa-920496db7b21,"3.0.2.195","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5994,1,0,c10f8660-01cd-4323-aa8c-a27acd16db75,c10f8660-01cd-4323-aa8c-a27acd16db75,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,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,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,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,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
{6,1,1,81e57a5f-7425-478c-a4bb-e374f4d6d8fe,1,37c05912-8262-400a-9464-c2f84b18bb24,"3.0.2.208","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6012,1,0,bac8aa48-6d04-488e-b871-21bdd7a7d754,bac8aa48-6d04-488e-b871-21bdd7a7d754,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,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,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,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,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
@@ -650,17 +650,6 @@
КонецПроцедуры
&НаСервере
Процедура ЗафиксироватьЗавершениеОбменаСОшибкой()
ОбменДаннымиВызовСервера.ЗафиксироватьЗавершениеОбменаСОшибкой(
УзелИнформационнойБазы,
?(ФоновоеЗаданиеВыполняемоеДействие = 1, "ЗагрузкаДанных", "ВыгрузкаДанных"),
ДатаНачалаОперации,
СообщениеОбОшибке);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ДанныеОтбораЖурналаРегистрации(УзелИнформационнойБазы)
@@ -749,17 +738,6 @@
КонецФункции
&НаКлиенте
Функция Подключаемый_ЗагрузкаДанных_ОбработкаДлительнойОперации_Окончание(Отказ, ПерейтиДалее)
Если ЕстьОшибки Или ДлительнаяОперацияЗавершенаСОшибкой Тогда
ЗафиксироватьЗавершениеОбменаСОшибкой();
КонецЕсли;
Возврат Неопределено;
КонецФункции
&НаКлиенте
Функция Подключаемый_ВыгрузкаДанных_ПриОткрытии(Отказ, ПропуститьСтраницу, ЭтоПереходДалее)
@@ -790,15 +768,12 @@
&НаКлиенте
Функция Подключаемый_ВыгрузкаДанных_ОбработкаДлительнойОперации_Окончание(Отказ, ПерейтиДалее)
Если ЕстьОшибки Или ДлительнаяОперацияЗавершенаСОшибкой Тогда
ЗафиксироватьЗавершениеОбменаСОшибкой();
Иначе
Если ДлительнаяОперацияЗавершена Тогда
Если ДлительнаяОперацияЗавершена
И Не ДлительнаяОперацияЗавершенаСОшибкой Тогда
ОбменДаннымиВызовСервера.ЗафиксироватьВыполнениеВыгрузкиДанныхВРежимеДлительнойОперации(
УзелИнформационнойБазы,
ДатаНачалаОперации);
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
@@ -855,7 +830,7 @@
ДлительнаяОперацияЗавершена = Истина;
ДлительнаяОперацияЗавершенаСОшибкой = Не ДанныеВыгружены;
ЕстьОшибки = Не ДанныеВыгружены;
ЕстьОшибки = ЕстьОшибки Или Не ДанныеВыгружены;
ВыводитьОписаниеОшибкиПользователю = Истина;
СообщениеОбОшибкеПользователю = СообщениеОбОшибке;
@@ -1334,11 +1309,8 @@
КонецЕсли;
// Проверим наличие возможных ошибок при выполнении фонового задания.
ЕстьОшибки = ЗначениеЗаполнено(СообщениеОбОшибке);
// Если в процессе синхронизации данных возникли ошибки, зафиксируем их.
Если ЕстьОшибки Тогда
Если ЗначениеЗаполнено(СообщениеОбОшибке) Тогда
// Если в базе-корреспонденте была запущена длительная операция, ее надо завершить.
Если Не ДлительнаяОперацияЗавершена Тогда
@@ -1348,6 +1320,8 @@
ДлительнаяОперацияЗавершена = Истина;
ДлительнаяОперацияЗавершенаСОшибкой = Истина;
ЕстьОшибки = Истина;
КонецЕсли;
КонецПроцедуры
@@ -1399,7 +1373,6 @@
// Получение
ТаблицаПереходовНоваяСтрока(ИмяСтраницыСинхронизацияЗагрузка, "ЗагрузкаДанных_ПриОткрытии", Истина, "ЗагрузкаДанных_ОбработкаДлительнойОперации");
ТаблицаПереходовНоваяСтрока(ИмяСтраницыСинхронизацияЗагрузка, , Истина, "ЗагрузкаДанных_ОбработкаДлительнойОперации_Окончание");
// Отправка
ТаблицаПереходовНоваяСтрока(ИмяСтраницыСинхронизацияВыгрузка, "ВыгрузкаДанных_ПриОткрытии", Истина, "ВыгрузкаДанных_ОбработкаДлительнойОперации");
ТаблицаПереходовНоваяСтрока(ИмяСтраницыСинхронизацияВыгрузка, , Истина, "ВыгрузкаДанных_ОбработкаДлительнойОперации_Окончание");
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 25;
Возврат 26;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.0.2.194";
Возврат "3.0.2.200";
КонецФункции
@@ -73,8 +73,9 @@
<Item Calendar="04" Year="2018" DayType="Предпраздничный" Date="20180216" SwapDate=""/>
<Item Calendar="04" Year="2018" DayType="Праздник" Date="20180217" SwapDate="20180219"/>
<Item Calendar="04" Year="2018" DayType="Суббота" Date="20180219" SwapDate="20180217"/>
<Item Calendar="04" Year="2019" DayType="Предпраздничный" Date="20190206" SwapDate=""/>
<Item Calendar="04" Year="2019" DayType="Праздник" Date="20190207" SwapDate=""/>
<Item Calendar="04" Year="2019" DayType="Предпраздничный" Date="20190208" SwapDate=""/>
<Item Calendar="04" Year="2019" DayType="Праздник" Date="20190209" SwapDate="20190211"/>
<Item Calendar="04" Year="2019" DayType="Суббота" Date="20190211" SwapDate="20190209"/>
<Item Calendar="05" Year="2016" DayType="Предпраздничный" Date="20160705" SwapDate=""/>
<Item Calendar="05" Year="2016" DayType="Праздник" Date="20160706" SwapDate=""/>
<Item Calendar="05" Year="2016" DayType="Праздник" Date="20160707" SwapDate=""/>
@@ -160,10 +160,12 @@
#Область НастройкаКомпонентовОбменаНаРаботуСУзлом
КомпонентыОбмена.УзелКорреспондента = УзелДляОбмена;
КомпонентыОбмена.ВерсияФорматаОбмена = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
КомпонентыОбмена.УзелКорреспондента, "ВерсияФорматаОбмена");
КомпонентыОбмена.ТолькоНастройкиXDTO = Не ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(
КомпонентыОбмена.УзелКорреспондента);
Если Не КомпонентыОбмена.ТолькоНастройкиXDTO Тогда
КомпонентыОбмена.ВерсияФорматаОбмена = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
КомпонентыОбмена.УзелКорреспондента, "ВерсияФорматаОбмена");
КонецЕсли;
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(КомпонентыОбмена.УзелКорреспондента);
КомпонентыОбмена.XMLСхема = ОбменДаннымиXDTOСервер.ФорматОбмена(ИмяПланаОбмена, КомпонентыОбмена.ВерсияФорматаОбмена);
@@ -182,6 +184,9 @@
ОбменДаннымиXDTOСервер.ЗаполнитьСтруктуруНастроекXDTO(КомпонентыОбмена);
ОбменДаннымиXDTOСервер.ЗаполнитьПоддерживаемыеОбъектыXDTO(КомпонентыОбмена);
КомпонентыОбмена.ПропускатьОбъектыСОшибкамиПроверкиПоСхеме = ОбменДаннымиXDTOСервер.ПропускатьОбъектыСОшибкамиПроверкиПоСхеме(
КомпонентыОбмена.УзелКорреспондента);
Иначе
ОбменДаннымиXDTOСервер.ЗаполнитьСтруктуруНастроекXDTO(КомпонентыОбмена);
@@ -213,8 +218,14 @@
Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена Тогда
РазблокироватьДанныеДляРедактирования(КомпонентыОбмена.УзелКорреспондента);
КонецЕсли;
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Инфо = ИнформацияОбОшибке();
КодОшибки = Новый Структура("КраткоеПредставлениеОшибки, ПодробноеПредставлениеОшибки",
КраткоеПредставлениеОшибки(Инфо), ПодробноеПредставлениеОшибки(Инфо));
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, КодОшибки);
ОбменДаннымиXDTOСервер.ЗавершитьВедениеПротоколаОбмена(КомпонентыОбмена);
КомпонентыОбмена.ФайлОбмена = Неопределено;
Возврат;
КонецПопытки;
@@ -336,10 +347,9 @@
КомпонентыОбмена.ФайлОбмена.Закрыть();
// Проверка данных From / NewFrom
ОбменДаннымиСервер.ПроверитьКодыУзлов(РезультатАнализаДанныхКЗагрузке, КомпонентыОбмена.УзелКорреспондента);
Если Не КомпонентыОбмена.ФлагОшибки Тогда
// Проверка данных From / NewFrom.
ОбменДаннымиСервер.ПроверитьКодыУзлов(РезультатАнализаДанныхКЗагрузке, КомпонентыОбмена.УзелКорреспондента);
// Запишем информацию о номере входящего сообщения.
ОбъектУзла = УзелОбменаЗагрузкаДанных.ПолучитьОбъект();
@@ -630,6 +640,8 @@
КонецЦикла;
ТаблицаДанныхСообщенияОбмена.Индексы.Добавить("УникальныйИдентификатор");
Возврат ТаблицаДанныхСообщенияОбмена;
КонецФункции
@@ -12,7 +12,7 @@ TD {
<li><a href="InformationRegister.ДатыЗапретаИзменения/Help">Даты запрета загрузки</a> - включите флажок, для того чтобы использовать возможность запрета загрузки данных прошлых периодов из других программ.</li></a> См. также: <strong>Даты запрета изменения</strong> в подразделе <a href="DataProcessor.ПанельАдминистрированияБСП.Form.ОбщиеНастройки/Help">Общие настройки</a>.
<ul><li>После этого становится доступной команда:
</li><li><strong>Настроить</strong> - переход к установке запрета загрузки данных прошлых периодов из других программ.</li></ul><li>
<div><a href="InformationRegister.РезультатыОбменаДанными/Help">Предупреждения при синхронизации данных</a> - переход к просмотру предупреждений, возникших при синхронизации данных (непроведенных документов, незаполненных реквизитов, конфликтов и непринятых по дате запрета данных). </div>
<div><a href="InformationRegister.УдалитьРезультатыОбменаДанными/Help">Предупреждения при синхронизации данных</a> - переход к просмотру предупреждений, возникших при синхронизации данных (непроведенных документов, незаполненных реквизитов, конфликтов и непринятых по дате запрета данных). </div>
</li><li>
<div><strong>Загрузка данных Enterprisedata</strong> - переход к загрузке данных в формате <strong>Enterprisedata</strong> без необходимости настройки регулярной синхронизации данных. Информационные базы должны поддерживать синхронизацию данных через универсальный формат <strong>Enterprisedata</strong>. С помощью этой команды возможна только загрузка данных;</div>
</li><li>
@@ -2125,17 +2125,9 @@
Возврат Неопределено;
КонецЕсли;
Если ДлительнаяОперацияЗавершена Тогда
Если ДлительнаяОперацияЗавершена
И Не ДлительнаяОперацияЗавершенаСОшибкой Тогда
Если ДлительнаяОперацияЗавершенаСОшибкой Тогда
ПропуститьПолучениеДанных = Истина;
ОбменДаннымиВызовСервера.ЗафиксироватьЗавершениеОбменаСОшибкой(
Объект.УзелИнформационнойБазы,
"ЗагрузкаДанных",
ДатаНачалаОперации,
СообщениеОбОшибке);
Иначе
// Необходимо получить во временный каталог файл, подготовленный на корреспонденте.
Если Не ЗначениеЗаполнено(Объект.ИмяФайлаСообщенияОбмена) Тогда
@@ -2162,8 +2154,6 @@
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
КонецФункции
@@ -2354,23 +2344,15 @@
КонецЕсли;
Исключение
ЗафиксироватьОшибку = Истина;
СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если ЗафиксироватьОшибку Тогда
ПропуститьПолучениеДанных = Истина;
ТекстСообщения = ?(ЗначениеЗаполнено(СообщениеОбОшибке), СообщениеОбОшибке,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не удалось загрузить данные из ""%1"" (этап анализа данных).'"), Объект.УзелИнформационнойБазы));
СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ОбменДаннымиВызовСервера.ЗафиксироватьЗавершениеОбменаСОшибкой(
Объект.УзелИнформационнойБазы,
"ЗагрузкаДанных",
ДатаНачалаОперации,
ТекстСообщения);
КонецЕсли;
СообщениеОбОшибке);
КонецПопытки;
КонецПроцедуры
@@ -2692,23 +2674,12 @@
&НаКлиенте
Функция Подключаемый_СтраницаОжиданияВыгрузкиДанныхДлительнаяОперацияОкончание_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее)
Если ДлительнаяОперацияЗавершена Тогда
Если ДлительнаяОперацияЗавершенаСОшибкой Тогда
ОбменДаннымиВызовСервера.ЗафиксироватьЗавершениеОбменаСОшибкой(
Объект.УзелИнформационнойБазы,
"ВыгрузкаДанных",
ДатаНачалаОперации,
СообщениеОбОшибке);
Иначе
Если ДлительнаяОперацияЗавершена
И Не ДлительнаяОперацияЗавершенаСОшибкой Тогда
ОбменДаннымиВызовСервера.ЗафиксироватьВыполнениеВыгрузкиДанныхВРежимеДлительнойОперации(
Объект.УзелИнформационнойБазы, ДатаНачалаОперации);
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
КонецФункции
@@ -538,6 +538,8 @@
ПриОжиданииПроверкиПодключенияНаСервере(ПараметрыОбработчикаПроверкиПодключения, ПродолжитьОжидание);
Если ПродолжитьОжидание Тогда
ОбменДаннымиКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжиданияПроверкиПодключения);
ПодключитьОбработчикОжидания("ПриОжиданииПроверкиПодключенияOffline",
ПараметрыОбработчикаОжиданияПроверкиПодключения.ТекущийИнтервал, Истина);
Иначе
@@ -1287,8 +1289,10 @@
Если ЗначениеЗаполнено(ПараметрыКорреспондента.ПрефиксИнформационнойБазы) Тогда
ПрефиксКорреспондента = ПараметрыКорреспондента.ПрефиксИнформационнойБазы;
ДоступноИзменениеПрефиксаКорреспондента = Ложь;
Иначе
ПрефиксКорреспондента = ПараметрыКорреспондента.ПрефиксИнформационнойБазыПоУмолчанию;
ДоступноИзменениеПрефиксаКорреспондента = Истина;
КонецЕсли;
Если Не КорреспондентВМоделиСервиса Тогда
@@ -1689,6 +1693,7 @@
ДоступноИзменениеНаименования = Истина;
Наименование = ОбменДаннымиПовтИсп.ИмяЭтойИнформационнойБазы();
КонецЕсли;
ДоступноИзменениеНаименования = Истина;
НаименованиеКорреспондента = НаименованиеКонфигурацииКорреспондента;
КонецЕсли;
@@ -1006,6 +1006,9 @@
НастройкиПодключенияКорреспондента.ИмяПланаОбменаКорреспондента = НастройкиПодключения.ИмяПланаОбмена;
НастройкиПодключенияКорреспондента.ФорматОбмена = НастройкиПодключения.ФорматОбмена;
НастройкиПодключенияКорреспондента.ИспользоватьПрефиксыДляНастройкиОбмена =
НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента;
НастройкиПодключенияКорреспондента.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента =
НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена;
@@ -1077,6 +1080,9 @@
НастройкиПодключенияКорреспондента.ИмяПланаОбменаКорреспондента = НастройкиПодключения.ИмяПланаОбмена;
НастройкиПодключенияКорреспондента.ФорматОбмена = НастройкиПодключения.ФорматОбмена;
НастройкиПодключенияКорреспондента.ИспользоватьПрефиксыДляНастройкиОбмена =
НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента;
НастройкиПодключенияКорреспондента.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента =
НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена;
@@ -1696,7 +1702,8 @@
// Общие данные узлов.
РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ОбновитьПрефиксы(
НастройкиПодключения.УзелИнформационнойБазы,
?(НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена, НастройкиПодключения.ПрефиксИнформационнойБазыИсточника, ""),
?(НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена
Или НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента, НастройкиПодключения.ПрефиксИнформационнойБазыИсточника, ""),
НастройкиПодключения.ПрефиксИнформационнойБазыПриемника);
Если СоздаватьНовыйУзел
@@ -1776,7 +1783,8 @@
КонецПроцедуры
Процедура ЗаполнитьНастройкиПодключенияИзXML(НастройкиПодключения, ИмяФайлаСтрокаXML, ЭтоФайл = Ложь) Экспорт
Процедура ЗаполнитьНастройкиПодключенияИзXML(НастройкиПодключения,
ИмяФайлаСтрокаXML, ЭтоФайл = Ложь, ЭтоПодключениеОнлайн = Ложь) Экспорт
СтруктураНастроек = Неопределено;
Попытка
@@ -1818,6 +1826,7 @@
ЗаполнитьЗначенияСвойств(НастройкиПодключения, СтруктураНастроек, , "ИмяПланаОбмена, ПрефиксИнформационнойБазыИсточника");
Если Не ЭтоПодключениеОнлайн Тогда
ПустаяСсылкаПланаОбмена = ПланыОбмена[НастройкиПодключения.ИмяПланаОбмена].ПустаяСсылка();
НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена =
@@ -1833,6 +1842,7 @@
И ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(НастройкиПодключения.ИмяПланаОбмена)
И ЗначениеЗаполнено(КодНовогоУзлаВторойБазы)
И СтрДлина(КодНовогоУзлаВторойБазы) <> 36);
КонецЕсли;
Если Не НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена
И Не НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента Тогда
@@ -39,7 +39,6 @@
Элементы.ЗакончитьРедактирование.Доступность = РежимРедактирования;
Элементы.ЗаписатьИЗакрыть.Доступность = РежимРедактирования;
Элементы.Записать.Доступность = РежимРедактирования;
Элементы.ФормаВыбратьКодировку.Доступность = РежимРедактирования;
Если ДанныеФайла.Версия <> ДанныеФайла.ТекущаяВерсия
ИЛИ ДанныеФайла.Служебный Тогда
@@ -306,10 +305,13 @@
Возврат;
КонецЕсли;
Модифицированность = Истина;
КодировкаТекстаФайла = Результат.Значение;
КодировкаПредставление = Результат.Представление;
Если РежимРедактирования Тогда
Модифицированность = Истина;
КонецЕсли;
ПрочитатьТекст();
КонецПроцедуры
@@ -1750,7 +1750,7 @@
КонецЕсли;
Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ДанныеВыбора);
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзJSONВXML(ДанныеВыбора, Контекст.ВидКонтактнойИнформации.Тип);
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзJSONВXML(ДанныеВыбора, Перечисления.ТипыКонтактнойИнформации.Адрес);
Иначе
Значение = "";
КонтактнаяИнформация = "";
@@ -1772,18 +1772,12 @@
Значение, Контекст.ВидКонтактнойИнформации);
КонецЕсли;
Если Контекст.ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес
И Контекст.ВидКонтактнойИнформации.РедактированиеТолькоВДиалоге Тогда
АдресВВидеГиперссылки = Истина;
Иначе
АдресВВидеГиперссылки = Ложь;
КонецЕсли;
Результат.ДанныеВыбора.Вставить("АдресВВидеГиперссылки", АдресВВидеГиперссылки);
Результат.ДанныеВыбора.Вставить("АдресВВидеГиперссылки", Контекст.ВидКонтактнойИнформации.РедактированиеТолькоВДиалоге);
// Подавляем перенос строк в возвращаемом отдельно представлении.
Результат.ДанныеВыбора.Представление = СокрЛП(СтрЗаменить(Результат.ДанныеВыбора.Представление, Символы.ПС, " "));
Результат.ДанныеВыбора.Вставить("Вид", Контекст.ВидКонтактнойИнформации.Ссылка);
Результат.ДанныеВыбора.Вставить("Тип", Контекст.ВидКонтактнойИнформации.Тип);
Результат.ДанныеВыбора.Вставить("Тип", Перечисления.ТипыКонтактнойИнформации.Адрес);
Возврат Результат;
КонецФункции
Loaded 100 of 129 files, more files were not shown because too many files have changed in this diff. Show more