3_1_2_208

This commit is contained in:
Компания 1С committed 2019-11-14 22:38:00 +03:00
1 parent cca7b08eea
commit cfe319eda7
73 files changed
+1504 -602

No files matched your search

@@ -55,7 +55,7 @@
Для Каждого Сценарий Из КоллекцияСценариев Цикл Для Каждого Сценарий Из КоллекцияСценариев Цикл
ЗаблокироватьДанныеДляРедактирования(Сценарий); ЗаблокироватьДанныеДляРедактирования(Сценарий);
СценарийОбъект = Сценарий.ПолучитьОбъект(); СценарийОбъект = Сценарий.ПолучитьОбъект(); // СправочникОбъект.СценарииОбменовДанными
СценарийОбъект.ИспользоватьРегламентноеЗадание = ИспользоватьРегламентноеЗадание; СценарийОбъект.ИспользоватьРегламентноеЗадание = ИспользоватьРегламентноеЗадание;
СценарийОбъект.Записать(); СценарийОбъект.Записать();
КонецЦикла; КонецЦикла;
@@ -272,7 +272,7 @@
Для Каждого СтрокаСценарии Из ТаблицаСценарии Цикл Для Каждого СтрокаСценарии Из ТаблицаСценарии Цикл
ЗаблокироватьДанныеДляРедактирования(СтрокаСценарии.СценарийОбменаДанными); ЗаблокироватьДанныеДляРедактирования(СтрокаСценарии.СценарийОбменаДанными);
СценарийОбменаДанными = СтрокаСценарии.СценарийОбменаДанными.ПолучитьОбъект(); СценарийОбменаДанными = СтрокаСценарии.СценарийОбменаДанными.ПолучитьОбъект(); // СправочникОбъект.СценарииОбменовДанными
УдалитьВыгрузкуВСценарииОбменаДанными(СценарийОбменаДанными, УзелИнформационнойБазы); УдалитьВыгрузкуВСценарииОбменаДанными(СценарийОбменаДанными, УзелИнформационнойБазы);
УдалитьЗагрузкуВСценарииОбменаДанными(СценарийОбменаДанными, УзелИнформационнойБазы); УдалитьЗагрузкуВСценарииОбменаДанными(СценарийОбменаДанными, УзелИнформационнойБазы);
@@ -563,7 +563,8 @@
|ИЗ |ИЗ
| ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения | ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
|ГДЕ |ГДЕ
| ДополнительныеРеквизитыИСведения.Имя = &Имя | ДополнительныеРеквизитыИСведения.Имя ПОДОБНО """"
| ИЛИ ДополнительныеРеквизитыИСведения.Имя ПОДОБНО ""%-%""
| |
|ОБЪЕДИНИТЬ ВСЕ |ОБЪЕДИНИТЬ ВСЕ
| |
@@ -574,7 +575,6 @@
|ГДЕ |ГДЕ
| ЗависимостиДополнительныхРеквизитов.НаборСвойств = &НаборСвойств"; | ЗависимостиДополнительныхРеквизитов.НаборСвойств = &НаборСвойств";
Запрос.УстановитьПараметр("Имя", "");
Запрос.УстановитьПараметр("НаборСвойств", Справочники.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка()); Запрос.УстановитьПараметр("НаборСвойств", Справочники.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка());
Результат = Запрос.Выполнить().Выгрузить(); Результат = Запрос.Выполнить().Выгрузить();
@@ -606,6 +606,8 @@
Если Не ЗначениеЗаполнено(Объект.Имя) Тогда Если Не ЗначениеЗаполнено(Объект.Имя) Тогда
УстановитьИмяРеквизита(Выборка, Объект); УстановитьИмяРеквизита(Выборка, Объект);
Иначе
УправлениеСвойствамиСлужебный.УдалитьНедопустимыеСимволы(Объект.Имя);
КонецЕсли; КонецЕсли;
Для Каждого Зависимость Из Объект.ЗависимостиДополнительныхРеквизитов Цикл Для Каждого Зависимость Из Объект.ЗависимостиДополнительныхРеквизитов Цикл
@@ -558,6 +558,10 @@
<metadata>ScheduledJob.ЗапускДополнительныхОбработок</metadata> <metadata>ScheduledJob.ЗапускДополнительныхОбработок</metadata>
<use>DontUse</use> <use>DontUse</use>
</content> </content>
<content>
<metadata>InformationRegister.ОбщиеПоставляемыеМакетыПечати</metadata>
<use>DontUse</use>
</content>
<content> <content>
<metadata>Constant.КоличествоПотоковОбновленияИнформационнойБазы</metadata> <metadata>Constant.КоличествоПотоковОбновленияИнформационнойБазы</metadata>
<use>DontUse</use> <use>DontUse</use>
@@ -15,7 +15,7 @@
ПолеHTMLДокумента = Макет.ПолучитьТекст(); ПолеHTMLДокумента = Макет.ПолучитьТекст();
Заголовок = Параметры.Заголовок; Параметры.Свойство("Заголовок", Заголовок);
КонецПроцедуры КонецПроцедуры
@@ -1277,7 +1277,7 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция ПодробнаяИнформацияНаСервере(УзелОбмена) Функция ПодробнаяИнформацияНаСервере(УзелОбмена)
ИмяПланаОбмена = УзелОбмена.Метаданные().Имя; ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелОбмена);
ВариантНастройкиОбмена = ОбменДаннымиСервер.СохраненныйВариантНастройкиУзлаПланаОбмена(УзелОбмена); ВариантНастройкиОбмена = ОбменДаннымиСервер.СохраненныйВариантНастройкиУзлаПланаОбмена(УзелОбмена);
ВерсияКорреспондента = ОбменДаннымиСервер.ВерсияКорреспондента(УзелОбмена); ВерсияКорреспондента = ОбменДаннымиСервер.ВерсияКорреспондента(УзелОбмена);
@@ -2213,6 +2213,15 @@
Обработчик.Приоритет = 70; Обработчик.Приоритет = 70;
Обработчик.Процедура = "ВариантыОтчетов.ОперативноеОбновлениеРазделенныхДанныхКонфигурации"; Обработчик.Процедура = "ВариантыОтчетов.ОперативноеОбновлениеРазделенныхДанныхКонфигурации";
// 2.4. Обновить служебного пользователя для обновления представлений.
Обработчик = Обработчики.Добавить();
Обработчик.ВыполнятьВГруппеОбязательных = Истина;
Обработчик.ОбщиеДанные = Ложь;
Обработчик.РежимВыполнения = "Оперативно";
Обработчик.Версия = "3.1.2.205";
Обработчик.Приоритет = 99;
Обработчик.Процедура = "ВариантыОтчетов.ОперативноеОбновлениеСлужебногоПользователя";
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// 3. Отложенное обновление. // 3. Отложенное обновление.
@@ -3246,6 +3255,50 @@
КонецПроцедуры КонецПроцедуры
// [*] Актуализирует данные служебного пользователя для обновления представлений.
Процедура ОперативноеОбновлениеСлужебногоПользователя() Экспорт
УстановитьПривилегированныйРежим(Истина);
ИмяПользователя = ИмяСлужебногоПользователя();
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя);
Если ПользовательИБ = Неопределено Тогда
Возврат;
КонецЕсли;
Отбор = Новый Структура("ИдентификаторПользователяИБ", ПользовательИБ.УникальныйИдентификатор);
Выборка = Справочники.Пользователи.Выбрать(,, Отбор);
Если Не Выборка.Следующий() Тогда
Возврат;
КонецЕсли;
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(Метаданные.Справочники.Пользователи.ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", Выборка.Ссылка);
Блокировка.Заблокировать();
Пользователь = Выборка.Ссылка.ПолучитьОбъект();
Пользователь.Удалить();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Варианты отчетов.Обновление служебного пользователя'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,
Метаданные.Справочники.Пользователи,,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецПроцедуры
Процедура ОбновитьИндексПоискаПредопределенныхВариантовОтчетов(Параметры = Неопределено) Экспорт Процедура ОбновитьИндексПоискаПредопределенныхВариантовОтчетов(Параметры = Неопределено) Экспорт
ОбновитьИндексПоиска("ОбщиеДанныеКонфигурации", Истина); ОбновитьИндексПоиска("ОбщиеДанныеКонфигурации", Истина);
@@ -4481,7 +4534,8 @@
КонецПроцедуры КонецПроцедуры
Функция СлужебныйПользователь(Знач КодЯзыка) Функция СлужебныйПользователь(Знач КодЯзыка)
ИмяПользователя = "СлужебныйПользовательДляОбновленияПредставлений";
ИмяПользователя = ИмяСлужебногоПользователя();
// Обновление пользователя информационной базы. // Обновление пользователя информационной базы.
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя); ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя);
@@ -4493,6 +4547,7 @@
ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя(); ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
ПользовательИБ.Имя = ИмяПользователя; ПользовательИБ.Имя = ИмяПользователя;
ПользовательИБ.Пароль = Строка(Новый УникальныйИдентификатор);
ПользовательИБ.ЗапрещеноИзменятьПароль = Истина; ПользовательИБ.ЗапрещеноИзменятьПароль = Истина;
ПользовательИБ.ПоказыватьВСпискеВыбора = Ложь; ПользовательИБ.ПоказыватьВСпискеВыбора = Ложь;
КонецЕсли; КонецЕсли;
@@ -4501,13 +4556,9 @@
ПользовательИБ.Записать(); ПользовательИБ.Записать();
// Обновление пользователя - элемента справочника Пользователи. // Обновление пользователя - элемента справочника Пользователи.
Роли = Новый Массив;
Роли.Добавить("ПолныеПрава");
ОписаниеПользователяИБ = Новый Структура; ОписаниеПользователяИБ = Новый Структура;
ОписаниеПользователяИБ.Вставить("Действие", "Записать"); ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить("Имя", ПользовательИБ.Имя); ОписаниеПользователяИБ.Вставить("Имя", ПользовательИБ.Имя);
ОписаниеПользователяИБ.Вставить("Роли", Роли);
ОписаниеПользователяИБ.Вставить("АутентификацияСтандартная", Истина); ОписаниеПользователяИБ.Вставить("АутентификацияСтандартная", Истина);
ОписаниеПользователяИБ.Вставить("ПоказыватьВСпискеВыбора", ПользовательИБ.ПоказыватьВСпискеВыбора); ОписаниеПользователяИБ.Вставить("ПоказыватьВСпискеВыбора", ПользовательИБ.ПоказыватьВСпискеВыбора);
ОписаниеПользователяИБ.Вставить("УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор); ОписаниеПользователяИБ.Вставить("УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор);
@@ -4553,6 +4604,13 @@
КонецПопытки; КонецПопытки;
Возврат ПользовательИБ.Имя; Возврат ПользовательИБ.Имя;
КонецФункции
Функция ИмяСлужебногоПользователя()
Возврат "СлужебныйПользовательДляОбновленияПредставлений";
КонецФункции КонецФункции
Функция ПредставлениеРежима(Режим) Функция ПредставлениеРежима(Режим)
@@ -584,7 +584,7 @@
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ОтправкаSMSПоДокументу(СообщениеSMS); ОтправкаSMSПоДокументу(СообщениеSMS);
Иначе Иначе
ВзаимодействияКлиентСервер.УстановитьСостояниеИсходящееДокументСообщениеSMS(СообщениеSMS); УстановитьСостояниеИсходящееДокументСообщениеSMS(СообщениеSMS);
КонецЕсли; КонецЕсли;
СообщениеSMS.Записать(); СообщениеSMS.Записать();
@@ -599,6 +599,23 @@
КонецПроцедуры КонецПроцедуры
// Устанавливает состояние "Исходящее" для документа сообщение SMS и всех входящих в него сообщений.
//
// Параметры:
// Объект - Документ.СообщениеSMS - документ, для которого устанавливается состояние.
//
Процедура УстановитьСостояниеИсходящееДокументСообщениеSMS(Объект) Экспорт
Для каждого Адресат Из Объект.Адресаты Цикл
Адресат.СостояниеСообщения = ПредопределенноеЗначение("Перечисление.СостоянияСообщенияSMS.Исходящее");
КонецЦикла;
Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Исходящее");
КонецПроцедуры
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Обработчики событий подсистем конфигурации. // Обработчики событий подсистем конфигурации.
@@ -5475,7 +5492,7 @@
Если Не ОтправкаSMS.НастройкаОтправкиSMSВыполнена() Тогда Если Не ОтправкаSMS.НастройкаОтправкиSMSВыполнена() Тогда
ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Не выполнены настройки отправки SMS.'"),,"Объект"); ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Не выполнены настройки отправки SMS.'"),,"Объект");
ВзаимодействияКлиентСервер.УстановитьСостояниеИсходящееДокументСообщениеSMS(Документ); УстановитьСостояниеИсходящееДокументСообщениеSMS(Документ);
Возврат 0; Возврат 0;
КонецЕсли; КонецЕсли;
@@ -195,23 +195,6 @@
КонецФункции КонецФункции
// Устанавливает состояние "Исходящее" для документа сообщение SMS и всех входящих в него сообщений.
//
// Параметры:
// Объект - Документ.СообщениеSMS - документ, для которого устанавливается состояние.
//
Процедура УстановитьСостояниеИсходящееДокументСообщениеSMS(Объект) Экспорт
Для каждого Адресат Из Объект.Адресаты Цикл
Адресат.СостояниеСообщения = ПредопределенноеЗначение("Перечисление.СостоянияСообщенияSMS.Исходящее");
КонецЦикла;
Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Исходящее");
КонецПроцедуры
// Формирует информационную строку о количестве сообщений и оставшихся символах. // Формирует информационную строку о количестве сообщений и оставшихся символах.
// //
// Параметры: // Параметры:
@@ -27,6 +27,7 @@
// Подключает на сервере 1С:Предприятия внешнюю компоненту из хранилища внешних компонент, // Подключает на сервере 1С:Предприятия внешнюю компоненту из хранилища внешних компонент,
// выполненную по технологии Native API или COM. // выполненную по технологии Native API или COM.
// В модели сервиса разрешено только подключение общих внешних компонент, одобренных администратором сервиса.
// //
// Параметры: // Параметры:
// Идентификатор - Строка - идентификатор объекта внешней компоненты. // Идентификатор - Строка - идентификатор объекта внешней компоненты.
@@ -207,8 +207,11 @@
Функция ЭтоКомпонентаИзХранилища(Местоположение) Экспорт Функция ЭтоКомпонентаИзХранилища(Местоположение) Экспорт
Если СтрНачинаетсяС(Местоположение, "e1cib/data/Справочник.ВнешниеКомпоненты.ХранилищеКомпоненты") Тогда // В модели сервиса недоступно подключение необщих внешних компонент на сервере.
Возврат Истина; Если Не (ОбщегоНазначения.РазделениеВключено() И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()) Тогда
Если СтрНачинаетсяС(Местоположение, "e1cib/data/Справочник.ВнешниеКомпоненты.ХранилищеКомпоненты") Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ВнешниеКомпонентыВМоделиСервиса") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ВнешниеКомпонентыВМоделиСервиса") Тогда
@@ -410,6 +410,11 @@
#Область СлужебныйПрограммныйИнтерфейс #Область СлужебныйПрограммныйИнтерфейс
// См. РегламентныеЗаданияПереопределяемый.ПриОпределенииНастроекРегламентныхЗаданий. // См. РегламентныеЗаданияПереопределяемый.ПриОпределенииНастроекРегламентныхЗаданий.
//
// Параметры:
// Настройки - ТаблицаЗначений - см. описание параметров процедуры
// РегламентныеЗаданияПереопределяемый.ПриОпределенииНастроекРегламентныхЗаданий.
//
Процедура ПриОпределенииНастроекРегламентныхЗаданий(Настройки) Экспорт Процедура ПриОпределенииНастроекРегламентныхЗаданий(Настройки) Экспорт
Настройка = Настройки.Добавить(); Настройка = Настройки.Добавить();
@@ -455,7 +460,7 @@
// принимаемых сообщений. // принимаемых сообщений.
// //
// Параметры: // Параметры:
// МассивОбработчиков - массив // МассивОбработчиков - Массив - массив обработчиков.
// //
Процедура РегистрацияИнтерфейсовПринимаемыхСообщений(МассивОбработчиков) Экспорт Процедура РегистрацияИнтерфейсовПринимаемыхСообщений(МассивОбработчиков) Экспорт
@@ -476,7 +481,7 @@
// отправляемых сообщений. // отправляемых сообщений.
// //
// Параметры: // Параметры:
// МассивОбработчиков - массив // МассивОбработчиков - Массив - массив обработчиков.
// //
Процедура РегистрацияИнтерфейсовОтправляемыхСообщений(МассивОбработчиков) Экспорт Процедура РегистрацияИнтерфейсовОтправляемыхСообщений(МассивОбработчиков) Экспорт
@@ -530,11 +535,11 @@
// Заполняет обработчик разделенных данных, зависимый от изменения неразделенных данных. // Заполняет обработчик разделенных данных, зависимый от изменения неразделенных данных.
// //
// Параметры: // Параметры:
// Обработчики - ТаблицаЗначений, Неопределено - см. описание // Параметры - Структура - структура параметров обработчиков:
// функции НоваяТаблицаОбработчиковОбновления общего модуля // * РазделенныеОбработчики - ТаблицаЗначений, Неопределено - см. описание
// ОбновлениеИнформационнойБазы.. // функции НоваяТаблицаОбработчиковОбновления общего модуля ОбновлениеИнформационнойБазы.
// В случае прямого вызова (не через механизм обновления // В случае прямого вызова (не через механизм обновления
// версии ИБ) передается Неопределено. // версии ИБ) передается Неопределено.
// //
Процедура ЗаполнитьОбработчикиРазделенныхДанных(Параметры = Неопределено) Экспорт Процедура ЗаполнитьОбработчикиРазделенныхДанных(Параметры = Неопределено) Экспорт
@@ -630,7 +635,7 @@
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
КонечнаяТочка = Выборка.Ссылка.ПолучитьОбъект(); КонечнаяТочка = Выборка.Ссылка.ПолучитьОбъект(); // ПланОбменаОбъект.ОбменСообщениями
КонечнаяТочка.Заблокирована = Истина; КонечнаяТочка.Заблокирована = Истина;
КонечнаяТочка.Записать(); КонечнаяТочка.Записать();
@@ -1487,7 +1492,8 @@
КорреспондентОбъект.Записать(); КорреспондентОбъект.Записать();
Если Не ПустаяСтрока(ПсевдонимЭтогоУзла) Тогда Если Не ПустаяСтрока(ПсевдонимЭтогоУзла) Тогда
ВиртуальныеКоды = РегистрыСведений["ПсевдонимыПредопределенныхУзлов"].СоздатьНаборЗаписей(); МенеджерРегистра = ОбщегоНазначения.ОбщийМодуль("РегистрыСведений.ПсевдонимыПредопределенныхУзлов");
ВиртуальныеКоды = МенеджерРегистра.СоздатьНаборЗаписей();
ВиртуальныйКод = ВиртуальныеКоды.Добавить(); ВиртуальныйКод = ВиртуальныеКоды.Добавить();
ВиртуальныйКод.Корреспондент = КорреспондентОбъект.Ссылка; ВиртуальныйКод.Корреспондент = КорреспондентОбъект.Ссылка;
ВиртуальныйКод.КодУзла = ПсевдонимЭтогоУзла; ВиртуальныйКод.КодУзла = ПсевдонимЭтогоУзла;
@@ -1681,7 +1687,8 @@
НастройкиПодключения.ПрефиксКорреспондента); НастройкиПодключения.ПрефиксКорреспондента);
Если Не ПустаяСтрока(ПсевдонимЭтогоУзла) Тогда Если Не ПустаяСтрока(ПсевдонимЭтогоУзла) Тогда
ВиртуальныеКоды = РегистрыСведений["ПсевдонимыПредопределенныхУзлов"].СоздатьНаборЗаписей(); МенеджерРегистра = ОбщегоНазначения.ОбщийМодуль("РегистрыСведений.ПсевдонимыПредопределенныхУзлов");
ВиртуальныеКоды = МенеджерРегистра.СоздатьНаборЗаписей();
ВиртуальныйКод = ВиртуальныеКоды.Добавить(); ВиртуальныйКод = ВиртуальныеКоды.Добавить();
ВиртуальныйКод.Корреспондент = Корреспондент; ВиртуальныйКод.Корреспондент = Корреспондент;
ВиртуальныйКод.КодУзла = ПсевдонимЭтогоУзла; ВиртуальныйКод.КодУзла = ПсевдонимЭтогоУзла;
@@ -84,7 +84,8 @@
ОбменДаннымиСервер.ВыполнитьВыгрузкуДляУзлаИнформационнойБазыВоВременноеХранилище(ИмяПланаОбмена, КодУзлаИнформационнойБазы, Адрес); ОбменДаннымиСервер.ВыполнитьВыгрузкуДляУзлаИнформационнойБазыВоВременноеХранилище(ИмяПланаОбмена, КодУзлаИнформационнойБазы, Адрес);
ПолучитьИзВременногоХранилища(Адрес).Записать(ПолноеИмяФайлаСообщенияОбмена); ДанныеСообщения = ПолучитьИзВременногоХранилища(Адрес); // ДвоичныеДанные
ДанныеСообщения.Записать(ПолноеИмяФайлаСообщенияОбмена);
УдалитьИзВременногоХранилища(Адрес); УдалитьИзВременногоХранилища(Адрес);
@@ -133,10 +133,10 @@
// //
Функция НаборЗаписейРегистраПустой(СтруктураЗаписи, ИмяРегистра) Экспорт Функция НаборЗаписейРегистраПустой(СтруктураЗаписи, ИмяРегистра) Экспорт
МетаданныеРегистра = Метаданные.РегистрыСведений[ИмяРегистра]; МетаданныеРегистра = Метаданные.РегистрыСведений.Найти(ИмяРегистра); // ОбъектМетаданныхРегистрСведений
// Создаем набор записей регистра. // Создаем набор записей регистра.
НаборЗаписей = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей(); НаборЗаписей = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей(); // РегистрСведенийНаборЗаписей
// Устанавливаем отбор по измерениям регистра. // Устанавливаем отбор по измерениям регистра.
Для Каждого Измерение Из МетаданныеРегистра.Измерения Цикл Для Каждого Измерение Из МетаданныеРегистра.Измерения Цикл
@@ -144,7 +144,7 @@
// Если задано значение в структуре, то отбор устанавливаем. // Если задано значение в структуре, то отбор устанавливаем.
Если СтруктураЗаписи.Свойство(Измерение.Имя) Тогда Если СтруктураЗаписи.Свойство(Измерение.Имя) Тогда
НаборЗаписей.Отбор[Измерение.Имя].Установить(СтруктураЗаписи[Измерение.Имя]); НаборЗаписей.Отбор.Найти(Измерение.Имя).Установить(СтруктураЗаписи[Измерение.Имя]);
КонецЕсли; КонецЕсли;
@@ -115,7 +115,7 @@
Функция ЭтоУзелАвтономногоРабочегоМеста(Знач УзелИнформационнойБазы) Экспорт Функция ЭтоУзелАвтономногоРабочегоМеста(Знач УзелИнформационнойБазы) Экспорт
Возврат ОбменДаннымиПовтИсп.АвтономнаяРаботаПоддерживается() Возврат ОбменДаннымиПовтИсп.АвтономнаяРаботаПоддерживается()
И УзелИнформационнойБазы.Метаданные().Имя = ОбменДаннымиПовтИсп.ПланОбменаАвтономнойРаботы(); И ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы) = ОбменДаннымиПовтИсп.ПланОбменаАвтономнойРаботы();
КонецФункции КонецФункции
@@ -390,11 +390,17 @@
// См. ОбменДаннымиСервер.ЭтоПланОбменаXDTO. // См. ОбменДаннымиСервер.ЭтоПланОбменаXDTO.
// //
// Параметры:
// ПланОбмена - Строка, ПланОбменаСсылка - узел плана обмена или имя плана обмена.
//
// Возвращаемое значение:
// Булево - Истина, если это план обмена через XDTO.
//
Функция ЭтоПланОбменаXDTO(ПланОбмена) Экспорт Функция ЭтоПланОбменаXDTO(ПланОбмена) Экспорт
Если ТипЗнч(ПланОбмена) = Тип("Строка") Тогда Если ТипЗнч(ПланОбмена) = Тип("Строка") Тогда
ИмяПланаОбмена = ПланОбмена; ИмяПланаОбмена = ПланОбмена;
Иначе Иначе
ИмяПланаОбмена = ПланОбмена.Метаданные().Имя; ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(ПланОбмена);
КонецЕсли; КонецЕсли;
Возврат ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ЭтоПланОбменаXDTO"); Возврат ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ЭтоПланОбменаXDTO");
КонецФункции КонецФункции
@@ -624,7 +630,7 @@
ОбщегоНазначения.ИменаРеквизитовПоТипу(Получатель, Тип("ПеречислениеСсылка.РежимыВыгрузкиОбъектовОбмена"))); ОбщегоНазначения.ИменаРеквизитовПоТипу(Получатель, Тип("ПеречислениеСсылка.РежимыВыгрузкиОбъектовОбмена")));
Приоритеты = ПриоритетыРежимовВыгрузкиОбъектов(); Приоритеты = ПриоритетыРежимовВыгрузкиОбъектов();
ИмяПланаОбмена = Получатель.Метаданные().Имя; ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Получатель);
Правила = ОбменДаннымиПовтИсп.ПравилаРегистрацииОбъектовПланаОбмена(ИмяПланаОбмена); Правила = ОбменДаннымиПовтИсп.ПравилаРегистрацииОбъектовПланаОбмена(ИмяПланаОбмена);
Правила.Индексы.Добавить("ОбъектМетаданныхИмя"); Правила.Индексы.Добавить("ОбъектМетаданныхИмя");
@@ -1415,6 +1421,18 @@
КонецФункции КонецФункции
// Возвращает описание объекта метаданных.
//
// Параметры:
// Мета - ОбъектМетаданных - объект метаданных.
//
// Возвращаемое значение:
// Структура - описание объекта:
// * ИндексКартинки - Число - индекс картинки.
// * Периодический - Булево - Истина, если объект периодический.
// * Справочный - Булево - Истина, если объект справочный.
// * Тип - Тип - ссылочный тип значения.
//
Функция ОписаниеОбъектаМетаданных(Мета) Функция ОписаниеОбъектаМетаданных(Мета)
Результат = Новый Структура("ИндексКартинки, Периодический, Справочный, Тип", -1, Ложь, Ложь); Результат = Новый Структура("ИндексКартинки, Периодический, Справочный, Тип", -1, Ложь, Ложь);
@@ -25,6 +25,11 @@
КонецФункции КонецФункции
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса. // См. ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса.
//
// Параметры:
// ИмяПараметра - Строка - имя параметра сеанса, который требуется установить.
// УстановленныеПараметры - Массив - имена параметров, которые уже установлены.
//
Процедура УстановкаПараметровСеанса(ИмяПараметра, УстановленныеПараметры) Экспорт Процедура УстановкаПараметровСеанса(ИмяПараметра, УстановленныеПараметры) Экспорт
// Инициализация параметров сеанса должна выполняться без обращения к параметрам работы программы. // Инициализация параметров сеанса должна выполняться без обращения к параметрам работы программы.
@@ -269,6 +274,14 @@
Возврат Ложь; Возврат Ложь;
КонецФункции КонецФункции
// Только для внутреннего использования.
//
// Параметры:
// ИдентификаторФайла - УникальныйИдентификатор - уникальный идентификатор сессии передачи данных.
// НомерЗагружаемойЧастиФайла - Число - номер части файла.
// ЗагружаемаяЧастьФайла - ДвоичныеДанные - данные части файла.
// СообщениеОбОшибке - Строка - описание ошибки при выполнении операции.
//
Функция ЗагрузитьЧастьФайла(ИдентификаторФайла, НомерЗагружаемойЧастиФайла, ЗагружаемаяЧастьФайла, СообщениеОбОшибке) Экспорт Функция ЗагрузитьЧастьФайла(ИдентификаторФайла, НомерЗагружаемойЧастиФайла, ЗагружаемаяЧастьФайла, СообщениеОбОшибке) Экспорт
СообщениеОбОшибке = ""; СообщениеОбОшибке = "";
@@ -792,7 +805,7 @@
ВидыМетаданных.Добавить(Метаданные.ПланыВидовХарактеристик); ВидыМетаданных.Добавить(Метаданные.ПланыВидовХарактеристик);
ВидыМетаданных.Добавить(Метаданные.ПланыСчетов); ВидыМетаданных.Добавить(Метаданные.ПланыСчетов);
ПакетЗапросов = Новый Массив; ПакетЗапросов = Новый Массив; // Массив из Запрос
СчетчикТаблиц = 0; СчетчикТаблиц = 0;
ТекстЗапроса = ""; ТекстЗапроса = "";
@@ -856,7 +869,7 @@
Или ТипЗнч(Данные) = Тип("УдалениеОбъекта") Тогда Или ТипЗнч(Данные) = Тип("УдалениеОбъекта") Тогда
Возврат; Возврат;
Иначе Иначе
МетаданныеОбъекта = Данные.Метаданные(); МетаданныеОбъекта = Данные.Метаданные(); // ОбъектМетаданных
Если ОбщегоНазначения.ЭтоКонстанта(МетаданныеОбъекта) Тогда Если ОбщегоНазначения.ЭтоКонстанта(МетаданныеОбъекта) Тогда
@@ -133,11 +133,11 @@
Попытка Попытка
Объект.ОбменДанными.Получатели.Добавить(Элемент); Объект.ОбменДанными.Получатели.Добавить(Элемент);
Исключение Исключение
ИмяПланаОбмена = Элемент.Метаданные().Имя; ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Элемент);
ОбъектМетаданных = Объект.Метаданные(); ОбъектМетаданных = Объект.Метаданные();
СтрокаСообщения = НСтр("ru = 'Для состава плана обмена [ИмяПланаОбмена] не указана регистрация объекта [ПолноеИмя]'"); СтрокаСообщения = НСтр("ru = 'Для состава плана обмена [ИмяПланаОбмена] не указана регистрация объекта [ПолноеИмя]'");
СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "[ИмяПланаОбмена]", ИмяПланаОбмена); СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "[ИмяПланаОбмена]", ИмяПланаОбмена);
СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "[ПолноеИмя]", ОбъектМетаданных.ПолноеИмя()); СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "[ПолноеИмя]", ОбъектМетаданных.ПолноеИмя());
ВызватьИсключение СтрокаСообщения; ВызватьИсключение СтрокаСообщения;
КонецПопытки; КонецПопытки;
@@ -2639,7 +2639,7 @@
Результат = Истина; Результат = Истина;
ИмяПланаОбмена = Получатель.Метаданные().Имя; ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Получатель);
ОбъектМетаданных = ЭлементДанных.Метаданные(); ОбъектМетаданных = ЭлементДанных.Метаданные();
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.202"; Описание.Версия = "3.1.2.208";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -29,6 +29,11 @@
Результат = Новый Структура("ОтправленныеСообщения,ОписаниеОшибки", Новый Массив, ""); Результат = Новый Структура("ОтправленныеСообщения,ОписаниеОшибки", Новый Массив, "");
Если Не ЗначениеЗаполнено(СтрСоединить(НомераПолучателей, "")) Тогда
Результат.ОписаниеОшибки = НСтр("ru = 'Не указан номер получателя SMS.'");
Возврат Результат;
КонецЕсли;
Если ПеревестиВТранслит Тогда Если ПеревестиВТранслит Тогда
Текст = СтроковыеФункции.СтрокаЛатиницей(Текст); Текст = СтроковыеФункции.СтрокаЛатиницей(Текст);
КонецЕсли; КонецЕсли;
@@ -614,82 +614,40 @@
ИспользованиеПолнотекстовогоПоиска = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать; ИспользованиеПолнотекстовогоПоиска = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать;
ИзвлекатьТекст = Метаданные.Справочники[ИмяСправочника].ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска; ИзвлекатьТекст = Метаданные.Справочники[ИмяСправочника].ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска;
Если ПрисоединенныйФайл.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
НачатьТранзакцию(); НачатьТранзакцию();
Попытка
Попытка ПрисоединенныйФайл.Том = Справочники.ТомаХраненияФайлов.ПустаяСсылка();
ПрисоединенныйФайл.ПутьКФайлу = "";
ПрисоединенныйФайл.Том = Справочники.ТомаХраненияФайлов.ПустаяСсылка(); Если ИзвлекатьТекст Тогда
ПрисоединенныйФайл.ПутьКФайлу = "";
Если ИзвлекатьТекст Тогда РезультатИзвлеченияТекста = РаботаСФайламиСлужебный.ИзвлечьТекст(АдресВременногоХранилищаТекста,
РезультатИзвлеченияТекста = РаботаСФайламиСлужебный.ИзвлечьТекст(АдресВременногоХранилищаТекста, ДвоичныеДанные, ПрисоединенныйФайл.Расширение);
ДвоичныеДанные, ПрисоединенныйФайл.Расширение);
ПрисоединенныйФайл.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста;
ПрисоединенныйФайл.ТекстХранилище = РезультатИзвлеченияТекста.ТекстХранилище;
Иначе
ПрисоединенныйФайл.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
ПрисоединенныйФайл.ТекстХранилище = Новый ХранилищеЗначения("");
КонецЕсли;
ПрисоединенныйФайл.Заполнить(Неопределено); ПрисоединенныйФайл.ТекстХранилище = РезультатИзвлеченияТекста.ТекстХранилище;
Если Не ЗначениеЗаполнено(ПрисоединенныйФайл.Изменил) Тогда ПрисоединенныйФайл.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста;
ПрисоединенныйФайл.Изменил = Пользователи.АвторизованныйПользователь();
КонецЕсли;
ПрисоединенныйФайл.Записать(); Иначе
ПрисоединенныйФайл.ТекстХранилище = Новый ХранилищеЗначения("");
ПрисоединенныйФайл.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
КонецЕсли;
ПрисоединенныйФайл.Заполнить(Неопределено);
Если Не ЗначениеЗаполнено(ПрисоединенныйФайл.Изменил) Тогда
ПрисоединенныйФайл.Изменил = Пользователи.АвторизованныйПользователь();
КонецЕсли;
ПрисоединенныйФайл.Записать();
Если ПрисоединенныйФайл.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
РаботаСФайламиСлужебный.ЗаписатьФайлВИнформационнуюБазу(ПрисоединенныйФайл.Ссылка, ДвоичныеДанные); РаботаСФайламиСлужебный.ЗаписатьФайлВИнформационнуюБазу(ПрисоединенныйФайл.Ссылка, ДвоичныеДанные);
Иначе
ЗафиксироватьТранзакцию(); УстановитьОтключениеБезопасногоРежима(Истина);
Исключение
ОтменитьТранзакцию();
ИнформацияОбОшибке = ИнформацияОбОшибке();
ШаблонСообщения = НСтр("ru = 'Ошибка при добавлении присоединенного файла ""%1"":
|%2'");
КомментарийЖурналаРегистрации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонСообщения,
ИмяБезРасширения + "." + РасширениеБезТочки,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Файлы.Добавление присоединенного файла'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,
,
,
КомментарийЖурналаРегистрации);
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонСообщения,
ИмяБезРасширения + "." + РасширениеБезТочки,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
Иначе
Попытка
РаботаСФайламиВТомахСлужебный.ДобавитьФайл(ПрисоединенныйФайл, ДвоичныеДанные); РаботаСФайламиВТомахСлужебный.ДобавитьФайл(ПрисоединенныйФайл, ДвоичныеДанные);
Если ИзвлекатьТекст Тогда УстановитьОтключениеБезопасногоРежима(Ложь);
РезультатИзвлеченияТекста = РаботаСФайламиСлужебный.ИзвлечьТекст(АдресВременногоХранилищаТекста,
ДвоичныеДанные, ПрисоединенныйФайл.Расширение);
ПрисоединенныйФайл.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста;
ПрисоединенныйФайл.ТекстХранилище = РезультатИзвлеченияТекста.ТекстХранилище;
Иначе
ПрисоединенныйФайл.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
ПрисоединенныйФайл.ТекстХранилище = Новый ХранилищеЗначения("");
КонецЕсли;
ПрисоединенныйФайл.Заполнить(Неопределено);
Если Не ЗначениеЗаполнено(ПрисоединенныйФайл.Изменил) Тогда
ПрисоединенныйФайл.Изменил = Пользователи.АвторизованныйПользователь();
КонецЕсли;
ПрисоединенныйФайл.Записать(); ПрисоединенныйФайл.Записать();
@@ -707,33 +665,36 @@
КонецЕсли; КонецЕсли;
Исключение КонецЕсли;
ИнформацияОбОшибке = ИнформацияОбОшибке(); ЗафиксироватьТранзакцию();
ШаблонСообщения = НСтр("ru = 'Ошибка при добавлении присоединенного файла ""%1"": Исключение
|%2'");
КомментарийЖурналаРегистрации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонСообщения,
ИмяБезРасширения + "." + РасширениеБезТочки,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЗаписьЖурналаРегистрации( ОтменитьТранзакцию();
НСтр("ru = 'Файлы.Добавление присоединенного файла'", ИнформацияОбОшибке = ИнформацияОбОшибке();
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,
,
,
КомментарийЖурналаРегистрации);
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ШаблонСообщения = НСтр("ru = 'Ошибка при добавлении присоединенного файла ""%1"":
ШаблонСообщения, |%2'");
ИмяБезРасширения + "." + РасширениеБезТочки, КомментарийЖурналаРегистрации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
КраткоеПредставлениеОшибки(ИнформацияОбОшибке)); ШаблонСообщения,
ИмяБезРасширения + "." + РасширениеБезТочки,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки; ЗаписьЖурналаРегистрации(
НСтр("ru = 'Файлы.Добавление присоединенного файла'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,
,
,
КомментарийЖурналаРегистрации);
КонецЕсли; ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонСообщения,
ИмяБезРасширения + "." + РасширениеБезТочки,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
Возврат ПрисоединенныйФайл.Ссылка; Возврат ПрисоединенныйФайл.Ссылка;
@@ -1360,8 +1321,13 @@
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
ДоступноДобавление = ПравоДоступа("ИнтерактивноеДобавление", МетаданныеСправочникаСФайлами); СведенияОСинхронизации = РаботаСФайламиСлужебный.СведенияОСинхронизации(ВладелецПрисоединенныхФайлов);
ДоступноИзменение = ПравоДоступа("Изменение", МетаданныеСправочникаСФайлами); ФайлыРедактируютсяВОблачномСервисе = СведенияОСинхронизации.Количество() > 0;
ДоступноДобавление = Не ФайлыРедактируютсяВОблачномСервисе
И ПравоДоступа("ИнтерактивноеДобавление", МетаданныеСправочникаСФайлами);
ДоступноИзменение = Не ФайлыРедактируютсяВОблачномСервисе
И ПравоДоступа("Изменение", МетаданныеСправочникаСФайлами);
ПараметрыЭлемента = Новый Структура; ПараметрыЭлемента = Новый Структура;
ПараметрыЭлемента.Вставить("ТолькоОдинФайл" , Ложь); ПараметрыЭлемента.Вставить("ТолькоОдинФайл" , Ложь);
@@ -1607,8 +1607,6 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
АдресВременногоХранилищаФайла = Адрес;
ИмяФайла = ВыбранноеИмяФайла;
ВладелецФайла = ДополнительныеПараметры.ВладелецФайла; ВладелецФайла = ДополнительныеПараметры.ВладелецФайла;
СтруктураПути = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ВыбранноеИмяФайла); СтруктураПути = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ВыбранноеИмяФайла);
ГруппаФайлов = ?(Обработчик.ДополнительныеПараметры.Свойство("ГруппаФайлов"), ГруппаФайлов = ?(Обработчик.ДополнительныеПараметры.Свойство("ГруппаФайлов"),
@@ -1622,11 +1620,29 @@
НСтр("ru = 'Ошибка при помещении файла НСтр("ru = 'Ошибка при помещении файла
|""%1"" |""%1""
|в программу.'"), |в программу.'"),
ИмяФайла); ВыбранноеИмяФайла);
КонецЕсли; КонецЕсли;
ПроверитьРасширениеФайлаДляЗагрузки(Расширение); ПроверитьРасширениеФайлаДляЗагрузки(Расширение);
ОбщиеНастройки = ОбщиеНастройкиРаботыСФайлами();
РазмерЗагружаемогоФайла = ПолучитьИзВременногоХранилища(Адрес).Размер();
Если РазмерЗагружаемогоФайла > ОбщиеНастройки.МаксимальныйРазмерФайла Тогда
РазмерВМб = РазмерЗагружаемогоФайла / (1024 * 1024);
РазмерВМбМакс = ОбщиеНастройки.МаксимальныйРазмерФайла / (1024 * 1024);
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Размер файла ""%1"" (%2 Мб)
|превышает максимально допустимый размер файла (%3 Мб).'"),
ВыбранноеИмяФайла,
РаботаСФайламиСлужебныйКлиентСервер.ПолучитьСтрокуСРазмеромФайла(РазмерВМб),
РаботаСФайламиСлужебныйКлиентСервер.ПолучитьСтрокуСРазмеромФайла(РазмерВМбМакс));
ВызватьИсключение ОписаниеОшибки;
КонецЕсли;
ПараметрыФайла = РаботаСФайламиСлужебныйКлиентСервер.ПараметрыДобавленияФайла(); ПараметрыФайла = РаботаСФайламиСлужебныйКлиентСервер.ПараметрыДобавленияФайла();
ПараметрыФайла.ВладелецФайлов = ВладелецФайла; ПараметрыФайла.ВладелецФайлов = ВладелецФайла;
ПараметрыФайла.ИмяБезРасширения = ИмяБезРасширения; ПараметрыФайла.ИмяБезРасширения = ИмяБезРасширения;
@@ -1637,8 +1653,7 @@
// Создание карточки Файла в базе данных. // Создание карточки Файла в базе данных.
ПрисоединенныйФайл = РаботаСФайламиСлужебныйВызовСервера.ДобавитьФайл( ПрисоединенныйФайл = РаботаСФайламиСлужебныйВызовСервера.ДобавитьФайл(
ПараметрыФайла, ПараметрыФайла, Адрес);
АдресВременногоХранилищаФайла);
ВыполнитьОбработкуОповещения(Обработчик, ПрисоединенныйФайл); ВыполнитьОбработкуОповещения(Обработчик, ПрисоединенныйФайл);
@@ -92,14 +92,10 @@
КонецПроцедуры КонецПроцедуры
// Получает сохраненные параметры администрирования.
//
Функция ПараметрыАдминистрирования() Экспорт Функция ПараметрыАдминистрирования() Экспорт
Возврат СтандартныеПодсистемыСервер.ПараметрыАдминистрирования(); Возврат СтандартныеПодсистемыСервер.ПараметрыАдминистрирования();
КонецФункции КонецФункции
// Удаляет все сеансы информационной базы кроме текущего.
//
Процедура УдалитьВсеСеансыКромеТекущего(ПараметрыАдминистрирования) Экспорт Процедура УдалитьВсеСеансыКромеТекущего(ПараметрыАдминистрирования) Экспорт
ВсеКромеТекущего = Новый Структура; ВсеКромеТекущего = Новый Структура;
@@ -225,7 +225,7 @@
Блокировка.Заблокировать(); Блокировка.Заблокировать();
ЗаблокироватьДанныеДляРедактирования(ПодключенныйКорреспондент); ЗаблокироватьДанныеДляРедактирования(ПодключенныйКорреспондент);
КорреспондентОбъект = ПодключенныйКорреспондент.ПолучитьОбъект(); КорреспондентОбъект = ПодключенныйКорреспондент.ПолучитьОбъект(); // ПланОбменаОбъект.ОбменСообщениями
КорреспондентОбъект.Заблокирована = Истина; КорреспондентОбъект.Заблокирована = Истина;
@@ -16,6 +16,8 @@
// * Идентификатор - Строка - внутренний идентификатор дела, используемый подсистемой. // * Идентификатор - Строка - внутренний идентификатор дела, используемый подсистемой.
// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. // * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя.
// * Важное - Булево - если Истина, дело будет выделено красным цветом. // * Важное - Булево - если Истина, дело будет выделено красным цветом.
// * ВыводитьВОповещениях - Булево - если Истина, уведомление о деле будет дублироваться всплывающим
// оповещением и отображением в центре оповещений.
// * СкрыватьВНастройках - Булево - если Истина, то дело будет скрыто в форме настроек текущих дел. // * СкрыватьВНастройках - Булево - если Истина, то дело будет скрыто в форме настроек текущих дел.
// Можно применять для дел, которые не предполагают многократного // Можно применять для дел, которые не предполагают многократного
// использования, т.е. после выполнения они для данной информационной базы // использования, т.е. после выполнения они для данной информационной базы
@@ -282,6 +282,7 @@
ДелаПользователя.Колонки.Добавить("Важное", Новый ОписаниеТипов("Булево")); ДелаПользователя.Колонки.Добавить("Важное", Новый ОписаниеТипов("Булево"));
ДелаПользователя.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250))); ДелаПользователя.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250)));
ДелаПользователя.Колонки.Добавить("СкрыватьВНастройках", Новый ОписаниеТипов("Булево")); ДелаПользователя.Колонки.Добавить("СкрыватьВНастройках", Новый ОписаниеТипов("Булево"));
ДелаПользователя.Колонки.Добавить("ВыводитьВОповещениях", Новый ОписаниеТипов("Булево"));
ДелаПользователя.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число")); ДелаПользователя.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
ДелаПользователя.Колонки.Добавить("Форма", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250))); ДелаПользователя.Колонки.Добавить("Форма", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250)));
ДелаПользователя.Колонки.Добавить("ПараметрыФормы", Новый ОписаниеТипов("Структура")); ДелаПользователя.Колонки.Добавить("ПараметрыФормы", Новый ОписаниеТипов("Структура"));
@@ -821,12 +821,26 @@
| И ПоставляемыеМакетыПечати.КонтрольнаяСумма <> ПоставляемыеМакетыПечати.ПредыдущаяКонтрольнаяСумма КАК Изменен, | И ПоставляемыеМакетыПечати.КонтрольнаяСумма <> ПоставляемыеМакетыПечати.ПредыдущаяКонтрольнаяСумма КАК Изменен,
| ПоставляемыеМакетыПечати.ИмяМакета КАК ИмяМакета | ПоставляемыеМакетыПечати.ИмяМакета КАК ИмяМакета
|ИЗ |ИЗ
| РегистрСведений.ОбщиеПоставляемыеМакетыПечати КАК ПоставляемыеМакетыПечати
|ГДЕ
| ПоставляемыеМакетыПечати.Объект = &Объект
| И ПоставляемыеМакетыПечати.ИмяМакета ПОДОБНО &ИмяМакета
| И ПоставляемыеМакетыПечати.ВерсияМакета = &ВерсияМакета
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПоставляемыеМакетыПечати.ПредыдущаяКонтрольнаяСумма <> """"
| И ПоставляемыеМакетыПечати.КонтрольнаяСумма <> ПоставляемыеМакетыПечати.ПредыдущаяКонтрольнаяСумма,
| ПоставляемыеМакетыПечати.ИмяМакета
|ИЗ
| РегистрСведений.ПоставляемыеМакетыПечати КАК ПоставляемыеМакетыПечати | РегистрСведений.ПоставляемыеМакетыПечати КАК ПоставляемыеМакетыПечати
|ГДЕ |ГДЕ
| ПоставляемыеМакетыПечати.Объект = &Объект | ПоставляемыеМакетыПечати.Объект = &Объект
| И ПоставляемыеМакетыПечати.ИмяМакета ПОДОБНО &ИмяМакета | И ПоставляемыеМакетыПечати.ИмяМакета ПОДОБНО &ИмяМакета
| И ПоставляемыеМакетыПечати.ВерсияМакета = &ВерсияМакета"; | И ПоставляемыеМакетыПечати.ВерсияМакета = &ВерсияМакета";
Запрос = Новый Запрос(ТекстЗапроса); Запрос = Новый Запрос(ТекстЗапроса);
Запрос.Параметры.Вставить("Объект", ОбъектМетаданных); Запрос.Параметры.Вставить("Объект", ОбъектМетаданных);
Запрос.Параметры.Вставить("ИмяМакета", ИмяМакета + "%"); Запрос.Параметры.Вставить("ИмяМакета", ИмяМакета + "%");
@@ -1475,6 +1489,9 @@
// операционной системы; // операционной системы;
// Картинка - Картинка - значок формата. // Картинка - Картинка - значок формата.
// //
// Примечание: таблица форматов может быть переопределена в процедуре
// УправлениеПечатьюПереопределяемый.ПриЗаполненииНастроекФорматовСохранения().
//
Функция НастройкиФорматовСохраненияТабличногоДокумента() Экспорт Функция НастройкиФорматовСохраненияТабличногоДокумента() Экспорт
ТаблицаФорматов = СтандартныеПодсистемыСервер.НастройкиФорматовСохраненияТабличногоДокумента(); ТаблицаФорматов = СтандартныеПодсистемыСервер.НастройкиФорматовСохраненияТабличногоДокумента();
@@ -1757,7 +1774,7 @@
Обработчик.Версия = "*"; Обработчик.Версия = "*";
Обработчик.Процедура = "РегистрыСведений.ПоставляемыеМакетыПечати.ОбновитьКонтрольнуюСуммуМакетов"; Обработчик.Процедура = "РегистрыСведений.ПоставляемыеМакетыПечати.ОбновитьКонтрольнуюСуммуМакетов";
Обработчик.РежимВыполнения = "Отложенно"; Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Комментарий = НСтр("ru = 'Определяет, какие поставляемые макеты печатных форм изменились по отношению к предыдущей версии конфигурации.'"); Обработчик.Комментарий = НСтр("ru = 'Определяет, какие поставляемые макеты печатных форм расширений изменились по отношению к предыдущей версии.'");
Обработчик.Идентификатор = Новый УникальныйИдентификатор("51f71246-67e3-40e0-80e5-ebb3192fa6c0"); Обработчик.Идентификатор = Новый УникальныйИдентификатор("51f71246-67e3-40e0-80e5-ebb3192fa6c0");
КонецПроцедуры КонецПроцедуры
@@ -1843,6 +1860,13 @@
КонецПроцедуры КонецПроцедуры
// Определяет, какие поставляемые макеты печатных форм конфигурации изменились по отношению к предыдущей версии.
Процедура ОбновитьКонтрольнуюСуммуМакетов() Экспорт
РегистрыСведений.ОбщиеПоставляемыеМакетыПечати.ОбновитьКонтрольнуюСуммуМакетов();
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -2965,4 +2989,65 @@
КонецПроцедуры КонецПроцедуры
// Формирует печатные формы.
//
// Параметры:
// МассивОбъектов - Массив - ссылки на объекты, которые нужно распечатать;
// ПараметрыПечати - Структура - дополнительные настройки печати;
// КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы (выходной параметр),
// см. УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм.
// ОбъектыПечати - СписокЗначений - значение - ссылка на объект;
// представление - имя области в которой был выведен объект (выходной
// параметр);
// ПараметрыВывода - Структура - дополнительные параметры сформированных табличных документов (выходной
// параметр).
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПечатнаяФорма = СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
Если ПечатнаяФорма <> Неопределено Тогда
ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Как сделать факсимильную подпись и печать'");
ПечатнаяФорма.ТабличныйДокумент = ПолучитьОбщийМакет("ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
ПечатнаяФорма.ПолныйПутьКМакету = "ОбщийМакет.ИнструкцияПоСозданиюФаксимильнойПодписиИПечати";
КонецЕсли;
КонецПроцедуры
Функция МакетыПечатныхФорм() Экспорт
Результат = Новый Соответствие;
КоллекцииОбъектовМетаданных = Новый Массив;
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Справочники);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Документы);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Обработки);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.БизнесПроцессы);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Задачи);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.ЖурналыДокументов);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Отчеты);
Для Каждого КоллекцияОбъектовМетаданных Из КоллекцииОбъектовМетаданных Цикл
Для Каждого ОбъектМетаданных Из КоллекцияОбъектовМетаданных Цикл
Для Каждого Макет Из ОбъектМетаданных.Макеты Цикл
Если СтрНайти(Макет.Имя, "ПФ_") > 0 Тогда
Если (КоллекцияОбъектовМетаданных = Метаданные.Обработки Или КоллекцияОбъектовМетаданных = Метаданные.Отчеты)
И Не ПравоДоступа("Просмотр", ОбъектМетаданных) Тогда
Продолжить;
КонецЕсли;
Результат.Вставить(Макет, ОбъектМетаданных);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Для Каждого Макет Из Метаданные.ОбщиеМакеты Цикл
Если СтрНайти(Макет.Имя, "ПФ_") > 0 Тогда
Результат.Вставить(Макет, Метаданные.ОбщиеМакеты);
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти #КонецОбласти
@@ -265,7 +265,7 @@
// Открывает форму с инструкцией как сделать факсимильную подпись и печать. // Открывает форму с инструкцией как сделать факсимильную подпись и печать.
Процедура ПоказатьИнструкциюПоСозданиюФаксимильнойПодписиИПечати() Экспорт Процедура ПоказатьИнструкциюПоСозданиюФаксимильнойПодписиИПечати() Экспорт
ВыполнитьКомандуПечати("РегистрСведений.ПоставляемыеМакетыПечати", "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати", ВыполнитьКомандуПечати("УправлениеПечатью", "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати",
ПредопределенноеЗначение("Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка"), Неопределено, Новый Структура); ПредопределенноеЗначение("Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка"), Неопределено, Новый Структура);
КонецПроцедуры КонецПроцедуры
@@ -173,7 +173,7 @@
Обработчик.НачальноеЗаполнение = Истина; Обработчик.НачальноеЗаполнение = Истина;
Обработчик = Обработчики.Добавить(); Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.1.2.13"; Обработчик.Версия = "3.1.2.206";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("ecd6aad4-4b04-43be-82bc-cd4f563beb0b"); Обработчик.Идентификатор = Новый УникальныйИдентификатор("ecd6aad4-4b04-43be-82bc-cd4f563beb0b");
Обработчик.Процедура = "ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ОбработатьДанныеДляПереходаНаНовуюВерсию"; Обработчик.Процедура = "ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.Комментарий = НСтр("ru = 'Заполняет уникальное имя и обновляет зависимости дополнительных реквизитов и сведений. Обработчик.Комментарий = НСтр("ru = 'Заполняет уникальное имя и обновляет зависимости дополнительных реквизитов и сведений.
@@ -399,10 +399,11 @@
Для Каждого ДополнительныйРеквизит Из ДополнительныеРеквизитыОбъекта Цикл Для Каждого ДополнительныйРеквизит Из ДополнительныеРеквизитыОбъекта Цикл
Строка = Проверка.ДополнительныеРеквизиты.Найти(ДополнительныйРеквизит, "Свойство"); Строка = Проверка.ДополнительныеРеквизиты.Найти(ДополнительныйРеквизит, "Свойство");
Свойства = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДополнительныйРеквизит, "Имя,ТипЗначения"); Свойства = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДополнительныйРеквизит, "Имя,ТипЗначения");
ИмяРеквизита = "_" + Свойства.Имя;
Если Строка = Неопределено Тогда Если Строка = Неопределено Тогда
ЗначенияРеквизитов.Вставить(Свойства.Имя, Свойства.ТипЗначения.ПривестиЗначение(Неопределено)); ЗначенияРеквизитов.Вставить(ИмяРеквизита, Свойства.ТипЗначения.ПривестиЗначение(Неопределено));
Иначе Иначе
ЗначенияРеквизитов.Вставить(Свойства.Имя, Строка.Значение); ЗначенияРеквизитов.Вставить(ИмяРеквизита, Строка.Значение);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -412,7 +413,8 @@
Если ТипЗнч(СтрокаЗависимостей.Реквизит) = Тип("Строка") Тогда Если ТипЗнч(СтрокаЗависимостей.Реквизит) = Тип("Строка") Тогда
ПутьКРеквизиту = "Параметры.ОписаниеОбъекта." + СтрокаЗависимостей.Реквизит; ПутьКРеквизиту = "Параметры.ОписаниеОбъекта." + СтрокаЗависимостей.Реквизит;
Иначе Иначе
ПутьКРеквизиту = "Параметры.Форма." + ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтрокаЗависимостей.Реквизит, "Имя"); ИмяРеквизита = "_" + ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтрокаЗависимостей.Реквизит, "Имя");
ПутьКРеквизиту = "Параметры.Форма." + ИмяРеквизита;
КонецЕсли; КонецЕсли;
ПостроитьУсловияЗависимостей(ОписаниеЗависимогоРеквизита, ПутьКРеквизиту, СтрокаЗависимостей); ПостроитьУсловияЗависимостей(ОписаниеЗависимогоРеквизита, ПутьКРеквизиту, СтрокаЗависимостей);
@@ -1608,7 +1610,7 @@
КонецФункции КонецФункции
Процедура УдалитьНедопустимыеСимволы(Строка) Экспорт Процедура УдалитьНедопустимыеСимволы(Строка) Экспорт
НедопустимыеСимволы = """'`/\[]{}:;|=?*<>,.()+#№@!%^&~"; НедопустимыеСимволы = """'`/\[]{}:;|-=?*<>,.()+#№@!%^&~";
Строка = СтрСоединить(СтрРазделить(Строка, НедопустимыеСимволы, Истина)); Строка = СтрСоединить(СтрРазделить(Строка, НедопустимыеСимволы, Истина));
КонецПроцедуры КонецПроцедуры
@@ -20,6 +20,8 @@
ПараметрыЦентраМониторинга.ЦентрОбработкиИнформацииОПрограмме = Ложь; ПараметрыЦентраМониторинга.ЦентрОбработкиИнформацииОПрограмме = Ложь;
ЦентрМониторингаСлужебный.УстановитьПараметрыЦентраМониторингаВнешнийВызов(ПараметрыЦентраМониторинга); ЦентрМониторингаСлужебный.УстановитьПараметрыЦентраМониторингаВнешнийВызов(ПараметрыЦентраМониторинга);
РегЗадание = ЦентрМониторингаСлужебный.ПолучитьРегламентноеЗаданиеВнешнийВызов("СборИОтправкаСтатистики", Истина);
ЦентрМониторингаСлужебный.УстановитьРасписаниеПоУмолчаниюВнешнийВызов(РегЗадание);
КонецПроцедуры КонецПроцедуры
@@ -33,6 +35,7 @@
ПараметрыЦентраМониторинга.ЦентрОбработкиИнформацииОПрограмме = Ложь; ПараметрыЦентраМониторинга.ЦентрОбработкиИнформацииОПрограмме = Ложь;
ЦентрМониторингаСлужебный.УстановитьПараметрыЦентраМониторингаВнешнийВызов(ПараметрыЦентраМониторинга); ЦентрМониторингаСлужебный.УстановитьПараметрыЦентраМониторингаВнешнийВызов(ПараметрыЦентраМониторинга);
ЦентрМониторингаСлужебный.УдалитьРегламентноеЗаданиеВнешнийВызов("СборИОтправкаСтатистики");
КонецПроцедуры КонецПроцедуры
@@ -1634,7 +1634,7 @@
Если Пакет <> Неопределено Тогда Если Пакет <> Неопределено Тогда
ХешПакета = Пакет.ХешПакета; ХешПакета = Пакет.ХешПакета;
НомерПакета = Формат(Пакет.НомерПакета, "ЧН=0; ЧГ=0"); НомерПакетаДляОтправки = Формат(Пакет.НомерПакета, "ЧН=0; ЧГ=0");
Идентификатор = Строка(Параметры.ИдентификаторИнформационнойБазы); Идентификатор = Строка(Параметры.ИдентификаторИнформационнойБазы);
Если Параметры.ЗащищенноеСоединение Тогда Если Параметры.ЗащищенноеСоединение Тогда
@@ -1647,7 +1647,7 @@
Если Прав(АдресРесурса, 1) <> "/" Тогда Если Прав(АдресРесурса, 1) <> "/" Тогда
АдресРесурса = АдресРесурса + "/"; АдресРесурса = АдресРесурса + "/";
КонецЕсли; КонецЕсли;
АдресРесурса = АдресРесурса + Идентификатор + "/" + НомерПакета + "/" + ХешПакета; АдресРесурса = АдресРесурса + Идентификатор + "/" + НомерПакетаДляОтправки + "/" + ХешПакета;
ПараметрыHTTP = Новый Структура; ПараметрыHTTP = Новый Структура;
ПараметрыHTTP.Вставить("Сервер", Параметры.Сервер); ПараметрыHTTP.Вставить("Сервер", Параметры.Сервер);
@@ -915,7 +915,7 @@
КонецПроцедуры КонецПроцедуры
// Открывает инструкцию с описанием типичных проблем при работе с программами // Открывает инструкцию с описанием типичных проблем при работе с программами
// электронной подписи и вариантами их решения. // электронной подписи и вариантами их решения: http://its.1c.ru/bmk/dsig/errors.
// //
Процедура ОткрытьИнструкциюПоТипичнымПроблемамПриРаботеСПрограммами() Экспорт Процедура ОткрытьИнструкциюПоТипичнымПроблемамПриРаботеСПрограммами() Экспорт
+10 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ef299460-e83a-4c4a-9615-41326bc79707"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1c2bd5d6-9f4d-4ad3-973c-c31798102826">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="5f8b2699-4534-4dd2-b77e-76b54fb3ae3e"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="cccfd0c7-2938-4d31-979a-4abd14cb080f"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="1d51c0a5-d3c8-4ae1-b8f1-d317c6e15a58"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="98784288-be96-489c-87db-08e722f86137"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="1ebceb0d-b97c-4fad-8f82-0ee01e77ba15"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="620baf1b-35af-44f9-99cf-470ab1c3ed06"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="acc7d2e1-ef57-49b1-8180-12f608d64aca"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="698a8880-dd1f-4ac9-bad2-93341baf33e4"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="f3634fdd-ff99-4cf6-b40f-6a70e8d63fee"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="fb1b0d8a-4fa0-4443-b8aa-b5820e52d553"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="67261288-ee3d-4937-b063-8a6d6edb6b4b"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="ec710eb0-a2a4-4961-b909-9141a269f209"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="e41332e9-d530-460f-a4ff-4cbea521cb60"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="2efeada2-7c38-4102-9fe6-13bc0e7aca39"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.202</version> <version>3.1.2.208</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -1903,6 +1903,7 @@
<informationRegisters>InformationRegister.ОбновлениеКлючейДоступаТекущиеЗадания</informationRegisters> <informationRegisters>InformationRegister.ОбновлениеКлючейДоступаТекущиеЗадания</informationRegisters>
<informationRegisters>InformationRegister.ОбработчикиСобытийСинхронизацииДанных</informationRegisters> <informationRegisters>InformationRegister.ОбработчикиСобытийСинхронизацииДанных</informationRegisters>
<informationRegisters>InformationRegister.ОбщиеНастройкиУзловИнформационныхБаз</informationRegisters> <informationRegisters>InformationRegister.ОбщиеНастройкиУзловИнформационныхБаз</informationRegisters>
<informationRegisters>InformationRegister.ОбщиеПоставляемыеМакетыПечати</informationRegisters>
<informationRegisters>InformationRegister.ОперацииСтатистики</informationRegisters> <informationRegisters>InformationRegister.ОперацииСтатистики</informationRegisters>
<informationRegisters>InformationRegister.ОриентирыАдресныхОбъектов</informationRegisters> <informationRegisters>InformationRegister.ОриентирыАдресныхОбъектов</informationRegisters>
<informationRegisters>InformationRegister.ОтветыНаВопросыАнкет</informationRegisters> <informationRegisters>InformationRegister.ОтветыНаВопросыАнкет</informationRegisters>
@@ -1 +1 @@
{6,1,1,3d4ebe1e-e0ac-47e7-8b92-945226251e3f,1,c5c58752-cc28-4c9f-b33a-7a1f0dad7289,"3.1.2.202","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5903,1,0,ef299460-e83a-4c4a-9615-41326bc79707,ef299460-e83a-4c4a-9615-41326bc79707,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,6fe1b6b6-3c49-4da3-acd4-87b27f748f72,1,d4111f02-390f-4324-9ee7-fda5021750ee,"3.1.2.208","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5909,1,0,1c2bd5d6-9f4d-4ad3-973c-c31798102826,1c2bd5d6-9f4d-4ad3-973c-c31798102826,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
@@ -17,7 +17,7 @@
РазделениеВключено = ОбщегоНазначения.РазделениеВключено(); РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
Константы.ИспользоватьСинхронизациюДанныхВЛокальномРежиме.Установить(Не РазделениеВключено); Константы.ИспользоватьСинхронизациюДанныхВЛокальномРежиме.Установить(Не РазделениеВключено);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
МенеджерКонстанты = Константы["ИспользоватьСинхронизациюДанныхВМоделиСервиса"]; МенеджерКонстанты = ОбщегоНазначения.ОбщийМодуль("Константы.ИспользоватьСинхронизациюДанныхВМоделиСервиса");
МенеджерКонстанты.Установить(РазделениеВключено); МенеджерКонстанты.Установить(РазделениеВключено);
КонецЕсли; КонецЕсли;
@@ -25,7 +25,7 @@
Константы.ИспользоватьСинхронизациюДанныхВЛокальномРежиме.Установить(Ложь); Константы.ИспользоватьСинхронизациюДанныхВЛокальномРежиме.Установить(Ложь);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
МенеджерКонстанты = Константы["ИспользоватьСинхронизациюДанныхВМоделиСервиса"]; МенеджерКонстанты = ОбщегоНазначения.ОбщийМодуль("Константы.ИспользоватьСинхронизациюДанныхВМоделиСервиса");
МенеджерКонстанты.Установить(Ложь); МенеджерКонстанты.Установить(Ложь);
КонецЕсли; КонецЕсли;
@@ -588,7 +588,8 @@
МассивМетаданныхОтборПоПериоду = Новый Массив; МассивМетаданныхОтборПоПериоду = Новый Массив;
Для Каждого Строка Из ДополнительнаяРегистрация Цикл Для Каждого Строка Из ДополнительнаяРегистрация Цикл
ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных; ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных;
Если Строка.Отбор.Элементы.Количество() = 0 Тогда ТекущийОтбор = Строка.Отбор; // ОтборКомпоновкиДанных
Если ТекущийОтбор.Элементы.Количество() = 0 Тогда
Если Строка.ВыборПериода И ЗначениеЗаполнено(ПериодОтбораВсехДокументов) Тогда Если Строка.ВыборПериода И ЗначениеЗаполнено(ПериодОтбораВсехДокументов) Тогда
МассивМетаданныхБезОтборов.Добавить(ПолноеИмяМетаданных); МассивМетаданныхБезОтборов.Добавить(ПолноеИмяМетаданных);
Иначе Иначе
@@ -655,10 +656,10 @@
Функция ИнициализироватьКомпоновщик(СписокИменМетаданных = Неопределено, АдресСохраненияСхемы = Неопределено) Функция ИнициализироватьКомпоновщик(СписокИменМетаданных = Неопределено, АдресСохраненияСхемы = Неопределено)
СхемаКомпоновки = ПолучитьМакет("СхемаКомпоновкиДанных"); СхемаКомпоновки = ПолучитьМакет("СхемаКомпоновкиДанных");
ИсточникДанных = СхемаКомпоновки.ИсточникиДанных[0].Имя; ИсточникДанных = СхемаКомпоновки.ИсточникиДанных.Получить(0).Имя;
// Наборы для каждого нужного вида метаданных. // Наборы для каждого нужного вида метаданных.
ЭлементыНабораИзменения = СхемаКомпоновки.НаборыДанных.РегистрацияИзменений.Элементы; ЭлементыНабораИзменения = СхемаКомпоновки.НаборыДанных.Найти("РегистрацияИзменений").Элементы;
Пока ЭлементыНабораИзменения.Количество() > 1 Цикл Пока ЭлементыНабораИзменения.Количество() > 1 Цикл
// [0] - Описание полей // [0] - Описание полей
ЭлементыНабораИзменения.Удалить(ЭлементыНабораИзменения[1]); ЭлементыНабораИзменения.Удалить(ЭлементыНабораИзменения[1]);
@@ -668,6 +669,8 @@
// Дополнительные изменения // Дополнительные изменения
Для Каждого Строка Из ТаблицаДополнительныхИзменений Цикл Для Каждого Строка Из ТаблицаДополнительныхИзменений Цикл
ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных; ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных;
ТекущийОтбор = Строка.Отбор; // ОтборКомпоновкиДанных
Если СписокИменМетаданных <> Неопределено Тогда Если СписокИменМетаданных <> Неопределено Тогда
Если СписокИменМетаданных.Найти(ПолноеИмяМетаданных) = Неопределено Тогда Если СписокИменМетаданных.Найти(ПолноеИмяМетаданных) = Неопределено Тогда
Продолжить; Продолжить;
@@ -694,7 +697,7 @@
ПараметрыДобавления = Новый Структура; ПараметрыДобавления = Новый Структура;
ПараметрыДобавления.Вставить("ИмяДобавляемойТаблицы", ИмяДобавляемойТаблицы); ПараметрыДобавления.Вставить("ИмяДобавляемойТаблицы", ИмяДобавляемойТаблицы);
ПараметрыДобавления.Вставить("СхемаКомпоновки", СхемаКомпоновки); ПараметрыДобавления.Вставить("СхемаКомпоновки", СхемаКомпоновки);
ДобавитьДополнительныеНаборыКомпоновкиТабличныхЧастей(Строка.Отбор.Элементы, ПараметрыДобавления) ДобавитьДополнительныеНаборыКомпоновкиТабличныхЧастей(ТекущийОтбор.Элементы, ПараметрыДобавления);
КонецЦикла; КонецЦикла;
КонецЦикла; КонецЦикла;
@@ -717,12 +720,16 @@
Для Каждого Строка Из ТаблицаДополнительныхИзменений Цикл Для Каждого Строка Из ТаблицаДополнительныхИзменений Цикл
ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных; ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных;
ТекущийОтбор = Строка.Отбор; // ОтборКомпоновкиДанных
ПериодОтбора = Строка.Период; // СтандартныйПериод
Если СписокИменМетаданных <> Неопределено Тогда Если СписокИменМетаданных <> Неопределено Тогда
Если СписокИменМетаданных.Найти(ПолноеИмяМетаданных) = Неопределено Тогда Если СписокИменМетаданных.Найти(ПолноеИмяМетаданных) = Неопределено Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если Строка.Отбор.Элементы.Количество() = 0
Если ТекущийОтбор.Элементы.Количество() = 0
И (НЕ Строка.ВыборПериода ИЛИ НЕ ЗначениеЗаполнено(ПериодОтбораВсехДокументов)) Тогда И (НЕ Строка.ВыборПериода ИЛИ НЕ ЗначениеЗаполнено(ПериодОтбораВсехДокументов)) Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -738,8 +745,8 @@
ДатаНачала = ПериодОтбораВсехДокументов.ДатаНачала; ДатаНачала = ПериодОтбораВсехДокументов.ДатаНачала;
ДатаОкончания = ПериодОтбораВсехДокументов.ДатаОкончания; ДатаОкончания = ПериодОтбораВсехДокументов.ДатаОкончания;
Иначе Иначе
ДатаНачала = Строка.Период.ДатаНачала; ДатаНачала = ПериодОтбора.ДатаНачала;
ДатаОкончания = Строка.Период.ДатаОкончания; ДатаОкончания = ПериодОтбора.ДатаОкончания;
КонецЕсли; КонецЕсли;
Если ДатаНачала <> '00010101' Тогда Если ДатаНачала <> '00010101' Тогда
ДобавитьЭлементОтбора(ГруппаОтбора.Элементы, "ОбъектСсылка.Дата", ВидСравненияКомпоновкиДанных.БольшеИлиРавно, ДатаНачала); ДобавитьЭлементОтбора(ГруппаОтбора.Элементы, "ОбъектСсылка.Дата", ВидСравненияКомпоновкиДанных.БольшеИлиРавно, ДатаНачала);
@@ -754,8 +761,7 @@
ПараметрыДобавления = Новый Структура; ПараметрыДобавления = Новый Структура;
ПараметрыДобавления.Вставить("ИмяДобавляемойТаблицы", ИмяДобавляемойТаблицы); ПараметрыДобавления.Вставить("ИмяДобавляемойТаблицы", ИмяДобавляемойТаблицы);
ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей( ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей(
ГруппаОтбора.Элементы, Строка.Отбор.Элементы, ЭлементыНабораИзменения, ГруппаОтбора.Элементы, ТекущийОтбор.Элементы, ПараметрыДобавления);
ПараметрыДобавления);
КонецЦикла; КонецЦикла;
КонецЦикла; КонецЦикла;
@@ -782,7 +788,7 @@
| " + ИмяТаблицы + " | " + ИмяТаблицы + "
|"; |";
Набор.АвтоЗаполнениеДоступныхПолей = Истина; Набор.АвтоЗаполнениеДоступныхПолей = Истина;
Набор.ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных[0].Имя; Набор.ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Получить(0).Имя;
Набор.Имя = "Набор" + Формат(СхемаКомпоновкиДанных.НаборыДанных.Количество()-1, "ЧН=; ЧГ="); Набор.Имя = "Набор" + Формат(СхемаКомпоновкиДанных.НаборыДанных.Количество()-1, "ЧН=; ЧГ=");
Поле = Набор.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); Поле = Набор.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
@@ -818,8 +824,8 @@
ИмяДобавляемойТаблицы = ПараметрыДобавления.ИмяДобавляемойТаблицы; ИмяДобавляемойТаблицы = ПараметрыДобавления.ИмяДобавляемойТаблицы;
СхемаКомпоновки = ПараметрыДобавления.СхемаКомпоновки; СхемаКомпоновки = ПараметрыДобавления.СхемаКомпоновки;
ОбщийНабор = СхемаКомпоновки.НаборыДанных.РегистрацияИзменений; ОбщийНабор = СхемаКомпоновки.НаборыДанных.Найти("РегистрацияИзменений");
ИсточникДанных = СхемаКомпоновки.ИсточникиДанных[0].Имя; ИсточникДанных = СхемаКомпоновки.ИсточникиДанных.Получить(0).Имя;
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяДобавляемойТаблицы); МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяДобавляемойТаблицы);
Если МетаданныеОбъекта = Неопределено Тогда Если МетаданныеОбъекта = Неопределено Тогда
@@ -902,7 +908,7 @@
КонецПроцедуры КонецПроцедуры
Процедура ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей(ЭлементыПриемника, ЭлементыИсточника, ЭлементыНабора, ПараметрыДобавления) Процедура ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей(ЭлементыПриемника, ЭлементыИсточника, ПараметрыДобавления)
ИмяДобавляемойТаблицы = ПараметрыДобавления.ИмяДобавляемойТаблицы; ИмяДобавляемойТаблицы = ПараметрыДобавления.ИмяДобавляемойТаблицы;
МетаОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяДобавляемойТаблицы); МетаОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяДобавляемойТаблицы);
@@ -917,8 +923,7 @@
ЗаполнитьЗначенияСвойств(ЭлементОтбора, Элемент); ЗаполнитьЗначенияСвойств(ЭлементОтбора, Элемент);
ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей( ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей(
ЭлементОтбора.Элементы, Элемент.Элементы, ЭлементыНабора, ЭлементОтбора.Элементы, Элемент.Элементы, ПараметрыДобавления);
ПараметрыДобавления);
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -996,6 +1001,12 @@
КонецПроцедуры КонецПроцедуры
// Только для внутреннего использования.
//
// Параметры:
// МетаТабличнаяЧасть - ОбъектМетаданныхТабличнаяЧасть - метаданные табличной части.
// Префикс - Строка - префикс имени реквизита.
//
Функция РеквизитыТабличнойЧастиДляЗапроса(Знач МетаТабличнаяЧасть, Знач Префикс = "") Функция РеквизитыТабличнойЧастиДляЗапроса(Знач МетаТабличнаяЧасть, Знач Префикс = "")
ПоляЗапроса = ", НомерСтроки КАК " + Префикс + "НомерСтроки ПоляЗапроса = ", НомерСтроки КАК " + Префикс + "НомерСтроки
@@ -356,6 +356,10 @@
КонецПроцедуры КонецПроцедуры
// Параметры:
// Правила - ЧтениеXML - объект типа ЧтениеXML.
// ДеревоЗначений - ДеревоЗначений - дерево правил регистрации объекта.
//
Процедура ЗагрузитьДеревоОтбораПоСвойствамПланаОбмена(Правила, ДеревоЗначений) Процедура ЗагрузитьДеревоОтбораПоСвойствамПланаОбмена(Правила, ДеревоЗначений)
СтрокиДЗ = ДеревоЗначений.Строки; СтрокиДЗ = ДеревоЗначений.Строки;
@@ -387,6 +391,10 @@
КонецПроцедуры КонецПроцедуры
// Параметры:
// Правила - ЧтениеXML - объект типа ЧтениеXML.
// ДеревоЗначений - ДеревоЗначений - дерево правил регистрации объекта.
//
Процедура ЗагрузитьДеревоОтбораПоСвойствамОбъекта(Правила, ДеревоЗначений) Процедура ЗагрузитьДеревоОтбораПоСвойствамОбъекта(Правила, ДеревоЗначений)
СтрокиДЗ = ДеревоЗначений.Строки; СтрокиДЗ = ДеревоЗначений.Строки;
@@ -565,6 +573,7 @@
// //
// Параметры: // Параметры:
// Правила - ЧтениеXML - Объект типа ЧтениеXML. // Правила - ЧтениеXML - Объект типа ЧтениеXML.
// НоваяСтрока - СтрокаДереваЗначений - строка дерева правил регистрации объекта.
// //
Процедура ЗагрузитьГруппуЭлементовОтбораПланаОбмена(Правила, НоваяСтрока) Процедура ЗагрузитьГруппуЭлементовОтбораПланаОбмена(Правила, НоваяСтрока)
@@ -605,6 +614,7 @@
// //
// Параметры: // Параметры:
// Правила - ЧтениеXML - Объект типа ЧтениеXML. // Правила - ЧтениеXML - Объект типа ЧтениеXML.
// НоваяСтрока - СтрокаДереваЗначений - строка дерева правил регистрации объекта.
// //
Процедура ЗагрузитьГруппуЭлементовОтбораОбъекта(Правила, НоваяСтрока) Процедура ЗагрузитьГруппуЭлементовОтбораОбъекта(Правила, НоваяСтрока)
@@ -75,7 +75,7 @@
// И переключаем подвал с легендами. // И переключаем подвал с легендами.
КоличествоГрупп = НастройкиКомпоновщика.Структура.Количество(); КоличествоГрупп = НастройкиКомпоновщика.Структура.Количество();
Если КоличествоГрупп > 0 Тогда Если КоличествоГрупп > 0 Тогда
НастройкиКомпоновщика.Структура[КоличествоГрупп - 1].Имя = "ПустойПодвал"; НастройкиКомпоновщика.Структура.Получить(КоличествоГрупп - 1).Имя = "ПустойПодвал";
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -632,7 +632,7 @@
| " + ИмяТаблицы + " | " + ИмяТаблицы + "
|"; |";
Набор.АвтоЗаполнениеДоступныхПолей = Истина; Набор.АвтоЗаполнениеДоступныхПолей = Истина;
Набор.ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных[0].Имя; Набор.ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Получить(0).Имя;
Набор.Имя = "Набор" + Формат(СхемаКомпоновкиДанных.НаборыДанных.Количество()-1, "ЧН=; ЧГ="); Набор.Имя = "Набор" + Формат(СхемаКомпоновкиДанных.НаборыДанных.Количество()-1, "ЧН=; ЧГ=");
Поле = Набор.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); Поле = Набор.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
@@ -641,23 +641,6 @@
КонецПроцедуры КонецПроцедуры
// Добавляет в структуру компоновки структуру из коллекции.
//
// Параметры:
// ЭлементыПриемника - КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных - приемник.
// ЭлементыИсточника - КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных - источник.
//
Процедура ДобавитьЗначенияСтруктурыКомпоновки(ЭлементыПриемника, ЭлементыИсточника)
Для Каждого Элемент Из ЭлементыИсточника Цикл
Тип=ТипЗнч(Элемент);
ЭлементОтбора = ЭлементыПриемника.Добавить(Тип);
ЗаполнитьЗначенияСвойств(ЭлементОтбора, Элемент);
Если Тип=Тип("ГруппировкаКомпоновкиДанных") Тогда
ДобавитьЗначенияСтруктурыКомпоновки(ЭлементОтбора.Элементы, Элемент.Элементы);
КонецЕсли;
КонецЦикла
КонецПроцедуры
// Устанавливает наборы данных в схему и инициализирует компоновщик. // Устанавливает наборы данных в схему и инициализирует компоновщик.
// Опирается на значения реквизитов: // Опирается на значения реквизитов:
// "УзелИнформационнойБазы", "ДополнительнаяРегистрация", // "УзелИнформационнойБазы", "ДополнительнаяРегистрация",
@@ -687,15 +670,15 @@
СхемаКомпоновки = ПолучитьМакет("СхемаКомпоновкиДанных"); СхемаКомпоновки = ПолучитьМакет("СхемаКомпоновкиДанных");
// Наборы для общего количества. // Наборы для общего количества.
ЭлементыНаборыКоличества = СхемаКомпоновки.НаборыДанных.ОбщееКоличествоЭлементов.Элементы; ЭлементыНаборыКоличества = СхемаКомпоновки.НаборыДанных.Найти("ОбщееКоличествоЭлементов").Элементы;
// Наборы для каждого нужного вида метаданных. // Наборы для каждого нужного вида метаданных.
ЭлементыНабораИзменения = СхемаКомпоновки.НаборыДанных.РегистрацияИзменений.Элементы; ЭлементыНабораИзменения = СхемаКомпоновки.НаборыДанных.Найти("РегистрацияИзменений").Элементы;
Пока ЭлементыНабораИзменения.Количество() > 1 Цикл Пока ЭлементыНабораИзменения.Количество() > 1 Цикл
// [0] - Описание полей // [0] - Описание полей
ЭлементыНабораИзменения.Удалить(ЭлементыНабораИзменения[1]); ЭлементыНабораИзменения.Удалить(ЭлементыНабораИзменения[1]);
КонецЦикла; КонецЦикла;
ИсточникДанных = СхемаКомпоновки.ИсточникиДанных[0].Имя; ИсточникДанных = СхемаКомпоновки.ИсточникиДанных.Получить(0).Имя;
// Фильтр того, чего от нас хотят. // Фильтр того, чего от нас хотят.
ФильтрИменМетаданных = Новый Соответствие; ФильтрИменМетаданных = Новый Соответствие;
@@ -776,6 +759,8 @@
// Дополнительные изменения // Дополнительные изменения
Для Каждого Строка Из ТаблицаДополнительныхИзменений Цикл Для Каждого Строка Из ТаблицаДополнительныхИзменений Цикл
ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных; ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных;
ТекущийОтбор = Строка.Отбор; // ОтборКомпоновкиДанных
Если СписокИменМетаданных <> Неопределено И ФильтрИменМетаданных[ПолноеИмяМетаданных] <> Истина Тогда Если СписокИменМетаданных <> Неопределено И ФильтрИменМетаданных[ПолноеИмяМетаданных] <> Истина Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -806,7 +791,7 @@
ПараметрыДобавления = Новый Структура; ПараметрыДобавления = Новый Структура;
ПараметрыДобавления.Вставить("ИмяДобавляемойТаблицы", ИмяДобавляемойТаблицы); ПараметрыДобавления.Вставить("ИмяДобавляемойТаблицы", ИмяДобавляемойТаблицы);
ПараметрыДобавления.Вставить("СхемаКомпоновки", СхемаКомпоновки); ПараметрыДобавления.Вставить("СхемаКомпоновки", СхемаКомпоновки);
ДобавитьДополнительныеНаборыКомпоновкиТабличныхЧастей(Строка.Отбор.Элементы, ПараметрыДобавления) ДобавитьДополнительныеНаборыКомпоновкиТабличныхЧастей(ТекущийОтбор.Элементы, ПараметрыДобавления)
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -826,13 +811,13 @@
ПараметрПоСсылке.Значение = НСтр("ru = 'По ссылке'"); ПараметрПоСсылке.Значение = НСтр("ru = 'По ссылке'");
Если ОграничиватьИспользованиеОтбором Тогда Если ОграничиватьИспользованиеОтбором Тогда
Поля = СхемаКомпоновки.НаборыДанных.РегистрацияИзменений.Поля; Поля = СхемаКомпоновки.НаборыДанных.Найти("РегистрацияИзменений").Поля;
Ограничение = Поля.Найти("ОбъектРегистрацииТип").ОграничениеИспользования; Ограничение = Поля.Найти("ОбъектРегистрацииТип").ОграничениеИспользования;
Ограничение.Условие = Истина; Ограничение.Условие = Истина;
Ограничение = Поля.Найти("ПричинаРегистрации").ОграничениеИспользования; Ограничение = Поля.Найти("ПричинаРегистрации").ОграничениеИспользования;
Ограничение.Условие = Истина; Ограничение.Условие = Истина;
Поля = СхемаКомпоновки.НаборыДанных.ТаблицаМетаданныхСоставаУзла.Поля; Поля = СхемаКомпоновки.НаборыДанных.Найти("ТаблицаМетаданныхСоставаУзла").Поля;
Ограничение = Поля.Найти("ПредставлениеСписка").ОграничениеИспользования; Ограничение = Поля.Найти("ПредставлениеСписка").ОграничениеИспользования;
Ограничение.Условие = Истина; Ограничение.Условие = Истина;
Ограничение = Поля.Найти("Представление").ОграничениеИспользования; Ограничение = Поля.Найти("Представление").ОграничениеИспользования;
@@ -870,6 +855,9 @@
Для Каждого Строка Из ТаблицаДополнительныхИзменений Цикл Для Каждого Строка Из ТаблицаДополнительныхИзменений Цикл
ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных; ПолноеИмяМетаданных = Строка.ПолноеИмяМетаданных;
ТекущийОтбор = Строка.Отбор; // ОтборКомпоновкиДанных
ПериодОтбора = Строка.Период; // СтандартныйПериод
Если СписокИменМетаданных <> Неопределено И ФильтрИменМетаданных[ПолноеИмяМетаданных] <> Истина Тогда Если СписокИменМетаданных <> Неопределено И ФильтрИменМетаданных[ПолноеИмяМетаданных] <> Истина Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -887,8 +875,8 @@
ДобавитьЭлементОтбора(ГруппаОтбора.Элементы, "ПричинаРегистрации", ВидСравненияКомпоновкиДанных.Равно, ПараметрДополнительно.Значение); ДобавитьЭлементОтбора(ГруппаОтбора.Элементы, "ПричинаРегистрации", ВидСравненияКомпоновкиДанных.Равно, ПараметрДополнительно.Значение);
Если Строка.ВыборПериода Тогда Если Строка.ВыборПериода Тогда
ДатаНачала = Строка.Период.ДатаНачала; ДатаНачала = ПериодОтбора.ДатаНачала;
ДатаОкончания = Строка.Период.ДатаОкончания; ДатаОкончания = ПериодОтбора.ДатаОкончания;
Если ДатаНачала <> '00010101' Тогда Если ДатаНачала <> '00010101' Тогда
ДобавитьЭлементОтбора(ГруппаОтбора.Элементы, "ОбъектРегистрации.Дата", ВидСравненияКомпоновкиДанных.БольшеИлиРавно, ДатаНачала); ДобавитьЭлементОтбора(ГруппаОтбора.Элементы, "ОбъектРегистрации.Дата", ВидСравненияКомпоновкиДанных.БольшеИлиРавно, ДатаНачала);
КонецЕсли; КонецЕсли;
@@ -901,8 +889,7 @@
ПараметрыДобавления = Новый Структура; ПараметрыДобавления = Новый Структура;
ПараметрыДобавления.Вставить("ИмяДобавляемойТаблицы", ИмяДобавляемойТаблицы); ПараметрыДобавления.Вставить("ИмяДобавляемойТаблицы", ИмяДобавляемойТаблицы);
ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей( ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей(
ГруппаОтбора.Элементы, Строка.Отбор.Элементы, ЭлементыНабораИзменения, ГруппаОтбора.Элементы, ТекущийОтбор.Элементы, ПараметрыДобавления);
ПараметрыДобавления);
КонецЦикла; КонецЦикла;
КонецЦикла; КонецЦикла;
@@ -917,8 +904,8 @@
ИмяДобавляемойТаблицы = ПараметрыДобавления.ИмяДобавляемойТаблицы; ИмяДобавляемойТаблицы = ПараметрыДобавления.ИмяДобавляемойТаблицы;
СхемаКомпоновки = ПараметрыДобавления.СхемаКомпоновки; СхемаКомпоновки = ПараметрыДобавления.СхемаКомпоновки;
ОбщийНабор = СхемаКомпоновки.НаборыДанных.РегистрацияИзменений; ОбщийНабор = СхемаКомпоновки.НаборыДанных.Найти("РегистрацияИзменений");
ИсточникДанных = СхемаКомпоновки.ИсточникиДанных[0].Имя; ИсточникДанных = СхемаКомпоновки.ИсточникиДанных.Получить(0).Имя;
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяДобавляемойТаблицы); МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяДобавляемойТаблицы);
Если МетаданныеОбъекта = Неопределено Тогда Если МетаданныеОбъекта = Неопределено Тогда
@@ -1002,7 +989,7 @@
КонецПроцедуры КонецПроцедуры
Процедура ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей(ЭлементыПриемника, ЭлементыИсточника, ЭлементыНабора, ПараметрыДобавления) Процедура ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей(ЭлементыПриемника, ЭлементыИсточника, ПараметрыДобавления)
ИмяДобавляемойТаблицы = ПараметрыДобавления.ИмяДобавляемойТаблицы; ИмяДобавляемойТаблицы = ПараметрыДобавления.ИмяДобавляемойТаблицы;
МетаОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяДобавляемойТаблицы); МетаОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяДобавляемойТаблицы);
@@ -1011,14 +998,13 @@
// Ветка разбора аналогична ветке в ДобавитьДополнительныеНаборыКомпоновкиТабличныхЧастей. // Ветка разбора аналогична ветке в ДобавитьДополнительныеНаборыКомпоновкиТабличныхЧастей.
Тип = ТипЗнч(Элемент); Тип = ТипЗнч(Элемент);
Если Тип = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда Если ТипЗнч(Элемент) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
// Группу копируем // Группу копируем
ЭлементОтбора = ЭлементыПриемника.Добавить(Тип); ЭлементОтбора = ЭлементыПриемника.Добавить(Тип);
ЗаполнитьЗначенияСвойств(ЭлементОтбора, Элемент); ЗаполнитьЗначенияСвойств(ЭлементОтбора, Элемент);
ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей( ДобавитьДополнительныеОтборыКомпоновкиТабличныхЧастей(
ЭлементОтбора.Элементы, Элемент.Элементы, ЭлементыНабора, ЭлементОтбора.Элементы, Элемент.Элементы, ПараметрыДобавления);
ПараметрыДобавления);
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -1100,6 +1086,12 @@
КонецПроцедуры КонецПроцедуры
// Только для внутреннего использования.
//
// Параметры:
// МетаТабличнаяЧасть - ОбъектМетаданныхТабличнаяЧасть - метаданные табличной части.
// Префикс - Строка - префикс имени реквизита.
//
Функция РеквизитыТабличнойЧастиДляЗапроса(Знач МетаТабличнаяЧасть, Знач Префикс = "") Функция РеквизитыТабличнойЧастиДляЗапроса(Знач МетаТабличнаяЧасть, Знач Префикс = "")
ПоляЗапроса = ", НомерСтроки КАК " + Префикс + "НомерСтроки ПоляЗапроса = ", НомерСтроки КАК " + Префикс + "НомерСтроки
@@ -503,19 +503,21 @@
// Зачитываем данные из сообщения обмена. // Зачитываем данные из сообщения обмена.
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанныхВРежимеАнализа(КомпонентыОбмена, ПараметрыАнализа); ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанныхВРежимеАнализа(КомпонентыОбмена, ПараметрыАнализа);
ТаблицаДанныхЗаголовкаПакета = КомпонентыОбмена.ТаблицаДанныхЗаголовкаПакета; // ТаблицаЗначений
// Формируем временную таблицу данных. // Формируем временную таблицу данных.
ТаблицаДанныхЗаголовкаПакетаВременная = КомпонентыОбмена.ТаблицаДанныхЗаголовкаПакета.Скопировать(, "ТипИсточникаСтрокой, ТипПриемникаСтрокой, ПоляПоиска, ПоляТаблицы"); ТаблицаДанныхЗаголовкаПакетаВременная = ТаблицаДанныхЗаголовкаПакета.Скопировать(, "ТипИсточникаСтрокой, ТипПриемникаСтрокой, ПоляПоиска, ПоляТаблицы");
ТаблицаДанныхЗаголовкаПакетаВременная.Свернуть("ТипИсточникаСтрокой, ТипПриемникаСтрокой, ПоляПоиска, ПоляТаблицы"); ТаблицаДанныхЗаголовкаПакетаВременная.Свернуть("ТипИсточникаСтрокой, ТипПриемникаСтрокой, ПоляПоиска, ПоляТаблицы");
// Сворачиваем таблицу данных заголовка пакета. // Сворачиваем таблицу данных заголовка пакета.
КомпонентыОбмена.ТаблицаДанныхЗаголовкаПакета.Свернуть( ТаблицаДанныхЗаголовкаПакета.Свернуть(
"ТипОбъектаСтрокой, ТипИсточникаСтрокой, ТипПриемникаСтрокой, СинхронизироватьПоИдентификатору, ЭтоКлассификатор, ЭтоУдалениеОбъекта, ИспользоватьПредварительныйПросмотр", "ТипОбъектаСтрокой, ТипИсточникаСтрокой, ТипПриемникаСтрокой, СинхронизироватьПоИдентификатору, ЭтоКлассификатор, ЭтоУдалениеОбъекта, ИспользоватьПредварительныйПросмотр",
"КоличествоОбъектовВИсточнике"); "КоличествоОбъектовВИсточнике");
КомпонентыОбмена.ТаблицаДанныхЗаголовкаПакета.Колонки.Добавить("ПоляПоиска", Новый ОписаниеТипов("Строка")); ТаблицаДанныхЗаголовкаПакета.Колонки.Добавить("ПоляПоиска", Новый ОписаниеТипов("Строка"));
КомпонентыОбмена.ТаблицаДанныхЗаголовкаПакета.Колонки.Добавить("ПоляТаблицы", Новый ОписаниеТипов("Строка")); ТаблицаДанныхЗаголовкаПакета.Колонки.Добавить("ПоляТаблицы", Новый ОписаниеТипов("Строка"));
Для Каждого СтрокаТаблицы Из КомпонентыОбмена.ТаблицаДанныхЗаголовкаПакета Цикл Для Каждого СтрокаТаблицы Из ТаблицаДанныхЗаголовкаПакета Цикл
Отбор = Новый Структура; Отбор = Новый Структура;
Отбор.Вставить("ТипИсточникаСтрокой", СтрокаТаблицы.ТипИсточникаСтрокой); Отбор.Вставить("ТипИсточникаСтрокой", СтрокаТаблицы.ТипИсточникаСтрокой);
@@ -771,7 +773,7 @@
Если ЗначениеЗаполнено(ПсевдонимПредопределенногоУзла) Если ЗначениеЗаполнено(ПсевдонимПредопределенногоУзла)
И РезультатАнализаДанныхКЗагрузке.КорреспондентПоддерживаетИдентификаторОбменаДанными Тогда И РезультатАнализаДанныхКЗагрузке.КорреспондентПоддерживаетИдентификаторОбменаДанными Тогда
// Возможно, пора удалить запись. Проверка секции To. // Возможно, пора удалить запись. Проверка секции To.
ИмяПланаОбмена = УзелИнформационнойБазы.Метаданные().Имя; ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы);
КодПредопределенногоУзла = ОбменДаннымиСервер.КодПредопределенногоУзлаПланаОбмена(ИмяПланаОбмена); КодПредопределенногоУзла = ОбменДаннымиСервер.КодПредопределенногоУзлаПланаОбмена(ИмяПланаОбмена);
Если СокрЛП(КодПредопределенногоУзла) = РезультатАнализаДанныхКЗагрузке.To Тогда Если СокрЛП(КодПредопределенногоУзла) = РезультатАнализаДанныхКЗагрузке.To Тогда
ОбменДаннымиСлужебный.УдалитьНаборЗаписейВРегистреСведений( ОбменДаннымиСлужебный.УдалитьНаборЗаписейВРегистреСведений(
@@ -1381,14 +1381,15 @@
ТекущиеДанные = Элементы.Список.ТекущиеДанные; ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда ИменаКоманд = Новый Массив;
ИменаКоманд = Новый Массив; Если ТекущиеДанные = Неопределено
И Не ФайлыРедактируютсяВОблачномСервисе Тогда
ИменаКоманд.Добавить("Добавить"); ИменаКоманд.Добавить("Добавить");
ИменаКоманд.Добавить("ДобавитьФайлСоСканера"); ИменаКоманд.Добавить("ДобавитьФайлСоСканера");
ИменаКоманд.Добавить("ДобавитьФайлПоШаблону"); ИменаКоманд.Добавить("ДобавитьФайлПоШаблону");
ИначеЕсли ТипЗнч(Элементы.Список.ТекущаяСтрока) <> ТипСправочникаСФайлами Тогда
ИменаКоманд = Новый Массив; ИначеЕсли ТипЗнч(Элементы.Список.ТекущаяСтрока) = ТипСправочникаСФайлами Тогда
Иначе
ВозможностьОсвободитьФайл = РаботаСФайламиСлужебныйКлиент.ВозможностьОсвободитьФайл( ВозможностьОсвободитьФайл = РаботаСФайламиСлужебныйКлиент.ВозможностьОсвободитьФайл(
ТекущиеДанные.Ссылка, ТекущиеДанные.Ссылка,
@@ -62,6 +62,49 @@
<showInFooter>true</showInFooter> <showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/> <extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items> </items>
<items xsi:type="form:FormField">
<name>ДеревоОтображаемыхДелКартинка</name>
<id>69</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ДеревоОтображаемыхДел.Картинка</segments>
</dataPath>
<extendedTooltip>
<name>ДеревоОтображаемыхДелКартинкаРасширеннаяПодсказка</name>
<id>71</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДеревоОтображаемыхДелКартинкаКонтекстноеМеню</name>
<id>70</id>
<autoFill>true</autoFill>
</contextMenu>
<type>PictureField</type>
<editMode>Auto</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:ImageFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch>
<border xsi:type="core:BorderDef">
<style>Single</style>
<width>1</width>
</border>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
<name>ДеревоОтображаемыхДелПредставление</name> <name>ДеревоОтображаемыхДелПредставление</name>
<id>34</id> <id>34</id>
@@ -240,6 +283,32 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
</items> </items>
<items xsi:type="form:Button">
<name>ДеревоОтображаемыхДелДублироватьВЦентреОповещений</name>
<id>67</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДеревоОтображаемыхДелДублироватьВЦентреОповещенийРасширеннаяПодсказка</name>
<id>68</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ДополнительноВыводитьВЦентреОповещений</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<handlers> <handlers>
@@ -868,6 +937,36 @@
<common>true</common> <common>true</common>
</edit> </edit>
</columns> </columns>
<columns>
<name>ВыводитьВОповещениях</name>
<id>8</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>Картинка</name>
<title>
<key>ru</key>
<value>Картинка</value>
</title>
<id>9</id>
<valueType>
<types>Picture</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes> </attributes>
<attributes> <attributes>
<name>ТолькоВажныеДела</name> <name>ТолькоВажныеДела</name>
@@ -1074,6 +1173,31 @@
<currentRowUse>DontUse</currentRowUse> <currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands>
<name>ДополнительноВыводитьВЦентреОповещений</name>
<title>
<key>ru</key>
<value>Дополнительно выводить в центре оповещений</value>
</title>
<id>7</id>
<toolTip>
<key>ru</key>
<value>Дополнительно выводить в центре оповещений</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.Notifications</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ДублироватьВЦентреОповещений</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters> <parameters>
<name>ТекущиеДела</name> <name>ТекущиеДела</name>
<valueType> <valueType>
@@ -157,6 +157,29 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ДублироватьВЦентреОповещений(Команда)
ТекущиеДанные = Элементы.ДеревоОтображаемыхДел.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТекущиеДанные.ЭтоРаздел Тогда
Сообщение = НСтр("ru = 'Выберите дело, а не раздел.'");
ПоказатьПредупреждение(, Сообщение);
Возврат;
КонецЕсли;
ТекущиеДанные.ВыводитьВОповещениях = Не ТекущиеДанные.ВыводитьВОповещениях;
Если ТекущиеДанные.ВыводитьВОповещениях Тогда
ТекущиеДанные.Картинка = БиблиотекаКартинок.Оповещения;
Иначе
ТекущиеДанные.Картинка = Неопределено;
КонецЕсли;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -165,6 +188,14 @@
Процедура ЗаполнитьДеревоДел(НастройкиОтображения) Процедура ЗаполнитьДеревоДел(НастройкиОтображения)
ТекущиеДела = ПолучитьИзВременногоХранилища(Параметры.ТекущиеДела); ТекущиеДела = ПолучитьИзВременногоХранилища(Параметры.ТекущиеДела);
СтарыеНастройкиОтображения = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ТекущиеДела", "НастройкиОтображения");
Если СтарыеНастройкиОтображения = Неопределено
Или ТипЗнч(СтарыеНастройкиОтображения) <> Тип("Структура")
Или Не СтарыеНастройкиОтображения.Свойство("ДеревоДел") Тогда
СохраненноеДеревоДел = Неопределено;
Иначе
СохраненноеДеревоДел = СтарыеНастройкиОтображения.ДеревоДел;
КонецЕсли;
ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел"); ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел");
ТекущийРаздел = ""; ТекущийРаздел = "";
Индекс = 0; Индекс = 0;
@@ -218,6 +249,19 @@
СтрокаДела.Пометка = Истина; СтрокаДела.Пометка = Истина;
СтрокаДела.Индекс = ИндексДела; СтрокаДела.Индекс = ИндексДела;
СтрокаДела.Скрытое = Дело.СкрыватьВНастройках; СтрокаДела.Скрытое = Дело.СкрыватьВНастройках;
СтрокаДела.ВыводитьВОповещениях = Дело.ВыводитьВОповещениях;
Если СохраненноеДеревоДел <> Неопределено
И СохраненноеДеревоДел.Колонки.Найти("ВыводитьВОповещениях") <> Неопределено Тогда
НайденнаяСтрока = СохраненноеДеревоДел.Строки.Найти(Дело.Идентификатор, "Идентификатор", Истина);
СтрокаДела.ВыводитьВОповещениях = НайденнаяСтрока.ВыводитьВОповещениях;
КонецЕсли;
Если СтрокаДела.ВыводитьВОповещениях Тогда
СтрокаДела.Картинка = БиблиотекаКартинок.Оповещения;
Иначе
СтрокаДела.Картинка = Неопределено;
КонецЕсли;
Если НастройкиОтображения <> Неопределено Тогда Если НастройкиОтображения <> Неопределено Тогда
ВидимостьДела = НастройкиОтображения.ВидимостьДел[СтрокаДела.Идентификатор]; ВидимостьДела = НастройкиОтображения.ВидимостьДел[СтрокаДела.Идентификатор];
@@ -551,6 +551,47 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ДелаСОповещением</name>
<id>4</id>
<valueType>
<types>ValueTable</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<columns>
<name>Идентификатор</name>
<id>1</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>Описание</name>
<id>2</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<formCommands> <formCommands>
<name>Настроить</name> <name>Настроить</name>
<title> <title>
@@ -10,6 +10,8 @@
&НаСервере &НаСервере
Перем ВыводимыеДелаИРазделы; Перем ВыводимыеДелаИРазделы;
&НаКлиенте
Перем ВыводитьОповещения;
#КонецОбласти #КонецОбласти
@@ -30,6 +32,7 @@
&НаКлиенте &НаКлиенте
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
ВыводитьОповещения = Истина;
Если ДлительнаяОперация <> Неопределено Тогда Если ДлительнаяОперация <> Неопределено Тогда
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект); ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь; ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
@@ -189,6 +192,8 @@
ЗаполнитьПараметрыДела(Дело); ЗаполнитьПараметрыДела(Дело);
КонецЦикла; КонецЦикла;
ДобавитьДелаСОповещением(СохраненныеНастройкиОтображения, ТекущиеДела);
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -349,6 +354,8 @@
КонецЦикла; КонецЦикла;
ДобавитьДелаСОповещением(СохраненныеНастройкиОтображения, ТекущиеДела);
СохранитьСвернутыеРазделы(СвернутыеРазделы); СохранитьСвернутыеРазделы(СвернутыеРазделы);
КонецПроцедуры КонецПроцедуры
@@ -472,6 +479,18 @@
Возврат; Возврат;
ИначеЕсли Результат.Статус = "Выполнено" Тогда ИначеЕсли Результат.Статус = "Выполнено" Тогда
ЗагрузитьТекущиеДела(Результат.АдресРезультата); ЗагрузитьТекущиеДела(Результат.АдресРезультата);
Если ВыводитьОповещения Тогда
Для Каждого ДелоСОповещением Из ДелаСОповещением Цикл
ОбработкаОповещения = Новый ОписаниеОповещения("ПереходКВажномуДелуИзЦентраОповещений", ЭтотОбъект, ДелоСОповещением.Идентификатор);
ПоказатьОповещениеПользователя(НСтр("ru = 'Текущие дела'"),
ОбработкаОповещения,
ДелоСОповещением.Описание,
БиблиотекаКартинок.Информация32,
СтатусОповещенияПользователя.Важное,
ДелоСОповещением.Идентификатор);
КонецЦикла;
КонецЕсли;
ВыводитьОповещения = Истина;
Элементы.ФормаНастроить.Доступность = Истина; Элементы.ФормаНастроить.Доступность = Истина;
Если НастройкиАвтообновления.Свойство("АвтообновлениеВключено") Если НастройкиАвтообновления.Свойство("АвтообновлениеВключено")
И НастройкиАвтообновления.АвтообновлениеВключено Тогда И НастройкиАвтообновления.АвтообновлениеВключено Тогда
@@ -485,6 +504,17 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Вспомогательные процедуры и функции. // Вспомогательные процедуры и функции.
&НаКлиенте
Процедура ПереходКВажномуДелуИзЦентраОповещений(Идентификатор) Экспорт
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ОбработатьНажатиеНаГиперссылкуЗавершение", ЭтотОбъект);
ПараметрыОтбора = Новый Структура();
ПараметрыОтбора.Вставить("Идентификатор", Идентификатор);
ПараметрыДела = ПараметрыДел.НайтиСтроки(ПараметрыОтбора)[0];
ОткрытьФорму(ПараметрыДела.Форма, ПараметрыДела.ПараметрыФормы,,,,, ОповещениеОЗакрытии);
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ЗапуститьОбновлениеСпискаТекущихДел(АвтоматическоеОбновление = Ложь, ОбновитьНезаметно = Ложь) Процедура ЗапуститьОбновлениеСпискаТекущихДел(АвтоматическоеОбновление = Ложь, ОбновитьНезаметно = Ложь)
@@ -695,6 +725,7 @@
&НаКлиенте &НаКлиенте
Процедура ПрименитьНастройкиПанелиДел(ПрименитьНастройки, ДополнительныеПараметры) Экспорт Процедура ПрименитьНастройкиПанелиДел(ПрименитьНастройки, ДополнительныеПараметры) Экспорт
Если ПрименитьНастройки = Истина Тогда Если ПрименитьНастройки = Истина Тогда
ВыводитьОповещения = Ложь;
ЗапуститьОбновлениеСпискаТекущихДел(); ЗапуститьОбновлениеСпискаТекущихДел();
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -826,7 +857,61 @@
&НаКлиенте &НаКлиенте
Процедура ОбработатьНажатиеНаГиперссылкуЗавершение(Результат, ДополнительныеПараметры) Экспорт Процедура ОбработатьНажатиеНаГиперссылкуЗавершение(Результат, ДополнительныеПараметры) Экспорт
ВыводитьОповещения = Ложь;
ЗапуститьОбновлениеСпискаТекущихДел(, Истина); ЗапуститьОбновлениеСпискаТекущихДел(, Истина);
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура ДобавитьДелаСОповещением(СохраненныеНастройкиОтображения, ТекущиеДела)
ДелаСОповещением.Очистить();
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ВыводитьВОповещениях", Истина);
Если СохраненныеНастройкиОтображения <> Неопределено
И СохраненныеНастройкиОтображения.ДеревоДел.Колонки.Найти("ВыводитьВОповещениях") <> Неопределено Тогда
НайденныеСтроки = СохраненныеНастройкиОтображения.ДеревоДел.Строки.НайтиСтроки(ПараметрыОтбора, Истина);
Для Каждого Строка Из НайденныеСтроки Цикл
Дело = ТекущиеДела.Найти(Строка.Идентификатор, "Идентификатор");
Если Дело <> Неопределено И Не Дело.ЕстьДела Тогда
Продолжить;
КонецЕсли;
Если СохраненныеНастройкиОтображения.ВидимостьДел[Строка.Идентификатор] = Ложь Тогда
Продолжить;
КонецЕсли;
Если Дело.Количество <> 0 Тогда
Добавка = " (" + Дело.Количество + ")";
Иначе
Добавка = "";
КонецЕсли;
ДелоСОповещением = ДелаСОповещением.Добавить();
ДелоСОповещением.Идентификатор = Строка.Идентификатор;
ДелоСОповещением.Описание = Строка.Представление + Добавка;
КонецЦикла;
КонецЕсли;
НайденныеСтроки = ТекущиеДела.НайтиСтроки(ПараметрыОтбора);
Для Каждого Строка Из НайденныеСтроки Цикл
Если СохраненныеНастройкиОтображения <> Неопределено
И СохраненныеНастройкиОтображения.ВидимостьДел[Строка.Идентификатор] <> Неопределено Тогда
Продолжить;
КонецЕсли;
Если Строка.Количество <> 0 Тогда
Добавка = " (" + Строка.Количество + ")";
Иначе
Добавка = "";
КонецЕсли;
ДелоСОповещением = ДелаСОповещением.Добавить();
ДелоСОповещением.Идентификатор = Строка.Идентификатор;
ДелоСОповещением.Описание = Строка.Представление + Добавка;
КонецЦикла;
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -85,29 +85,29 @@
Элементы.ПереключательНуженФайлОбновления.СписокВыбора[1].Представление = ЗаголовокВариантаВыбора; Элементы.ПереключательНуженФайлОбновления.СписокВыбора[1].Представление = ЗаголовокВариантаВыбора;
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтрольВеденияУчета") Тогда ЗаполнитьПанельИнформации();
ЗаполнитьПанельИнформации();
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
Процедура ЗаполнитьПанельИнформации() Процедура ЗаполнитьПанельИнформации()
МодульКонтрольВеденияУчетаСлужебный = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчетаСлужебный"); Видимость = Ложь;
Информация = МодульКонтрольВеденияУчетаСлужебный.ИнформацияОПоследнейПроверкеВеденияУчета(); Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтрольВеденияУчета") Тогда
Если Информация.ПредупреждатьОНеобходимостиПовторнойПроверки Тогда МодульКонтрольВеденияУчетаСлужебный = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчетаСлужебный");
Подсказка = НСтр("ru = 'Последняя проверка выполнялась %1'"); Информация = МодульКонтрольВеденияУчетаСлужебный.ИнформацияОПоследнейПроверкеВеденияУчета();
Если ЗначениеЗаполнено(Информация.ДатаПоследнейПроверки) Тогда Если Информация.ПредупреждатьОНеобходимостиПовторнойПроверки Тогда
Подсказка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Подсказка, Информация.ДатаПоследнейПроверки); Подсказка = НСтр("ru = 'Последняя проверка выполнялась %1'");
Иначе Если ЗначениеЗаполнено(Информация.ДатаПоследнейПроверки) Тогда
Подсказка = ""; Подсказка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Подсказка, Информация.ДатаПоследнейПроверки);
Иначе
Подсказка = "";
КонецЕсли;
Элементы.НадписьИнформация.РасширеннаяПодсказка.Заголовок = Подсказка;
Видимость = Истина;
КонецЕсли; КонецЕсли;
Элементы.НадписьИнформация.РасширеннаяПодсказка.Заголовок = Подсказка;
Иначе
Элементы.ПанельИнформации.Видимость = Ложь;
КонецЕсли; КонецЕсли;
Элементы.ПанельИнформации.Видимость = Видимость;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -642,6 +642,8 @@
Если ПустаяСтрока(Объект.ИмяФайлаОбновления) Тогда Если ПустаяСтрока(Объект.ИмяФайлаОбновления) Тогда
Если НуженФайлОбновления = 1 Тогда Если НуженФайлОбновления = 1 Тогда
ПерейтиКУстановкеИсправлений(); ПерейтиКУстановкеИсправлений();
Иначе
ПриПроверкеЛегальностиПолученияОбновления();
КонецЕсли; КонецЕсли;
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -770,13 +772,15 @@
&НаКлиенте &НаКлиенте
Процедура ПриПроверкеЛегальностиПолученияОбновления() Процедура ПриПроверкеЛегальностиПолученияОбновления()
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПроверкаЛегальностиПолученияОбновления") Тогда Если НуженФайлОбновления = 1 Тогда
Оповещение = Новый ОписаниеОповещения("ПриПроверкеЛегальностиПолученияОбновленияЗавершение", ЭтотОбъект); Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПроверкаЛегальностиПолученияОбновления") Тогда
МодульПроверкаЛегальностиПолученияОбновленияКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроверкаЛегальностиПолученияОбновленияКлиент"); Оповещение = Новый ОписаниеОповещения("ПриПроверкеЛегальностиПолученияОбновленияЗавершение", ЭтотОбъект);
МодульПроверкаЛегальностиПолученияОбновленияКлиент.ПоказатьПроверкуЛегальностиПолученияОбновления(Оповещение); МодульПроверкаЛегальностиПолученияОбновленияКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПроверкаЛегальностиПолученияОбновленияКлиент");
Иначе МодульПроверкаЛегальностиПолученияОбновленияКлиент.ПоказатьПроверкуЛегальностиПолученияОбновления(Оповещение);
ПриПроверкеЛегальностиПолученияОбновленияЗавершение(Истина, Неопределено); Возврат;
КонецЕсли;
КонецЕсли; КонецЕсли;
ПриПроверкеЛегальностиПолученияОбновленияЗавершение(Истина, Неопределено);
КонецПроцедуры КонецПроцедуры
@@ -19,6 +19,7 @@ var v8client = [ИмяИсполняемогоФайлаКлиента] // Пу
var v8comcntr = [ПутьКCOMСоединителю] // Путь к comcntr.dll var v8comcntr = [ПутьКCOMСоединителю] // Путь к comcntr.dll
var infoBasePath = [ПараметрПутиКИнформационнойБазе] var infoBasePath = [ПараметрПутиКИнформационнойБазе]
var BaseFileName = [СтрокаПутиКФайлуИнформационнойБазы] var BaseFileName = [СтрокаПутиКФайлуИнформационнойБазы]
var unlockCode = '[КодРазблокировки]'
var connectionString = [СтрокаСоединенияИнформационнойБазы] + ';UC=[КодРазблокировки]' var connectionString = [СтрокаСоединенияИнформационнойБазы] + ';UC=[КодРазблокировки]'
var backupFileName = [КаталогРезервнойКопии] + '1Cv8' + now.valueOf() + '.1CD' // Файл резервной копии var backupFileName = [КаталогРезервнойКопии] + '1Cv8' + now.valueOf() + '.1CD' // Файл резервной копии
var UseRestore = [ВосстанавливатьИнформационнуюБазу] // Использовать восстановление ИБ в случае падения var UseRestore = [ВосстанавливатьИнформационнуюБазу] // Использовать восстановление ИБ в случае падения
@@ -240,7 +241,7 @@ function doSetResult (success) {
} }
var res = 0 var res = 0
try { try {
log(format('Вызов через внешнее соединение ОбновлениеКонфигурации.ЗавершитьОбновление({0}, {1}, {2})', success, emailAddress, adminName)) log(format('ОбновлениеКонфигурации.ЗавершитьОбновление({0}, {1}, {2})', success, emailAddress, adminName))
connection.ОбновлениеКонфигурации.ЗавершитьОбновление(success, emailAddress, adminName) connection.ОбновлениеКонфигурации.ЗавершитьОбновление(success, emailAddress, adminName)
} catch (e) { } catch (e) {
log(format('Исключение при вызове ОбновлениеКонфигурации.ЗавершитьОбновление: {0}, {1}.', e.name, e.message), true) log(format('Исключение при вызове ОбновлениеКонфигурации.ЗавершитьОбновление: {0}, {1}.', e.name, e.message), true)
@@ -468,7 +469,7 @@ function doAllowConnections () {
return (useComConnector ? 1 : 0) return (useComConnector ? 1 : 0)
} }
try { try {
log('Вызов через внешнее соединение СоединенияИБ.РазрешитьРаботуПользователей()') log('СоединенияИБ.РазрешитьРаботуПользователей()')
connection.СоединенияИБ.РазрешитьРаботуПользователей() connection.СоединенияИБ.РазрешитьРаботуПользователей()
connectionsDenied = false connectionsDenied = false
connection = null connection = null
@@ -506,10 +507,7 @@ function doExecuteUpdate (lastVersion) {
return 1 return 1
} }
try { try {
log( log(format('ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы({0})', !lastVersion))
format(
'Вызов через внешнее соединение ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы({0})',
!lastVersion))
connection.ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы(!lastVersion) connection.ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы(!lastVersion)
connection = null connection = null
CollectGarbage() CollectGarbage()
@@ -556,9 +554,8 @@ function doDisconnectAndBlockUsersHTA (connection) {
switch (disconnectionStep) { switch (disconnectionStep) {
case 0: case 0:
{ {
log(format('Вызов через внешнее соединение СоединенияИБ.УстановитьБлокировкуСоединений()')) log('СоединенияИБ.УстановитьБлокировкуСоединений()')
connection.СоединенияИБ.УстановитьБлокировкуСоединений('в связи с необходимостью обновления конфигурации.', connection.СоединенияИБ.УстановитьБлокировкуСоединений('в связи с необходимостью обновления конфигурации.', unlockCode)
'ПакетноеОбновлениеКонфигурацииИБ')
disconnectionInterval = connection.СоединенияИБ.ПараметрыБлокировкиСеансов().ИнтервалОжиданияЗавершенияРаботыПользователей * 1000 disconnectionInterval = connection.СоединенияИБ.ПараметрыБлокировкиСеансов().ИнтервалОжиданияЗавершенияРаботыПользователей * 1000
disconnectionStartDateTime = connection.СоединенияИБ.ПараметрыБлокировкиСеансов().Начало disconnectionStartDateTime = connection.СоединенияИБ.ПараметрыБлокировкиСеансов().Начало
if (connection.ЗначениеЗаполнено(disconnectionStartDateTime)) { if (connection.ЗначениеЗаполнено(disconnectionStartDateTime)) {
@@ -570,8 +567,6 @@ function doDisconnectAndBlockUsersHTA (connection) {
} }
case 1: case 1:
{ {
log('Вызов через внешнее соединение СоединенияИБ.УстановленаБлокировкаСоединений()')
log('Вызов через внешнее соединение СоединенияИБ.КоличествоСеансовИнформационнойБазы(Ложь)')
if (!connection.СоединенияИБ.УстановленаБлокировкаСоединений() || if (!connection.СоединенияИБ.УстановленаБлокировкаСоединений() ||
connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false) <= 1) { connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false) <= 1) {
disconnectionStep++ disconnectionStep++
@@ -587,13 +582,11 @@ function doDisconnectAndBlockUsersHTA (connection) {
} }
case 2: case 2:
{ {
log('Вызов через внешнее соединение СоединенияИБ.УстановленаБлокировкаСоединений()')
if (!connection.СоединенияИБ.УстановленаБлокировкаСоединений()) { if (!connection.СоединенияИБ.УстановленаБлокировкаСоединений()) {
log('Попытка завершения работы пользователей завершилась безуспешно: отменена блокировка ИБ.', true) log('Попытка завершения работы пользователей завершилась безуспешно: отменена блокировка ИБ.', true)
return 3 return 3
} }
log('Вызов через внешнее соединение СоединенияИБ.КоличествоСеансовИнформационнойБазы(Ложь)')
if (connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false) <= 1) { if (connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false) <= 1) {
return 0 return 0
} }
@@ -601,10 +594,8 @@ function doDisconnectAndBlockUsersHTA (connection) {
// если этого не произошло пробуем принудительно прервать соединение. // если этого не произошло пробуем принудительно прервать соединение.
doDisconnectConnections(connection) doDisconnectConnections(connection)
if (connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false) > 1) { if (connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false) > 1) {
log('Вызов через внешнее соединение СоединенияИБ.РазрешитьРаботуПользователей()')
connection.СоединенияИБ.РазрешитьРаботуПользователей() connection.СоединенияИБ.РазрешитьРаботуПользователей()
log('Вызов через внешнее соединение СоединенияИБ.СообщениеОНеотключенныхСеансах()')
var message = connection.СоединенияИБ.СообщениеОНеотключенныхСеансах() var message = connection.СоединенияИБ.СообщениеОНеотключенныхСеансах()
log(message, true) log(message, true)
return 3 return 3
@@ -663,25 +654,22 @@ function doDisconnectAndBlockUsers () {
return (useComConnector ? 1 : 0) return (useComConnector ? 1 : 0)
} }
try { try {
log('Вызов через внешнее соединение СоединенияИБ.УстановитьБлокировкуСоединений()') log('Установка блокировки сеансов в связи с необходимостью обновления конфигурации')
connection.СоединенияИБ.УстановитьБлокировкуСоединений('в связи с необходимостью обновления конфигурации.', connection.СоединенияИБ.УстановитьБлокировкуСоединений('в связи с необходимостью обновления конфигурации.', unlockCode)
'ПакетноеОбновлениеКонфигурацииИБ')
log('Вызов через внешнее соединение СоединенияИБ.ПараметрыБлокировкиСеансов()')
var interval = connection.СоединенияИБ.ПараметрыБлокировкиСеансов().ИнтервалОжиданияЗавершенияРаботыПользователей * 1000 var interval = connection.СоединенияИБ.ПараметрыБлокировкиСеансов().ИнтервалОжиданияЗавершенияРаботыПользователей * 1000
log('Вызов через внешнее соединение ПолучитьБлокировкуУстановкиСоединений()')
var startDateTime = connection.ПолучитьБлокировкуУстановкиСоединений().Начало var startDateTime = connection.ПолучитьБлокировкуУстановкиСоединений().Начало
var now = new Date() var now = new Date()
if (connection.ЗначениеЗаполнено(startDateTime)) { if (connection.ЗначениеЗаполнено(startDateTime)) {
while (now - interval <= startDateTime) { while (now - interval <= startDateTime) {
log('Вызов через внешнее соединение ПолучитьБлокировкуУстановкиСоединений()')
if (!connection.ПолучитьБлокировкуУстановкиСоединений().Установлена) { if (!connection.ПолучитьБлокировкуУстановкиСоединений().Установлена) {
break break
} }
log('Вызов через внешнее соединение СоединенияИБ.КоличествоСеансовИнформационнойБазы(Ложь)') connectionsNum = connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false)
if (connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false) <= 1) { log(format('Количество сеансов информационной базы: {0}', connectionsNum))
if (connectionsNum <= 1) {
break break
} }
WScript.Sleep(18 * 1000) // Ждем 18 секунд до следующей проверки. WScript.Sleep(18 * 1000) // Ждем 18 секунд до следующей проверки.
@@ -689,7 +677,8 @@ function doDisconnectAndBlockUsers () {
} }
} }
log('Вызов через внешнее соединение ПолучитьБлокировкуУстановкиСоединений()') var locked = connection.ПолучитьБлокировкуУстановкиСоединений().Установлена
log(format('Блокировка начала сеансов установлена: {0}', locked))
if (!connection.ПолучитьБлокировкуУстановкиСоединений().Установлена) { if (!connection.ПолучитьБлокировкуУстановкиСоединений().Установлена) {
log('Попытка завершения работы пользователей завершилась безуспешно: отменена блокировка ИБ.', true) log('Попытка завершения работы пользователей завершилась безуспешно: отменена блокировка ИБ.', true)
return 3 return 3
@@ -698,12 +687,10 @@ function doDisconnectAndBlockUsers () {
// после начала блокировки сеансы всех пользователей должны быть отключены // после начала блокировки сеансы всех пользователей должны быть отключены
// если этого не произошло, пробуем принудительно прервать соединения. // если этого не произошло, пробуем принудительно прервать соединения.
doDisconnectConnections(connection) doDisconnectConnections(connection)
log('Вызов через внешнее соединение СоединенияИБ.КоличествоСеансовИнформационнойБазы(Ложь)') connectionsNum = connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false);
if (connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false) > 1) { log(format('Количество сеансов информационной базы: {0}', connectionsNum))
log('Вызов через внешнее соединение СоединенияИБ.РазрешитьРаботуПользователей()') if (connectionsNum > 1) {
connection.СоединенияИБ.РазрешитьРаботуПользователей() connection.СоединенияИБ.РазрешитьРаботуПользователей()
log('Вызов через внешнее соединение СоединенияИБ.СообщениеОНеотключенныхСеансах()')
var message = connection.СоединенияИБ.СообщениеОНеотключенныхСеансах() var message = connection.СоединенияИБ.СообщениеОНеотключенныхСеансах()
log(message, true) log(message, true)
return 3 return 3
@@ -722,13 +709,24 @@ function doDisconnectAndBlockUsers () {
} }
function doDisconnectConnections (connection) { function doDisconnectConnections (connection) {
log('Вызов через внешнее соединение СтандартныеПодсистемыСервер.ПараметрыАдминистрирования()')
var adminParams = connection.СтандартныеПодсистемыСервер.ПараметрыАдминистрирования() var adminParams = connection.СтандартныеПодсистемыСервер.ПараметрыАдминистрирования()
adminParams.ПарольАдминистратораИнформационнойБазы = InfoBasePassword adminParams.ПарольАдминистратораИнформационнойБазы = InfoBasePassword
adminParams.ПарольАдминистратораКластера = ClusterPassword adminParams.ПарольАдминистратораКластера = ClusterPassword
log('Вызов через внешнее соединение СоединенияИБКлиентСервер.УдалитьВсеСеансыКромеТекущего()')
connection.СоединенияИБКлиентСервер.УдалитьВсеСеансыКромеТекущего(adminParams) connection.СоединенияИБКлиентСервер.УдалитьВсеСеансыКромеТекущего(adminParams)
WScript.Sleep(15 * 1000) // Ждем 15 секунд на случай зависших сеансов.
retry = 3;
while (retry > 0) {
connectionsNum = connection.СоединенияИБ.КоличествоСеансовИнформационнойБазы(false);
if (connectionsNum <= 1) {
break
}
log(format('Количество зависших сеансов информационной базы: {0}, попытка № {1}', connectionsNum, retry))
WScript.Sleep(15 * 1000) // Ждем 15 секунд до следующей проверки.
retry = retry - 1
}
} }
// Завершение работы пользователей и запрет на подключение новых соединений // Завершение работы пользователей и запрет на подключение новых соединений
@@ -754,11 +752,12 @@ function loadCfg (fileName) {
var ret = runApp( var ret = runApp(
v8conf, v8conf,
format( format(
'CONFIG {0} {1} /LoadCfg "{2}" /Out "{3}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs', 'CONFIG {0} {1} /LoadCfg "{2}" /Out "{3}" /UC{4} /DisableStartupMessages /DisableStartupDialogs',
infoBasePath, infoBasePath,
infoBaseAuthorization, infoBaseAuthorization,
fileName, fileName,
tempLogFileName), tempLogFileName,
unlockCode),
SW_SHOW, SW_SHOW,
true) true)
appendLog() appendLog()
@@ -771,11 +770,12 @@ function updateCfg (fileName) {
var ret = runApp( var ret = runApp(
v8conf, v8conf,
format( format(
'CONFIG {0} {1} /UpdateCfg "{2}" /Out "{3}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs', 'CONFIG {0} {1} /UpdateCfg "{2}" /Out "{3}" /UC{4} /DisableStartupMessages /DisableStartupDialogs',
infoBasePath, infoBasePath,
infoBaseAuthorization, infoBaseAuthorization,
fileName, fileName,
tempLogFileName), tempLogFileName,
unlockCode),
SW_SHOW, SW_SHOW,
true) true)
appendLog() appendLog()
@@ -788,10 +788,11 @@ function updateDbCfg () {
var ret = runApp( var ret = runApp(
v8conf, v8conf,
format( format(
'CONFIG {0} {1} /UpdateDBCfg -server /Out "{2}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs', 'CONFIG {0} {1} /UpdateDBCfg -server /Out "{2}" /UC{3} /DisableStartupMessages /DisableStartupDialogs',
infoBasePath, infoBasePath,
infoBaseAuthorization, infoBaseAuthorization,
tempLogFileName), tempLogFileName,
unlockCode),
SW_SHOW, SW_SHOW,
true) true)
appendLog() appendLog()
@@ -807,10 +808,11 @@ function compressDB () {
var ret = runApp( var ret = runApp(
v8conf, v8conf,
format( format(
'CONFIG {0} {1} /IBCheckAndRepair -IBCompression /Out "{2}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs', 'CONFIG {0} {1} /IBCheckAndRepair -IBCompression /Out "{2}" /UC{3} /DisableStartupMessages /DisableStartupDialogs',
infoBasePath, infoBasePath,
infoBaseAuthorization, infoBaseAuthorization,
tempLogFileName), tempLogFileName,
unlockCode),
SW_SHOW, SW_SHOW,
true) true)
appendLog() appendLog()
@@ -828,7 +830,7 @@ function doDeferredHandlers () {
} }
try { try {
log('Вызов через внешнее соединение ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновлениеСейчас())') log('ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновлениеСейчас())')
connection.ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновлениеСейчас() connection.ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновлениеСейчас()
connection = null connection = null
CollectGarbage() CollectGarbage()
@@ -570,20 +570,11 @@
ОчиститьСообщения(); ОчиститьСообщения();
Если ИнформационнаяБазаФайловая ОтправленоУспешно = РезультатОтправкиНаСервере();
И (Объект.ДатаКогдаОтправить = Дата(1,1,1) ИЛИ Объект.ДатаКогдаОтправить < ОбщегоНазначенияКлиент.ДатаСеанса()) Если ОтправленоУспешно Тогда
И (Объект.ДатаАктуальностиОтправки = Дата(1,1,1) ИЛИ Объект.ДатаАктуальностиОтправки > ОбщегоНазначенияКлиент.ДатаСеанса()) Тогда Закрыть();
КоличествоОтправленных = ВыполнитьОтправкуНаСервере();
Если НЕ КоличествоОтправленных > 0 Тогда
Возврат;
КонецЕсли;
Иначе
ВзаимодействияКлиентСервер.УстановитьСостояниеИсходящееДокументСообщениеSMS(Объект);
КонецЕсли; КонецЕсли;
Записать();
Закрыть();
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -658,9 +649,28 @@
КонецФункции КонецФункции
&НаСервере &НаСервере
Функция ВыполнитьОтправкуНаСервере() Функция РезультатОтправкиНаСервере()
Возврат Взаимодействия.ОтправкаSMSПоДокументу(Объект); Если Модифицированность Тогда
Записать();
КонецЕсли;
Если ИнформационнаяБазаФайловая
И (Объект.ДатаКогдаОтправить = Дата(1,1,1) ИЛИ Объект.ДатаКогдаОтправить < ТекущаяДатаСеанса())
И (Объект.ДатаАктуальностиОтправки = Дата(1,1,1) ИЛИ Объект.ДатаАктуальностиОтправки > ТекущаяДатаСеанса()) Тогда
КоличествоОтправленных = Взаимодействия.ОтправкаSMSПоДокументу(Объект);
Если НЕ КоличествоОтправленных > 0 Тогда
Возврат Ложь;
КонецЕсли;
Иначе
Взаимодействия.УстановитьСостояниеИсходящееДокументСообщениеSMS(Объект);
КонецЕсли;
Записать();
Возврат Истина;
КонецФункции КонецФункции
@@ -18,6 +18,7 @@
<types>InformationRegisterRecordSet.СообщенияОбменаДанными</types> <types>InformationRegisterRecordSet.СообщенияОбменаДанными</types>
<types>InformationRegisterRecordSet.АдресныеОбъекты</types> <types>InformationRegisterRecordSet.АдресныеОбъекты</types>
<types>InformationRegisterRecordSet.УдалитьЗамерыВремени3</types> <types>InformationRegisterRecordSet.УдалитьЗамерыВремени3</types>
<types>InformationRegisterRecordSet.ОбщиеПоставляемыеМакетыПечати</types>
<types>InformationRegisterRecordSet.БезопасноеХранилищеДанных</types> <types>InformationRegisterRecordSet.БезопасноеХранилищеДанных</types>
<types>InformationRegisterRecordSet.НеразделенныеПользователи</types> <types>InformationRegisterRecordSet.НеразделенныеПользователи</types>
<types>InformationRegisterRecordSet.РежимыПодключенияВнешнихМодулей</types> <types>InformationRegisterRecordSet.РежимыПодключенияВнешнихМодулей</types>
@@ -140,9 +140,6 @@
<content> <content>
<mdObject>Constant.ДатаУведомленияОНовыхЗадачах</mdObject> <mdObject>Constant.ДатаУведомленияОНовыхЗадачах</mdObject>
</content> </content>
<content>
<mdObject>InformationRegister.ПоставляемыеМакетыПечати</mdObject>
</content>
<content> <content>
<mdObject>InformationRegister.ЗамерыКомментарииСтатистики</mdObject> <mdObject>InformationRegister.ЗамерыКомментарииСтатистики</mdObject>
</content> </content>
@@ -101,7 +101,7 @@
| СпрКлючевыеОперации.Наименование, | СпрКлючевыеОперации.Наименование,
| Замеры.ВыполненСОшибкой | Замеры.ВыполненСОшибкой
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2015, 1, 1), СЕКУНДА, (ВЫРАЗИТЬ(Замеры.ДатаНачалаЗамера / 1000 / &ПериодАгрегации - 0.5 КАК ЧИСЛО(11, 0))) * &ПериодАгрегации - 63555667200)" | ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2015,1,1),СЕКУНДА, ВЫРАЗИТЬ((Замеры.ДатаНачалаЗамера/1000)/&ПериодАгрегации - 0.5 КАК ЧИСЛО(11,0)) * &ПериодАгрегации - 63555667200)"
КонецФункции КонецФункции
// Возвращает таблицу настроек интервалов по умолчанию // Возвращает таблицу настроек интервалов по умолчанию
@@ -60,7 +60,7 @@
| СпрКлючевыеОперации.ИмяХеш, | СпрКлючевыеОперации.ИмяХеш,
| СпрКлючевыеОперации.Наименование | СпрКлючевыеОперации.Наименование
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2015, 1, 1), СЕКУНДА, (ВЫРАЗИТЬ(Замеры.ДатаНачалаЗамера / 1000 / &ПериодАгрегации - 0.5 КАК ЧИСЛО(11, 0))) * &ПериодАгрегации - 63555667200)" | ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2015,1,1),СЕКУНДА, ВЫРАЗИТЬ((Замеры.ДатаНачалаЗамера/1000)/&ПериодАгрегации - 0.5 КАК ЧИСЛО(11,0)) * &ПериодАгрегации - 63555667200)"
КонецФункции КонецФункции
// Возвращает таблицу настроек интервалов по умолчанию // Возвращает таблицу настроек интервалов по умолчанию
@@ -147,6 +147,11 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// См. РаботаВБезопасномРежимеПереопределяемый.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам. // См. РаботаВБезопасномРежимеПереопределяемый.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам.
//
// Параметры:
// ЗапросыРазрешений - Массив - см. описание параметра в процедуре
// РаботаВБезопасномРежимеПереопределяемый.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам.
//
Процедура ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений) Экспорт Процедура ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений) Экспорт
НастройкиТранспорта = СохраненныеНастройкиТранспорта(); НастройкиТранспорта = СохраненныеНастройкиТранспорта();
@@ -0,0 +1,117 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныйПрограммныйИнтерфейс
Процедура ОбновитьКонтрольнуюСуммуМакетов() Экспорт
ВерсияМакета = Метаданные.Версия;
ОбрабатываемыеМакеты = МакетыПечатныхФормКонфигурации();
СписокОшибок = Новый Массив;
Для Каждого ОписаниеМакета Из ОбрабатываемыеМакеты Цикл
Владелец = ОписаниеМакета.Значение;
ИмяВладельца = ?(Владелец = Метаданные.ОбщиеМакеты, "ОбщийМакет", Владелец.ПолноеИмя());
ИдентификаторОбъектаМетаданныхВладельца = ?(Владелец = Метаданные.ОбщиеМакеты,
Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(), ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Владелец));
Макет = ОписаниеМакета.Ключ;
ИмяМакета = Макет.Имя;
Если Владелец = Метаданные.ОбщиеМакеты Тогда
ДанныеМакета = ПолучитьОбщийМакет(Макет);
Иначе
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
ДанныеМакета = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(Владелец.ПолноеИмя()).ПолучитьМакет(Макет);
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтключениеБезопасногоРежима(Ложь);
КонецЕсли;
КонтрольнаяСумма = ОбщегоНазначения.КонтрольнаяСуммаСтрокой(ДанныеМакета);
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.РегистрыСведений.ОбщиеПоставляемыеМакетыПечати.ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("ИмяМакета", ИмяМакета);
ЭлементБлокировкиДанных.УстановитьЗначение("Объект", ИдентификаторОбъектаМетаданныхВладельца);
НачатьТранзакцию();
Попытка
БлокировкаДанных.Заблокировать();
МенеджерЗаписи = РегистрыСведений.ОбщиеПоставляемыеМакетыПечати.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ИмяМакета = Макет.Имя;
МенеджерЗаписи.Объект = ИдентификаторОбъектаМетаданныхВладельца;
МенеджерЗаписи.Прочитать();
Если Не МенеджерЗаписи.Выбран() Тогда
МенеджерЗаписи.ИмяМакета = Макет.Имя;
МенеджерЗаписи.Объект = ИдентификаторОбъектаМетаданныхВладельца;
КонецЕсли;
Если МенеджерЗаписи.ВерсияМакета = ВерсияМакета Тогда
ОтменитьТранзакцию();
Продолжить;
КонецЕсли;
МенеджерЗаписи.ВерсияМакета = ВерсияМакета;
МенеджерЗаписи.ПредыдущаяКонтрольнаяСумма = МенеджерЗаписи.КонтрольнаяСумма;
МенеджерЗаписи.КонтрольнаяСумма = КонтрольнаяСумма;
МенеджерЗаписи.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибки = НСтр("ru = 'Не удалось записать сведения о макете'") + Символы.ПС
+ Макет.ПолноеИмя() + Символы.ПС
+ ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
ЗаписьЖурналаРегистрации(НСтр("ru = 'Контроль изменения поставляемых макетов'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка, Макет, , ТекстОшибки);
СписокОшибок.Добавить(ИмяВладельца + "." + ИмяМакета + ": " + КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецЦикла;
Если ЗначениеЗаполнено(СписокОшибок) Тогда
СписокОшибок.Вставить(0, НСтр("ru = 'Не удалось записать сведения о макетах печатных форм конфигурации:'"));
ТекстОшибки = СтрСоединить(СписокОшибок, Символы.ПС);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция МакетыПечатныхФормКонфигурации()
Результат = Новый Соответствие;
Для Каждого Макет Из УправлениеПечатью.МакетыПечатныхФорм() Цикл
Если Макет.Ключ.РасширениеКонфигурации() <> Неопределено Тогда
Продолжить;
КонецЕсли;
Результат.Вставить(Макет.Ключ, Макет.Значение);
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецЕсли
@@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:InformationRegister xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d3aca87c-2b47-48da-82dd-18ca867c8463">
<producedTypes>
<selectionType typeId="7d9117dd-a550-4f84-a7f8-c13ef1d595fa" valueTypeId="3756e2e6-57e8-4e5d-b64a-1b6cb3fd9c21"/>
<listType typeId="95b12518-0c1d-4f56-9e05-61b08921be6f" valueTypeId="7a70df92-3b8f-4f03-8d98-2f4c9f10add3"/>
<managerType typeId="fe7fdc8f-2729-45be-ad15-8bd0bcf4de1a" valueTypeId="7ef8f628-862b-49c5-bd73-d88801c43922"/>
<recordSetType typeId="53953ab6-e4e4-4d00-abe6-eae7caa9bd2e" valueTypeId="04954e75-717d-411a-a974-84a9991ba117"/>
<recordKeyType typeId="436b4a98-edd9-407b-b2bb-da36e42e064d" valueTypeId="d0f0f22e-55e5-49e4-913a-b9e2ea93d57e"/>
<recordType typeId="cf2a1356-ce80-4f0c-b95f-17f420994798" valueTypeId="715c8f90-5a38-4a4a-af54-eed9ab892e2b"/>
<recordManagerType typeId="f1483490-2a63-4652-8c0e-6be747eb9f5a" valueTypeId="af1d5075-0f11-4747-9287-efad1f1f9e3c"/>
</producedTypes>
<name>ОбщиеПоставляемыеМакетыПечати</name>
<synonym>
<key>ru</key>
<value>Общие поставляемые макеты печати</value>
</synonym>
<editType>InDialog</editType>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Active</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>LineNumber</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Recorder</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Period</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<dataLockControlMode>Managed</dataLockControlMode>
<resources uuid="669b81a6-6526-4b5c-aafa-1988ae5253ce">
<name>КонтрольнаяСумма</name>
<synonym>
<key>ru</key>
<value>Контрольная сумма</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>32</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:StringValue"/>
</resources>
<resources uuid="ab138a0c-71fe-4ca2-9d82-21f5830dde24">
<name>ПредыдущаяКонтрольнаяСумма</name>
<synonym>
<key>ru</key>
<value>Предыдущая контрольная сумма</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>32</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:StringValue"/>
</resources>
<resources uuid="ffa6c000-ec84-4749-8ffe-42b0599751cd">
<name>ВерсияМакета</name>
<synonym>
<key>ru</key>
<value>Версия макета</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>20</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:StringValue"/>
</resources>
<dimensions uuid="740bde9c-9fe1-4183-ab01-3fbe91d33b61">
<name>Объект</name>
<synonym>
<key>ru</key>
<value>Объект</value>
</synonym>
<type>
<types>CatalogRef.ИдентификаторыОбъектовМетаданных</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:UndefinedValue"/>
<master>true</master>
<mainFilter>true</mainFilter>
</dimensions>
<dimensions uuid="e8e19542-c5c8-418b-8a83-20336fd9075a">
<name>ИмяМакета</name>
<synonym>
<key>ru</key>
<value>Имя макета</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>100</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:StringValue"/>
<mainFilter>true</mainFilter>
</dimensions>
</mdclass:InformationRegister>
@@ -787,6 +787,11 @@
МодульОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными(); МодульОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными();
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
МодульУправлениеПечатью.ОбновитьКонтрольнуюСуммуМакетов();
КонецЕсли;
Если СообщитьПрогресс Тогда Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(65); ДлительныеОперации.СообщитьПрогресс(65);
КонецЕсли; КонецЕсли;
@@ -174,7 +174,7 @@
&НаСервере &НаСервере
Процедура ЗаполнитьТаблицуМакетовПечатныхФорм() Процедура ЗаполнитьТаблицуМакетовПечатныхФорм()
Для Каждого ОписаниеМакета Из РегистрыСведений.ПоставляемыеМакетыПечати.ВсеМакетыПечатныхФормКонфигурации() Цикл Для Каждого ОписаниеМакета Из УправлениеПечатью.МакетыПечатныхФорм() Цикл
Владелец = ОписаниеМакета.Значение; Владелец = ОписаниеМакета.Значение;
ИмяВладельца = ?(Метаданные.ОбщиеМакеты = Владелец, "ОбщийМакет", Владелец.ПолноеИмя()); ИмяВладельца = ?(Метаданные.ОбщиеМакеты = Владелец, "ОбщийМакет", Владелец.ПолноеИмя());
ПредставлениеВладельца = ?(Метаданные.ОбщиеМакеты = Владелец, НСтр("ru = 'Общий макет'"), Владелец.Представление()); ПредставлениеВладельца = ?(Метаданные.ОбщиеМакеты = Владелец, НСтр("ru = 'Общий макет'"), Владелец.Представление());
@@ -190,6 +190,7 @@
МакетыПечатныхФорм.Сортировать("ПредставлениеМакета Возр"); МакетыПечатныхФорм.Сортировать("ПредставлениеМакета Возр");
УстановитьФлагиИспользованияИзмененныхМакетов(); УстановитьФлагиИспользованияИзмененныхМакетов();
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -17,7 +17,7 @@
Если Параметры.Свойство("МакетыТребующиеОбновленияКонтрольнойСуммы") Тогда Если Параметры.Свойство("МакетыТребующиеОбновленияКонтрольнойСуммы") Тогда
ОбрабатываемыеМакеты = Параметры.МакетыТребующиеОбновленияКонтрольнойСуммы; ОбрабатываемыеМакеты = Параметры.МакетыТребующиеОбновленияКонтрольнойСуммы;
Иначе Иначе
ОбрабатываемыеМакеты = ВсеМакетыПечатныхФормКонфигурации(); ОбрабатываемыеМакеты = МакетыПечатныхФормРасширений();
КонецЕсли; КонецЕсли;
МакетыТребующиеОбновленияКонтрольнойСуммы = Новый Соответствие; МакетыТребующиеОбновленияКонтрольнойСуммы = Новый Соответствие;
@@ -26,7 +26,8 @@
Для Каждого ОписаниеМакета Из ОбрабатываемыеМакеты Цикл Для Каждого ОписаниеМакета Из ОбрабатываемыеМакеты Цикл
Владелец = ОписаниеМакета.Значение; Владелец = ОписаниеМакета.Значение;
ИмяВладельца = ?(Владелец = Метаданные.ОбщиеМакеты, "ОбщийМакет", Владелец.ПолноеИмя()); ИмяВладельца = ?(Владелец = Метаданные.ОбщиеМакеты, "ОбщийМакет", Владелец.ПолноеИмя());
ИдентификаторОбъектаМетаданныхВладельца = ?(Владелец = Метаданные.ОбщиеМакеты, Неопределено, ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Владелец)); ИдентификаторОбъектаМетаданныхВладельца = ?(Владелец = Метаданные.ОбщиеМакеты,
Справочники.ИдентификаторыОбъектовРасширений.ПустаяСсылка(), ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Владелец));
Макет = ОписаниеМакета.Ключ; Макет = ОписаниеМакета.Ключ;
ИмяМакета = Макет.Имя; ИмяМакета = Макет.Имя;
@@ -91,7 +92,7 @@
КонецЦикла; КонецЦикла;
Если ЗначениеЗаполнено(МакетыТребующиеОбновленияКонтрольнойСуммы) Тогда Если ЗначениеЗаполнено(МакетыТребующиеОбновленияКонтрольнойСуммы) Тогда
СписокОшибок.Вставить(0, НСтр("ru = 'Не удалось записать сведения о макетах печатных форм:'")); СписокОшибок.Вставить(0, НСтр("ru = 'Не удалось записать сведения о макетах печатных форм расширений:'"));
Параметры.Вставить("МакетыТребующиеОбновленияКонтрольнойСуммы", МакетыТребующиеОбновленияКонтрольнойСуммы); Параметры.Вставить("МакетыТребующиеОбновленияКонтрольнойСуммы", МакетыТребующиеОбновленияКонтрольнойСуммы);
ТекстОшибки = СтрСоединить(СписокОшибок, Символы.ПС); ТекстОшибки = СтрСоединить(СписокОшибок, Символы.ПС);
ВызватьИсключение ТекстОшибки; ВызватьИсключение ТекстОшибки;
@@ -103,67 +104,21 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Функция ВсеМакетыПечатныхФормКонфигурации() Экспорт Функция МакетыПечатныхФормРасширений()
Результат = Новый Соответствие; Результат = Новый Соответствие;
КоллекцииОбъектовМетаданных = Новый Массив; Для Каждого Макет Из УправлениеПечатью.МакетыПечатныхФорм() Цикл
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Справочники); Если Макет.Ключ.РасширениеКонфигурации() = Неопределено Тогда
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Документы); Продолжить;
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Обработки);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.БизнесПроцессы);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Задачи);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.ЖурналыДокументов);
КоллекцииОбъектовМетаданных.Добавить(Метаданные.Отчеты);
Для Каждого КоллекцияОбъектовМетаданных Из КоллекцииОбъектовМетаданных Цикл
Для Каждого ОбъектМетаданных Из КоллекцияОбъектовМетаданных Цикл
Для Каждого Макет Из ОбъектМетаданных.Макеты Цикл
Если СтрНайти(Макет.Имя, "ПФ_") > 0 Тогда
Если (КоллекцияОбъектовМетаданных = Метаданные.Обработки Или КоллекцияОбъектовМетаданных = Метаданные.Отчеты)
И Не ПравоДоступа("Просмотр", ОбъектМетаданных) Тогда
Продолжить;
КонецЕсли;
Результат.Вставить(Макет, ОбъектМетаданных);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Для Каждого Макет Из Метаданные.ОбщиеМакеты Цикл
Если СтрНайти(Макет.Имя, "ПФ_") > 0 Тогда
Результат.Вставить(Макет, Метаданные.ОбщиеМакеты);
КонецЕсли; КонецЕсли;
Результат.Вставить(Макет.Ключ, Макет.Значение);
КонецЦикла; КонецЦикла;
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
// Формирует печатные формы.
//
// Параметры:
// МассивОбъектов - Массив - ссылки на объекты, которые нужно распечатать;
// ПараметрыПечати - Структура - дополнительные настройки печати;
// КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы (выходной параметр),
// см. УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм.
// ОбъектыПечати - СписокЗначений - значение - ссылка на объект;
// представление - имя области в которой был выведен объект (выходной
// параметр);
// ПараметрыВывода - Структура - дополнительные параметры сформированных табличных документов (выходной
// параметр).
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
Если ПечатнаяФорма <> Неопределено Тогда
ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Как сделать факсимильную подпись и печать'");
ПечатнаяФорма.ТабличныйДокумент = ПолучитьОбщийМакет("ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
ПечатнаяФорма.ПолныйПутьКМакету = "ОбщийМакет.ИнструкцияПоСозданиюФаксимильнойПодписиИПечати";
КонецЕсли;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:InformationRegister xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="0b8c7a82-9865-4c5e-9bf1-ba6a7ef3a5d1"> <mdclass:InformationRegister xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f6d79449-eca9-4d13-9ddc-8b36ae9e729e">
<producedTypes> <producedTypes>
<selectionType typeId="5da1130c-435a-48b7-8782-02c4b45b34f7" valueTypeId="322ce8c1-417d-4b50-a73d-6d4d0eade24a"/> <selectionType typeId="e82c0e7b-2fa2-4709-9956-1b614ba2ce53" valueTypeId="2207c1c6-7b6a-4778-9801-cb8cbd4ae707"/>
<listType typeId="38cd673e-d5f6-4847-b5d4-443b92bc3d41" valueTypeId="66c2d862-3eaf-4f72-8204-eca7bc9566c6"/> <listType typeId="83771133-104f-486a-bdec-0f0fb1a944c7" valueTypeId="7018bd63-4bf3-42a8-b4ca-bc4633c9008c"/>
<managerType typeId="1326af77-9a11-4c96-9c0a-3afe005691b9" valueTypeId="19826ea6-6a3c-4935-a480-91f3434ff6ac"/> <managerType typeId="b378bd8a-501c-40de-bbdb-69cf663107fc" valueTypeId="6b2768bc-752a-42bf-95db-f8519b93d40a"/>
<recordSetType typeId="c37c5229-a1cb-461b-bc5a-ea59ce7c5795" valueTypeId="5d4c4d4f-2202-42df-b1a4-df5b76b7d4d4"/> <recordSetType typeId="9ebc4612-0afe-4742-9305-34c57320085a" valueTypeId="6c42d8d5-544c-4501-9f28-1221c475289d"/>
<recordKeyType typeId="bbde4f47-c21c-4303-a24a-2b3884ba6ae4" valueTypeId="adc41871-ee3e-47c3-b6d6-6b1919d93b5b"/> <recordKeyType typeId="d0846d6a-b984-45d3-83e3-4871be0b39c4" valueTypeId="208b0bd9-43d3-4e52-87df-810760d1b559"/>
<recordType typeId="d7a514cd-d2ea-4c43-ac80-86d5d5ee5485" valueTypeId="d2317961-5c6d-4d04-a83a-76c65553ad54"/> <recordType typeId="cbb14f50-0203-4225-82c8-cf4afc78373b" valueTypeId="913e8672-e840-4181-9ef0-823f6af87358"/>
<recordManagerType typeId="171f66aa-6a8a-46e6-9767-aea5fcbd198e" valueTypeId="585e4385-c281-45e6-98df-e0650728d43a"/> <recordManagerType typeId="b7e76d23-c177-4a3c-a5d7-cb07f256ed71" valueTypeId="a6d56135-eb97-44ca-8281-567f4bb89992"/>
</producedTypes> </producedTypes>
<name>ПоставляемыеМакетыПечати</name> <name>ПоставляемыеМакетыПечати</name>
<synonym> <synonym>
@@ -49,7 +49,7 @@
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes> </standardAttributes>
<dataLockControlMode>Managed</dataLockControlMode> <dataLockControlMode>Managed</dataLockControlMode>
<resources uuid="ea9fd5dd-b1de-41f8-87c2-ad3e8ee6b9bf"> <resources uuid="b9d56dc6-3a10-4795-9ca3-dbf69310813e">
<name>КонтрольнаяСумма</name> <name>КонтрольнаяСумма</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
@@ -67,7 +67,7 @@
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:StringValue"/> <fillValue xsi:type="core:StringValue"/>
</resources> </resources>
<resources uuid="1bc24f0c-7299-4d7d-994c-0e89056f1178"> <resources uuid="f4b53ce1-8c1b-4f57-b5de-acb4692a37d8">
<name>ПредыдущаяКонтрольнаяСумма</name> <name>ПредыдущаяКонтрольнаяСумма</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
@@ -85,7 +85,7 @@
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:StringValue"/> <fillValue xsi:type="core:StringValue"/>
</resources> </resources>
<resources uuid="af958a75-241e-443a-8c1d-0c9240cca3a3"> <resources uuid="9b18e04f-036d-43ae-b949-9432f96d71d9">
<name>ВерсияМакета</name> <name>ВерсияМакета</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
@@ -103,7 +103,7 @@
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fillValue xsi:type="core:StringValue"/> <fillValue xsi:type="core:StringValue"/>
</resources> </resources>
<dimensions uuid="d65cce37-81a6-4f75-84e1-7e5b6340aa13"> <dimensions uuid="e99a1f54-4001-45ee-81e3-472656c05f57">
<name>Объект</name> <name>Объект</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
@@ -111,7 +111,6 @@
</synonym> </synonym>
<type> <type>
<types>CatalogRef.ИдентификаторыОбъектовРасширений</types> <types>CatalogRef.ИдентификаторыОбъектовРасширений</types>
<types>CatalogRef.ИдентификаторыОбъектовМетаданных</types>
</type> </type>
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
@@ -122,7 +121,7 @@
<master>true</master> <master>true</master>
<mainFilter>true</mainFilter> <mainFilter>true</mainFilter>
</dimensions> </dimensions>
<dimensions uuid="b60ddb04-f87c-4e16-aad0-f06d80dfbe14"> <dimensions uuid="b104e7b9-8a41-4154-a84b-d1bb12fab939">
<name>ИмяМакета</name> <name>ИмяМакета</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
@@ -604,16 +604,16 @@
Если Выборка.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов Тогда Если Выборка.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов Тогда
// Получаем, сохраняем и архивируем файл правил конвертации во временном каталоге. // Получаем, сохраняем и архивируем файл правил конвертации во временном каталоге.
ДвоичныеДанныеПравил = Выборка.ПравилаXML.Получить(); ДвоичныеДанныеПравил = Выборка.ПравилаXML.Получить(); // ДвоичныеДанные
ДвоичныеДанныеПравил.Записать(ПутьКФайлу + ".xml"); ДвоичныеДанныеПравил.Записать(ПутьКФайлу + ".xml");
// Получаем, сохраняем и архивируем файл правил конвертации корреспондента во временном каталоге. // Получаем, сохраняем и архивируем файл правил конвертации корреспондента во временном каталоге.
ДвоичныеДанныеПравилКорреспондента = Выборка.ПравилаXMLКорреспондента.Получить(); ДвоичныеДанныеПравилКорреспондента = Выборка.ПравилаXMLКорреспондента.Получить(); // ДвоичныеДанные
ДвоичныеДанныеПравилКорреспондента.Записать(ПутьКФайлуКорреспондента + ".xml"); ДвоичныеДанныеПравилКорреспондента.Записать(ПутьКФайлуКорреспондента + ".xml");
Иначе Иначе
// Получаем, сохраняем и архивируем файл правил регистрации во временном каталоге. // Получаем, сохраняем и архивируем файл правил регистрации во временном каталоге.
ДвоичныеДанныеПравилРегистрации = Выборка.ПравилаXML.Получить(); ДвоичныеДанныеПравилРегистрации = Выборка.ПравилаXML.Получить(); // ДвоичныеДанные
ДвоичныеДанныеПравилРегистрации.Записать(ПутьКФайлуРегистрации + ".xml"); ДвоичныеДанныеПравилРегистрации.Записать(ПутьКФайлуРегистрации + ".xml");
КонецЕсли; КонецЕсли;
@@ -464,10 +464,10 @@
Выборка.Следующий(); Выборка.Следующий();
// Получаем, сохраняем и архивируем файл правил во временном каталоге. // Получаем, сохраняем и архивируем файл правил во временном каталоге.
ДвоичныеДанныеПравил = Выборка.ПравилаXML.Получить(); ДвоичныеДанныеПравил = Выборка.ПравилаXML.Получить(); // ДвоичныеДанные
ДвоичныеДанныеПравил.Записать(ПутьКФайлу + ".xml"); ДвоичныеДанныеПравил.Записать(ПутьКФайлу + ".xml");
ДвоичныеДанныеПравилКорреспондента = Выборка.ПравилаXMLКорреспондента.Получить(); ДвоичныеДанныеПравилКорреспондента = Выборка.ПравилаXMLКорреспондента.Получить(); // ДвоичныеДанные
ДвоичныеДанныеПравилКорреспондента.Записать(ПутьКФайлуКорреспондента + ".xml"); ДвоичныеДанныеПравилКорреспондента.Записать(ПутьКФайлуКорреспондента + ".xml");
МаскаУпаковкиФайлов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременнойПапки) + "*.xml"; МаскаУпаковкиФайлов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременнойПапки) + "*.xml";
@@ -317,7 +317,7 @@
Выборка = Результат.Выбрать(); Выборка = Результат.Выбрать();
Выборка.Следующий(); Выборка.Следующий();
ДвоичныеДанныеПравил = Выборка.ПравилаXML.Получить(); ДвоичныеДанныеПравил = Выборка.ПравилаXML.Получить(); // ДвоичныеДанные
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml"); ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml");
ДвоичныеДанныеПравил.Записать(ИмяВременногоФайла); ДвоичныеДанныеПравил.Записать(ИмяВременногоФайла);
@@ -17,6 +17,16 @@
КонецПроцедуры КонецПроцедуры
// Возвращает признак наличия записи в регистре по переданному отбору.
//
// Параметры:
// СтруктураЗаписи - Структура - структура отбора:
// * УзелИнформационнойБазы - ПланОбменаСсылка - узел плана обмена.
// * Ссылка - ДокументСсылка, ПланВидовХарактеристикСсылка, СправочникСсылка - ссылка на объект.
//
// Возвращаемое значение:
// Булево - Истина, если в регистре содержатся записи для заданного отбора.
//
Функция ЗаписьЕстьВРегистре(СтруктураЗаписи) Экспорт Функция ЗаписьЕстьВРегистре(СтруктураЗаписи) Экспорт
Запрос = Новый Запрос( Запрос = Новый Запрос(
@@ -305,11 +305,12 @@
СтрокаОтбора = ""; СтрокаОтбора = "";
Период = Неопределено; Период = Неопределено;
Если ПараметрыПоиска.Свойство("Период", Период) Если ПараметрыПоиска.Свойство("Период", Период)
И ЗначениеЗаполнено(Период) Тогда И ЗначениеЗаполнено(Период)
И ТипЗнч(Период) = Тип("СтандартныйПериод") Тогда
СтрокаОтбора = "И (РезультатыОбменаДанными.ДатаВозникновения >= &ДатаНачала СтрокаОтбора = "И (РезультатыОбменаДанными.ДатаВозникновения >= &ДатаНачала
| И РезультатыОбменаДанными.ДатаВозникновения <= &ДатаОкончания)"; | И РезультатыОбменаДанными.ДатаВозникновения <= &ДатаОкончания)";
Запрос.УстановитьПараметр("ДатаНачала", ПараметрыПоиска.Период.ДатаНачала); Запрос.УстановитьПараметр("ДатаНачала", Период.ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ПараметрыПоиска.Период.ДатаОкончания); Запрос.УстановитьПараметр("ДатаОкончания", Период.ДатаОкончания);
КонецЕсли; КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, "[ОтборПоПериоду]", СтрокаОтбора); Запрос.Текст = СтрЗаменить(Запрос.Текст, "[ОтборПоПериоду]", СтрокаОтбора);
@@ -10,6 +10,8 @@
#Область ОписаниеПеременных #Область ОписаниеПеременных
Перем КлючТекущегоВарианта; // Строка - хранит идентификатор настроек варианта отчета.
// Также см. Синтакс-помощник.
Перем СвойстваРегистров; // ТаблицаЗначений, каждая строка которой хранит сведения о регистре, Перем СвойстваРегистров; // ТаблицаЗначений, каждая строка которой хранит сведения о регистре,
// регистратором которого является документ-владелец. // регистратором которого является документ-владелец.
Перем Примечания; // ТаблицаЗначений, каждая строка которой хранит текст примечания, Перем Примечания; // ТаблицаЗначений, каждая строка которой хранит текст примечания,
@@ -97,6 +99,8 @@
// //
Процедура ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы, КлючВарианта, Настройки, ПользовательскиеНастройки) Экспорт Процедура ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы, КлючВарианта, Настройки, ПользовательскиеНастройки) Экспорт
КлючТекущегоВарианта = КлючВарианта;
Если ТипЗнч(Настройки) <> Тип("НастройкиКомпоновкиДанных") Тогда Если ТипЗнч(Настройки) <> Тип("НастройкиКомпоновкиДанных") Тогда
Настройки = КомпоновщикНастроек.Настройки; Настройки = КомпоновщикНастроек.Настройки;
КонецЕсли; КонецЕсли;
@@ -127,8 +131,6 @@
НайденныйПараметр = СхемаКомпоновкиДанных.Параметры.Найти("СписокРегистров"); НайденныйПараметр = СхемаКомпоновкиДанных.Параметры.Найти("СписокРегистров");
НайденныйПараметр.УстановитьДоступныеЗначения(СписокРегистров); НайденныйПараметр.УстановитьДоступныеЗначения(СписокРегистров);
ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, СхемаКомпоновкиДанных, КлючСхемы);
ЗначенияПараметров = Новый Структура; ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ДокументВладелец", ПараметрыОтчета.ДокументВладелец); ЗначенияПараметров.Вставить("ДокументВладелец", ПараметрыОтчета.ДокументВладелец);
ЗначенияПараметров.Вставить("СписокРегистров", СписокВыбранныхРегистров); ЗначенияПараметров.Вставить("СписокРегистров", СписокВыбранныхРегистров);
@@ -141,6 +143,8 @@
ПодготовитьВертикальныйВариант(ПараметрыОтчета.ДокументВладелец, Настройки); ПодготовитьВертикальныйВариант(ПараметрыОтчета.ДокументВладелец, Настройки);
КонецЕсли; КонецЕсли;
ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, СхемаКомпоновкиДанных, КлючСхемы);
УстановитьУсловноеОформление(Настройки); УстановитьУсловноеОформление(Настройки);
КонецПроцедуры КонецПроцедуры
@@ -582,10 +586,10 @@
#Область ГоризонтальныйВариант #Область ГоризонтальныйВариант
Функция ПодготовитьГоризонтальныйВариант(ДокументВладелец, Настройки) Процедура ПодготовитьГоризонтальныйВариант(ДокументВладелец, Настройки)
Если СвойстваРегистров.Количество() = 0 Тогда Если СвойстваРегистров.Количество() = 0 Тогда
Возврат СхемаКомпоновкиДанных; Возврат;
КонецЕсли; КонецЕсли;
НаборыДанных = НаборыДанныхОтчета(ДокументВладелец); НаборыДанных = НаборыДанныхОтчета(ДокументВладелец);
@@ -616,9 +620,7 @@
СкрытьПараметрыИОтборы(Настройки); СкрытьПараметрыИОтборы(Настройки);
Возврат СхемаКомпоновкиДанных; КонецПроцедуры
КонецФункции
Процедура ПодготовитьГоризонтальныйВариантНабораДанных(НастройкиКД, ЭлементДанных, НаборДанныхКД) Процедура ПодготовитьГоризонтальныйВариантНабораДанных(НастройкиКД, ЭлементДанных, НаборДанныхКД)
@@ -773,10 +775,10 @@
#Область ВертикальныйВариант #Область ВертикальныйВариант
Функция ПодготовитьВертикальныйВариант(ДокументВладелец, Настройки) Процедура ПодготовитьВертикальныйВариант(ДокументВладелец, Настройки)
Если СвойстваРегистров.Количество() = 0 Тогда Если СвойстваРегистров.Количество() = 0 Тогда
Возврат СхемаКомпоновкиДанных; Возврат;
КонецЕсли; КонецЕсли;
НаборыДанных = НаборыДанныхОтчета(ДокументВладелец, Истина); НаборыДанных = НаборыДанныхОтчета(ДокументВладелец, Истина);
@@ -808,9 +810,7 @@
СкрытьПараметрыИОтборы(Настройки); СкрытьПараметрыИОтборы(Настройки);
Возврат СхемаКомпоновкиДанных; КонецПроцедуры
КонецФункции
Процедура ПодготовитьВертикальныйВариантНабораДанных(НастройкиКД, НаборДанных, НаборДанныхКД) Процедура ПодготовитьВертикальныйВариантНабораДанных(НастройкиКД, НаборДанных, НаборДанныхКД)
@@ -1619,6 +1619,8 @@
КонецЦикла; КонецЦикла;
СвойстваРегистров.Сортировать("Приоритет, ПредставлениеРегистра"); СвойстваРегистров.Сортировать("Приоритет, ПредставлениеРегистра");
СвойстваРегистров.Индексы.Добавить("ИмяГруппировки, ИмяРегистра, ВидРегистра, ВидРегистраНакопления, ЗаголовокТаблицы");
КэшироватьСвойстваРегистров(СвойстваРегистров, Контекст); КэшироватьСвойстваРегистров(СвойстваРегистров, Контекст);
КонецПроцедуры КонецПроцедуры
@@ -1695,6 +1697,10 @@
Процедура ЗаполнитьПримечания(Настройки) Процедура ЗаполнитьПримечания(Настройки)
Если КлючТекущегоВарианта <> "Дополнительный" Тогда
Возврат;
КонецЕсли;
Примечания = ПалитраСвойствПримечаний(); Примечания = ПалитраСвойствПримечаний();
Для Каждого СвойстваРегистра Из СвойстваРегистров Цикл Для Каждого СвойстваРегистра Из СвойстваРегистров Цикл
@@ -1750,6 +1756,8 @@
КонецЦикла; КонецЦикла;
Примечания.Индексы.Добавить("ПолноеИмяРегистра, Этаж");
КонецПроцедуры КонецПроцедуры
Функция ПалитраСвойствПримечаний() Функция ПалитраСвойствПримечаний()
@@ -624,6 +624,93 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.СпособХраненияФайлов</name> <name>Constant.СпособХраненияФайлов</name>
<right> <right>
@@ -3978,6 +4065,65 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ОбщиеПоставляемыеМакетыПечати</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.КоличествоПотоковОбновленияИнформационнойБазы</name> <name>Constant.КоличествоПотоковОбновленияИнформационнойБазы</name>
<right> <right>
@@ -4790,93 +4936,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ПакетыДляОтправки</name> <name>InformationRegister.ПакетыДляОтправки</name>
<right> <right>
@@ -114,17 +114,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПоставляемыеМакетыПечати</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ИспользоватьЭлектронныеПодписи</name> <name>Constant.ИспользоватьЭлектронныеПодписи</name>
<right> <right>
@@ -2005,6 +1994,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ОбщиеПоставляемыеМакетыПечати</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.КоличествоПотоковОбновленияИнформационнойБазы</name> <name>Constant.КоличествоПотоковОбновленияИнформационнойБазы</name>
<right> <right>
@@ -2342,6 +2342,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПоставляемыеМакетыПечати</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ИзменятьЗаданияЗаднимЧислом</name> <name>Constant.ИзменятьЗаданияЗаднимЧислом</name>
<right> <right>
@@ -14,6 +14,37 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name> <name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right> <right>
@@ -76,37 +107,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate> <restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name> <name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "") <condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -960,6 +960,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Catalog.Валюты</name> <name>Catalog.Валюты</name>
<right> <right>
@@ -5490,6 +5529,65 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ОбщиеПоставляемыеМакетыПечати</name>
<right>
<name>Read</name>
<value>false</value>
</right>
<right>
<name>Update</name>
<value>false</value>
</right>
<right>
<name>View</name>
<value>false</value>
</right>
<right>
<name>Edit</name>
<value>false</value>
</right>
<right>
<name>TotalsControl</name>
<value>false</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>false</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>false</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>false</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>false</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Constant.КоличествоПотоковОбновленияИнформационнойБазы</name> <name>Constant.КоличествоПотоковОбновленияИнформационнойБазы</name>
<right> <right>
@@ -6509,45 +6607,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ПакетыДляОтправки</name> <name>InformationRegister.ПакетыДляОтправки</name>
<right> <right>
@@ -3,13 +3,6 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -41,6 +34,13 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>DataProcessor.ЖурналРегистрации</name> <name>DataProcessor.ЖурналРегистрации</name>
<right> <right>
@@ -208,17 +208,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПоставляемыеМакетыПечати</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ИспользоватьЭлектронныеПодписи</name> <name>Constant.ИспользоватьЭлектронныеПодписи</name>
<right> <right>
@@ -2623,6 +2612,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПоставляемыеМакетыПечати</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.ИзменятьЗаданияЗаднимЧислом</name> <name>Constant.ИзменятьЗаданияЗаднимЧислом</name>
<right> <right>
@@ -41,7 +41,8 @@
<content>CommonModule.УправлениеПечатьюСлужебный</content> <content>CommonModule.УправлениеПечатьюСлужебный</content>
<content>CommonTemplate.ИнструкцияПоСозданиюФаксимильнойПодписиИПечати</content> <content>CommonTemplate.ИнструкцияПоСозданиюФаксимильнойПодписиИПечати</content>
<content>CommonModule.УправлениеПечатьюКлиентПереопределяемый</content> <content>CommonModule.УправлениеПечатьюКлиентПереопределяемый</content>
<content>InformationRegister.ПоставляемыеМакетыПечати</content>
<content>CommonModule.УправлениеПечатьюРФ</content> <content>CommonModule.УправлениеПечатьюРФ</content>
<content>InformationRegister.ОбщиеПоставляемыеМакетыПечати</content>
<content>InformationRegister.ПоставляемыеМакетыПечати</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem> <parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem> </mdclass:Subsystem>
+9 -2
View File
@@ -302,6 +302,12 @@
КонецФункции КонецФункции
// Соответствует операции PutFilePart. // Соответствует операции PutFilePart.
//
// Параметры:
// TransferId - УникальныйИдентификатор - уникальный идентификатор сессии передачи данных.
// PartNumber - Число - номер части файла.
// PartData - ДвоичныеДанные - данные части файла.
//
Функция PutFilePart(TransferId, PartNumber, PartData) Функция PutFilePart(TransferId, PartNumber, PartData)
ВременныйКаталог = ВременныйКаталогВыгрузки(TransferId); ВременныйКаталог = ВременныйКаталогВыгрузки(TransferId);
@@ -363,9 +369,10 @@
КаталогВыгрузки = ОбменДаннымиСервер.КаталогВременногоХранилищаФайлов(); КаталогВыгрузки = ОбменДаннымиСервер.КаталогВременногоХранилищаФайлов();
ИмяФайла = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(КаталогВыгрузки, Разархиватор.Элементы[0].Имя); ЭлементАрхива = Разархиватор.Элементы.Получить(0);
ИмяФайла = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(КаталогВыгрузки, ЭлементАрхива.Имя);
Разархиватор.Извлечь(Разархиватор.Элементы[0], КаталогВыгрузки); Разархиватор.Извлечь(ЭлементАрхива, КаталогВыгрузки);
Разархиватор.Закрыть(); Разархиватор.Закрыть();
FileId = ОбменДаннымиСервер.ПоместитьФайлВХранилище(ИмяФайла); FileId = ОбменДаннымиСервер.ПоместитьФайлВХранилище(ИмяФайла);
@@ -288,6 +288,12 @@
КонецФункции КонецФункции
// Соответствует операции PutFilePart. // Соответствует операции PutFilePart.
//
// Параметры:
// TransferId - УникальныйИдентификатор - уникальный идентификатор сессии передачи данных.
// PartNumber - Число - номер части файла.
// PartData - ДвоичныеДанные - данные части файла.
//
Функция PutFilePart(TransferId, PartNumber, PartData) Функция PutFilePart(TransferId, PartNumber, PartData)
ВременныйКаталог = ВременныйКаталогВыгрузки(TransferId); ВременныйКаталог = ВременныйКаталогВыгрузки(TransferId);
@@ -349,9 +355,10 @@
КаталогВыгрузки = ОбменДаннымиСервер.КаталогВременногоХранилищаФайлов(); КаталогВыгрузки = ОбменДаннымиСервер.КаталогВременногоХранилищаФайлов();
ИмяФайла = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(КаталогВыгрузки, Разархиватор.Элементы[0].Имя); ЭлементАрхива = Разархиватор.Элементы.Получить(0);
ИмяФайла = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(КаталогВыгрузки, ЭлементАрхива.Имя);
Разархиватор.Извлечь(Разархиватор.Элементы[0], КаталогВыгрузки); Разархиватор.Извлечь(ЭлементАрхива, КаталогВыгрузки);
Разархиватор.Закрыть(); Разархиватор.Закрыть();
FileId = ОбменДаннымиСервер.ПоместитьФайлВХранилище(ИмяФайла); FileId = ОбменДаннымиСервер.ПоместитьФайлВХранилище(ИмяФайла);
@@ -239,6 +239,12 @@
КонецФункции КонецФункции
// Соответствует операции PutFilePart. // Соответствует операции PutFilePart.
//
// Параметры:
// TransferId - УникальныйИдентификатор - уникальный идентификатор сессии передачи данных.
// PartNumber - Число - номер части файла.
// PartData - ДвоичныеДанные - данные части файла.
//
Функция PutFilePart(TransferId, PartNumber, PartData) Функция PutFilePart(TransferId, PartNumber, PartData)
ВременныйКаталог = ВременныйКаталогВыгрузки(TransferId); ВременныйКаталог = ВременныйКаталогВыгрузки(TransferId);
@@ -300,9 +306,10 @@
КаталогВыгрузки = ОбменДаннымиСервер.КаталогВременногоХранилищаФайлов(); КаталогВыгрузки = ОбменДаннымиСервер.КаталогВременногоХранилищаФайлов();
ИмяФайла = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(КаталогВыгрузки, Разархиватор.Элементы[0].Имя); ЭлементАрхива = Разархиватор.Элементы.Получить(0);
ИмяФайла = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(КаталогВыгрузки, ЭлементАрхива.Имя);
Разархиватор.Извлечь(Разархиватор.Элементы[0], КаталогВыгрузки); Разархиватор.Извлечь(ЭлементАрхива, КаталогВыгрузки);
Разархиватор.Закрыть(); Разархиватор.Закрыть();
FileId = ОбменДаннымиСервер.ПоместитьФайлВХранилище(ИмяФайла); FileId = ОбменДаннымиСервер.ПоместитьФайлВХранилище(ИмяФайла);