3_1_2_326
This commit is contained in:
1 parent
5b228c805d
commit
4fd2a0fabc
25 files changed
+1297
-709
No files matched your search
BIN
Binary file not shown.
@@ -304,199 +304,13 @@
|
||||
ОписаниеОшибки = Null,
|
||||
УзелПроверкиЗапретаЗагрузки = Неопределено) Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Если ТипЗнч(ДанныеДляПроверки) = Тип("Структура") Тогда
|
||||
ДействующиеДаты = ДанныеДляПроверки.ДействующиеДаты;
|
||||
ДанныеДляПроверки = ДанныеДляПроверки.ДанныеДляПроверки;
|
||||
Иначе
|
||||
ДействующиеДаты = ДатыЗапретаИзмененияСлужебный.ДействующиеДатыЗапрета();
|
||||
КонецЕсли;
|
||||
|
||||
ЗапретИспользуется = ?(УзелПроверкиЗапретаЗагрузки = Неопределено,
|
||||
ДействующиеДаты.ЗапретИзмененияИспользуется,
|
||||
ДействующиеДаты.ЗапретЗагрузкиИспользуется);
|
||||
|
||||
Если Не ЗапретИспользуется Тогда
|
||||
Если ДатыЗапретаИзмененияСлужебный.ПроверкаДатЗапретаОтключена(
|
||||
УзелПроверкиЗапретаЗагрузки = Неопределено, УзелПроверкиЗапретаЗагрузки) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваРазделов = ДействующиеДаты.СвойстваРазделов;
|
||||
ПустойРаздел = ДатыЗапретаИзмененияСлужебный.ПустаяСсылка(
|
||||
Тип("ПланВидовХарактеристикСсылка.РазделыДатЗапретаИзменения"));
|
||||
|
||||
ЗаголовокОшибки =
|
||||
НСтр("ru = 'Ошибка в функции НайденЗапретИзмененияДанных общего модуля ДатыЗапретаИзменения.'")
|
||||
+ Символы.ПС
|
||||
+ Символы.ПС;
|
||||
|
||||
// Приведение данных в соответствие варианту встраивания.
|
||||
Для Каждого Строка Из ДанныеДляПроверки Цикл
|
||||
|
||||
Если Строка.Раздел = Неопределено Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(Строка.Раздел); // см. ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.СвойстваРаздела
|
||||
Если СвойстваРаздела = Неопределено Тогда
|
||||
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'В параметре ДанныеДляПроверки указан несуществующий раздел ""%1"".'"),
|
||||
Строка.Раздел);
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.БезРазделовИОбъектов Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
Строка.Объект = ПустойРаздел;
|
||||
Иначе
|
||||
Если ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Строка.Раздел = СвойстваРазделов.ЕдинственныйРаздел;
|
||||
Иначе
|
||||
Строка.Раздел = СвойстваРаздела.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.ВсеРазделыБезОбъектов
|
||||
Или Не ЗначениеЗаполнено(Строка.Объект) Тогда
|
||||
|
||||
Строка.Объект = Строка.Раздел;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Свертка лишних строк, чтобы сократить число проверок и сообщений.
|
||||
РазделыИОбъекты = ДанныеДляПроверки.Скопировать();
|
||||
РазделыИОбъекты.Свернуть("Раздел, Объект");
|
||||
Отбор = Новый Структура("Раздел, Объект");
|
||||
РазделыИОбъекты.Колонки.Добавить("Дата",
|
||||
Новый ОписаниеТипов("Дата", , , Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
|
||||
Для Каждого РазделИОбъект Из РазделыИОбъекты Цикл
|
||||
ЗаполнитьЗначенияСвойств(Отбор, РазделИОбъект);
|
||||
Строки = ДанныеДляПроверки.НайтиСтроки(Отбор);
|
||||
МинимальнаяДата = Неопределено;
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
ТекущаяДата = НачалоДня(Строка.Дата);
|
||||
Если МинимальнаяДата = Неопределено Тогда
|
||||
МинимальнаяДата = ТекущаяДата;
|
||||
КонецЕсли;
|
||||
Если ТекущаяДата < МинимальнаяДата Тогда
|
||||
МинимальнаяДата = ТекущаяДата;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
РазделИОбъект.Дата = МинимальнаяДата;
|
||||
КонецЦикла;
|
||||
ДанныеДляПроверки = РазделыИОбъекты;
|
||||
|
||||
// Приоритеты дат запрета изменения.
|
||||
// 1. Для раздела, объекта и пользователя.
|
||||
// 2. Для раздела, объекта и группы пользователей.
|
||||
// 3. Для раздела, объекта и любого пользователя.
|
||||
// 4. Для раздела, любого объекта (объект = раздел) и пользователя.
|
||||
// 5. Для раздела, любого объекта (объект = раздел) и группы пользователей.
|
||||
// 6. Для раздела, любого объекта (объект = раздел) и любого пользователя.
|
||||
// 7. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и пользователя.
|
||||
// 8. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и группы пользователей.
|
||||
// 9. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и любого пользователя.
|
||||
|
||||
// Приоритеты дат запрета загрузки.
|
||||
// 1. Для раздела, объекта и узла.
|
||||
// 2. Для раздела, объекта и любого узла.
|
||||
// 3. Для раздела, любого объекта (объект = раздел) и узла.
|
||||
// 4. Для раздела, любого объекта (объект = раздел) и любого узла.
|
||||
// 5. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и узла.
|
||||
// 6. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и любого узла.
|
||||
|
||||
ЗапретыИзменения = ДанныеДляПроверки.Скопировать(Новый Массив);
|
||||
ЗапретыИзменения.Колонки.Добавить("Адресат");
|
||||
ЗапретыИзменения.Колонки.Добавить("Данные");
|
||||
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
ДополнительныеПараметры.Вставить("УзелПроверкиЗапретаЗагрузки", УзелПроверкиЗапретаЗагрузки);
|
||||
|
||||
// Поиск запретов изменения данных.
|
||||
Если УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Разделы = ДействующиеДаты.ДляПользователей.Разделы;
|
||||
Пользователь = Пользователи.АвторизованныйПользователь();
|
||||
ГруппыПользователя = ДействующиеДаты.ГруппыПользователей.Получить(Пользователь);
|
||||
Если ГруппыПользователя = Неопределено Тогда
|
||||
ГруппыПользователя = Новый Массив;
|
||||
КонецЕсли;
|
||||
ДополнительныеПараметры.Вставить("Пользователь", Пользователь);
|
||||
ДополнительныеПараметры.Вставить("ГруппыПользователя", ГруппыПользователя);
|
||||
Иначе
|
||||
Разделы = ДействующиеДаты.ДляИнформационныхБаз.Разделы;
|
||||
ДополнительныеПараметры.Вставить("ПустойУзелПланаОбмена",
|
||||
ОбщегоНазначения.МенеджерОбъектаПоСсылке(УзелПроверкиЗапретаЗагрузки).ПустаяСсылка());
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Данные Из ДанныеДляПроверки Цикл
|
||||
РазделЗапрета = Данные.Раздел;
|
||||
ОбъектЗапрета = Данные.Объект;
|
||||
|
||||
Объекты = Разделы.Получить(РазделЗапрета);
|
||||
Адресаты = Неопределено;
|
||||
ДатаЗапрета = Неопределено;
|
||||
|
||||
Если Объекты <> Неопределено Тогда
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты <> Неопределено Тогда
|
||||
// Поиск для раздела и объекта.
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
ОбъектЗапрета = РазделЗапрета;
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты <> Неопределено Тогда
|
||||
// Поиск для раздела и любого объекта.
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
РазделЗапрета = ПустойРаздел;
|
||||
ОбъектЗапрета = РазделЗапрета;
|
||||
Объекты = Разделы.Получить(РазделЗапрета);
|
||||
Если Объекты = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
// Поиск для любого раздела и любого объекта (общая дата).
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ДатаЗапрета < Данные.Дата Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Адресат = Пользователь;
|
||||
Иначе
|
||||
Адресат = УзелПроверкиЗапретаЗагрузки;
|
||||
КонецЕсли;
|
||||
|
||||
Строка = ЗапретыИзменения.Добавить();
|
||||
Строка.Данные = Данные;
|
||||
Строка.Раздел = РазделЗапрета;
|
||||
Строка.Объект = ОбъектЗапрета;
|
||||
Строка.Адресат = Адресат;
|
||||
Строка.Дата = ДатаЗапрета;
|
||||
КонецЦикла;
|
||||
|
||||
Если ТипЗнч(ОписаниеДанных) = Тип("Структура")
|
||||
И ТипЗнч(ОписаниеОшибки) <> Тип("Null")
|
||||
И ЗапретыИзменения.Количество() > 0 Тогда
|
||||
|
||||
ОписаниеОшибки = СообщениеОЗапретах(ЗапретыИзменения, ОписаниеДанных, СвойстваРазделов,
|
||||
УзелПроверкиЗапретаЗагрузки <> Неопределено, ТипЗнч(ОписаниеОшибки) = Тип("Структура"));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗапретыИзменения.Количество() > 0;
|
||||
Возврат ДатыЗапретаИзмененияСлужебный.НайденЗапретИзмененияДанных(ДанныеДляПроверки,
|
||||
ОписаниеДанных, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -696,233 +510,4 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для функции НайденЗапретИзмененияДанных.
|
||||
Функция НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры)
|
||||
|
||||
ДатаЗапрета = Неопределено;
|
||||
|
||||
Если ДополнительныеПараметры.УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Адресат = ДополнительныеПараметры.Пользователь;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Для Каждого Группа Из ДополнительныеПараметры.ГруппыПользователя Цикл
|
||||
Дата = Адресаты.Получить(Группа);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
ДатаЗапрета = Дата;
|
||||
Адресат = Группа;
|
||||
ИначеЕсли Дата <> Неопределено И ДатаЗапрета < Дата Тогда
|
||||
ДатаЗапрета = Дата;
|
||||
Адресат = Группа;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Адресат = ДополнительныеПараметры.УзелПроверкиЗапретаЗагрузки;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = ДополнительныеПараметры.ПустойУзелПланаОбмена;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ДатаЗапрета;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции НайденЗапретИзмененияДанных.
|
||||
Функция СообщениеОЗапретах(Запреты,
|
||||
ОписаниеДанных,
|
||||
СвойстваРазделов,
|
||||
ПоискЗапретовЗагрузки,
|
||||
СтруктурноеОписание)
|
||||
|
||||
НоваяВерсия = ОписаниеДанных.НоваяВерсия;
|
||||
Текст = ПредставлениеДанных(ОписаниеДанных.Данные);
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки = Новый Структура;
|
||||
ОписаниеОшибки.Вставить("ПредставлениеДанных", Текст);
|
||||
ОписаниеОшибки.Вставить("Запреты", Новый ТаблицаЗначений);
|
||||
Колонки = ОписаниеОшибки.Запреты.Колонки;
|
||||
Колонки.Добавить("Дата", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
Колонки.Добавить("Раздел", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная)));
|
||||
Колонки.Добавить("Объект", Метаданные.ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.Тип);
|
||||
Колонки.Добавить("ДатаЗапрета", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
Колонки.Добавить("ОбщаяДата", Новый ОписаниеТипов("Булево"));
|
||||
Колонки.Добавить("ДляВсехОбъектов", Новый ОписаниеТипов("Булево"));
|
||||
Колонки.Добавить("Адресат", Метаданные.ОпределяемыеТипы.АдресатЗапретаИзменения.Тип);
|
||||
Колонки.Добавить("Описание", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(1000,ДопустимаяДлина.Переменная)));
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Текст) Тогда
|
||||
Если ПоискЗапретовЗагрузки Тогда
|
||||
Если НоваяВерсия Тогда
|
||||
Шаблон = НСтр("ru = '%1 невозможно загрузить в запрещенный период.'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = '%1 в запрещенном периоде невозможно заменить загружаемыми данными.'");
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если НоваяВерсия Тогда
|
||||
Шаблон = НСтр("ru = '%1 невозможно поместить в запрещенный период.'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = '%1 в запрещенном периоде невозможно изменить.'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, Текст) + Символы.ПС + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
ПустойРаздел = ДатыЗапретаИзмененияСлужебный.ПустаяСсылка(
|
||||
Тип("ПланВидовХарактеристикСсылка.РазделыДатЗапретаИзменения"));
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки.Вставить("ЗаголовокОшибки", СокрЛП(Текст));
|
||||
КонецЕсли;
|
||||
ТекстОшибки = Текст;
|
||||
|
||||
Для Каждого Запрет Из Запреты Цикл
|
||||
Текст = "";
|
||||
Проверка = Запрет.Данные;
|
||||
Если Запрет.Раздел = Запрет.Объект Тогда
|
||||
Если Запрет.Раздел = ПустойРаздел Тогда
|
||||
Текст = Текст + НСтр("ru = 'Дате %1'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по разделу ""%2""'");
|
||||
КонецЕсли;
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по объекту ""%3""'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по объекту ""%3"" раздела ""%2""'");
|
||||
КонецЕсли;
|
||||
Если ПоискЗапретовЗагрузки Тогда
|
||||
Текст = Текст + " " + НСтр("ru = 'соответствует запрет загрузки данных'") + " ";
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = 'соответствует запрет изменения данных'") + " ";
|
||||
КонецЕсли;
|
||||
Если Запрет.Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей Тогда
|
||||
Текст = Текст + НСтр("ru = 'для всех пользователей'");
|
||||
|
||||
ИначеЕсли Запрет.Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз Тогда
|
||||
Текст = Текст + НСтр("ru = 'для всех информационных баз'");
|
||||
|
||||
ИначеЕсли ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ГруппыПользователей")
|
||||
ИЛИ ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда
|
||||
Текст = Текст + НСтр("ru = 'для группы пользователей ""%4""'");
|
||||
|
||||
ИначеЕсли ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.Пользователи")
|
||||
ИЛИ ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ВнешниеПользователи") Тогда
|
||||
Текст = Текст + НСтр("ru = 'для пользователя ""%4""'");
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(Запрет.Адресат) Тогда
|
||||
Текст = Текст + НСтр("ru = 'для информационной базы ""%4""'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'для всех информационных баз ""%6""'");
|
||||
КонецЕсли;
|
||||
Текст = Текст + " " + НСтр("ru = 'по %5'");
|
||||
Если Не СвойстваРазделов.БезРазделовИОбъектов Тогда
|
||||
Если ЗначениеЗаполнено(Запрет.Раздел) Тогда
|
||||
Если Запрет.Объект = Запрет.Раздел Тогда
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на раздел ""%2"")'");
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на объект ""%3"")'");
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на объект ""%3"" раздела ""%2"")'");
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = '(установлена общая дата запрета)'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Текст = СтрЗаменить(Текст, "%1", Формат(Проверка.Дата, "ДЛФ=Д"));
|
||||
Текст = СтрЗаменить(Текст, "%2", Проверка.Раздел);
|
||||
Текст = СтрЗаменить(Текст, "%3", Проверка.Объект);
|
||||
Текст = СтрЗаменить(Текст, "%4", Запрет.Адресат);
|
||||
Текст = СтрЗаменить(Текст, "%5", Формат(Запрет.Дата, "ДЛФ=Д"));
|
||||
Текст = СтрЗаменить(Текст, "%6", Запрет.Адресат.Метаданные().Представление());
|
||||
|
||||
ТекстОшибки = ТекстОшибки + Текст + Символы.ПС + Символы.ПС;
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
СтрокаОписанияОшибки = ОписаниеОшибки.Запреты.Добавить();
|
||||
СтрокаОписанияОшибки.Дата = Проверка.Дата;
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(Проверка.Раздел); // см. ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.СвойстваРаздела
|
||||
СтрокаОписанияОшибки.Раздел = СвойстваРаздела.Имя;
|
||||
СтрокаОписанияОшибки.Объект = ?(Проверка.Объект = Проверка.Раздел, Неопределено, Проверка.Объект);
|
||||
СтрокаОписанияОшибки.ДатаЗапрета = Запрет.Дата;
|
||||
СтрокаОписанияОшибки.ОбщаяДата = ?(ЗначениеЗаполнено(Запрет.Раздел), Ложь, Истина);
|
||||
Если Запрет.Раздел = Запрет.Объект Тогда
|
||||
СтрокаОписанияОшибки.ДляВсехОбъектов = Истина;
|
||||
Иначе
|
||||
СтрокаОписанияОшибки.ДляВсехОбъектов = Ложь;
|
||||
КонецЕсли;
|
||||
СтрокаОписанияОшибки.Адресат = Запрет.Адресат;
|
||||
СтрокаОписанияОшибки.Описание = Текст;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки = СокрП(ТекстОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОписаниеОшибки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции СообщениеОЗапретах.
|
||||
Функция ПредставлениеДанных(Данные)
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Строка") Тогда
|
||||
Возврат СокрЛП(Данные);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Структура") Тогда
|
||||
ЭтоРегистр = Истина;
|
||||
Если ТипЗнч(Данные.Регистр) = Тип("Строка") Тогда
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Данные.Регистр);
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Данные.Регистр));
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Данные));
|
||||
ЭтоРегистр = ОбщегоНазначения.ЭтоРегистр(ОбъектМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектМетаданных = Неопределено Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоРегистр Тогда
|
||||
ПредставлениеДанных = ОбъектМетаданных.Представление();
|
||||
|
||||
КоличествоПолей = 0;
|
||||
Для каждого ЭлементОтбора Из Данные.Отбор Цикл
|
||||
Если ЭлементОтбора.Использование Тогда
|
||||
КоличествоПолей = КоличествоПолей + 1;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если КоличествоПолей = 1 Тогда
|
||||
ПредставлениеДанных = ПредставлениеДанных
|
||||
+ " " + НСтр("ru = 'с полем'") + " " + Строка(Данные.Отбор);
|
||||
|
||||
ИначеЕсли КоличествоПолей > 1 Тогда
|
||||
ПредставлениеДанных = ПредставлениеДанных
|
||||
+ " " + НСтр("ru = 'с полями'") + " " + Строка(Данные.Отбор);
|
||||
КонецЕсли;
|
||||
ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
|
||||
ПредставлениеДанных = Строка(Данные);
|
||||
Иначе
|
||||
ПредставлениеДанных = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 (%2)", Строка(Данные), ОбъектМетаданных.Представление());
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПредставлениеДанных;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -476,6 +476,20 @@
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПроверкаДатЗапретаОтключена(ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ДатыЗапретаИзмененияПереопределяемый.ПередПроверкойЗапретаИзменения(
|
||||
Объект, ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки, ВерсияОбъекта);
|
||||
|
||||
Возврат ПроверкаЗапретаИзменения = Ложь // НЕ проверять запрет изменения.
|
||||
И УзелПроверкиЗапретаЗагрузки = Неопределено; // НЕ проверять запрет загрузки.
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПроверкаДатЗапретаОтключена(ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки) Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Если ПараметрыСеанса.ПропуститьПроверкуЗапретаИзменения Тогда
|
||||
Возврат Истина;
|
||||
@@ -492,11 +506,7 @@
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ДатыЗапретаИзмененияПереопределяемый.ПередПроверкойЗапретаИзменения(
|
||||
Объект, ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки, ВерсияОбъекта);
|
||||
|
||||
Возврат ПроверкаЗапретаИзменения = Ложь // НЕ проверять запрет изменения.
|
||||
И УзелПроверкиЗапретаЗагрузки = Неопределено; // НЕ проверять запрет загрузки.
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -531,7 +541,7 @@
|
||||
ДанныеИДаты.Вставить("ДействующиеДаты", ДействующиеДаты);
|
||||
ДанныеИДаты.Вставить("ДанныеДляПроверки", ДанныеДляПроверки);
|
||||
|
||||
ЗапретНайден = ДатыЗапретаИзменения.НайденЗапретИзмененияДанных(ДанныеИДаты,
|
||||
ЗапретНайден = НайденЗапретИзмененияДанных(ДанныеИДаты,
|
||||
ОписаниеДанных, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -549,7 +559,7 @@
|
||||
ДанныеИДаты.Вставить("ДействующиеДаты", ДействующиеДаты);
|
||||
ДанныеИДаты.Вставить("ДанныеДляПроверки", ДанныеДляПроверки);
|
||||
|
||||
ЗапретНайден = ДатыЗапретаИзменения.НайденЗапретИзмененияДанных(ДанныеИДаты,
|
||||
ЗапретНайден = НайденЗапретИзмененияДанных(ДанныеИДаты,
|
||||
ОписаниеДанных, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -557,6 +567,207 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// См. ДатыЗапретаИзменения.НайденЗапретИзмененияДанных.
|
||||
Функция НайденЗапретИзмененияДанных(Знач ДанныеДляПроверки,
|
||||
ОписаниеДанных = Неопределено,
|
||||
ОписаниеОшибки = Null,
|
||||
УзелПроверкиЗапретаЗагрузки = Неопределено) Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Если ТипЗнч(ДанныеДляПроверки) = Тип("Структура") Тогда
|
||||
ДействующиеДаты = ДанныеДляПроверки.ДействующиеДаты;
|
||||
ДанныеДляПроверки = ДанныеДляПроверки.ДанныеДляПроверки;
|
||||
Иначе
|
||||
ДействующиеДаты = ДействующиеДатыЗапрета();
|
||||
КонецЕсли;
|
||||
|
||||
ЗапретИспользуется = ?(УзелПроверкиЗапретаЗагрузки = Неопределено,
|
||||
ДействующиеДаты.ЗапретИзмененияИспользуется,
|
||||
ДействующиеДаты.ЗапретЗагрузкиИспользуется);
|
||||
|
||||
Если Не ЗапретИспользуется Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваРазделов = ДействующиеДаты.СвойстваРазделов;
|
||||
ПустойРаздел = ПустаяСсылка(Тип("ПланВидовХарактеристикСсылка.РазделыДатЗапретаИзменения"));
|
||||
|
||||
ЗаголовокОшибки =
|
||||
НСтр("ru = 'Ошибка в функции НайденЗапретИзмененияДанных общего модуля ДатыЗапретаИзменения.'")
|
||||
+ Символы.ПС
|
||||
+ Символы.ПС;
|
||||
|
||||
// Приведение данных в соответствие варианту встраивания.
|
||||
Для Каждого Строка Из ДанныеДляПроверки Цикл
|
||||
|
||||
Если Строка.Раздел = Неопределено Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(Строка.Раздел); // см. ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.СвойстваРаздела
|
||||
Если СвойстваРаздела = Неопределено Тогда
|
||||
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'В параметре ДанныеДляПроверки указан несуществующий раздел ""%1"".'"),
|
||||
Строка.Раздел);
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.БезРазделовИОбъектов Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
Строка.Объект = ПустойРаздел;
|
||||
Иначе
|
||||
Если ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Строка.Раздел = СвойстваРазделов.ЕдинственныйРаздел;
|
||||
Иначе
|
||||
Строка.Раздел = СвойстваРаздела.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.ВсеРазделыБезОбъектов
|
||||
Или Не ЗначениеЗаполнено(Строка.Объект) Тогда
|
||||
|
||||
Строка.Объект = Строка.Раздел;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Свертка лишних строк, чтобы сократить число проверок и сообщений.
|
||||
РазделыИОбъекты = ДанныеДляПроверки.Скопировать();
|
||||
РазделыИОбъекты.Свернуть("Раздел, Объект");
|
||||
Отбор = Новый Структура("Раздел, Объект");
|
||||
РазделыИОбъекты.Колонки.Добавить("Дата",
|
||||
Новый ОписаниеТипов("Дата", , , Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
|
||||
Для Каждого РазделИОбъект Из РазделыИОбъекты Цикл
|
||||
ЗаполнитьЗначенияСвойств(Отбор, РазделИОбъект);
|
||||
Строки = ДанныеДляПроверки.НайтиСтроки(Отбор);
|
||||
МинимальнаяДата = Неопределено;
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
ТекущаяДата = НачалоДня(Строка.Дата);
|
||||
Если МинимальнаяДата = Неопределено Тогда
|
||||
МинимальнаяДата = ТекущаяДата;
|
||||
КонецЕсли;
|
||||
Если ТекущаяДата < МинимальнаяДата Тогда
|
||||
МинимальнаяДата = ТекущаяДата;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
РазделИОбъект.Дата = МинимальнаяДата;
|
||||
КонецЦикла;
|
||||
ДанныеДляПроверки = РазделыИОбъекты;
|
||||
|
||||
// Приоритеты дат запрета изменения.
|
||||
// 1. Для раздела, объекта и пользователя.
|
||||
// 2. Для раздела, объекта и группы пользователей.
|
||||
// 3. Для раздела, объекта и любого пользователя.
|
||||
// 4. Для раздела, любого объекта (объект = раздел) и пользователя.
|
||||
// 5. Для раздела, любого объекта (объект = раздел) и группы пользователей.
|
||||
// 6. Для раздела, любого объекта (объект = раздел) и любого пользователя.
|
||||
// 7. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и пользователя.
|
||||
// 8. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и группы пользователей.
|
||||
// 9. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и любого пользователя.
|
||||
|
||||
// Приоритеты дат запрета загрузки.
|
||||
// 1. Для раздела, объекта и узла.
|
||||
// 2. Для раздела, объекта и любого узла.
|
||||
// 3. Для раздела, любого объекта (объект = раздел) и узла.
|
||||
// 4. Для раздела, любого объекта (объект = раздел) и любого узла.
|
||||
// 5. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и узла.
|
||||
// 6. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и любого узла.
|
||||
|
||||
ЗапретыИзменения = ДанныеДляПроверки.Скопировать(Новый Массив);
|
||||
ЗапретыИзменения.Колонки.Добавить("Адресат");
|
||||
ЗапретыИзменения.Колонки.Добавить("Данные");
|
||||
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
ДополнительныеПараметры.Вставить("УзелПроверкиЗапретаЗагрузки", УзелПроверкиЗапретаЗагрузки);
|
||||
|
||||
// Поиск запретов изменения данных.
|
||||
Если УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Разделы = ДействующиеДаты.ДляПользователей.Разделы;
|
||||
Пользователь = Пользователи.АвторизованныйПользователь();
|
||||
ГруппыПользователя = ДействующиеДаты.ГруппыПользователей.Получить(Пользователь);
|
||||
Если ГруппыПользователя = Неопределено Тогда
|
||||
ГруппыПользователя = Новый Массив;
|
||||
КонецЕсли;
|
||||
ДополнительныеПараметры.Вставить("Пользователь", Пользователь);
|
||||
ДополнительныеПараметры.Вставить("ГруппыПользователя", ГруппыПользователя);
|
||||
Иначе
|
||||
Разделы = ДействующиеДаты.ДляИнформационныхБаз.Разделы;
|
||||
ДополнительныеПараметры.Вставить("ПустойУзелПланаОбмена",
|
||||
ОбщегоНазначения.МенеджерОбъектаПоСсылке(УзелПроверкиЗапретаЗагрузки).ПустаяСсылка());
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Данные Из ДанныеДляПроверки Цикл
|
||||
РазделЗапрета = Данные.Раздел;
|
||||
ОбъектЗапрета = Данные.Объект;
|
||||
|
||||
Объекты = Разделы.Получить(РазделЗапрета);
|
||||
Адресаты = Неопределено;
|
||||
ДатаЗапрета = Неопределено;
|
||||
|
||||
Если Объекты <> Неопределено Тогда
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты <> Неопределено Тогда
|
||||
// Поиск для раздела и объекта.
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
ОбъектЗапрета = РазделЗапрета;
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты <> Неопределено Тогда
|
||||
// Поиск для раздела и любого объекта.
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
РазделЗапрета = ПустойРаздел;
|
||||
ОбъектЗапрета = РазделЗапрета;
|
||||
Объекты = Разделы.Получить(РазделЗапрета);
|
||||
Если Объекты = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
// Поиск для любого раздела и любого объекта (общая дата).
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ДатаЗапрета < Данные.Дата Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Адресат = Пользователь;
|
||||
Иначе
|
||||
Адресат = УзелПроверкиЗапретаЗагрузки;
|
||||
КонецЕсли;
|
||||
|
||||
Строка = ЗапретыИзменения.Добавить();
|
||||
Строка.Данные = Данные;
|
||||
Строка.Раздел = РазделЗапрета;
|
||||
Строка.Объект = ОбъектЗапрета;
|
||||
Строка.Адресат = Адресат;
|
||||
Строка.Дата = ДатаЗапрета;
|
||||
КонецЦикла;
|
||||
|
||||
Если ТипЗнч(ОписаниеДанных) = Тип("Структура")
|
||||
И ТипЗнч(ОписаниеОшибки) <> Тип("Null")
|
||||
И ЗапретыИзменения.Количество() > 0 Тогда
|
||||
|
||||
ОписаниеОшибки = СообщениеОЗапретах(ЗапретыИзменения, ОписаниеДанных, СвойстваРазделов,
|
||||
УзелПроверкиЗапретаЗагрузки <> Неопределено, ТипЗнч(ОписаниеОшибки) = Тип("Структура"));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗапретыИзменения.Количество() > 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает действующие даты запрета с учетом последней версии после изменений.
|
||||
Функция ДействующиеДатыЗапрета() Экспорт
|
||||
|
||||
@@ -597,7 +808,7 @@
|
||||
КонецФункции
|
||||
|
||||
// Возвращает пустую ссылку указанного типа.
|
||||
Функция ПустаяСсылка(ТипСсылки) Экспорт
|
||||
Функция ПустаяСсылка(ТипСсылки)
|
||||
|
||||
Типы = Новый Массив;
|
||||
Типы.Добавить(ТипСсылки);
|
||||
@@ -900,7 +1111,7 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Вспомогательные процедуры и функции.
|
||||
|
||||
// Для процедуры ПропуститьПроверкуДатЗапрета.
|
||||
// Для функции ПроверкаДатЗапретаОтключена.
|
||||
Функция ЗапретИзмененияДанныхНеИспользуется(ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки)
|
||||
|
||||
Если ОбновлениеИнформационнойБазы.НеобходимоОбновлениеИнформационнойБазы() Тогда
|
||||
@@ -1334,6 +1545,234 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции НайденЗапретИзмененияДанных.
|
||||
|
||||
Функция НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры)
|
||||
|
||||
ДатаЗапрета = Неопределено;
|
||||
|
||||
Если ДополнительныеПараметры.УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Адресат = ДополнительныеПараметры.Пользователь;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Для Каждого Группа Из ДополнительныеПараметры.ГруппыПользователя Цикл
|
||||
Дата = Адресаты.Получить(Группа);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
ДатаЗапрета = Дата;
|
||||
Адресат = Группа;
|
||||
ИначеЕсли Дата <> Неопределено И ДатаЗапрета < Дата Тогда
|
||||
ДатаЗапрета = Дата;
|
||||
Адресат = Группа;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Адресат = ДополнительныеПараметры.УзелПроверкиЗапретаЗагрузки;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = ДополнительныеПараметры.ПустойУзелПланаОбмена;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ДатаЗапрета;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СообщениеОЗапретах(Запреты,
|
||||
ОписаниеДанных,
|
||||
СвойстваРазделов,
|
||||
ПоискЗапретовЗагрузки,
|
||||
СтруктурноеОписание)
|
||||
|
||||
НоваяВерсия = ОписаниеДанных.НоваяВерсия;
|
||||
Текст = ПредставлениеДанных(ОписаниеДанных.Данные);
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки = Новый Структура;
|
||||
ОписаниеОшибки.Вставить("ПредставлениеДанных", Текст);
|
||||
ОписаниеОшибки.Вставить("Запреты", Новый ТаблицаЗначений);
|
||||
Колонки = ОписаниеОшибки.Запреты.Колонки;
|
||||
Колонки.Добавить("Дата", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
Колонки.Добавить("Раздел", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная)));
|
||||
Колонки.Добавить("Объект", Метаданные.ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.Тип);
|
||||
Колонки.Добавить("ДатаЗапрета", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
Колонки.Добавить("ОбщаяДата", Новый ОписаниеТипов("Булево"));
|
||||
Колонки.Добавить("ДляВсехОбъектов", Новый ОписаниеТипов("Булево"));
|
||||
Колонки.Добавить("Адресат", Метаданные.ОпределяемыеТипы.АдресатЗапретаИзменения.Тип);
|
||||
Колонки.Добавить("Описание", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(1000,ДопустимаяДлина.Переменная)));
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Текст) Тогда
|
||||
Если ПоискЗапретовЗагрузки Тогда
|
||||
Если НоваяВерсия Тогда
|
||||
Шаблон = НСтр("ru = '%1 невозможно загрузить в запрещенный период.'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = '%1 в запрещенном периоде невозможно заменить загружаемыми данными.'");
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если НоваяВерсия Тогда
|
||||
Шаблон = НСтр("ru = '%1 невозможно поместить в запрещенный период.'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = '%1 в запрещенном периоде невозможно изменить.'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, Текст) + Символы.ПС + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
ПустойРаздел = ПустаяСсылка(Тип("ПланВидовХарактеристикСсылка.РазделыДатЗапретаИзменения"));
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки.Вставить("ЗаголовокОшибки", СокрЛП(Текст));
|
||||
КонецЕсли;
|
||||
ТекстОшибки = Текст;
|
||||
|
||||
Для Каждого Запрет Из Запреты Цикл
|
||||
Текст = "";
|
||||
Проверка = Запрет.Данные;
|
||||
Если Запрет.Раздел = Запрет.Объект Тогда
|
||||
Если Запрет.Раздел = ПустойРаздел Тогда
|
||||
Текст = Текст + НСтр("ru = 'Дате %1'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по разделу ""%2""'");
|
||||
КонецЕсли;
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по объекту ""%3""'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по объекту ""%3"" раздела ""%2""'");
|
||||
КонецЕсли;
|
||||
Если ПоискЗапретовЗагрузки Тогда
|
||||
Текст = Текст + " " + НСтр("ru = 'соответствует запрет загрузки данных'") + " ";
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = 'соответствует запрет изменения данных'") + " ";
|
||||
КонецЕсли;
|
||||
Если Запрет.Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей Тогда
|
||||
Текст = Текст + НСтр("ru = 'для всех пользователей'");
|
||||
|
||||
ИначеЕсли Запрет.Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз Тогда
|
||||
Текст = Текст + НСтр("ru = 'для всех информационных баз'");
|
||||
|
||||
ИначеЕсли ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ГруппыПользователей")
|
||||
ИЛИ ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда
|
||||
Текст = Текст + НСтр("ru = 'для группы пользователей ""%4""'");
|
||||
|
||||
ИначеЕсли ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.Пользователи")
|
||||
ИЛИ ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ВнешниеПользователи") Тогда
|
||||
Текст = Текст + НСтр("ru = 'для пользователя ""%4""'");
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(Запрет.Адресат) Тогда
|
||||
Текст = Текст + НСтр("ru = 'для информационной базы ""%4""'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'для всех информационных баз ""%6""'");
|
||||
КонецЕсли;
|
||||
Текст = Текст + " " + НСтр("ru = 'по %5'");
|
||||
Если Не СвойстваРазделов.БезРазделовИОбъектов Тогда
|
||||
Если ЗначениеЗаполнено(Запрет.Раздел) Тогда
|
||||
Если Запрет.Объект = Запрет.Раздел Тогда
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на раздел ""%2"")'");
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на объект ""%3"")'");
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на объект ""%3"" раздела ""%2"")'");
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = '(установлена общая дата запрета)'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Текст = СтрЗаменить(Текст, "%1", Формат(Проверка.Дата, "ДЛФ=Д"));
|
||||
Текст = СтрЗаменить(Текст, "%2", Проверка.Раздел);
|
||||
Текст = СтрЗаменить(Текст, "%3", Проверка.Объект);
|
||||
Текст = СтрЗаменить(Текст, "%4", Запрет.Адресат);
|
||||
Текст = СтрЗаменить(Текст, "%5", Формат(Запрет.Дата, "ДЛФ=Д"));
|
||||
Текст = СтрЗаменить(Текст, "%6", Запрет.Адресат.Метаданные().Представление());
|
||||
|
||||
ТекстОшибки = ТекстОшибки + Текст + Символы.ПС + Символы.ПС;
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
СтрокаОписанияОшибки = ОписаниеОшибки.Запреты.Добавить();
|
||||
СтрокаОписанияОшибки.Дата = Проверка.Дата;
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(Проверка.Раздел); // см. ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.СвойстваРаздела
|
||||
СтрокаОписанияОшибки.Раздел = СвойстваРаздела.Имя;
|
||||
СтрокаОписанияОшибки.Объект = ?(Проверка.Объект = Проверка.Раздел, Неопределено, Проверка.Объект);
|
||||
СтрокаОписанияОшибки.ДатаЗапрета = Запрет.Дата;
|
||||
СтрокаОписанияОшибки.ОбщаяДата = ?(ЗначениеЗаполнено(Запрет.Раздел), Ложь, Истина);
|
||||
Если Запрет.Раздел = Запрет.Объект Тогда
|
||||
СтрокаОписанияОшибки.ДляВсехОбъектов = Истина;
|
||||
Иначе
|
||||
СтрокаОписанияОшибки.ДляВсехОбъектов = Ложь;
|
||||
КонецЕсли;
|
||||
СтрокаОписанияОшибки.Адресат = Запрет.Адресат;
|
||||
СтрокаОписанияОшибки.Описание = Текст;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки = СокрП(ТекстОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОписаниеОшибки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции СообщениеОЗапретах.
|
||||
Функция ПредставлениеДанных(Данные)
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Строка") Тогда
|
||||
Возврат СокрЛП(Данные);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Структура") Тогда
|
||||
ЭтоРегистр = Истина;
|
||||
Если ТипЗнч(Данные.Регистр) = Тип("Строка") Тогда
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Данные.Регистр);
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Данные.Регистр));
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Данные));
|
||||
ЭтоРегистр = ОбщегоНазначения.ЭтоРегистр(ОбъектМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектМетаданных = Неопределено Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоРегистр Тогда
|
||||
ПредставлениеДанных = ОбъектМетаданных.Представление();
|
||||
|
||||
КоличествоПолей = 0;
|
||||
Для каждого ЭлементОтбора Из Данные.Отбор Цикл
|
||||
Если ЭлементОтбора.Использование Тогда
|
||||
КоличествоПолей = КоличествоПолей + 1;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если КоличествоПолей = 1 Тогда
|
||||
ПредставлениеДанных = ПредставлениеДанных
|
||||
+ " " + НСтр("ru = 'с полем'") + " " + Строка(Данные.Отбор);
|
||||
|
||||
ИначеЕсли КоличествоПолей > 1 Тогда
|
||||
ПредставлениеДанных = ПредставлениеДанных
|
||||
+ " " + НСтр("ru = 'с полями'") + " " + Строка(Данные.Отбор);
|
||||
КонецЕсли;
|
||||
ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
|
||||
ПредставлениеДанных = Строка(Данные);
|
||||
Иначе
|
||||
ПредставлениеДанных = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 (%2)", Строка(Данные), ОбъектМетаданных.Представление());
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПредставлениеДанных;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для процедуры ЗначениеПараметраСеансаДействующиеДатыЗапретаИзменения.
|
||||
|
||||
Функция ЗапросДатЗапретаИзменения()
|
||||
|
||||
@@ -768,7 +768,7 @@
|
||||
// Источник - Структура - источник данных, которые необходимо преобразовать в объект XDTO.
|
||||
// ТипXDTO - Строка - тип объекта или тип значения XDTO, к которому надо преобразовать данные.
|
||||
// Приемник - ОбъектXDTO - объект, в который будет помещен результат.
|
||||
// СсылкиИзОбъекта - Массив - содержит общий список выгруженных по ссылкам объектов.
|
||||
// СсылкиИзОбъекта - Массив из ЛюбаяСсылка - содержит общий список выгруженных по ссылкам объектов.
|
||||
// ПроведеноЗаполнениеСвойств - Булево - параметр для определения заполненности общих составных свойств.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
@@ -993,7 +993,7 @@
|
||||
// Источник - ЛюбаяСсылка - Ссылка на выгружаемый объект информационной базы.
|
||||
// ПравилоКонвертации - СтрокаТаблицыЗначений - Строка таблицы правил конвертации объектов,
|
||||
// в соответствии с которой выполняется преобразование.
|
||||
// СтекВыгрузки - массив - ссылки на выгружаемые объекты с учетом вложенности.
|
||||
// СтекВыгрузки - Массив из ЛюбаяСсылка - ссылки на выгружаемые объекты с учетом вложенности.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - результат преобразования.
|
||||
@@ -1042,9 +1042,11 @@
|
||||
|
||||
Если ПравилоКонвертации.ЭтоКонстанта Тогда
|
||||
|
||||
Если ПравилоКонвертации.ТипXDTO.Свойства.Количество() = 1 Тогда
|
||||
ТипОбъекта = ПравилоКонвертации.ТипXDTO; // ТипОбъектаXDTO
|
||||
|
||||
Приемник.Вставить(ПравилоКонвертации.ТипXDTO.Свойства[0].Имя, Источник.Значение);
|
||||
Если ТипОбъекта.Свойства.Количество() = 1 Тогда
|
||||
|
||||
Приемник.Вставить(ТипОбъекта.Свойства[0].Имя, Источник.Значение);
|
||||
|
||||
Иначе
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
@@ -1284,8 +1286,8 @@
|
||||
// ПолучательСвойства - Структура - Получатель данных типа Структура, в которой должно храниться значение выгруженного свойства.
|
||||
// ПКС - СтрокаТаблицыЗначений - Строка таблицы правил конвертации свойств, в соответствии с которой
|
||||
// выполняется преобразование.
|
||||
// СтекВыгрузки - Массив - ссылки на выгружаемые объекты с учетом вложенности.
|
||||
// ЭтапВыгрузки - Число - содержит информацию об этапе выгрузки
|
||||
// СтекВыгрузки - Массив из ЛюбаяСсылка - ссылки на выгружаемые объекты с учетом вложенности.
|
||||
// ЭтапВыгрузки - Число - содержит информацию об этапе выгрузки:
|
||||
// 1 - выгрузка до выполнения алгоритма ПриОтправкеДанных,
|
||||
// 2 - выгрузка после выполнения алгоритма ПриОтправкеДанных.
|
||||
//
|
||||
@@ -2271,7 +2273,7 @@
|
||||
// выполнения обмена (ПКО, ПКПД, ПОД и т.д.).
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СправочникСсылка, ДокументСсылка и т.п. - ссылка на объект информационной базы.
|
||||
// ЛюбаяСсылка - ссылка на объект информационной базы.
|
||||
//
|
||||
Функция СсылкаОбъектаПоУИДОбъектаXDTO(УИДОбъектаXDTO, ТипЗначенияОбъектаИБ, КомпонентыОбмена) Экспорт
|
||||
|
||||
@@ -5364,7 +5366,7 @@
|
||||
|
||||
КлючТаблицыДанных = ОбменДаннымиСервер.КлючТаблицыДанных(
|
||||
ТипОбъектаXDTO.Имя, ПравилоКонвертации.ТипПолученныхДанныхСтрокой, Ложь);
|
||||
ТаблицаДанныхСообщенияОбмена = КомпонентыОбмена.ТаблицыДанныхСообщенияОбмена.Получить(КлючТаблицыДанных);
|
||||
ТаблицаДанныхСообщенияОбмена = КомпонентыОбмена.ТаблицыДанныхСообщенияОбмена.Получить(КлючТаблицыДанных); // ТаблицаЗначений
|
||||
|
||||
УникальныйИдентификаторСтрокой = "";
|
||||
СтрокаТаблицы = Неопределено;
|
||||
@@ -5383,12 +5385,14 @@
|
||||
// Заполняем значения свойств объекта.
|
||||
ЗаполнитьЗначенияСвойств(СтрокаТаблицы, ДанныеДляЗаписиВИБ);
|
||||
|
||||
СсылкаНаОбъект = Неопределено;
|
||||
Если СинхронизироватьПоИдентификатору Тогда
|
||||
СтрокаТаблицы.Ссылка = СсылкаОбъектаПоУИДОбъектаXDTO(ДанныеXDTO.Ссылка.Значение,
|
||||
СсылкаНаОбъект = СсылкаОбъектаПоУИДОбъектаXDTO(ДанныеXDTO.Ссылка.Значение,
|
||||
ПравилоКонвертации.ТипДанных, КомпонентыОбмена);
|
||||
Иначе
|
||||
СтрокаТаблицы.Ссылка = Неопределено;
|
||||
СсылкаНаОбъект = Неопределено;
|
||||
КонецЕсли;
|
||||
СтрокаТаблицы["Ссылка"] = СсылкаНаОбъект;
|
||||
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
@@ -7049,9 +7053,11 @@
|
||||
|
||||
Для Каждого ПравилоКонвертации Из КомпонентыОбмена.ПравилаКонвертацииОбъектов Цикл
|
||||
|
||||
ТипОбъекта = ПравилоКонвертации.ТипXDTO; // ТипОбъектаXDTO
|
||||
|
||||
Отбор = Новый Структура;
|
||||
Отбор.Вставить("Версия", КомпонентыОбмена.ВерсияФорматаОбмена);
|
||||
Отбор.Вставить("Объект", ПравилоКонвертации.ТипXDTO.Имя);
|
||||
Отбор.Вставить("Объект", ТипОбъекта.Имя);
|
||||
|
||||
СтрокиОбъекты = ТаблицаОбъекты.НайтиСтроки(Отбор);
|
||||
Если СтрокиОбъекты.Количество() = 0 Тогда
|
||||
|
||||
@@ -14378,8 +14378,8 @@
|
||||
Функция ОписаниеСтандартногоВариантаДополнительно()
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("Использование", Истина);
|
||||
Результат.Вставить("Порядок", 3);
|
||||
Результат.Вставить("Использование", Ложь);
|
||||
Результат.Вставить("Порядок", 4);
|
||||
Результат.Вставить("Заголовок", "");
|
||||
Результат.Вставить("Пояснение", НСтр("ru = 'Дополнительно будут отправлены данные согласно отбору.'"));
|
||||
|
||||
|
||||
@@ -123,8 +123,8 @@
|
||||
// Процедура дополняет список узлов-получателей объекта переданными значениями.
|
||||
//
|
||||
// Параметры:
|
||||
// Объект - Произвольный - объект, для которого выполняется правило регистрации.
|
||||
// Узлы - Массив - узлы плана обмена, которые необходимо добавить в список узлов-получателей объекта.
|
||||
// Объект - СправочникОбъект, ДокументОбъект - объект, для которого выполняется правило регистрации.
|
||||
// Узлы - Массив из ПланОбменаСсылка - узлы плана обмена, которые необходимо добавить в список узлов-получателей объекта.
|
||||
//
|
||||
Процедура ДополнитьПолучателей(Объект, Узлы) Экспорт
|
||||
|
||||
@@ -148,8 +148,8 @@
|
||||
// Процедура вычитает из списка узлов-получателей объекта переданные значения.
|
||||
//
|
||||
// Параметры:
|
||||
// Объект - Произвольный - объект, для которого выполняется правило регистрации.
|
||||
// Узлы - Массив - узлы плана обмена, которые необходимо вычесть из списка узлов-получателей объекта.
|
||||
// Объект - СправочникОбъект, ДокументОбъект - объект, для которого выполняется правило регистрации.
|
||||
// Узлы - Массив из ПланОбменаСсылка - узлы плана обмена, которые необходимо вычесть из списка узлов-получателей объекта.
|
||||
//
|
||||
Процедура СократитьПолучателей(Объект, Узлы) Экспорт
|
||||
|
||||
@@ -190,11 +190,11 @@
|
||||
// Вычитает один массив элементов из другого массива. Возвращает результат вычитания.
|
||||
//
|
||||
// Параметры:
|
||||
// Массив - Массив - Исходный массив.
|
||||
// МассивВычитания - Массив - Массив, вычитаемый из исходного массива.
|
||||
// Массив - Массив из Произвольный - Исходный массив.
|
||||
// МассивВычитания - Массив из Произвольный - Массив, вычитаемый из исходного массива.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив - результат вычитания.
|
||||
// Массив из Произвольный - результат вычитания.
|
||||
//
|
||||
Функция СократитьМассив(Массив, МассивВычитания) Экспорт
|
||||
|
||||
@@ -205,11 +205,11 @@
|
||||
// Функция возвращает список всех узлов заданного плана обмена кроме предопределенного узла.
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяПланаОбмена - Строка - имя плана обмена, как оно задано в конфигураторе, список узлов для которого необходимо
|
||||
// получить.
|
||||
// ИмяПланаОбмена - Строка - имя плана обмена, как оно задано в конфигураторе,
|
||||
// список узлов для которого необходимо получить.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив - список всех узлов заданного плана обмена.
|
||||
// Массив из ПланОбменаСсылка - список всех узлов заданного плана обмена.
|
||||
//
|
||||
Функция ВсеУзлыПланаОбмена(ИмяПланаОбмена) Экспорт
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
// ИмяПланаОбмена - Строка - имя плана обмена как оно задано в конфигураторе.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// МассивУзловРезультат - Массив - массив узлов-получателей для объекта.
|
||||
// Массив из ПланОбменаСсылка - массив узлов-получателей для объекта.
|
||||
//
|
||||
Функция ОпределитьПолучателей(Объект, ИмяПланаОбмена) Экспорт
|
||||
|
||||
@@ -310,8 +310,13 @@
|
||||
// Вызывается из обработчиков планов обмена: ПриОтправкеДанныхГлавному(), ПриОтправкеДанныхПодчиненному().
|
||||
//
|
||||
// Параметры:
|
||||
// ЭлементДанных, ОтправкаЭлемента - см. описание параметров в синтаксис помощнике
|
||||
// ЭлементДанных - КонстантаМенеджерЗначения, СправочникОбъект, ДокументОбъект, РегистрСведенийНаборЗаписей, и т.п. -
|
||||
// элемент данных.
|
||||
// ОтправкаЭлемента - ОтправкаЭлементаДанных - см. описание параметра "ОтправкаЭлемента" в синтаксис помощнике
|
||||
// для методов ПриОтправкеДанныхГлавному() и ПриОтправкеДанныхПодчиненному().
|
||||
// СозданиеНачальногоОбраза - Булево - признак вызова процедуры при создании начального образа РИБ.
|
||||
// Получатель - ПланОбменаСсылка, Неопределено - узел получателя.
|
||||
// Анализ - Булево - признак вызова процедуры при анализе.
|
||||
//
|
||||
Процедура ПриОтправкеДанныхКорреспонденту(ЭлементДанных,
|
||||
ОтправкаЭлемента,
|
||||
@@ -627,11 +632,13 @@
|
||||
|
||||
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ЭлементНабор.Ключ.ПолноеИмя());
|
||||
|
||||
Пока ЭлементНабор.Значение.Количество() > 0 Цикл
|
||||
ТаблицаОтборы = ЭлементНабор.Значение; // ТаблицаЗначений
|
||||
Пока ТаблицаОтборы.Количество() > 0 Цикл
|
||||
|
||||
Объект = МенеджерОбъекта.СоздатьНаборЗаписей();
|
||||
Для Каждого ЭлементОтбора Из ЭлементНабор.Значение.Колонки Цикл
|
||||
Объект.Отбор[ЭлементОтбора.Имя].Установить(ЭлементНабор.Значение[0][ЭлементОтбора.Имя]);
|
||||
Для Каждого ЭлементОтбора Из ТаблицаОтборы.Колонки Цикл
|
||||
ОбменДаннымиСлужебный.УстановитьЗначениеЭлементаОтбора(
|
||||
Объект.Отбор, ЭлементОтбора.Имя, ТаблицаОтборы[0][ЭлементОтбора.Имя]);
|
||||
КонецЦикла;
|
||||
Объект.Прочитать();
|
||||
|
||||
@@ -639,7 +646,7 @@
|
||||
ПланыОбмена.УдалитьРегистрациюИзменений(Источник.Ссылка, Объект);
|
||||
КонецЕсли;
|
||||
Объект = Неопределено;
|
||||
ЭлементНабор.Значение.Удалить(0);
|
||||
ТаблицаОтборы.Удалить(0);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -801,6 +808,10 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений:
|
||||
// * Ссылка - ЛюбаяСсылка - ссылка на зарегистрированный объект.
|
||||
//
|
||||
Функция ЗарегистрированныеДанныеОдногоСсылочногоТипа(УзелСсылка, ПолноеИмяОбъектаМетаданных)
|
||||
|
||||
Запрос = Новый Запрос(
|
||||
@@ -840,7 +851,7 @@
|
||||
|
||||
Если ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеЭлемента) Тогда
|
||||
|
||||
ЗарегистрированныеДанные[МетаданныеЭлемента] = Новый Массив;
|
||||
КоллекцияСсылок = Новый Массив;
|
||||
|
||||
НаборДанных = ЗарегистрированныеДанныеОдногоСсылочногоТипа(УзелОбъект.Ссылка, ПолноеИмяОбъектаМетаданных);
|
||||
|
||||
@@ -849,11 +860,13 @@
|
||||
СсылкаНаОбъект = СтрокаДанные.Ссылка;
|
||||
|
||||
Если ВыгрузкаОбъектаРазрешена(УзелОбъект.Ссылка, СсылкаНаОбъект.ПолучитьОбъект()) Тогда
|
||||
ЗарегистрированныеДанные[МетаданныеЭлемента].Добавить(СсылкаНаОбъект);
|
||||
КоллекцияСсылок.Добавить(СсылкаНаОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЗарегистрированныеДанные[МетаданныеЭлемента] = КоллекцияСсылок;
|
||||
|
||||
ИначеЕсли ОбщегоНазначения.ЭтоКонстанта(МетаданныеЭлемента) Тогда
|
||||
|
||||
МенеджерЗначенияКонстанты = Константы[МетаданныеЭлемента.Имя].СоздатьМенеджерЗначения();
|
||||
@@ -863,35 +876,38 @@
|
||||
|
||||
Иначе // Регистр или последовательность.
|
||||
|
||||
ЗарегистрированныеДанные[МетаданныеЭлемента] = Новый ТаблицаЗначений;
|
||||
ТаблицаОтборы = Новый ТаблицаЗначений;
|
||||
|
||||
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмяОбъектаМетаданных);
|
||||
|
||||
НаборДанных = ЗарегистрированныеДанныеОдногоТипа(УзелОбъект.Ссылка, ПолноеИмяОбъектаМетаданных);
|
||||
|
||||
НаборЗаписей = МенеджерОбъекта.СоздатьНаборЗаписей();
|
||||
НаборЗаписей = МенеджерОбъекта.СоздатьНаборЗаписей(); // РегистрСведенийНаборЗаписей, и т.п.
|
||||
Для Каждого ЭлементОтбора Из НаборЗаписей.Отбор Цикл
|
||||
Если НаборДанных.Колонки.Найти(ЭлементОтбора.Имя) <> Неопределено Тогда
|
||||
ЗарегистрированныеДанные[МетаданныеЭлемента].Колонки.Добавить(ЭлементОтбора.Имя);
|
||||
ТаблицаОтборы.Колонки.Добавить(ЭлементОтбора.Имя);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого СтрокаДанные Из НаборДанных Цикл
|
||||
|
||||
НаборЗаписей = МенеджерОбъекта.СоздатьНаборЗаписей();
|
||||
Для Каждого ЭлементОтбора Из ЗарегистрированныеДанные[МетаданныеЭлемента].Колонки Цикл
|
||||
НаборЗаписей.Отбор[ЭлементОтбора.Имя].Установить(СтрокаДанные[ЭлементОтбора.Имя]);
|
||||
НаборЗаписей = МенеджерОбъекта.СоздатьНаборЗаписей(); // РегистрСведенийНаборЗаписей, и т.п.
|
||||
Для Каждого ЭлементОтбора Из ТаблицаОтборы.Колонки Цикл
|
||||
ОбменДаннымиСлужебный.УстановитьЗначениеЭлементаОтбора(
|
||||
НаборЗаписей.Отбор, ЭлементОтбора.Имя, СтрокаДанные[ЭлементОтбора.Имя]);
|
||||
КонецЦикла;
|
||||
|
||||
НаборЗаписей.Прочитать();
|
||||
|
||||
Если ВыгрузкаОбъектаРазрешена(УзелОбъект.Ссылка, НаборЗаписей) Тогда
|
||||
СтруктураОтбора = ЗарегистрированныеДанные[МетаданныеЭлемента].Добавить();
|
||||
СтруктураОтбора = ТаблицаОтборы.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(СтруктураОтбора, СтрокаДанные);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЗарегистрированныеДанные[МетаданныеЭлемента] = ТаблицаОтборы;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.1.2.319";
|
||||
Описание.Версия = "3.1.2.326";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -106,6 +106,31 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Вызывается после загрузки данных в область.
|
||||
// Обновляет курсы валют из поставляемых данных.
|
||||
//
|
||||
Процедура ОбновитьКурсыВалют() Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Валюты.Код
|
||||
|ИЗ
|
||||
| Справочник.Валюты КАК Валюты
|
||||
|ГДЕ
|
||||
| Валюты.СпособУстановкиКурса = ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета)";
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
// Копируем курсы. Это необходимо делать синхронно, т.к. за вызовом ОбновитьКурсыВалют
|
||||
// следует обновление ИБ, которое пытается заблокировать базу. Копирование курсов -
|
||||
// длительный процесс, который в асинхронном режиме может начаться в произвольный момент
|
||||
// и помешать блокировке.
|
||||
Пока Выборка.Следующий() Цикл
|
||||
КопироватьКурсыВалюты(Выборка.Код);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обработчики событий подсистем конфигурации.
|
||||
|
||||
@@ -172,6 +197,7 @@
|
||||
Процедура ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам) Экспорт
|
||||
|
||||
СоответствиеИменПсевдонимам.Вставить("РаботаСКурсамиВалютСлужебный.КопироватьКурсыВалюты");
|
||||
СоответствиеИменПсевдонимам.Вставить("РаботаСКурсамиВалютСлужебный.ОбновитьКурсыВалют");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -196,31 +222,6 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Вызывается после загрузки данных в область.
|
||||
// Обновляет курсы валют из поставляемых данных.
|
||||
//
|
||||
Процедура ОбновитьКурсыВалют()
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Валюты.Код
|
||||
|ИЗ
|
||||
| Справочник.Валюты КАК Валюты
|
||||
|ГДЕ
|
||||
| Валюты.СпособУстановкиКурса = ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета)";
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
// Копируем курсы. Это необходимо делать синхронно, т.к. за вызовом ОбновитьКурсыВалют
|
||||
// следует обновление ИБ, которое пытается заблокировать базу. Копирование курсов -
|
||||
// длительный процесс, который в асинхронном режиме может начаться в произвольный момент
|
||||
// и помешать блокировке.
|
||||
Пока Выборка.Следующий() Цикл
|
||||
КопироватьКурсыВалюты(Выборка.Код);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Регистрирует обработчики поставляемых данных за день и за все время.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -498,6 +499,8 @@
|
||||
УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ТекстОшибки);
|
||||
|
||||
ЗапланироватьОбновлениеКурсовВалют(ОбластьДанных);
|
||||
|
||||
Продолжить;
|
||||
|
||||
КонецПопытки;
|
||||
@@ -535,6 +538,23 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗапланироватьОбновлениеКурсовВалют(ОбластьДанных)
|
||||
|
||||
Если Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.ОчередьЗаданий") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыЗадания = Новый Структура;
|
||||
ПараметрыЗадания.Вставить("ИмяМетода", "РаботаСКурсамиВалютСлужебный.ОбновитьКурсыВалют");
|
||||
ПараметрыЗадания.Вставить("ОбластьДанных", ОбластьДанных);
|
||||
|
||||
МодульОчередьЗаданий = ОбщегоНазначения.ОбщийМодуль("ОчередьЗаданий");
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
МодульОчередьЗаданий.ДобавитьЗадание(ПараметрыЗадания);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СвойстваПоставляемойВалюты(ВалютыОбластей, КодВалюты, ТаблицаКурсов, ЗапросОбщий)
|
||||
|
||||
СвойстваВалюты = ВалютыОбластей.Получить(КодВалюты);
|
||||
|
||||
@@ -4626,13 +4626,17 @@
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
КонецЕсли;
|
||||
|
||||
ДополнительныеПараметрыПоУмолчанию = Новый Структура;
|
||||
ДополнительныеПараметрыПоУмолчанию.Вставить("ДляРедактирования", Ложь);
|
||||
ДополнительныеПараметрыПоУмолчанию.Вставить("ДанныеФайла", Неопределено);
|
||||
ЗаполнитьЗначенияСвойств(ДополнительныеПараметрыПоУмолчанию, ДополнительныеПараметры);
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("Оповещение", Оповещение);
|
||||
Контекст.Вставить("ПрисоединенныйФайл", ПрисоединенныйФайл);
|
||||
Контекст.Вставить("ИдентификаторФормы", ИдентификаторФормы);
|
||||
Контекст.Вставить("ДляРедактирования", Ложь);
|
||||
Контекст.Вставить("ДанныеФайла", Неопределено);
|
||||
ЗаполнитьЗначенияСвойств(ДополнительныеПараметры, Контекст);
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Контекст, ДополнительныеПараметрыПоУмолчанию);
|
||||
|
||||
Если ТипЗнч(Контекст.ДанныеФайла) <> Тип("Структура")
|
||||
Или Не ЗначениеЗаполнено(Контекст.ДанныеФайла.СсылкаНаДвоичныеДанныеФайла) Тогда
|
||||
|
||||
@@ -4036,8 +4036,7 @@
|
||||
|
||||
ОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(
|
||||
Новый ОписаниеОповещения("ПослеПодключенияКомпоненты", ЭтотОбъект, Контекст),
|
||||
"XMLDSignAddIn",
|
||||
"Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Макет.КомпонентаXMLDSig",
|
||||
"XMLDSignAddIn", "Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Макет.КомпонентаXMLDSig",
|
||||
ПараметрыПодключения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="42bb8a6d-4bda-4141-85ea-1292873183c9">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3b792f47-5119-4a29-8cb6-3f41c1177a6c">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="22ad013c-a356-4c32-b8dd-d6df6de55f0c"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="3003176d-0890-4724-a65f-d43d2ad5a508"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="5f6d4691-c721-4fff-9d52-869a6a41cec7"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="cb4cc508-e17e-4c8f-aa1b-9dea7f374a55"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="f02c1aaf-1a0d-4bf9-8986-1cadb23618ad"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="0a6c0abe-2dc1-444f-a3fa-552126a2dd11"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="25d20c1f-1f14-48d3-ae02-b486b1d4c9a2"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="256225fb-5d46-42fb-b0f2-1a3bd24a5be9"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="24ca5fbb-69ef-419a-a81b-9637e8a1cc56"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="38afaeca-28a2-44e9-8431-e5cc40828960"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="17f10f9c-5201-4218-acef-e1b9b7830ecd"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="252d7806-79d1-4d92-94d5-bf3fa766e62c"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="4d4fc278-864d-42a1-a70a-0706e9d7cb85"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="eebdb160-f5f6-4e68-93dc-a659df72df9f"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>3.1.2.319</version>
|
||||
<version>3.1.2.326</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,3ae625a5-3960-4f63-996f-4a2330a90bfe,1,cad20791-03e0-4c9a-9947-e51c55ac084f,"3.1.2.319","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5923,1,0,42bb8a6d-4bda-4141-85ea-1292873183c9,42bb8a6d-4bda-4141-85ea-1292873183c9,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,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
|
||||
{6,1,1,586e540a-4177-474b-a890-102fd0b1ccc3,1,6d99b33e-8272-4e00-8b24-571d868da3e7,"3.1.2.326","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5923,1,0,3b792f47-5119-4a29-8cb6-3f41c1177a6c,3b792f47-5119-4a29-8cb6-3f41c1177a6c,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,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
Функция ВерсияКалендарей() Экспорт
|
||||
|
||||
Возврат 39;
|
||||
Возврат 41;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
|
||||
|
||||
Возврат "3.1.2.318";
|
||||
Возврат "3.1.2.325";
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+87
-1
@@ -17,6 +17,10 @@
|
||||
<Item Calendar="01" Year="2019" DayType="Предпраздничный" Date="20191004" SwapDate=""/>
|
||||
<Item Calendar="01" Year="2019" DayType="Праздник" Date="20191005" SwapDate="20191007"/>
|
||||
<Item Calendar="01" Year="2019" DayType="Суббота" Date="20191007" SwapDate="20191005"/>
|
||||
<Item Calendar="01" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="01" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="01" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="01" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="01" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
|
||||
<Item Calendar="01" Year="2020" DayType="Праздник" Date="20201005" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2014" DayType="Праздник" Date="20140728" SwapDate=""/>
|
||||
@@ -55,6 +59,10 @@
|
||||
<Item Calendar="02" Year="2019" DayType="Воскресенье" Date="20190812" SwapDate="20190811"/>
|
||||
<Item Calendar="02" Year="2019" DayType="Предпраздничный" Date="20191010" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2019" DayType="Праздник" Date="20191011" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="02" Year="2020" DayType="Праздник" Date="20200524" SwapDate="20200525"/>
|
||||
<Item Calendar="02" Year="2020" DayType="Воскресенье" Date="20200525" SwapDate="20200524"/>
|
||||
<Item Calendar="02" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
|
||||
@@ -70,6 +78,10 @@
|
||||
<Item Calendar="03" Year="2019" DayType="Праздник" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2020" DayType="Праздник" Date="20200224" SwapDate="20200225"/>
|
||||
<Item Calendar="03" Year="2020" DayType="Воскресенье" Date="20200225" SwapDate="20200224"/>
|
||||
<Item Calendar="03" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="03" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="04" Year="2016" DayType="Праздник" Date="20160214" SwapDate="20160215"/>
|
||||
<Item Calendar="04" Year="2016" DayType="Воскресенье" Date="20160215" SwapDate="20160214"/>
|
||||
<Item Calendar="04" Year="2017" DayType="Предпраздничный" Date="20170203" SwapDate=""/>
|
||||
@@ -83,6 +95,10 @@
|
||||
<Item Calendar="04" Year="2019" DayType="Суббота" Date="20190211" SwapDate="20190209"/>
|
||||
<Item Calendar="04" Year="2020" DayType="Праздник" Date="20200224" SwapDate="20200225"/>
|
||||
<Item Calendar="04" Year="2020" DayType="Воскресенье" Date="20200225" SwapDate="20200223"/>
|
||||
<Item Calendar="04" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="04" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="04" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="04" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<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=""/>
|
||||
@@ -117,6 +133,10 @@
|
||||
<Item Calendar="05" Year="2019" DayType="Праздник" Date="20190812" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2019" DayType="Праздник" Date="20190915" SwapDate="20190916"/>
|
||||
<Item Calendar="05" Year="2019" DayType="Воскресенье" Date="20190916" SwapDate="20190915"/>
|
||||
<Item Calendar="05" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
|
||||
<Item Calendar="05" Year="2020" DayType="Праздник" Date="20200726" SwapDate="20200727"/>
|
||||
<Item Calendar="05" Year="2020" DayType="Воскресенье" Date="20200727" SwapDate="20200726"/>
|
||||
@@ -144,6 +164,10 @@
|
||||
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190605" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190606" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190812" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
|
||||
<Item Calendar="06" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
|
||||
@@ -176,6 +200,9 @@
|
||||
<Item Calendar="07" Year="2019" DayType="Праздник" Date="20190901" SwapDate=""/>
|
||||
<Item Calendar="07" Year="2019" DayType="Праздник" Date="20190920" SwapDate=""/>
|
||||
<Item Calendar="07" Year="2020" DayType="Праздник" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="07" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="07" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="07" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="07" Year="2020" DayType="Праздник" Date="20200521" SwapDate=""/>
|
||||
<Item Calendar="07" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
|
||||
<Item Calendar="07" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
|
||||
@@ -220,6 +247,9 @@
|
||||
<Item Calendar="08" Year="2019" DayType="Нерабочий" Date="20191228" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2020" DayType="Праздник" Date="20200224" SwapDate="20200225"/>
|
||||
<Item Calendar="08" Year="2020" DayType="Воскресенье" Date="20200225" SwapDate="20200224"/>
|
||||
<Item Calendar="08" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="08" Year="2020" DayType="Праздник" Date="20200405" SwapDate="20200406"/>
|
||||
<Item Calendar="08" Year="2020" DayType="Воскресенье" Date="20200406" SwapDate="20200405"/>
|
||||
<Item Calendar="08" Year="2020" DayType="Предпраздничный" Date="20200604" SwapDate=""/>
|
||||
@@ -255,6 +285,10 @@
|
||||
<Item Calendar="09" Year="2019" DayType="Праздник" Date="20190906" SwapDate=""/>
|
||||
<Item Calendar="09" Year="2019" DayType="Суббота" Date="20190907" SwapDate="20190909"/>
|
||||
<Item Calendar="09" Year="2019" DayType="Суббота" Date="20190909" SwapDate="20190907"/>
|
||||
<Item Calendar="09" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="09" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="09" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="09" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="09" Year="2020" DayType="Нерабочий" Date="20200428" SwapDate=""/>
|
||||
<Item Calendar="09" Year="2020" DayType="Праздник" Date="20200503" SwapDate="20200505"/>
|
||||
<Item Calendar="09" Year="2020" DayType="Воскресенье" Date="20200505" SwapDate="20200503"/>
|
||||
@@ -267,6 +301,10 @@
|
||||
<Item Calendar="11" Year="2018" DayType="Праздник" Date="20180822" SwapDate=""/>
|
||||
<Item Calendar="11" Year="2019" DayType="Предпраздничный" Date="20190821" SwapDate=""/>
|
||||
<Item Calendar="11" Year="2019" DayType="Праздник" Date="20190822" SwapDate=""/>
|
||||
<Item Calendar="11" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="11" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="11" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="11" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="11" Year="2020" DayType="Предпраздничный" Date="20200821" SwapDate=""/>
|
||||
<Item Calendar="11" Year="2020" DayType="Праздник" Date="20200822" SwapDate=""/>
|
||||
<Item Calendar="14" Year="2016" DayType="Предпраздничный" Date="20160426" SwapDate=""/>
|
||||
@@ -286,6 +324,10 @@
|
||||
<Item Calendar="14" Year="2019" DayType="Суббота" Date="20190429" SwapDate="20190427"/>
|
||||
<Item Calendar="14" Year="2019" DayType="Предпраздничный" Date="20190620" SwapDate=""/>
|
||||
<Item Calendar="14" Year="2019" DayType="Праздник" Date="20190621" SwapDate=""/>
|
||||
<Item Calendar="14" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="14" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="14" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="14" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="14" Year="2020" DayType="Праздник" Date="20200427" SwapDate=""/>
|
||||
<Item Calendar="14" Year="2020" DayType="Праздник" Date="20200621" SwapDate="20200622"/>
|
||||
<Item Calendar="14" Year="2020" DayType="Воскресенье" Date="20200622" SwapDate="20200621"/>
|
||||
@@ -317,6 +359,10 @@
|
||||
<Item Calendar="16" Year="2019" DayType="Праздник" Date="20190830" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2019" DayType="Предпраздничный" Date="20191105" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2019" DayType="Праздник" Date="20191106" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2020" DayType="Праздник" Date="20200524" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
|
||||
@@ -361,6 +407,10 @@
|
||||
<Item Calendar="17" Year="2019" DayType="Праздник" Date="20190815" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2020" DayType="Праздник" Date="20200224" SwapDate="20200225"/>
|
||||
<Item Calendar="17" Year="2020" DayType="Воскресенье" Date="20200225" SwapDate="20200224"/>
|
||||
<Item Calendar="17" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2020" DayType="Предпраздничный" Date="20200505" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2020" DayType="Праздник" Date="20200506" SwapDate=""/>
|
||||
<Item Calendar="17" Year="2020" DayType="Предпраздничный" Date="20200814" SwapDate=""/>
|
||||
@@ -416,6 +466,10 @@
|
||||
<Item Calendar="20" Year="2019" DayType="Праздник" Date="20190812" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2019" DayType="Праздник" Date="20190813" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200323" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Предпраздничный" Date="20200415" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200416" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
|
||||
@@ -429,6 +483,10 @@
|
||||
<Item Calendar="21" Year="2018" DayType="Праздник" Date="20180624" SwapDate="20180625"/>
|
||||
<Item Calendar="21" Year="2018" DayType="Воскресенье" Date="20180625" SwapDate="20180624"/>
|
||||
<Item Calendar="21" Year="2019" DayType="Праздник" Date="20190624" SwapDate=""/>
|
||||
<Item Calendar="21" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="21" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="21" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="21" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="21" Year="2020" DayType="Предпраздничный" Date="20200623" SwapDate=""/>
|
||||
<Item Calendar="21" Year="2020" DayType="Праздник" Date="20200624" SwapDate=""/>
|
||||
<Item Calendar="26" Year="2016" DayType="Праздник" Date="20160510" SwapDate=""/>
|
||||
@@ -438,6 +496,10 @@
|
||||
<Item Calendar="26" Year="2018" DayType="Праздник" Date="20180417" SwapDate=""/>
|
||||
<Item Calendar="26" Year="2019" DayType="Предпраздничный" Date="20190506" SwapDate=""/>
|
||||
<Item Calendar="26" Year="2019" DayType="Праздник" Date="20190507" SwapDate=""/>
|
||||
<Item Calendar="26" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="26" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="26" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="26" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="26" Year="2020" DayType="Предпраздничный" Date="20200427" SwapDate=""/>
|
||||
<Item Calendar="26" Year="2020" DayType="Праздник" Date="20200428" SwapDate=""/>
|
||||
<Item Calendar="58" Year="2016" DayType="Праздник" Date="20160510" SwapDate=""/>
|
||||
@@ -447,6 +509,10 @@
|
||||
<Item Calendar="58" Year="2018" DayType="Праздник" Date="20180417" SwapDate=""/>
|
||||
<Item Calendar="58" Year="2019" DayType="Предпраздничный" Date="20190506" SwapDate=""/>
|
||||
<Item Calendar="58" Year="2019" DayType="Праздник" Date="20190507" SwapDate=""/>
|
||||
<Item Calendar="58" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="58" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="58" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="58" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="58" Year="2020" DayType="Предпраздничный" Date="20200427" SwapDate=""/>
|
||||
<Item Calendar="58" Year="2020" DayType="Праздник" Date="20200428" SwapDate=""/>
|
||||
<Item Calendar="64" Year="2016" DayType="Праздник" Date="20160510" SwapDate=""/>
|
||||
@@ -456,6 +522,10 @@
|
||||
<Item Calendar="64" Year="2018" DayType="Праздник" Date="20180417" SwapDate=""/>
|
||||
<Item Calendar="64" Year="2019" DayType="Предпраздничный" Date="20190506" SwapDate=""/>
|
||||
<Item Calendar="64" Year="2019" DayType="Праздник" Date="20190507" SwapDate=""/>
|
||||
<Item Calendar="64" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="64" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="64" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="64" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="64" Year="2020" DayType="Предпраздничный" Date="20200427" SwapDate=""/>
|
||||
<Item Calendar="64" Year="2020" DayType="Праздник" Date="20200428" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2016" DayType="Предпраздничный" Date="20160208" SwapDate=""/>
|
||||
@@ -467,6 +537,10 @@
|
||||
<Item Calendar="75" Year="2019" DayType="Праздник" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2020" DayType="Праздник" Date="20200224" SwapDate="20200225"/>
|
||||
<Item Calendar="75" Year="2020" DayType="Воскресенье" Date="20200225" SwapDate="20200224"/>
|
||||
<Item Calendar="75" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2016" DayType="Предпраздничный" Date="20160208" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2016" DayType="Праздник" Date="20160209" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2017" DayType="Праздник" Date="20170227" SwapDate=""/>
|
||||
@@ -476,6 +550,10 @@
|
||||
<Item Calendar="85" Year="2019" DayType="Праздник" Date="20190205" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2020" DayType="Праздник" Date="20200224" SwapDate="20200225"/>
|
||||
<Item Calendar="85" Year="2020" DayType="Воскресенье" Date="20200225" SwapDate="20200224"/>
|
||||
<Item Calendar="85" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2016" DayType="Предпраздничный" Date="20160317" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2016" DayType="Праздник" Date="20160318" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2016" DayType="Праздник" Date="20160620" SwapDate=""/>
|
||||
@@ -506,6 +584,10 @@
|
||||
<Item Calendar="91" Year="2019" DayType="Праздник" Date="20190812" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2020" DayType="Предпраздничный" Date="20200317" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200318" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200420" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
|
||||
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200608" SwapDate=""/>
|
||||
@@ -978,7 +1060,11 @@
|
||||
<Item Calendar="РФ" Year="2020" DayType="Воскресенье" Date="20200224" SwapDate="20200223"/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Праздник" Date="20200308" SwapDate="20200309"/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Воскресенье" Date="20200309" SwapDate="20200308"/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200422" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200330" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200331" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200401" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200402" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200403" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Предпраздничный" Date="20200430" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Праздник" Date="20200501" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Суббота" Date="20200504" SwapDate="20200104"/>
|
||||
|
||||
@@ -259,18 +259,18 @@
|
||||
// ИсходящиеДанные - Произвольный - произвольные вспомогательные данные, передаваемые правилам
|
||||
// конвертации свойств.
|
||||
// ИмяПКО - Строка - имя правила конвертации, согласно которому осуществляется выгрузка.
|
||||
// УзелСсылки - xml-узел ссылки объекта приемника.
|
||||
// УзелСсылки - ЗаписьXML - xml-узел ссылки объекта приемника.
|
||||
// ТолькоПолучитьУзелСсылки - Булево - Если Истина, то выгрузка объекта не производится, только формируется
|
||||
// xml-узел ссылки.
|
||||
// ПКО - СтрокаТаблицыЗначений - строка таблицы правил конвертации.
|
||||
// ВыгружатьСсылкиУПодчиненныхОбъектов - булево - если Истина то выгружаются ссылки у подчиненных объектов.
|
||||
// ВыгрузкаСтрокиНабораЗаписейРегистра - булево - если Истина то происходит выгрузка строки набора записей.
|
||||
// УзелПредка - xml-узел предка объекта приемника.
|
||||
// ИмяКонстантыДляВыгрузки - строка - значение, которое следует записать в атрибут ИмяКонстанты.
|
||||
// ЭтоВыгружаетсяОбъект - булево - признак того что выгружается объект.
|
||||
// ВыгружатьСсылкиУПодчиненныхОбъектов - Булево - если Истина то выгружаются ссылки у подчиненных объектов.
|
||||
// ВыгрузкаСтрокиНабораЗаписейРегистра - Булево - если Истина то происходит выгрузка строки набора записей.
|
||||
// УзелПредка - ЗаписьXML - xml-узел предка объекта приемника.
|
||||
// ИмяКонстантыДляВыгрузки - Строка - значение, которое следует записать в атрибут ИмяКонстанты.
|
||||
// ЭтоВыгружаетсяОбъект - Булево - признак того что выгружается объект.
|
||||
// ЭтоПравилоСГлобальнойВыгрузкойОбъектов - булево - признак глобальной выгрузки объектов.
|
||||
// НеИспользоватьПравилоСГлобальнойВыгрузкойИНеЗапоминатьВыгруженные - булево - не используется.
|
||||
// СтекВыгрузкиОбъекта - массив - содержит сведения о вышестоящих объектах выгрузки.
|
||||
// СтекВыгрузкиОбъекта - Массив из ЛюбаяСсылка - содержит сведения о вышестоящих объектах выгрузки.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ЗаписьXML - xml-узел ссылки или значение приемника.
|
||||
@@ -1594,7 +1594,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// Приемник - ЗаписьXML - xml-узел объекта приемника.
|
||||
// Тип - Строка, Массив - выгружаемый одиночный тип, или список выгружаемых строковых типов.
|
||||
// Тип - Строка, Массив из Строка - выгружаемый одиночный тип, или список выгружаемых строковых типов.
|
||||
// СписокАтрибутов - Структура - ключ содержит имя атрибута.
|
||||
//
|
||||
Процедура ВыгрузитьИнформациюОТипах(Приемник, Тип, СписокАтрибутов = Неопределено) Экспорт
|
||||
@@ -3477,8 +3477,8 @@
|
||||
// не является ошибкой проверки конфигурации.
|
||||
//
|
||||
// Параметры:
|
||||
// Стр - преобразовываемая строка;
|
||||
// Длина - требуемая длина строки.
|
||||
// Стр - Строка- преобразовываемая строка;
|
||||
// Длина - Число - требуемая длина строки.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - код или номер, приведенная к требуемой длине.
|
||||
@@ -3516,9 +3516,9 @@
|
||||
// Дополняет строку указанным символом до указанной длины.
|
||||
//
|
||||
// Параметры:
|
||||
// Стр - дополняемая строка;
|
||||
// Длина - требуемая длина результирующей строки;
|
||||
// Чем - символ, которым дополняется строка.
|
||||
// Стр - Строка - дополняемая строка;
|
||||
// Длина - Число - требуемая длина результирующей строки;
|
||||
// Чем - Строка - символ, которым дополняется строка.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - , дополненная указанным символом до указанной длины.
|
||||
@@ -12977,6 +12977,13 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры:
|
||||
// * МетаданныеТекущегоОбъекта - ОбъектМетаданных - метаданные объекта.
|
||||
// * ИмяИскомойТабличнойЧасти - Строка - имя табличной части.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбъектМетаданныхТабличнаяЧасть, ОписаниеСтандартнойТабличнойЧасти - метаданные табличной части объекта.
|
||||
//
|
||||
Функция МетаТабличнаяЧастьРеквизитовРегистрацииОбъектов(МетаданныеТекущегоОбъекта, ИмяИскомойТабличнойЧасти)
|
||||
|
||||
МетаТест = Новый Структура("ТабличныеЧасти, СтандартныеТабличныеЧасти, Движения");
|
||||
|
||||
+288
-17
@@ -221,6 +221,238 @@
|
||||
<scrollOnCompress>false</scrollOnCompress>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СтраницаНастройкиПодключения</name>
|
||||
<id>236</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаОшибкаПроверкиПодключения</name>
|
||||
<id>248</id>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>Декорация9</name>
|
||||
<id>250</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация9РасширеннаяПодсказка</name>
|
||||
<id>252</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>Декорация9КонтекстноеМеню</name>
|
||||
<id>251</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<width>6</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<height>2</height>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.Предупреждение32</picture>
|
||||
</picture>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаСообщениеПроверкаПодключения</name>
|
||||
<id>253</id>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>Декорация22</name>
|
||||
<id>255</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>При проверке параметров подключения возникла ошибка.
|
||||
Выгрузка данных не выполнена.</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация22РасширеннаяПодсказка</name>
|
||||
<id>257</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>Декорация22КонтекстноеМеню</name>
|
||||
<id>256</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СообщениеОбОшибке3</name>
|
||||
<id>258</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>СообщениеОбОшибке</segments>
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<extendedTooltip>
|
||||
<name>СообщениеОбОшибке3РасширеннаяПодсказка</name>
|
||||
<id>260</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СообщениеОбОшибке3КонтекстноеМеню</name>
|
||||
<id>259</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>50</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<multiLine>true</multiLine>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>НастройкиПодключения</name>
|
||||
<id>261</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>НастройкиПодключенияРасширеннаяПодсказка</name>
|
||||
<id>262</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Hyperlink</type>
|
||||
<commandName>Form.Command.НастройкиПодключения</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Сообщение проверка подключения</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаСообщениеПроверкаПодключенияРасширеннаяПодсказка</name>
|
||||
<id>254</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Ошибка проверки подключения</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаОшибкаПроверкиПодключенияРасширеннаяПодсказка</name>
|
||||
<id>249</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>AlwaysHorizontal</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Страница настройки подключения</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СтраницаНастройкиПодключенияРасширеннаяПодсказка</name>
|
||||
<id>237</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Page</type>
|
||||
<extInfo xsi:type="form:PageGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<showTitle>auto</showTitle>
|
||||
<scrollOnCompress>false</scrollOnCompress>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СтраницаЗапросПароля</name>
|
||||
<id>99</id>
|
||||
@@ -1119,13 +1351,13 @@
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СтраницаЗавершениеОшибкаПроверкаПодключения</name>
|
||||
<id>161</id>
|
||||
<id>263</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаЗавершениеОшибкаПроверкаПодключения</name>
|
||||
<id>185</id>
|
||||
<id>265</id>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>Декорация8</name>
|
||||
<id>187</id>
|
||||
<id>267</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -1133,7 +1365,7 @@
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация8РасширеннаяПодсказка</name>
|
||||
<id>189</id>
|
||||
<id>269</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1143,7 +1375,7 @@
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>Декорация8КонтекстноеМеню</name>
|
||||
<id>188</id>
|
||||
<id>268</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<width>6</width>
|
||||
@@ -1157,11 +1389,11 @@
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаСообщениеПроверкаПодключения</name>
|
||||
<id>193</id>
|
||||
<name>ГруппаСообщениеПроверкаПодключения1</name>
|
||||
<id>270</id>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>Декорация16</name>
|
||||
<id>190</id>
|
||||
<id>272</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>При проверке параметров подключения возникла ошибка.
|
||||
@@ -1174,7 +1406,7 @@
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация16РасширеннаяПодсказка</name>
|
||||
<id>192</id>
|
||||
<id>274</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1184,7 +1416,7 @@
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>Декорация16КонтекстноеМеню</name>
|
||||
<id>191</id>
|
||||
<id>273</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>Label</type>
|
||||
@@ -1196,7 +1428,7 @@
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СообщениеОбОшибке</name>
|
||||
<id>195</id>
|
||||
<id>275</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -1208,7 +1440,7 @@
|
||||
<titleLocation>None</titleLocation>
|
||||
<extendedTooltip>
|
||||
<name>СообщениеОбОшибкеРасширеннаяПодсказка</name>
|
||||
<id>197</id>
|
||||
<id>277</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1218,7 +1450,7 @@
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СообщениеОбОшибкеКонтекстноеМеню</name>
|
||||
<id>196</id>
|
||||
<id>276</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
@@ -1248,8 +1480,8 @@
|
||||
<value>Сообщение проверка подключения</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаСообщениеПроверкаПодключенияРасширеннаяПодсказка</name>
|
||||
<id>194</id>
|
||||
<name>ГруппаСообщениеПроверкаПодключения1РасширеннаяПодсказка</name>
|
||||
<id>271</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1278,7 +1510,7 @@
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаЗавершениеОшибкаПроверкаПодключенияРасширеннаяПодсказка</name>
|
||||
<id>186</id>
|
||||
<id>266</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1307,7 +1539,7 @@
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СтраницаЗавершениеОшибкаПроверкаПодключенияРасширеннаяПодсказка</name>
|
||||
<id>162</id>
|
||||
<id>264</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -2773,6 +3005,23 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ДоступнаНастройкаТранспорта</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Доступна настройка транспорта</value>
|
||||
</title>
|
||||
<id>6</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>КомандаГотово</name>
|
||||
<title>
|
||||
@@ -2861,6 +3110,28 @@
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>НастройкиПодключения</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Настройки подключения</value>
|
||||
</title>
|
||||
<id>5</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Настройки подключения</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>НастройкиПодключения</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
+61
-2
@@ -91,6 +91,25 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НастройкиПодключения(Команда)
|
||||
|
||||
Отбор = Новый Структура("Корреспондент", УзелОбмена);
|
||||
ЗначенияЗаполнения = Новый Структура("Корреспондент", УзелОбмена);
|
||||
|
||||
ОповещениеОЗакрытии = Новый ОписаниеОповещения("НастройкиПодключенияЗавершение", ЭтотОбъект);
|
||||
|
||||
ОбменДаннымиКлиент.ОткрытьФормуЗаписиРегистраСведенийПоОтбору(
|
||||
Отбор,
|
||||
ЗначенияЗаполнения,
|
||||
"НастройкиТранспортаОбменаДанными",
|
||||
ЭтотОбъект,
|
||||
,
|
||||
,
|
||||
ОповещениеОЗакрытии);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -145,7 +164,12 @@
|
||||
|
||||
ПриЗавершенииПроверкиПодключенияНаСервере();
|
||||
|
||||
Если ДоступнаНастройкаТранспорта
|
||||
И Не ПроверкаПодключенияВыполнена Тогда
|
||||
УстановитьПорядковыйНомерПерехода(2); // Настройка подключения
|
||||
Иначе
|
||||
ИзменитьПорядковыйНомерПерехода(+1);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -203,6 +227,13 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НастройкиПодключенияЗавершение(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
ИнициализироватьПараметрыТранспорта();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РегистрацияИзменений
|
||||
@@ -508,6 +539,15 @@
|
||||
Параметры.Свойство("ЭтоОбменСПриложениемВСервисе", ЭтоОбменСПриложениемВСервисе);
|
||||
Параметры.Свойство("ОбластьДанныхКорреспондента", ОбластьДанныхКорреспондента);
|
||||
|
||||
ИнициализироватьПараметрыТранспорта();
|
||||
|
||||
УстановитьНаименованиеПриложенияВНадписяхФормы();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ИнициализироватьПараметрыТранспорта()
|
||||
|
||||
ВидТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(УзелОбмена);
|
||||
|
||||
Если Не ЗначениеЗаполнено(ВидТранспорта) Тогда
|
||||
@@ -520,6 +560,13 @@
|
||||
И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS
|
||||
И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим;
|
||||
|
||||
ЗапроситьПароль = Ложь;
|
||||
ПроверкаПодключенияВыполнена = Ложь;
|
||||
ВыгрузкаДанныхВыполнена = Ложь;
|
||||
|
||||
ДоступнаНастройкаТранспорта = Не (ЭтоОбменСПриложениемВСервисе
|
||||
Или ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим);
|
||||
|
||||
Если ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS Тогда
|
||||
|
||||
НастройкиТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(УзелОбмена);
|
||||
@@ -536,8 +583,6 @@
|
||||
|
||||
ЗаполнитьТаблицуПереходов();
|
||||
|
||||
УстановитьНаименованиеПриложенияВНадписяхФормы();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -582,6 +627,11 @@
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаНачало", "СтраницаНавигацияНачало");
|
||||
НовыйПереход.ИмяОбработчикаПриОткрытии = "СтраницаНачало_ПриОткрытии";
|
||||
|
||||
Если ДоступнаНастройкаТранспорта Тогда
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаНастройкиПодключения", "СтраницаНавигацияПродолжение");
|
||||
НовыйПереход.ИмяОбработчикаПриОткрытии = "СтраницаНастройкиПодключения_ПриОткрытии";
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗапроситьПароль Тогда
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаЗапросПароля", "СтраницаНавигацияПродолжение");
|
||||
НовыйПереход.ИмяОбработчикаПриПереходеДалее = "СтраницаЗапросПароля_ПриПереходеДалее";
|
||||
@@ -627,6 +677,15 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Подключаемый_СтраницаНастройкиПодключения_ПриОткрытии(Отказ, ПропуститьСтраницу, ЭтоПереходДалее)
|
||||
|
||||
ПропуститьСтраницу = ЭтоПереходДалее;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция Подключаемый_СтраницаЗапросПароля_ПриПереходеДалее(Отказ)
|
||||
|
||||
|
||||
+49
-18
@@ -135,11 +135,13 @@
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
|
||||
Информация = ИнформацияОбОшибке();
|
||||
|
||||
ПараметрыОбработчикаСессии.Отказ = Истина;
|
||||
ПараметрыОбработчикаСессии.СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ПараметрыОбработчикаСессии.СообщениеОбОшибке = КраткоеПредставлениеОшибки(Информация);
|
||||
|
||||
ЗаписьЖурналаРегистрации(ОбменДаннымиВМоделиСервиса.СобытиеЖурналаРегистрацииНастройкаСинхронизацииДанных(),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ПараметрыОбработчикаСессии.СообщениеОбОшибке);
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(Информация));
|
||||
КонецПопытки;
|
||||
|
||||
Если Не ПараметрыОбработчикаСессии.Отказ Тогда
|
||||
@@ -184,6 +186,11 @@
|
||||
Сообщение = МодульСообщенияВМоделиСервиса.НовоеСообщение(
|
||||
СообщенияАдминистрированиеОбменаДаннымиУправлениеИнтерфейс.СообщениеПолучитьНастройкиСинхронизацииДанных());
|
||||
|
||||
ДополнительныеСвойства = Новый Структура("Режим, ФорматОбмена");
|
||||
ЗаполнитьЗначенияСвойств(ДополнительныеСвойства, Настройки);
|
||||
|
||||
Сообщение.AdditionalInfo = СериализаторXDTO.ЗаписатьXDTO(ДополнительныеСвойства);
|
||||
|
||||
ПараметрыОбработчика.ИдентификаторОперации = ОбменДаннымиВМоделиСервиса.ОтправитьСообщение(Сообщение);
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
@@ -272,12 +279,14 @@
|
||||
НастройкиСинхронизацииИзМенеджераСервиса = РегистрыСведений.СессииОбменаСообщениямиСистемы.ПолучитьДанныеСессии(
|
||||
ПараметрыОбработчика.ИдентификаторОперации).Получить();
|
||||
Исключение
|
||||
Информация = ИнформацияОбОшибке();
|
||||
|
||||
ПараметрыОбработчика.Отказ = Истина;
|
||||
ПараметрыОбработчика.СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ПараметрыОбработчика.СообщениеОбОшибке = КраткоеПредставлениеОшибки(Информация);
|
||||
ПараметрыОбработчика.ИдентификаторОперации = Неопределено;
|
||||
|
||||
ЗаписьЖурналаРегистрации(ОбменДаннымиВМоделиСервиса.СобытиеЖурналаРегистрацииМониторСинхронизацииДанных(),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ПараметрыОбработчика.СообщениеОбОшибке);
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(Информация));
|
||||
|
||||
Возврат;
|
||||
КонецПопытки;
|
||||
@@ -395,11 +404,13 @@
|
||||
Попытка
|
||||
СтатусЗавершения.Результат = ТаблицаПриложенийСинхронизацииДанных(ПараметрыОбработчика.ДополнительныеПараметры);
|
||||
Исключение
|
||||
Информация = ИнформацияОбОшибке();
|
||||
|
||||
СтатусЗавершения.Отказ = Истина;
|
||||
СтатусЗавершения.СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
СтатусЗавершения.СообщениеОбОшибке = КраткоеПредставлениеОшибки(Информация);
|
||||
|
||||
ЗаписьЖурналаРегистрации(ОбменДаннымиВМоделиСервиса.СобытиеЖурналаРегистрацииМониторСинхронизацииДанных(),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , СтатусЗавершения.СообщениеОбОшибке);
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(Информация));
|
||||
КонецПопытки;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -1075,11 +1086,11 @@
|
||||
|
||||
ТаблицаПриложений.Колонки.Добавить("КонечнаяТочкаКорреспондента", Новый ОписаниеТипов("ПланОбменаСсылка.ОбменСообщениями"));
|
||||
|
||||
ТаблицаПриложений.Колонки.Добавить("НастройкаСинхронизацииВМенеджереСервиса", Новый ОписаниеТипов("Булево"));
|
||||
ТаблицаПриложений.Колонки.Добавить("СинхронизацияОтключенаВМенеджереСервиса", Новый ОписаниеТипов("Булево"));
|
||||
|
||||
ТаблицаПриложений.Колонки.Добавить("Корреспондент");
|
||||
|
||||
ТаблицаПриложений.Колонки.Добавить("НастройкаСинхронизацииНедоступна", Новый ОписаниеТипов("Булево"));
|
||||
ТаблицаПриложений.Колонки.Добавить("СообщениеОбОшибке", Новый ОписаниеТипов("Строка"));
|
||||
|
||||
Если НастройкиСинхронизацииИзМенеджераСервиса.Количество() = 0 Тогда
|
||||
Возврат ТаблицаПриложений;
|
||||
КонецЕсли;
|
||||
@@ -1097,8 +1108,7 @@
|
||||
|ВерсияКорреспондента,
|
||||
|РольКорреспондента,
|
||||
|ФорматОбмена,
|
||||
|ОбластьДанных,
|
||||
|НастройкаСинхронизацииВМенеджереСервиса");
|
||||
|ОбластьДанных");
|
||||
|
||||
СтрокаПриложение.ИмяПланаОбмена = НастройкаИзМенеджераСервиса.ПланОбмена;
|
||||
|
||||
@@ -1106,9 +1116,35 @@
|
||||
НастройкаИзМенеджераСервиса.КонечнаяТочкаКорреспондента);
|
||||
|
||||
Если СтрокаПриложение.КонечнаяТочкаКорреспондента.Пустая() Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не найдена конечная точка корреспондента с идентификатором ""%1"".'"),
|
||||
СтрокаПриложение.НастройкаСинхронизацииНедоступна = Истина;
|
||||
СтрокаПриложение.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для приложения ""%1"" не найдена конечная точка с идентификатором ""%2"".'"),
|
||||
НастройкаИзМенеджераСервиса.НаименованиеПриложения,
|
||||
НастройкаИзМенеджераСервиса.КонечнаяТочкаКорреспондента);
|
||||
ИначеЕсли НастройкаИзМенеджераСервиса.НастройкаСинхронизацииВМенеджереСервиса Тогда
|
||||
СтрокаПриложение.НастройкаСинхронизацииНедоступна = Истина;
|
||||
СтрокаПриложение.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Конечная точка ""%1"" временно недоступна.
|
||||
|Повторите попытку позднее.'"),
|
||||
СтрокаПриложение.КонечнаяТочкаКорреспондента);
|
||||
Иначе
|
||||
Попытка
|
||||
НастройкиТранспорта = РегистрыСведений.НастройкиТранспортаОбменаОбластейДанных.НастройкиТранспорта(
|
||||
СтрокаПриложение.КонечнаяТочкаКорреспондента);
|
||||
Исключение
|
||||
Информация = ИнформацияОбОшибке();
|
||||
|
||||
ЗаписьЖурналаРегистрации(ОбменДаннымиВМоделиСервиса.СобытиеЖурналаРегистрацииНастройкаСинхронизацииДанных(),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(Информация));
|
||||
|
||||
СтрокаПриложение.НастройкаСинхронизацииНедоступна = Истина;
|
||||
СтрокаПриложение.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось получить настройки подключения для приложения ""%1"" по причине:
|
||||
|%2
|
||||
|Повторите попытку позднее.'"),
|
||||
НастройкаИзМенеджераСервиса.НаименованиеПриложения,
|
||||
КраткоеПредставлениеОшибки(Информация));
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(НастройкаИзМенеджераСервиса.КодПредопределенногоУзла)
|
||||
@@ -1153,11 +1189,6 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(СтрокаПриложение.Корреспондент)
|
||||
И Не НастройкаИзМенеджераСервиса.СинхронизацияНастроена Тогда
|
||||
СтрокаПриложение.СинхронизацияОтключенаВМенеджереСервиса = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если Параметры.Режим = "НеНастроенныеОбмены"
|
||||
И ЗначениеЗаполнено(СтрокаПриложение.Корреспондент) Тогда
|
||||
ТаблицаПриложений.Удалить(СтрокаПриложение);
|
||||
|
||||
+23
-1
@@ -5632,7 +5632,11 @@
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>НастройкаСинхронизацииВМенеджереСервиса</name>
|
||||
<name>НастройкаСинхронизацииНедоступна</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Настройка синхронизации недоступна</value>
|
||||
</title>
|
||||
<id>10</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
@@ -5672,6 +5676,24 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>СообщениеОбОшибке</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Сообщение об ошибке</value>
|
||||
</title>
|
||||
<id>14</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ТаблицаПереходов</name>
|
||||
|
||||
+47
-9
@@ -11,6 +11,8 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
УстановитьУсловноеОформление();
|
||||
|
||||
ПроверитьВозможностьИспользованияФормы(Отказ);
|
||||
|
||||
Если Отказ Тогда
|
||||
@@ -369,6 +371,11 @@
|
||||
ПараметрыПомощника = Новый Структура;
|
||||
ПараметрыПомощника.Вставить("Режим", "НеНастроенныеОбмены");
|
||||
ПараметрыПомощника.Вставить("ИмяПланаОбмена", ИмяПланаОбмена);
|
||||
Если ЗначениеЗаполнено(ФорматОбмена) Тогда
|
||||
ПараметрыПомощника.Вставить("ФорматОбмена", ФорматОбмена);
|
||||
Иначе
|
||||
ПараметрыПомощника.Вставить("ФорматОбмена", ИмяПланаОбмена);
|
||||
КонецЕсли;
|
||||
ПараметрыПомощника.Вставить("ИдентификаторНастройки", ИдентификаторНастройки);
|
||||
|
||||
МодульПомощникНастройки.ПриНачалеПолученияСпискаПриложений(ПараметрыПомощника,
|
||||
@@ -834,7 +841,10 @@
|
||||
ПолучаемыеФайлы.Добавить(
|
||||
Новый ОписаниеПередаваемогоФайла(ИмяФайлаНастроекПодключенияДляВыгрузки, АдресВХранилищеНастройкиПодключения));
|
||||
|
||||
НачатьПолучениеФайлов(ОповещениеПолученияФайла, ПолучаемыеФайлы, , Ложь);
|
||||
ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайлов();
|
||||
ПараметрыСохранения.Интерактивно = Ложь;
|
||||
|
||||
ФайловаяСистемаКлиент.СохранитьФайлы(ОповещениеПолученияФайла, ПолучаемыеФайлы, ПараметрыСохранения);
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -1021,6 +1031,25 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьУсловноеОформление()
|
||||
|
||||
УсловноеОформление.Элементы.Очистить();
|
||||
|
||||
// Тусклый цвет шрифта недоступной для настройки синхронизации.
|
||||
Элемент = УсловноеОформление.Элементы.Добавить();
|
||||
|
||||
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
|
||||
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ПриложенияВСервисе.Имя);
|
||||
|
||||
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПриложенияВСервисе.НастройкаСинхронизацииНедоступна");
|
||||
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ОтборЭлемента.ПравоеЗначение = Истина;
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьСтруктуруПараметровПодключенияПомощника(СтруктураНастроекПомощника, БезКорреспондента = Ложь)
|
||||
|
||||
@@ -1430,16 +1459,16 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриЗавершенииПомещенияФайлаНастроекПодключенияДляЗагрузки(РезультатВыбора, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
|
||||
Процедура ПриЗавершенииПомещенияФайлаНастроекПодключенияДляЗагрузки(ПомещенныйФайл, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("Отказ", Ложь);
|
||||
Результат.Вставить("СообщениеОбОшибке", "");
|
||||
|
||||
Если Не РезультатВыбора Тогда
|
||||
Если ПомещенныйФайл = Неопределено Тогда
|
||||
Результат.Отказ = Истина;
|
||||
Иначе
|
||||
ЗаполнитьНастройкиПодключенияИзXMLНаСервере(Адрес, Результат.Отказ, Результат.СообщениеОбОшибке);
|
||||
ЗаполнитьНастройкиПодключенияИзXMLНаСервере(ПомещенныйФайл.Хранение, Результат.Отказ, Результат.СообщениеОбОшибке);
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат.Отказ Тогда
|
||||
@@ -2015,9 +2044,8 @@
|
||||
НСтр("ru = 'Выберите приложение из списка для продолжения настройки подключения.'"),
|
||||
, "ПриложенияВСервисе", , Отказ);
|
||||
Возврат Неопределено;
|
||||
ИначеЕсли ТекущиеДанные.НастройкаСинхронизацииВМенеджереСервиса Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Для настройки синхронизации данных с выбранным приложением перейдите в менеджер сервиса.
|
||||
|В менеджере сервиса воспользуйтесь командой ""Синхронизация данных"".'"));
|
||||
ИначеЕсли ТекущиеДанные.НастройкаСинхронизацииНедоступна Тогда
|
||||
ПоказатьПредупреждение(, ТекущиеДанные.СообщениеОбОшибке);
|
||||
Отказ = Истина;
|
||||
Возврат Неопределено;
|
||||
Иначе
|
||||
@@ -2165,7 +2193,12 @@
|
||||
ДополнительныеПараметры.Вставить("Оповещение", ОповещениеПродолжениеНастройки);
|
||||
|
||||
ОповещениеОЗавершении = Новый ОписаниеОповещения("ПриЗавершенииПомещенияФайлаНастроекПодключенияДляЗагрузки", ЭтотОбъект, ДополнительныеПараметры);
|
||||
НачатьПомещениеФайла(ОповещениеОЗавершении, , ИмяФайлаНастроекПодключенияДляЗагрузки, Ложь, УникальныйИдентификатор);
|
||||
|
||||
ПараметрыЗагрузки = ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла();
|
||||
ПараметрыЗагрузки.ИдентификаторФормы = УникальныйИдентификатор;
|
||||
ПараметрыЗагрузки.Интерактивно = Ложь;
|
||||
|
||||
ФайловаяСистемаКлиент.ЗагрузитьФайл(ОповещениеОЗавершении, ПараметрыЗагрузки, ИмяФайлаНастроекПодключенияДляЗагрузки);
|
||||
Иначе
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("Отказ", Ложь);
|
||||
@@ -2328,7 +2361,12 @@
|
||||
ДополнительныеПараметры.Вставить("Оповещение", ОповещениеПродолжениеНастройки);
|
||||
|
||||
ОповещениеОЗавершении = Новый ОписаниеОповещения("ПриЗавершенииПомещенияФайлаНастроекXDTOКорреспондента", ЭтотОбъект, ДополнительныеПараметры);
|
||||
НачатьПомещениеФайла(ОповещениеОЗавершении, , ИмяФайлаНастроекXDTOКорреспондента, Ложь, УникальныйИдентификатор);
|
||||
|
||||
ПараметрыЗагрузки = ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла();
|
||||
ПараметрыЗагрузки.ИдентификаторФормы = УникальныйИдентификатор;
|
||||
ПараметрыЗагрузки.Интерактивно = Ложь;
|
||||
|
||||
ФайловаяСистемаКлиент.ЗагрузитьФайл(ОповещениеОЗавершении, ПараметрыЗагрузки, ИмяФайлаНастроекXDTOКорреспондента);
|
||||
Иначе
|
||||
|
||||
Результат = Новый Структура;
|
||||
|
||||
@@ -837,11 +837,12 @@
|
||||
Попытка
|
||||
РезультатПроверки.ВерсииИнтерфейса = ОбменДаннымиПовтИсп.ВерсииКорреспондента(Корреспондент);
|
||||
Исключение
|
||||
РезультатПроверки.СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Информация = ИнформацияОбОшибке();
|
||||
РезультатПроверки.СообщениеОбОшибке = КраткоеПредставлениеОшибки(Информация);
|
||||
РезультатПроверки.ПодключениеУстановлено = Ложь;
|
||||
|
||||
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииСозданиеОбменаДанными(),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , РезультатПроверки.СообщениеОбОшибке);
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(Информация));
|
||||
|
||||
ПоместитьВоВременноеХранилище(РезультатПроверки, АдресРезультата);
|
||||
Возврат;
|
||||
@@ -2210,14 +2211,14 @@
|
||||
ЧтениеXML.Прочитать(); // Message
|
||||
ЧтениеXML.Прочитать(); // Header
|
||||
|
||||
Header = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,
|
||||
ЗаголовокСообщенияXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,
|
||||
ФабрикаXDTO.Тип("http://www.1c.ru/SSL/Exchange/Message", ЧтениеXML.ЛокальноеИмя));
|
||||
|
||||
СтруктураНастроек = Новый Структура;
|
||||
ОбменДаннымиXDTOСервер.ЗаполнитьСтруктуруНастроекXDTOКорреспондента(СтруктураНастроек, Header, , УзелОбмена);
|
||||
ОбменДаннымиXDTOСервер.ЗаполнитьСтруктуруНастроекXDTOКорреспондента(СтруктураНастроек, ЗаголовокСообщенияXDTO, , УзелОбмена);
|
||||
|
||||
// Проверка UID отправителя на соответствие формату.
|
||||
УИД = Header.Confirmation.From;
|
||||
УИД = ЗаголовокСообщенияXDTO.Confirmation.From;
|
||||
Попытка
|
||||
УИД = Новый УникальныйИдентификатор(УИД);
|
||||
Исключение
|
||||
@@ -2226,7 +2227,7 @@
|
||||
УИД);
|
||||
КонецПопытки;
|
||||
|
||||
СтруктураНастроек.Вставить("ИдентификаторОтправителя", Header.Confirmation.From);
|
||||
СтруктураНастроек.Вставить("ИдентификаторОтправителя", ЗаголовокСообщенияXDTO.Confirmation.From);
|
||||
|
||||
ЧтениеXML.Закрыть();
|
||||
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
//
|
||||
Процедура ОбновитьСоставСубъектовРФПоКлассификатору(НачальноеЗаполнениеИОбновлениеДанных = Ложь) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено() И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Классификатор = КлассификаторСубъектовРФ();
|
||||
|
||||
// Выбираем те, которые есть в макете, но отсутствующие в регистре.
|
||||
|
||||
@@ -1135,6 +1135,93 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.СценарииОбменовДанными</name>
|
||||
<right>
|
||||
@@ -1308,93 +1395,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>CommonForm.ПараметрыПроксиСервера</name>
|
||||
<right>
|
||||
|
||||
@@ -14,13 +14,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
@@ -52,6 +45,13 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
|
||||
<right>
|
||||
|
||||
@@ -1665,6 +1665,45 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.ПредопределенныеВариантыОтчетовРасширений</name>
|
||||
<right>
|
||||
@@ -1891,45 +1930,6 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>CommonForm.ПараметрыПроксиСервера</name>
|
||||
<right>
|
||||
|
||||
Reference in new issue
Block a user