3_1_3_203

This commit is contained in:
Компания 1С committed 2020-07-10 11:36:00 +03:00
1 parent df93c271f7
commit 007ee04366
46 files changed
+1006 -611

No files matched your search

@@ -683,7 +683,8 @@
// Для функции ВерсияРасширений.
Функция ПризнакДобавленияНовойВерсии()
Возврат ПолучитьСсылку(Новый УникальныйИдентификатор("61ce6265-abb2-11ea-87d6-b06ebfbf08c7"));
Возврат Справочники.ВерсииРасширений.ПолучитьСсылку(
Новый УникальныйИдентификатор("61ce6265-abb2-11ea-87d6-b06ebfbf08c7"));
КонецФункции
@@ -411,12 +411,8 @@
Если Не СтрНачинаетсяС(Выборка.ПолноеИмя, "? ") Тогда
Продолжить;
КонецЕсли;
ТекущееПолноеИмяУдаленного = Сред(Выборка.ПолноеИмя, 3);
ПозицияСкобки = СтрНайти(ТекущееПолноеИмяУдаленного, "(");
Если ПозицияСкобки > 0 Тогда
ТекущееПолноеИмяУдаленного = Сред(ТекущееПолноеИмяУдаленного, 1, ПозицияСкобки - 1);
КонецЕсли;
Если ВРег(СокрЛП(ТекущееПолноеИмяУдаленного)) = ВРег(СокрЛП(ПолноеИмяУдаленного)) Тогда
ТекущееПолноеИмяУдаленного = ПолноеИмяУдаленного(Выборка.ПолноеИмя);
Если ВРег(ТекущееПолноеИмяУдаленного) = ВРег(ПолноеИмяУдаленного) Тогда
НайденныеСсылки.Добавить(Выборка.Ссылка);
КонецЕсли;
КонецЦикла;
@@ -668,6 +664,10 @@
ОбъектыМетаданных = ОбъектыМетаданныхПоИдентификаторам(Идентификаторы, ВызыватьИсключение);
Если Идентификатор = Неопределено Тогда
Возврат Null;
КонецЕсли;
Возврат ОбъектыМетаданных.Получить(Идентификатор);
КонецФункции
@@ -2009,11 +2009,37 @@
КонецЕсли;
РезультатПроверки.Вставить("ОбъектМетаданных", ОбъектМетаданных);
РезультатПроверки.Вставить("ОбъектМетаданныхУдаленного", Неопределено);
РезультатПроверки.Вставить("ПредставлениеУдаленного", "");
Если ОбъектМетаданных = Неопределено
И СвойстваИдентификатора.ПометкаУдаления
И СтрНачинаетсяС(СвойстваИдентификатора.ПолноеИмяКоллекции, "? ") Тогда
РезультатПроверки.ОбъектМетаданныхУдаленного = Метаданные.НайтиПоПолномуИмени(
ПолноеИмяУдаленного(СвойстваИдентификатора.ПолноеИмяКоллекции));
КонецЕсли;
Если СтрНачинаетсяС(Строка(СвойстваИдентификатора.Представление), "? ") Тогда
РезультатПроверки.ПредставлениеУдаленного =
Сред(Строка(СвойстваИдентификатора.Представление), 3);
КонецЕсли;
Возврат РезультатПроверки;
КонецФункции
Функция ПолноеИмяУдаленного(ПолноеИмя)
ПолноеИмяУдаленного = Сред(ПолноеИмя, 3);
ПозицияСкобки = СтрНайти(ПолноеИмяУдаленного, "(");
Если ПозицияСкобки > 0 Тогда
ПолноеИмяУдаленного = Сред(ПолноеИмяУдаленного, 1, ПозицияСкобки - 1);
КонецЕсли;
Возврат СокрЛП(ПолноеИмяУдаленного);
КонецФункции
Функция ЗапрещеноИзменятьПолноеИмя(Объект)
ОбъектыРасширений = ЭтоОбъектРасширений(Объект);
@@ -2705,6 +2731,7 @@
| Идентификаторы.Ссылка КАК Ссылка,
| Идентификаторы.КлючОбъектаМетаданных КАК КлючОбъектаМетаданных,
| Идентификаторы.ПолноеИмя КАК ПолноеИмя,
| Идентификаторы.Наименование КАК Представление,
| Идентификаторы.ПолноеИмя КАК ПолноеИмяКоллекции
|ИЗ
| Справочник.ИдентификаторыОбъектовМетаданных КАК Идентификаторы
@@ -2719,6 +2746,7 @@
| ВерсииИдентификаторов.Идентификатор КАК Ссылка,
| Идентификаторы.КлючОбъектаМетаданных КАК КлючОбъектаМетаданных,
| ВерсииИдентификаторов.ПолноеИмяОбъекта КАК ПолноеИмя,
| Идентификаторы.Наименование КАК Представление,
| Идентификаторы.ПолноеИмя КАК ПолноеИмяКоллекции
|ИЗ
| РегистрСведений.ИдентификаторыОбъектовВерсийРасширений КАК ВерсииИдентификаторов
@@ -2741,6 +2769,7 @@
Ошибки = Новый Массив;
ДобавитьУточнениеОшибкиПараметровРаботыПрограммыДляРазработчика = Ложь;
КонфигурацияБазыДанныхИзмененаДинамически = КонфигурацияБазыДанныхИзмененаДинамически();
ИдентификаторыИзКлючей = Неопределено;
Результат = Новый Соответствие;
@@ -2807,7 +2836,7 @@
Продолжить;
КонецЕсли;
Если СтандартныеПодсистемыСервер.ВерсияПрограммыОбновленаДинамически() Тогда
Если КонфигурацияБазыДанныхИзмененаДинамически Тогда
Если ИдентификаторыИзКлючей = Неопределено Тогда
ИдентификаторыИзКлючей = ИдентификаторыИзКлючей();
КонецЕсли;
@@ -2967,24 +2996,43 @@
ДобавленныеИдентификаторыКонфигурации = Новый Соответствие;
ДобавленныеИдентификаторыРасширений = Новый Соответствие;
Обработанные = Новый Соответствие;
Для Каждого ТекущийИдентификатор Из Идентификаторы Цикл
Если ТипЗнч(ТекущийИдентификатор) = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных") Тогда
Если ТипЗнч(ТекущийИдентификатор) = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных")
И ЗначениеЗаполнено(ТекущийИдентификатор) Тогда
Если ДобавленныеИдентификаторыКонфигурации[ТекущийИдентификатор] = Неопределено Тогда
ИдентификаторыКонфигурации.Добавить(ТекущийИдентификатор);
ДобавленныеИдентификаторыКонфигурации.Вставить(ТекущийИдентификатор, Истина);
КонецЕсли;
ИначеЕсли ТипЗнч(ТекущийИдентификатор) = Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений") Тогда
ИначеЕсли ТипЗнч(ТекущийИдентификатор) = Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений")
И ЗначениеЗаполнено(ТекущийИдентификатор) Тогда
Если ДобавленныеИдентификаторыРасширений[ТекущийИдентификатор] = Неопределено Тогда
ИдентификаторыРасширений.Добавить(ТекущийИдентификатор);
ДобавленныеИдентификаторыРасширений.Вставить(ТекущийИдентификатор, Истина);
КонецЕсли;
ИначеЕсли ВызыватьИсключение Тогда
Если ТипЗнч(ТекущийИдентификатор) = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных")
Или ТипЗнч(ТекущийИдентификатор) = Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений") Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору().
|
|Неверный идентификатор: пустая ссылка типа ""%1"".'"),
ТипЗнч(ТекущийИдентификатор));
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору().
|
|Неверный тип идентификатора объекта метаданных:
|""%1"".'"),
ТипЗнч(ТекущийИдентификатор));
КонецЕсли;
ВызватьИсключение ТекстОшибки;
Иначе
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору().
|
|Неверный тип идентификатора объекта метаданных:
|""%1"".'"),
ТипЗнч(ТекущийИдентификатор));
Обработанные.Вставить(ТекущийИдентификатор, Null);
КонецЕсли;
КонецЦикла;
@@ -2996,19 +3044,23 @@
СтандартныеПодсистемыПовтИсп.ИдентификаторыОбъектовМетаданныхПроверкаИспользования(Истина, Истина);
КонецЕсли;
Попытка
ОбъектыМетаданных = ОбъектыМетаданныхПоИдентификаторамБезПопыткиПовтора(Идентификаторы,
ИдентификаторыКонфигурации, ИдентификаторыРасширений, ВызыватьИсключение);
Исключение
Если Не ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
// В случае ошибки, если есть возможность обновления справочника,
// нужно выполнить обновление, а после этого повторить получение идентификатора.
ОбъектыМетаданных = Неопределено;
Иначе
ВызватьИсключение;
КонецЕсли;
КонецПопытки;
Если ИдентификаторыКонфигурации.Количество() > 0 Или ИдентификаторыРасширений.Количество() > 0 Тогда
Попытка
ОбъектыМетаданных = ОбъектыМетаданныхПоИдентификаторамБезПопыткиПовтора(Идентификаторы,
ИдентификаторыКонфигурации, ИдентификаторыРасширений, ВызыватьИсключение);
Исключение
Если Не ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
// В случае ошибки, если есть возможность обновления справочника,
// нужно выполнить обновление, а после этого повторить получение идентификатора.
ОбъектыМетаданных = Неопределено;
Иначе
ВызватьИсключение;
КонецЕсли;
КонецПопытки;
Иначе
ОбъектыМетаданных = Новый Соответствие;
КонецЕсли;
Если ОбъектыМетаданных = Неопределено Тогда
ОбновитьДанныеСправочника();
@@ -3016,6 +3068,10 @@
ИдентификаторыКонфигурации, ИдентификаторыРасширений, ВызыватьИсключение);
КонецЕсли;
Для Каждого КлючИЗначение Из Обработанные Цикл
ОбъектыМетаданных.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
Возврат ОбъектыМетаданных;
КонецФункции
@@ -3035,6 +3091,7 @@
| Идентификаторы.Ссылка КАК Ссылка,
| Идентификаторы.КлючОбъектаМетаданных КАК КлючОбъектаМетаданных,
| Идентификаторы.ПолноеИмя КАК ПолноеИмя,
| Идентификаторы.Наименование КАК Представление,
| Идентификаторы.ПолноеИмя КАК ПолноеИмяКоллекции,
| Идентификаторы.ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ОбъектРасширений,
@@ -3061,6 +3118,7 @@
| Идентификаторы.Ссылка КАК Ссылка,
| Идентификаторы.КлючОбъектаМетаданных КАК КлючОбъектаМетаданных,
| ЕСТЬNULL(ВерсииИдентификаторов.ПолноеИмяОбъекта, """") КАК ПолноеИмя,
| Идентификаторы.Наименование КАК Представление,
| Идентификаторы.ПолноеИмя КАК ПолноеИмяКоллекции,
| Идентификаторы.ПометкаУдаления КАК ПометкаУдаления,
| ИСТИНА КАК ОбъектРасширений,
@@ -3093,18 +3151,33 @@
КонецЕсли;
КонецЦикла;
Если ВызыватьИсключение Тогда
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Идентификатор ""%1""
|не существует в справочнике ""%2"".'"),
Строка(Идентификатор),
НазваниеСправочника(ИдентификаторыРасширений.Найти(Идентификатор) <> Неопределено));
ВызватьИсключение ЗаголовокОшибки + Символы.ПС + Символы.ПС + ОписаниеОшибки
+ СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика();
Если ИдентификаторыРасширений.Найти(Идентификатор) = Неопределено Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Идентификатор объекта метаданных ""%1""
|был удален из информационной базы после того, как был помечен на удаление
|в связи с тем, что объект был удален из новой версии конфигурации.
|
|Все настройки, сделанные для объекта до его удаления
|более недоступны, их следует удалить. Если позже объект
|был вновь добавлен, тогда настройки следует сделать заново.'"),
Строка(Идентификатор));
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Идентификатор объекта расширений ""%1""
|был удален из информационной базы после того, как был помечен на удаление
|в связи с тем, что было удалено расширение конфигурации с этим объектом
|или объект был удален из новой версии расширения конфигурации.
|
|Все настройки, сделанные для объекта до его удаления
|более недоступны, их следует удалить. Если позже объект
|был вновь добавлен, тогда настройки следует сделать заново.'"),
Строка(Идентификатор));
КонецЕсли;
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецЕсли;
ВерсияПрограммыОбновленаДинамически = СтандартныеПодсистемыСервер.ВерсияПрограммыОбновленаДинамически();
КонфигурацияБазыДанныхИзмененаДинамически = КонфигурацияБазыДанныхИзмененаДинамически();
// Проверка соответствия ключа объекта метаданных полному имени объекта метаданных.
Для Каждого Свойства Из Выгрузка Цикл
@@ -3112,28 +3185,90 @@
Если РезультатПроверки.НеСоответствует Тогда
Если РезультатПроверки.ОбъектМетаданных = Неопределено Тогда
Если ЗначениеЗаполнено(РезультатПроверки.ПредставлениеУдаленного) Тогда
ПредставлениеИдентификатора = РезультатПроверки.ПредставлениеУдаленного;
Иначе
ПредставлениеИдентификатора = Свойства.Представление;
КонецЕсли;
Если Свойства.ОбъектРасширений И Не Свойства.ПометкаУдаления Тогда
// Возможно расширение не удалось подключить.
Если ВызыватьИсключение Тогда
Отбор = Новый Структура("Имя", Свойства.ИмяРасширения);
Если РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.СеансОтключенные).Количество() > 0 Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации %1 установлено, но отключено при запуске сеанса.
|Обычно, это значит, что при подключении расширения конфигурации возникла ошибка.'"),
Свойства.ИмяРасширения);
Если Свойства.ОбъектРасширений Тогда
ОбъектРасширенияНеСуществует = Не Свойства.ПометкаУдаления;
ИмяРасширения = ?(СтрНачинаетсяС(Свойства.ИмяРасширения, "? "),
Сред(Свойства.ИмяРасширения, 3), Свойства.ИмяРасширения);
Отбор = Новый Структура("Имя", ИмяРасширения);
УстановленныеРасширения = РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.БазаДанных);
ОтключенныеРасширения = РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.СеансОтключенные);
АктивныеРасширения = РасширенияКонфигурации.Получить(Отбор, ИсточникРасширенийКонфигурации.СеансАктивные);
Если УстановленныеРасширения.Количество() = 0 Тогда
ОбъектРасширенияНеСуществует = Истина;
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации ""%1"" удалено.
|Объект ""%2"" не существует.
|Все настройки, сделанные для расширения до его удаления, более недоступны.
|Следует выполнить настройки заново с учетом изменений.'"),
ИмяРасширения,
ПредставлениеИдентификатора);
ИначеЕсли Не УстановленныеРасширения[0].Активно Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации ""%1"" установлено, но выключено.
|Требуется включить расширение и перезапустить сеанс.'"),
ИмяРасширения);
ИначеЕсли ОтключенныеРасширения.Количество() > 0 И Не ОтключенныеРасширения[0].Активно
Или ОтключенныеРасширения.Количество() = 0 И АктивныеРасширения.Количество() = 0 Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации ""%1"" установлено после запуска сеанса, поэтому не подключено.
|Требуется перезапустить сеанс.'"),
ИмяРасширения);
ИначеЕсли ОтключенныеРасширения.Количество() > 0 И ОтключенныеРасширения[0].Активно Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации ""%1"" установлено, но отключено при запуске сеанса.
|Это значит, что при его подключении возникла ошибка.'"),
ИмяРасширения);
Иначе // АктивныеРасширения.Количество() > 0
ОбъектРасширенияНеСуществует = Истина;
Если РезультатПроверки.ОбъектМетаданныхУдаленного <> Неопределено
И РезультатПроверки.ОбъектМетаданныхУдаленного.РасширениеКонфигурации() <> Неопределено
И РезультатПроверки.ОбъектМетаданныхУдаленного.РасширениеКонфигурации().Имя = АктивныеРасширения[0].Имя Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации ""%1"" установлено и подключено,
|но объект ""%2""
|не может быть получен по идентификатору помеченному на удаление.
|Обычно это значит, что расширение было удалено и установлено заново вместо обновления,
|поэтому все настройки, сделанные для расширения до его удаления,
|более недоступны и их следует сделать заново.'"),
ИмяРасширения,
ПредставлениеИдентификатора);
Иначе
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации %1 установлено, но не подключено.
|Требуется перезапустить сеанс.'"),
Свойства.ИмяРасширения);
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Расширение конфигурации ""%1"" установлено и подключено,
|но объект ""%2"" не существует.
|Это значит, что объект был удален в новой версии расширения.
|Объект и все настройки, сделанные до его удаления, более недоступны.
|Следует выполнить настройки заново с учетом изменений.'"),
ИмяРасширения,
ПредставлениеИдентификатора);
КонецЕсли;
КонецЕсли;
Если ВызыватьИсключение Тогда
ВызватьИсключение ТекстОшибки;
ИначеЕсли ОбъектРасширенияНеСуществует Тогда
ОбъектыМетаданныхИдентификаторов.Вставить(Свойства.Ссылка, Null);
Иначе
ОбъектыМетаданныхИдентификаторов.Вставить(Свойства.Ссылка, Неопределено);
Продолжить;
КонецЕсли;
ИначеЕсли Не Свойства.ОбъектРасширений И ВерсияПрограммыОбновленаДинамически Тогда
ИначеЕсли КонфигурацияБазыДанныхИзмененаДинамически Тогда
// Возможно объект метаданных будет доступен после перезапуска.
Если ВызыватьИсключение Тогда
// Стандартное исключение по причине динамического обновления.
@@ -3148,24 +3283,28 @@
ОбъектыМетаданныхИдентификаторов.Вставить(Свойства.Ссылка, Null);
Продолжить;
ИначеЕсли РезультатПроверки.КлючОбъектаМетаданных = Неопределено Тогда
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Идентификатору ""%1""
|найденному в справочнике ""%2"",
|соответствует несуществующий объект метаданных
|""%3"".'"),
Строка(Свойства.Ссылка),
НазваниеСправочника(Свойства.ОбъектРасширений),
Свойства.ПолноеИмя);
ИначеЕсли РезультатПроверки.ОбъектМетаданныхУдаленного <> Неопределено
И РезультатПроверки.ОбъектМетаданныхУдаленного.РасширениеКонфигурации() = Неопределено Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Объект ""%1""
|не может быть получен по идентификатору помеченному на удаление.
|Это значит, что объект был удален из конфигурации, а позже снова добавлен.
|Поэтому все настройки, сделанные для объекта до его удаления
|более недоступны и их следует сделать заново.'"),
ПредставлениеИдентификатора);
ВызватьИсключение ТекстОшибки;
Иначе
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Идентификатору ""%1""
|найденному в справочнике ""%2"",
|соответствует удаленный объект метаданных.'"),
Строка(Свойства.Ссылка),
НазваниеСправочника(Свойства.ОбъектРасширений));
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Объект ""%1"" не существует.
|Это значит, что объект метаданных был удален в новой версии конфигурации.
|Объект и все настройки, сделанные до его удаления, более недоступны.
|Следует выполнить настройки заново с учетом изменений.'"),
ПредставлениеИдентификатора);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
ИначеЕсли ВерсияПрограммыОбновленаДинамически Тогда
ИначеЕсли КонфигурацияБазыДанныхИзмененаДинамически Тогда
// Возможно объект метаданных был переименован.
ОписаниеОшибки = "";
Иначе
@@ -3174,23 +3313,23 @@
|найденному в справочнике ""%2"",
|соответствует объект метаданных ""%3"",
|полное имя которого отличается от заданного в идентификаторе.'"),
Строка(Свойства.Ссылка),
Свойства.Представление,
НазваниеСправочника(Свойства.ОбъектРасширений),
РезультатПроверки.ОбъектМетаданных.ПолноеИмя());
РезультатПроверки.ОбъектМетаданных.ПолноеИмя())
+ СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика();
КонецЕсли;
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
ВызватьИсключение ЗаголовокОшибки + Символы.ПС + Символы.ПС + ОписаниеОшибки
+ СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика();
ВызватьИсключение ЗаголовокОшибки + Символы.ПС + Символы.ПС + ОписаниеОшибки;
КонецЕсли;
КонецЕсли;
Если Не Свойства.ОбъектРасширений И Свойства.ПометкаУдаления И Не ВерсияПрограммыОбновленаДинамически Тогда
Если Не Свойства.ОбъектРасширений И Свойства.ПометкаУдаления И Не КонфигурацияБазыДанныхИзмененаДинамически Тогда
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Идентификатор ""%1""
|найден в справочнике ""%2"",
|но значение реквизита ""Пометка удаления"" установлено Истина.'"),
Строка(Свойства.Ссылка),
Свойства.Представление,
НазваниеСправочника(Свойства.ОбъектРасширений));
ВызватьИсключение ЗаголовокОшибки + Символы.ПС + Символы.ПС + ОписаниеОшибки
@@ -524,7 +524,7 @@
ПараметрыШаблона = ШаблоныСообщенийСлужебный.ПараметрыШаблона(СсылкаНаТекущийОбъект);
СведенияОШаблоне = ШаблоныСообщенийСлужебный.СведенияОШаблоне(ПараметрыШаблона);
Сообщение.Текст = ШаблоныСообщенийСлужебный.ПреобразоватьТекстШаблона(ТекстШаблонаПисьмаHTML, СведенияОШаблоне.Реквизиты, "ПараметрыВПредставление");
Сообщение.Текст = ШаблоныСообщенийСлужебный.ПреобразоватьТекстШаблона(Сообщение.Текст , СведенияОШаблоне.Реквизиты, "ПараметрыВПредставление");
Сообщение.Текст = ШаблоныСообщенийСлужебный.ПреобразоватьТекстШаблона(Сообщение.Текст , СведенияОШаблоне.ОбщиеРеквизиты, "ПараметрыВПредставление");
ПредпросмотрФорматированныйДокумент.УстановитьHTML(Сообщение.Текст, СтруктураВложений);
@@ -385,7 +385,7 @@
&НаСервере
Функция НайтиПоТелефону()
Возврат Взаимодействия.НайтиКонтактыПоТелефону(СтрокаПоиска, ЭтотОбъект);
Возврат Взаимодействия.НайтиКонтактыПоТелефону(СтрокаПоиска, НайденныеКонтакты);
КонецФункции
@@ -57,20 +57,7 @@
Параметры.Отчет = Информация.Отчет;
КонецЕсли;
НастройкиОтчета = ВариантыОтчетов.НастройкиФормыОтчета(Параметры.Отчет, КлючТекущегоВарианта, ОтчетОбъект);
НастройкиОтчета.Вставить("РазрешеноВыбиратьВарианты", Истина);
НастройкиОтчета.Вставить("СхемаМодифицирована", Ложь);
НастройкиОтчета.Вставить("ПредопределенныеВарианты", ПредопределенныеВарианты);
НастройкиОтчета.Вставить("АдресСхемы", АдресСхемыОтчета(ОтчетОбъект));
НастройкиОтчета.Вставить("КлючСхемы", "");
НастройкиОтчета.Вставить("Контекстный", ЗначениеЗаполнено(КонтекстВарианта));
НастройкиОтчета.Вставить("ПолноеИмя", ОтчетПолноеИмя);
НастройкиОтчета.Вставить("Наименование", СокрЛП(ОтчетМетаданные.Представление()));
НастройкиОтчета.Вставить("ОтчетСсылка", Параметры.Отчет);
НастройкиОтчета.Вставить("Подсистема", ФормаПараметры.Подсистема);
НастройкиОтчета.Вставить("Внешний", ТипЗнч(НастройкиОтчета.ОтчетСсылка) = Тип("Строка"));
НастройкиОтчета.Вставить("Безопасный", БезопасныйРежим() <> Ложь);
НастройкиОтчета.Вставить("ИспользуемыеТаблицы", ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "ИспользуемыеТаблицы"));
НастройкиОтчета = НастройкиОтчета(ОтчетОбъект, ОтчетМетаданные, ОтчетПолноеИмя, ПредопределенныеВарианты);
ОбновитьИнформациюОВариантеОтчета();
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(НастройкиОтчета, ВариантыОтчетов.ПараметрыКлиента());
@@ -689,11 +676,13 @@
&НаКлиенте
Процедура ДругиеОтчеты(Команда)
ОписаниеНастроекОтчета = ОписаниеНастроекОтчета(НастройкиОтчета);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ВариантСсылка", НастройкиОтчета.ВариантСсылка);
ПараметрыФормы.Вставить("ОтчетСсылка", НастройкиОтчета.ОтчетСсылка);
ПараметрыФормы.Вставить("ПодсистемаСсылка", ФормаПараметры.Подсистема);
ПараметрыФормы.Вставить("ОтчетНаименование", НастройкиОтчета.Наименование);
ПараметрыФормы.Вставить("ОтчетНаименование", ОписаниеНастроекОтчета.Наименование);
Блокировать = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
@@ -1482,7 +1471,8 @@
Если ЗначениеЗаполнено(ОтчетНаименованиеТекущегоВарианта) Тогда
Заголовок = ОтчетНаименованиеТекущегоВарианта;
Иначе
Заголовок = НастройкиОтчета.Наименование;
ОписаниеНастроекОтчета = ОписаниеНастроекОтчета(НастройкиОтчета);
Заголовок = ОписаниеНастроекОтчета.Наименование;
КонецЕсли;
Если РежимРасшифровки Тогда
@@ -1669,6 +1659,50 @@
КонецЕсли;
КонецПроцедуры
// Параметры:
// ОтчетОбъект - ОтчетОбъект
// ОтчетМетаданные - ОбъектМетаданныхОтчет
// ОтчетПолноеИмя - Строка
// ПредопределенныеВарианты - СписокЗначений:
// * Значение - СправочникСсылка.ПредопределенныеВариантыОтчетов
// - СправочникСсылка.ПредопределенныеВариантыОтчетовРасширений
//
// Возвращаемое значение:
// см. ВариантыОтчетов.НастройкиФормыОтчета
//
&НаСервере
Функция НастройкиОтчета(ОтчетОбъект, ОтчетМетаданные, ОтчетПолноеИмя, ПредопределенныеВарианты)
Настройки = ВариантыОтчетов.НастройкиФормыОтчета(Параметры.Отчет, КлючТекущегоВарианта, ОтчетОбъект);
Настройки.Вставить("РазрешеноВыбиратьВарианты", Истина);
Настройки.Вставить("СхемаМодифицирована", Ложь);
Настройки.Вставить("ПредопределенныеВарианты", ПредопределенныеВарианты);
Настройки.Вставить("АдресСхемы", АдресСхемыОтчета(ОтчетОбъект));
Настройки.Вставить("КлючСхемы", "");
Настройки.Вставить("Контекстный", ЗначениеЗаполнено(КонтекстВарианта));
Настройки.Вставить("ПолноеИмя", ОтчетПолноеИмя);
Настройки.Вставить("Наименование", СокрЛП(ОтчетМетаданные.Представление()));
Настройки.Вставить("ОтчетСсылка", Параметры.Отчет);
Настройки.Вставить("Подсистема", ФормаПараметры.Подсистема);
Настройки.Вставить("Внешний", ТипЗнч(Настройки.ОтчетСсылка) = Тип("Строка"));
Настройки.Вставить("Безопасный", БезопасныйРежим() <> Ложь);
Настройки.Вставить("ИспользуемыеТаблицы", ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "ИспользуемыеТаблицы"));
Возврат Настройки;
КонецФункции
// Параметры:
// Описание - см. НастройкиОтчета
//
// Возвращаемое значение:
// см. НастройкиОтчета
//
&НаКлиентеНаСервереБезКонтекста
Функция ОписаниеНастроекОтчета(Описание)
Возврат Описание;
КонецФункции
&НаСервере
Функция АдресСхемыОтчета(ОтчетОбъект)
АдресСхемы = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "АдресСхемы", "");
@@ -2035,8 +2069,10 @@
НастройкиОтчета.КлючЗамеров = КлючЗамеров;
НастройкиОтчета.ИмяИсходногоВарианта = ?(Выборка.Пользовательский, Выборка.ИмяИсходногоВарианта, КлючТекущегоВарианта);
ОтчетНаименованиеТекущегоВарианта = НастройкиОтчета.Наименование;
ДополнительныеСвойства.Вставить("ВариантНаименование", ОтчетНаименованиеТекущегоВарианта);
Если РежимРасшифровки Тогда
ОписаниеНастроекОтчета = ОписаниеНастроекОтчета(НастройкиОтчета);
ОтчетНаименованиеТекущегоВарианта = ОписаниеНастроекОтчета.Наименование;
КонецЕсли;
КонецПроцедуры
&НаСервере
@@ -465,6 +465,11 @@
ПараметрыОбмена.ВыполнятьЗагрузку = Истина;
ПараметрыОбмена.ВыполнятьВыгрузку = Истина;
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
ПараметрыОбмена.ИнтервалОжиданияНаСервере = 30;
ПараметрыОбмена.ДлительнаяОперацияРазрешена = Истина;
КонецЕсли;
ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
ПриложениеВСервисе(), ПараметрыОбмена, Отказ);
@@ -1823,7 +1823,7 @@
ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(СУММА(ВерсииОбъектов.РазмерДанных), 0) КАК РазмерДанных,
| ЕСТЬNULL(СУММА(1), 0) КАК КоличествоВерсий
| КОЛИЧЕСТВО(ВерсииОбъектов.РазмерДанных) КАК КоличествоВерсий
|ИЗ
| РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
|ГДЕ
@@ -999,6 +999,27 @@
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Обработчики обновления ИБ, используемые в других подсистемах.
// Обновляет данные, зависимые от производственных календарей.
//
Процедура ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей(ПараметрыОбновления) Экспорт
Если Не ПараметрыОбновления.Свойство("ТаблицаИзменений") Тогда
ПараметрыОбновления.ОбработкаЗавершена = Истина;
Возврат;
КонецЕсли;
ТаблицаИзменений = ПараметрыОбновления.ТаблицаИзменений; // ТаблицаЗначений
ТаблицаИзменений.Свернуть("КодПроизводственногоКалендаря, Год");
ЗаполнитьДанныеЗависимыеОтПроизводственныхКалендарей(ТаблицаИзменений);
ПараметрыОбновления.ОбработкаЗавершена = Истина;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -1051,6 +1072,8 @@
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
Справочники.ПроизводственныеКалендари.ОбновитьПериодыНерабочихДней(ТаблицаПериодов), ТаблицаИзменений);
ТаблицаИзменений.Свернуть("КодПроизводственногоКалендаря, Год");
КалендарныеГрафикиПереопределяемый.ПриОбновленииПроизводственныхКалендарей(ТаблицаИзменений);
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
@@ -1284,24 +1307,6 @@
КонецПроцедуры
// Обновляет данные, зависимые от производственных календарей.
//
Процедура ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей(ПараметрыОбновления) Экспорт
Если Не ПараметрыОбновления.Свойство("ТаблицаИзменений") Тогда
ПараметрыОбновления.ОбработкаЗавершена = Истина;
Возврат;
КонецЕсли;
ТаблицаИзменений = ПараметрыОбновления.ТаблицаИзменений; // ТаблицаЗначений
ТаблицаИзменений.Свернуть("КодПроизводственногоКалендаря, Год");
ЗаполнитьДанныеЗависимыеОтПроизводственныхКалендарей(ТаблицаИзменений);
ПараметрыОбновления.ОбработкаЗавершена = Истина;
КонецПроцедуры
Процедура ЗаполнитьДанныеОбновленияДанныхЗависимыхОтПроизводственныхКалендарей(ПараметрыОбновления) Экспорт
КонецПроцедуры
@@ -3859,6 +3859,8 @@
СтруктураПараметров.Вставить("СообщениеДляСопоставленияДанных", Ложь);
СтруктураПараметров.Вставить("ИнтервалОжиданияНаСервере", 0);
Возврат СтруктураПараметров;
КонецФункции
@@ -4794,7 +4796,10 @@
#Область ОбщиеПроцедурыМеханизмовКонвертацииДанных
Процедура ВыполнитьОтложенноеПроведениеДокументов(ДокументыДляОтложенногоПроведения, УзелКорреспондента) Экспорт
Процедура ВыполнитьОтложенноеПроведениеДокументов(
ДокументыДляОтложенногоПроведения,
УзелКорреспондента,
ДополнительныеСвойстваДляОтложенногоПроведения = Неопределено) Экспорт
Если ДокументыДляОтложенногоПроведения.Количество() = 0 Тогда
Возврат; // нет документов в очереди
@@ -4820,7 +4825,16 @@
Продолжить;
КонецЕсли;
ВыполнитьПроведениеДокументаПриЗагрузке(УзелКорреспондента, СтрокаТаблицы.ДокументСсылка, Истина);
ДополнительныеСвойстваОбъекта = Неопределено;
Если ДополнительныеСвойстваДляОтложенногоПроведения <> Неопределено Тогда
ДополнительныеСвойстваОбъекта = ДополнительныеСвойстваДляОтложенногоПроведения.Получить(СтрокаТаблицы.ДокументСсылка);
КонецЕсли;
ВыполнитьПроведениеДокументаПриЗагрузке(
УзелКорреспондента,
СтрокаТаблицы.ДокументСсылка,
Истина,
ДополнительныеСвойстваОбъекта);
КонецЦикла;
Исключение
@@ -4834,7 +4848,8 @@
Процедура ВыполнитьПроведениеДокументаПриЗагрузке(
УзелКорреспондента,
ДокументСсылка,
РегистрироватьПроблемыВРезультатахОбмена) Экспорт
РегистрироватьПроблемыВРезультатахОбмена,
ДополнительныеСвойстваОбъекта = Неопределено) Экспорт
ОписаниеОшибки = "";
ДокументПроведенУспешно = Ложь;
@@ -4852,6 +4867,12 @@
// проведение выполняем не в режиме загрузки.
УстановитьОбменДаннымиЗагрузка(Объект, Ложь, Ложь, УзелКорреспондента);
Если ДополнительныеСвойстваОбъекта <> Неопределено Тогда
Для Каждого Свойство Из ДополнительныеСвойстваОбъекта Цикл
Объект.ДополнительныеСвойства.Вставить(Свойство.Ключ, Свойство.Значение);
КонецЦикла;
КонецЕсли;
Объект.ДополнительныеСвойства.Вставить("ОтложенноеПроведение");
Если Объект.ПроверитьЗаполнение() Тогда
@@ -6353,7 +6374,6 @@
ФайлСообщенияОбмена = "";
Попытка
Прокси.UploadData(СтруктураНастроекОбмена.ИмяПланаОбмена,
СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод,
ПараметрыОбмена.ИдентификаторФайла,
@@ -6362,9 +6382,34 @@
ПараметрыОбмена.ДлительнаяОперацияРазрешена);
Если ПараметрыОбмена.ДлительнаяОперация Тогда
ЗаписьЖурналаРегистрацииОбменаДанными(НСтр("ru = 'Ожидание получения данных от базы-корреспондента...'",
ОбщегоНазначения.КодОсновногоЯзыка()), СтруктураНастроекОбмена);
Возврат;
Если ПараметрыОбмена.ИнтервалОжиданияНаСервере > 0 Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульОбщегоНазначенияБТС = ОбщегоНазначения.ОбщийМодуль("ОбщегоНазначенияБТС");
Пока ПараметрыОбмена.ДлительнаяОперация Цикл
МодульОбщегоНазначенияБТС.Пауза(ПараметрыОбмена.ИнтервалОжиданияНаСервере);
СтрокаСообщенияОбОшибке = "";
СостояниеОперации = Прокси.GetContinuousOperationStatus(ПараметрыОбмена.ИдентификаторОперации, СтрокаСообщенияОбОшибке);
Если СостояниеОперации = "Active" Тогда
Продолжить;
ИначеЕсли СостояниеОперации <> "Completed" Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка в базе-корреспонденте: %1'"),
СтрокаСообщенияОбОшибке);
Иначе
ПараметрыОбмена.ДлительнаяОперация = Ложь;
КонецЕсли;
КонецЦикла;
Иначе
ВызватьИсключение НСтр("ru = 'Запуск асинхронной операции на сервере без подсистемы ""ТехнологияСервиса.БазоваяФункциональность"" не поддерживается.'");
КонецЕсли;
Иначе
ЗаписьЖурналаРегистрацииОбменаДанными(НСтр("ru = 'Ожидание получения данных от базы-корреспондента...'",
ОбщегоНазначения.КодОсновногоЯзыка()), СтруктураНастроекОбмена);
Возврат;
КонецЕсли;
КонецЕсли;
ФайлСообщенияОбмена = ПолучитьФайлИзХранилищаВСервисе(
@@ -6503,11 +6548,36 @@
ПараметрыОбмена.ДлительнаяОперация,
ПараметрыОбмена.ИдентификаторОперации,
ПараметрыОбмена.ДлительнаяОперацияРазрешена);
Если ПараметрыОбмена.ДлительнаяОперация Тогда
ЗаписьЖурналаРегистрацииОбменаДанными(НСтр("ru = 'Ожидание загрузки данных в базе-корреспонденте...'",
ОбщегоНазначения.КодОсновногоЯзыка()), СтруктураНастроекОбмена);
Возврат;
Если ПараметрыОбмена.ИнтервалОжиданияНаСервере > 0 Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульОбщегоНазначенияБТС = ОбщегоНазначения.ОбщийМодуль("ОбщегоНазначенияБТС");
Пока ПараметрыОбмена.ДлительнаяОперация Цикл
МодульОбщегоНазначенияБТС.Пауза(ПараметрыОбмена.ИнтервалОжиданияНаСервере);
СтрокаСообщенияОбОшибке = "";
СостояниеОперации = Прокси.GetContinuousOperationStatus(ПараметрыОбмена.ИдентификаторОперации, СтрокаСообщенияОбОшибке);
Если СостояниеОперации = "Active" Тогда
Продолжить;
ИначеЕсли СостояниеОперации <> "Completed" Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка в базе-корреспонденте: %1'"),
СтрокаСообщенияОбОшибке);
Иначе
ПараметрыОбмена.ДлительнаяОперация = Ложь;
КонецЕсли;
КонецЦикла;
Иначе
ВызватьИсключение НСтр("ru = 'Запуск асинхронной операции на сервере без подсистемы ""ТехнологияСервиса.БазоваяФункциональность"" не поддерживается.'");
КонецЕсли;
Иначе
ЗаписьЖурналаРегистрацииОбменаДанными(НСтр("ru = 'Ожидание загрузки данных в базе-корреспонденте...'",
ОбщегоНазначения.КодОсновногоЯзыка()), СтруктураНастроекОбмена);
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
@@ -6750,9 +6820,7 @@
ОбработкаДляЗагрузкиДанных.ИмяФайлаОбмена = "";
ОбработкаДляЗагрузкиДанных.КоличествоОбъектовНаТранзакцию = СтруктураНастроекОбмена.КоличествоЭлементовВТранзакции;
ОбработкаДляЗагрузкиДанных.ИспользоватьТранзакции = (ОбработкаДляЗагрузкиДанных.КоличествоОбъектовНаТранзакцию <> 1);
Если НЕ ЭтоПланОбменаXDTO Тогда
ОбработкаДляЗагрузкиДанных.ЗагрузкаДанныхВыполняетсяЧерезВнешнееСоединение = Истина;
КонецЕсли;
ОбработкаДляЗагрузкиДанных.ЗагрузкаДанныхВыполняетсяЧерезВнешнееСоединение = Истина;
// Получаем инициализированную обработку для выгрузки данных.
Если ЭтоПланОбменаXDTO Тогда
@@ -11077,160 +11145,91 @@
Процедура ПолучитьСостоянияОбменовДанными(МенеджерВременныхТаблиц)
Запрос = Новый Запрос;
ТекстЗапросаРезультат =
"ВЫБРАТЬ
| СостоянияОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияОбменовДанными.ДатаНачала КАК ДатаНачала,
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаОкончания,
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Предупреждение_СообщениеОбменаБылоРанееПринято)
| ИЛИ СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА 2
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КоличествоПроблем.Количество, 0) > 0
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ КАК РезультатВыполненияОбмена
|ПОМЕСТИТЬ СостоянияОбменовДаннымиЗагрузка
|ИЗ
| #ТаблицаСостоянияОбменовДанными КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СостоянияОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияОбменовДанными.ДатаНачала КАК ДатаНачала,
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаОкончания,
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА 2
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КоличествоПроблем.Количество, 0) > 0
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ КАК РезультатВыполненияОбмена
|ПОМЕСТИТЬ СостоянияОбменовДаннымиВыгрузка
|ИЗ
| #ТаблицаСостоянияОбменовДанными КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СостоянияУспешныхОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияУспешныхОбменовДанными.ДатаОкончания КАК ДатаОкончания
|ПОМЕСТИТЬ СостоянияУспешныхОбменовДаннымиЗагрузка
|ИЗ
| #ТаблицаСостоянияУспешныхОбменовДанными КАК СостоянияУспешныхОбменовДанными
|ГДЕ
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СостоянияУспешныхОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияУспешныхОбменовДанными.ДатаОкончания КАК ДатаОкончания
|ПОМЕСТИТЬ СостоянияУспешныхОбменовДаннымиВыгрузка
|ИЗ
| #ТаблицаСостоянияУспешныхОбменовДанными КАК СостоянияУспешныхОбменовДанными
|ГДЕ
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)";
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ТекстЗапросаРезультат =
"ВЫБРАТЬ
| СостоянияОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияОбменовДанными.ДатаНачала КАК ДатаНачала,
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаОкончания,
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Предупреждение_СообщениеОбменаБылоРанееПринято)
| ИЛИ СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА 2
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КоличествоПроблем.Количество, 0) > 0
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ КАК РезультатВыполненияОбмена
|ПОМЕСТИТЬ СостоянияОбменовДаннымиЗагрузка
|ИЗ
| РегистрСведений.СостоянияОбменовДаннымиОбластейДанных КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СостоянияОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияОбменовДанными.ДатаНачала КАК ДатаНачала,
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаОкончания,
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА 2
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КоличествоПроблем.Количество, 0) > 0
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ КАК РезультатВыполненияОбмена
|ПОМЕСТИТЬ СостоянияОбменовДаннымиВыгрузка
|ИЗ
| РегистрСведений.СостоянияОбменовДаннымиОбластейДанных КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СостоянияУспешныхОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияУспешныхОбменовДанными.ДатаОкончания КАК ДатаОкончания
|ПОМЕСТИТЬ СостоянияУспешныхОбменовДаннымиЗагрузка
|ИЗ
| РегистрСведений.СостоянияУспешныхОбменовДаннымиОбластейДанных КАК СостоянияУспешныхОбменовДанными
|ГДЕ
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СостоянияУспешныхОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияУспешныхОбменовДанными.ДатаОкончания КАК ДатаОкончания
|ПОМЕСТИТЬ СостоянияУспешныхОбменовДаннымиВыгрузка
|ИЗ
| РегистрСведений.СостоянияУспешныхОбменовДаннымиОбластейДанных КАК СостоянияУспешныхОбменовДанными
|ГДЕ
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)";
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
ТекстЗапросаРезультат = СтрЗаменить(ТекстЗапросаРезультат, "#ТаблицаСостоянияОбменовДанными", "РегистрСведений.СостоянияОбменовДаннымиОбластейДанных");
ТекстЗапросаРезультат = СтрЗаменить(ТекстЗапросаРезультат, "#ТаблицаСостоянияУспешныхОбменовДанными", "РегистрСведений.СостоянияУспешныхОбменовДаннымиОбластейДанных");
Иначе
ТекстЗапросаРезультат =
"ВЫБРАТЬ
| СостоянияОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияОбменовДанными.ДатаНачала КАК ДатаНачала,
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаОкончания,
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Предупреждение_СообщениеОбменаБылоРанееПринято)
| ИЛИ СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА 2
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КоличествоПроблем.Количество, 0) > 0
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ КАК РезультатВыполненияОбмена
|ПОМЕСТИТЬ СостоянияОбменовДаннымиЗагрузка
|ИЗ
| РегистрСведений.СостоянияОбменовДанными КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СостоянияОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияОбменовДанными.ДатаНачала КАК ДатаНачала,
| СостоянияОбменовДанными.ДатаОкончания КАК ДатаОкончания,
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА 2
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(КоличествоПроблем.Количество, 0) > 0
| ТОГДА 2
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 1
| КОНЕЦ КАК РезультатВыполненияОбмена
|ПОМЕСТИТЬ СостоянияОбменовДаннымиВыгрузка
|ИЗ
| РегистрСведений.СостоянияОбменовДанными КАК СостоянияОбменовДанными
| ЛЕВОЕ СОЕДИНЕНИЕ КоличествоПроблем КАК КоличествоПроблем
| ПО СостоянияОбменовДанными.УзелИнформационнойБазы = КоличествоПроблем.УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = КоличествоПроблем.ДействиеПриОбмене
|ГДЕ
| СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СостоянияУспешныхОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияУспешныхОбменовДанными.ДатаОкончания КАК ДатаОкончания
|ПОМЕСТИТЬ СостоянияУспешныхОбменовДаннымиЗагрузка
|ИЗ
| РегистрСведений.СостоянияУспешныхОбменовДанными КАК СостоянияУспешныхОбменовДанными
|ГДЕ
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СостоянияУспешныхОбменовДанными.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| СостоянияУспешныхОбменовДанными.ДатаОкончания КАК ДатаОкончания
|ПОМЕСТИТЬ СостоянияУспешныхОбменовДаннымиВыгрузка
|ИЗ
| РегистрСведений.СостоянияУспешныхОбменовДанными КАК СостоянияУспешныхОбменовДанными
|ГДЕ
| СостоянияУспешныхОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)";
ТекстЗапросаРезультат = СтрЗаменить(ТекстЗапросаРезультат, "#ТаблицаСостоянияОбменовДанными", "РегистрСведений.СостоянияОбменовДанными");
ТекстЗапросаРезультат = СтрЗаменить(ТекстЗапросаРезультат, "#ТаблицаСостоянияУспешныхОбменовДанными", "РегистрСведений.СостоянияУспешныхОбменовДанными");
КонецЕсли;
Запрос.Текст = ТекстЗапросаРезультат;
Запрос = Новый Запрос(ТекстЗапросаРезультат);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Выполнить();
@@ -11288,60 +11287,43 @@
Процедура ПолучитьСообщенияДляСопоставленияДанных(МенеджерВременныхТаблиц)
Запрос = Новый Запрос;
ТекстЗапросаРезультат =
"ВЫБРАТЬ
| NULL КАК УзелИнформационнойБазы,
| NULL КАК ПолученоСообщениеДляСопоставленияДанных,
| NULL КАК ДатаЗакладкиПоследнегоСообщения
|ПОМЕСТИТЬ СообщенияДляСопоставленияДанных";
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Если ОбщегоНазначения.РазделениеВключено() Тогда
ТекстЗапросаРезультат =
"ВЫБРАТЬ
| ОбщиеНастройкиУзловИнформационныхБаз.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| ВЫБОР
| КОГДА КОЛИЧЕСТВО(ОбщиеНастройкиУзловИнформационныхБаз.СообщениеДляСопоставленияДанных) > 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПолученоСообщениеДляСопоставленияДанных,
| МАКСИМУМ(СообщенияОбменаДанными.ДатаЗакладкиСообщения) КАК ДатаЗакладкиПоследнегоСообщения
|ПОМЕСТИТЬ СообщенияДляСопоставленияДанных
|ИЗ
| РегистрСведений.ОбщиеНастройкиУзловИнформационныхБаз КАК ОбщиеНастройкиУзловИнформационныхБаз
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СообщенияОбменаДаннымиОбластейДанных КАК СообщенияОбменаДанными
| ПО (СообщенияОбменаДанными.ИдентификаторСообщения = ОбщиеНастройкиУзловИнформационныхБаз.СообщениеДляСопоставленияДанных)
|
|СГРУППИРОВАТЬ ПО
| ОбщиеНастройкиУзловИнформационныхБаз.УзелИнформационнойБазы";
Иначе
ТекстЗапросаРезультат =
"ВЫБРАТЬ
| ОбщиеНастройкиУзловИнформационныхБаз.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| ВЫБОР
| КОГДА КОЛИЧЕСТВО(ОбщиеНастройкиУзловИнформационныхБаз.СообщениеДляСопоставленияДанных) > 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПолученоСообщениеДляСопоставленияДанных,
| МАКСИМУМ(СообщенияОбменаДанными.ДатаЗакладкиСообщения) КАК ДатаЗакладкиПоследнегоСообщения
|ПОМЕСТИТЬ СообщенияДляСопоставленияДанных
|ИЗ
| РегистрСведений.ОбщиеНастройкиУзловИнформационныхБаз КАК ОбщиеНастройкиУзловИнформационныхБаз
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СообщенияОбменаДанными КАК СообщенияОбменаДанными
| ПО (СообщенияОбменаДанными.ИдентификаторСообщения = ОбщиеНастройкиУзловИнформационныхБаз.СообщениеДляСопоставленияДанных)
|
|СГРУППИРОВАТЬ ПО
| ОбщиеНастройкиУзловИнформационныхБаз.УзелИнформационнойБазы";
КонецЕсли;
Иначе
ТекстЗапросаРезультат =
"ВЫБРАТЬ
| NULL КАК УзелИнформационнойБазы,
| NULL КАК ПолученоСообщениеДляСопоставленияДанных,
| NULL КАК ДатаЗакладкиПоследнегоСообщения
|ПОМЕСТИТЬ СообщенияДляСопоставленияДанных";
| ОбщиеНастройкиУзловИнформационныхБаз.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
| ВЫБОР
| КОГДА КОЛИЧЕСТВО(ОбщиеНастройкиУзловИнформационныхБаз.СообщениеДляСопоставленияДанных) > 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПолученоСообщениеДляСопоставленияДанных,
| МАКСИМУМ(СообщенияОбменаДанными.ДатаЗакладкиСообщения) КАК ДатаЗакладкиПоследнегоСообщения
|ПОМЕСТИТЬ СообщенияДляСопоставленияДанных
|ИЗ
| РегистрСведений.ОбщиеНастройкиУзловИнформационныхБаз КАК ОбщиеНастройкиУзловИнформационныхБаз
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ #ТаблицаСобщенияОбменаДанными КАК СообщенияОбменаДанными
| ПО (СообщенияОбменаДанными.ИдентификаторСообщения = ОбщиеНастройкиУзловИнформационныхБаз.СообщениеДляСопоставленияДанных)
|
|СГРУППИРОВАТЬ ПО
| ОбщиеНастройкиУзловИнформационныхБаз.УзелИнформационнойБазы";
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
ТекстЗапросаРезультат = СтрЗаменить(ТекстЗапросаРезультат, "#ТаблицаСобщенияОбменаДанными", "РегистрСведений.СообщенияОбменаДаннымиОбластейДанных");
Иначе
ТекстЗапросаРезультат = СтрЗаменить(ТекстЗапросаРезультат, "#ТаблицаСобщенияОбменаДанными", "РегистрСведений.СообщенияОбменаДанными");
КонецЕсли;
КонецЕсли;
Запрос.Текст = ТекстЗапросаРезультат;
Запрос = Новый Запрос(ТекстЗапросаРезультат);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Выполнить();
@@ -315,8 +315,9 @@
ИначеЕсли ТипЗнч(Данные) = Тип("Строка") Тогда
Обработан = Ложь;
Иначе
Обработан = ОбщегоНазначения.ВычислитьВБезопасномРежиме(
СвойстваОбработчика.ПроцедураПроверки + "(Параметры)", МетаданныеИОтбор);
// АПК:488-выкл безопасный режим не требуется
Обработан = Вычислить(СвойстваОбработчика.ПроцедураПроверки + "(МетаданныеИОтбор)");
// АПК:488-вкл
КонецЕсли;
Результат.Обработан = Обработан И Результат.Обработан;
@@ -2923,14 +2924,14 @@
//
// Возвращаемое значение:
// ТаблицаЗначений:
// * Порядок - Строка - порядок выполнения текущего обработчика относительно других.
// * Порядок - Строка - порядок выполнения обработчика относительно указанной процедуры.
// Допустимые варианты: "До", "После", "Любой".
// * Идентификатор - УникальныйИдентификатор - идентификатор процедуры, с которой настраивается взаимосвязь.
// * Процедура - Строка - полное имя процедуры, с которой настраивается взаимосвязь.
// * Процедура - Строка - полное имя процедуры, относительно которой выполняется обработчик.
//
// Пример:
// Приоритет = ПриоритетыВыполненияОбработчика().Добавить();
// Приоритет.Порядок = "До";
// Приоритет.Порядок = "До"; // порядок выполнения обработчика относительно процедуры ниже.
// Приоритет.Процедура = "Документ.ЗаказПокупателя.ОбновитьДанныеДляПереходаНаНовуюВерсию";
//
Функция ПриоритетыВыполненияОбработчика() Экспорт
@@ -3313,18 +3314,11 @@
|Доступные значения: ""Оперативное"", ""Отложенное"", ""ОбщиеДанные""'");
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИмяПодсистемы", Метаданные.Имя);
Запрос.УстановитьПараметр("Версия", Метаданные.Версия);
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииПодсистемОбластейДанных.ОбластьДанныхВспомогательныеДанные КАК ОбластьДанных
|ИЗ
| РегистрСведений.ВерсииПодсистемОбластейДанных КАК ВерсииПодсистемОбластейДанных
|ГДЕ
| ВерсииПодсистемОбластейДанных.ИмяПодсистемы = &ИмяПодсистемы
| И ВерсииПодсистемОбластейДанных.Версия = &Версия";
ОбластиОбновленныеНаВерсию = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ОбластьДанных");
ОбластиОбновленныеНаВерсию = Новый Массив;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбновлениеВерсииИБВМоделиСервиса") Тогда
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса");
ОбластиОбновленныеНаВерсию = МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса.ОбластиОбновленныеНаВерсию(Метаданные.Имя, Метаданные.Версия);
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("СтатусВыполняется", Перечисления.СтатусыОбработчиковОбновления.Выполняется);
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.3.196";
Описание.Версия = "3.1.3.203";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -7617,7 +7617,7 @@
КонецФункции
Процедура ЗаписатьСведенияОБлокируемыхОбъектах(Сведения)
Процедура ЗаписатьСведенияОБлокируемыхОбъектах(Сведения) Экспорт
Если Сведения = Неопределено Тогда
НовоеЗначение = НовыеСведенияОБлокируемыхОбъектах();
@@ -284,6 +284,23 @@
КонецФункции
Функция ОбластиОбновленныеНаВерсию(ИмяПодсистемы, Версия) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИмяПодсистемы", ИмяПодсистемы);
Запрос.УстановитьПараметр("Версия", Версия);
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииПодсистемОбластейДанных.ОбластьДанныхВспомогательныеДанные КАК ОбластьДанных
|ИЗ
| РегистрСведений.ВерсииПодсистемОбластейДанных КАК ВерсииПодсистемОбластейДанных
|ГДЕ
| ВерсииПодсистемОбластейДанных.ИмяПодсистемы = &ИмяПодсистемы
| И ВерсииПодсистемОбластейДанных.Версия = &Версия";
ОбластиОбновленныеНаВерсию = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ОбластьДанных");
Возврат ОбластиОбновленныеНаВерсию;
КонецФункции
#Область ОбработчикиСобытийПодсистемКонфигурации
// См. ОбновлениеИнформационнойБазыБСП.ПередОбновлениемИнформационнойБазы.
@@ -567,4 +567,4 @@
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -710,6 +710,8 @@
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма, в которой необходимо разместить команды.
// Команды - см. ТаблицаКоманд
// ПараметрыРазмещения - см. ПараметрыРазмещения
//
Процедура ВывестиКоманды(Форма, Команды, ПараметрыРазмещения)
@@ -784,7 +786,7 @@
КонецЕсли;
КонецЕсли;
ГруппаФормы = Неопределено;
ГруппаФормы = Неопределено; // ГруппаФормы
Если Не ЗначениеЗаполнено(Команда.Важность)
Или Не СведенияОПодменюКоманды.Группы.Свойство(Команда.Важность, ГруппаФормы) Тогда
ГруппаФормы = СведенияОПодменюКоманды.ГруппаПоУмолчанию;
@@ -793,7 +795,8 @@
Команда.ИмяВФорме = ОпределитьИмяКоманды(Форма, ГруппаФормы.Имя, Команда.Идентификатор, СчетчикКомандСАвтогенерируемымИменем);
Команда.КлючПараметровРазмещения = КлючПараметровРазмещения;
ИмяКорневогоЭлемента = ?(ВидКоманд.Имя = "КоманднаяПанель", Команда.ИмяВФорме, СведенияОПодменюКоманды.Подменю.Имя);
Подменю = СведенияОПодменюКоманды.Подменю; // ГруппаФормы
ИмяКорневогоЭлемента = ?(ВидКоманд.Имя = "КоманднаяПанель", Команда.ИмяВФорме, Подменю.Имя);
Если КорневыеПодменюИКоманды.Найти(ИмяКорневогоЭлемента) = Неопределено Тогда
КорневыеПодменюИКоманды.Добавить(ИмяКорневогоЭлемента);
КонецЕсли;
@@ -914,8 +917,9 @@
Функция КлючПараметровРазмещения(Знач ПараметрыРазмещения)
ПараметрыРазмещения = ОбщегоНазначения.СкопироватьРекурсивно(ПараметрыРазмещения);
Если ТипЗнч(ПараметрыРазмещения.КоманднаяПанель) = Тип("ГруппаФормы") Тогда
ПараметрыРазмещения.КоманднаяПанель = ПараметрыРазмещения.КоманднаяПанель.Имя;
ГруппаФормы = ПараметрыРазмещения.КоманднаяПанель;
Если ТипЗнч(ГруппаФормы) = Тип("ГруппаФормы") Тогда
ПараметрыРазмещения.КоманднаяПанель = ГруппаФормы.Имя;
КонецЕсли;
Источники = Новый Массив;
Если ТипЗнч(ПараметрыРазмещения.Источники) = Тип("Массив") Тогда
@@ -90,7 +90,8 @@
// Параметры:
// Адреса - Массив - адреса во внутреннем формате JSON или в XML, соответствующий XDTO-пакету Адрес
// или XDTO объектов, соответствующих XDTO-пакету Адрес.
// ДополнительныеПараметры - Структура - для уточнения возвращаемого значения:
// ДополнительныеПараметры - Структура - для уточнения возвращаемого значения. Может содержать только поля,
// отличающиеся от значений по умолчанию:
// * БезПредставлений - Булево - если Истина, то поле Представление будет отсутствовать. По умолчанию, Ложь.
// * КодыАдреса - Булево - если Истина, то результат содержит поля ИдентификаторАдресногоОбъекта, ИдентификаторДома
// и структура с кодами адреса(Идентификаторы, ДополнительныеКоды, КодыКЛАДР).
@@ -101,11 +102,12 @@
// * КодыКЛАДР - Булево - если Истина, то возвращается структура КодыКЛАДР. По умолчанию Ложь.
// Если в адресе отсутствуют коды и в программу не загружены адресные объекты адреса,
// Получение кодов может инициировать http запрос к веб-сервису 1С orgaddress.
// * ПолноеНаименованиеСокращений - Булево - если Истина, то возвращается полное наименование адресных объектов.
// * НаименованиеВключаетСокращение - Булево - если Истина, то поля содержат сокращения в наименованиях адресных объектов.
// * ПроверитьАдрес - Булево - если Истина, то адрес будет проверен на соответствие ФИАС. По умолчанию, Ложь.
// Если в программу не загружены проверяемые адресные объекты,
// то проверка адреса может инициировать http запрос к веб-сервису 1С orgaddress.
// * ПолноеНаименованиеСокращений - Булево - устаревший параметр. Следует использовать свойства свойства
// возвращаемого значения с постфиксами ТипПолный и ТипКраткий. По умолчанию, Ложь.
//
// Возвращаемое значение:
// Массив - содержит массив структур, содержимое структуры см. в описании функции СведенияОбАдресе.
@@ -120,7 +122,8 @@
// Адрес - Строка - адрес во внутреннем формате JSON или в XML, соответствующем XDTO-пакету Адрес.
// - ОбъектXDTO - XDTO-объект, соответствующий XDTO пакету Адрес.
// - Неопределено - конструктор для получения пустых полей адреса.
// ДополнительныеПараметры - Структура - для уточнения возвращаемого значения:
// ДополнительныеПараметры - Структура - для уточнения возвращаемого значения. Может содержать только поля,
// отличающиеся от значений по умолчанию:
// * БезПредставлений - Булево - если Истина, то поле Представление будет отсутствовать. По умолчанию Ложь.
// * КодыАдреса - Булево - если Истина, то результат содержит поля ИдентификаторАдресногоОбъекта, ИдентификаторДома
// и структура с кодами адреса(Идентификаторы, ДополнительныеКоды, КодыКЛАДР).
@@ -135,7 +138,8 @@
// * ПроверитьАдрес - Булево - если Истина, то адрес будет проверен на соответствие ФИАС. По умолчанию Ложь.
// Если в программу не загружены проверяемые адресные объекты,
// то проверка адреса может инициировать http запрос к веб-сервису 1С orgaddress.
// * ПолноеНаименованиеСокращений - Булево - устаревший параметр. Следует использовать свойства ТипПолный и ТипКраткий.
// * ПолноеНаименованиеСокращений - Булево - устаревший параметр. Следует использовать свойства свойства
// возвращаемого значения с постфиксами ТипПолный и ТипКраткий. По умолчанию, Ложь.
//
// Возвращаемое значение:
// Структура:
@@ -13,33 +13,42 @@
// Возвращаемое значение:
// Структура:
// * Представление - Строка - текстовое представление адреса по административно-территориальному делению.
// Например, "175430, Новгородская обл, Валдайский р-н, Бор д, Полевая ул, дом 4"
// * МуниципальноеПредставление - Строка - текстовое представление адреса по муниципальному делению.
// Например, "175430, Новгородская обл, Валдайский муниципальный район, сельское
// поселение Никулинское, Бор д, Полевая ул, дом 4";
// * ТипАдреса - Строка - основной тип адреса (только для адресов РФ).
// Варианты: "Муниципальный", "Административно-территориальный".
// * Страна - Строка - текстовое представление страны.
// * КодСтраны - Строка - код страны по ОКСМ.
// * Индекс - Строка - почтовый индекс.
// * КодРегиона - Строка - код региона РФ.
// * Регион - Строка - текстовое представление региона РФ.
// * РегионСокращение - Строка - сокращение региона.
// Варианты: "Муниципальный", "Административно-территориальный".
// * Страна - Строка - текстовое представление страны. Например, "Россия".
// * КодСтраны - Строка - код страны по ОКСМ. Например, "643".
// * Индекс - Строка - почтовый индекс. Например, "12700".
// * КодРегиона - Строка - код региона РФ. Например, "50".
// * Регион - Строка - текстовое представление региона РФ. Например, "Московская"
// * РегионСокращение - Строка - сокращение региона. Например, "обл".
// * Округ - Строка - текстовое представление округа (устарело).
// * ОкругСокращение - Строка - сокращение округа (устарело).
// * Район - Строка - текстовое представление района у адресов по административно-территориальному делению.
// * РайонСокращение - Строка - сокращение района у адресов по административно-территориальному делению.
// * Район - Строка - текстовое представление района у адресов по административно-территориальному
// делению. Например, "Валдайский".
// * РайонСокращение - Строка - сокращение района у адресов по административно-территориальному делению. Например, "р-н".
// * МуниципальныйРайон - Строка - текстовое представление муниципального района у адресов по муниципальному делению.
// Например, "Валдайский".
// * МуниципальныйРайонСокращение - Строка - сокращение муниципального района у адресов по муниципальному делению.
// * Город - Строка - текстовое представление города у адресов по административно-территориальному делению.
// * ГородСокращение - Строка - сокращение города у адресов по административно-территориальному делению.
// * Поселение - Строка - текстовое представление поселения у адресов по муниципальному делению.
// * ПоселениеСокращение - Строка - сокращение поселения у адресов по муниципальному делению.
// * ВнутригородскойРайон - Строка - текстовое представление внутригородского района.
// * ВнутригородскойРайонСокращение - Строка - сокращение внутригородского района.
// * НаселенныйПункт - Строка - текстовое представление населенного пункта.
// * НаселенныйПунктСокращение - Строка - сокращение населенного пункта.
// * Территория - Строка - текстовое представление территории.
// * ТерриторияСокращение - Строка - сокращение территории.
// * Улица - Строка - текстовое представление улицы.
// * УлицаСокращение - Строка - сокращение улицы.
// Например, "м.р-н".
// * Город - Строка - текстовое представление города у адресов по административно-территориальному
// делению. Например, "Валдай".
// * ГородСокращение - Строка - сокращение города у адресов по административно-территориальному делению. Например,
// "г".
// * Поселение - Строка - текстовое представление поселения у адресов по муниципальному делению. Например,
// "сельское поселение Никулинское".
// * ПоселениеСокращение - Строка - сокращение поселения у адресов по муниципальному делению. Например, "с.п.";
// * ВнутригородскойРайон - Строка - текстовое представление внутригородского района. Например, "Центральный"
// * ВнутригородскойРайонСокращение - Строка - сокращение внутригородского района. Например, "мкр";
// * НаселенныйПункт - Строка - текстовое представление населенного пункта. Например, "Бор".
// * НаселенныйПунктСокращение - Строка - сокращение населенного пункта. Например, "д".
// * Территория - Строка - текстовое представление территории. Например, "Мотор".
// * ТерриторияСокращение - Строка - сокращение территории. Например, "гск".
// * Улица - Строка - текстовое представление улицы. Например "Полевая".
// * УлицаСокращение - Строка - сокращение улицы. Например "ул".
// * ДополнительнаяТерритория - Строка - текстовое представление дополнительной территории (устарело).
// * ДополнительнаяТерриторияСокращение - Строка - сокращение дополнительной территории (устарело).
// * ЭлементДополнительнойТерритории - Строка - текстовое представление элемента дополнительной территории (устарело).
@@ -47,12 +56,17 @@
// * Здание - Структура - структура с информацией о здании адреса:
// ** ТипЗдания - Строка - тип объекта адресации адреса РФ согласно приказу Минфина России от 5.11.2015 г. N171н.
// ** Номер - Строка - текстовое представление номера дома (только для адресов РФ).
// * Корпуса - Массив - содержит структуры(поля структуры: ТипКорпуса, Номер) с перечнем корпусов адреса.
// * Помещения - Массив - содержит структуры(поля структуры: ТипПомещения, Номер) с перечнем помещений адреса.
// * Корпуса - Массив из Структура - содержит список корпусов и строений адреса:
// * ТипКорпуса - Строка - наименование строения корпуса. Например, "Строение".
// * Номер - Строка - номер строения или корпуса. Например, "1".
// * Помещения - Массив из Структура:
// * ТипПомещения - Строка - наименование помещения. Например, "Офис"
// * Номер - Строка - номер помещения. Например, "1".
// * ИдентификаторАдресногоОбъекта - УникальныйИдентификатор - идентификационный код последнего адресного объекта
// в иерархи адреса. Например, для адреса: Москва г., Дмитровское ш., д.9 это
// будет идентификатор улицы.
// * ИдентификаторДома - УникальныйИдентификатор - идентификационный код дома(строения) адресного объекта.
// будет идентификатор улицы. Например, "8fe5e839-24c8-4500-bea8-a81a55a0fd1e"
// * ИдентификаторДома - УникальныйИдентификатор - идентификационный код дома(строения) адресного объекта.
// Например, "bc26bdef-12be-40f8-959c-2149de1911b9".
// * Идентификаторы - Структура - идентификаторы адресных объектов адреса:
// ** РегионИдентификатор - УникальныйИдентификатор
// - Неопределено - идентификатор региона.
@@ -73,7 +87,7 @@
// - Неопределено - идентификатор территории.
// ** УлицаИдентификатор - УникальныйИдентификатор
// - Неопределено - идентификатор улица.
// * КодыКЛАДР - Структура - коды КЛАДР, если установлен параметр КодыКЛАДР:
// * КодыКЛАДР - Структура - коды КЛАДР, если установлен параметр КодыКЛАДР. Например, "53004000040000200":
// ** Регион - Строка - код КЛАДР региона.
// ** Район - Строка - код КЛАДР район.
// ** Город - Строка - код КЛАДР города.
@@ -88,8 +102,9 @@
КонецФункции
// Возвращает структуру контактной информации по типу.
// Оставленная для обратной совместимости. Возвращает структуру контактной информации по типу.
// Для получения полей адреса следует использовать РаботаСАдресамиКлиентСервер.ПоляАдреса.
// Для получения полей телефона следует использовать УправлениеКонтактнойИнформацией.СведенияОТелефоне.
//
// Параметры:
// ТипКИ - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации.
@@ -10,19 +10,19 @@
// Форматирует строку в соответствии с заданным шаблоном.
// Возможные значения тегов в шаблоне:
// - <span style='Имя свойства: Имя элемента стиля'>Строка</span> - оформляет текст описанными
// - <span style="Имя свойства: Имя элемента стиля">Строка</span> - оформляет текст описанными
// в атрибуте style элементами стиля.
// - <b> Строка </b> - выделяет строку элементом стиля ВажнаяНадписьШрифт,
// который соответствует полужирному шрифту.
// - <a href='Ссылка'>Строка</a> - добавляет гиперссылку.
// - <img src='Календарь'> - добавляет картинку из библиотеки картинок.
// - <a href="Ссылка">Строка</a> - добавляет гиперссылку.
// - <img src="Календарь"> - добавляет картинку из библиотеки картинок.
// Атрибут style применяется для оформления текста. Атрибут может быть использован для тегов span и a.
// Вначале следует имя стилевого свойства, затем через двоеточие имя элемента стиля.
// Стилевые свойства:
// - color - Определяет цвет текста. Например, color: ГиперссылкаЦвет;
// - background-color - Определяет цвет фона у текста. Например, background-color: ИтогиФонГруппы;
// - font - Определяет шрифт текста.Например, font: ОсновнойЭлементСписка.
// Стилевые свойства разделяются точкой с запятой. Например, style='color: ГиперссылкаЦвет; font: ОсновнойЭлементСписка'
// Стилевые свойства разделяются точкой с запятой. Например, style="color: ГиперссылкаЦвет; font: ОсновнойЭлементСписка"
// Вложенные теги не поддерживаются.
//
// Параметры:
@@ -10,19 +10,19 @@
// Форматирует строку в соответствии с заданным шаблоном.
// Возможные значения тегов в шаблоне:
// - <span style='Имя свойства: Имя элемента стиля'>Строка</span> - оформляет текст описанными
// - <span style="Имя свойства: Имя элемента стиля">Строка</span> - оформляет текст описанными
// в атрибуте style элементами стиля.
// - <b> Строка </b> - выделяет строку элементом стиля ВажнаяНадписьШрифт,
// который соответствует полужирному шрифту.
// - <a href='Ссылка'>Строка</a> - добавляет гиперссылку.
// - <img src='Календарь'> - добавляет картинку из библиотеки картинок.
// - <a href="Ссылка">Строка</a> - добавляет гиперссылку.
// - <img src="Календарь"> - добавляет картинку из библиотеки картинок.
// Атрибут style применяется для оформления текста. Атрибут может быть использован для тегов span и a.
// Вначале следует имя стилевого свойства, затем через двоеточие имя элемента стиля.
// Стилевые свойства:
// - color - Определяет цвет текста. Например, color: ГиперссылкаЦвет;
// - background-color - Определяет цвет фона у текста. Например, background-color: ИтогиФонГруппы;
// - font - Определяет шрифт текста.Например, font: ОсновнойЭлементСписка.
// Стилевые свойства разделяются точкой с запятой. Например, style='color: ГиперссылкаЦвет; font: ОсновнойЭлементСписка'
// Стилевые свойства разделяются точкой с запятой. Например, style="color: ГиперссылкаЦвет; font: ОсновнойЭлементСписка"
// Вложенные теги не поддерживаются.
//
// Параметры:
@@ -4674,23 +4674,24 @@
КонецЦикла;
КонецЕсли;
ПараметрыОбновления = Новый Структура;
ПараметрыОбновления.Вставить("ПоследниеПраваРолейРасширений", ПраваРолейРасширений);
НовыеПараметрыОбновления = Новый Структура;
НовыеПараметрыОбновления.Вставить("ПоследниеПраваРолейРасширений", ПраваРолейРасширений);
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("РегистрСведений.ТаблицыГруппДоступа");
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
Если Справочники.ВерсииРасширений.РасширенияИзмененыДинамически() Тогда
ВызватьИсключение НСтр("ru = 'Расширения конфигурации обновлены, требуется перезапустить сеанс.'");
Если ПараметрыОбновления <> Неопределено // Не первое обновление.
И Справочники.ВерсииРасширений.РасширенияИзмененыДинамически() Тогда
ПотребоватьПерезапускСеансаПоПричинеДинамическогоОбновленияРасширенийПрограммы();
КонецЕсли;
Если УстановитьНовыеПраваРолейРасширений Тогда;
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(
"СтандартныеПодсистемы.УправлениеДоступом.ПраваРолей", Новый ХранилищеЗначения(ПраваРолейРасширений));
КонецЕсли;
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(
"СтандартныеПодсистемы.УправлениеДоступом.ПараметрыОбновленияТаблицГруппДоступа", ПараметрыОбновления, Истина);
"СтандартныеПодсистемы.УправлениеДоступом.ПараметрыОбновленияТаблицГруппДоступа", НовыеПараметрыОбновления, Истина);
РегистрыСведений.ТаблицыГруппДоступа.ОбновитьДанныеРегистра(, ОбъектыСИзменениемПравДляОбновления);
ЗафиксироватьТранзакцию();
Исключение
@@ -4815,6 +4816,14 @@
КонецПроцедуры
// Вызывает исключение с требованием перезапустить сеанс из-за обновления расширений программы.
Процедура ПотребоватьПерезапускСеансаПоПричинеДинамическогоОбновленияРасширенийПрограммы()
ТекстОшибки = НСтр("ru = 'Расширения программы обновлены, требуется перезапустить сеанс.'");
ВызватьИсключение ТекстОшибки;
КонецПроцедуры
Функция ИдентификаторПрофиляОткрытиеВнешнихОтчетовИОбработок()
Возврат "1b3472f6-4d87-11e6-8264-5404a6a6895d";
@@ -10644,6 +10653,7 @@
Или ДатаПоследнегоЗаполненияВсехПараметровРаботыРасширений > ДатаАктуальностиПараметровОграниченияДоступа
Или ИспользованиеВидовДоступаИзменено(ДействующиеПараметры) Тогда
ОбновитьТаблицыГруппДоступаДляПодключенныхРасширений();
ДействующиеПараметрыОграниченияДоступа(Неопределено, Неопределено, Истина);
КонецЕсли;
@@ -22341,11 +22351,12 @@
Запись.Версия = НоваяВерсия;
НаборЗаписей.Отбор.Версия.Установить(НоваяВерсия);
Если КонфигурацияБазыДанныхИзмененаДинамически()
Или Справочники.ВерсииРасширений.РасширенияИзмененыДинамически() Тогда
Если КонфигурацияБазыДанныхИзмененаДинамически() Тогда
СтандартныеПодсистемыСервер.ПотребоватьПерезапускСеансаПоПричинеДинамическогоОбновленияВерсииПрограммы();
КонецЕсли;
Если Справочники.ВерсииРасширений.РасширенияИзмененыДинамически() Тогда
ПотребоватьПерезапускСеансаПоПричинеДинамическогоОбновленияРасширенийПрограммы()
КонецЕсли;
НедоступныеСписки = Новый Массив;
Списки = СпискиСИзменениемВерсий(ВерсииОграниченийСписков, НедоступныеСписки);
ПараметрыПланирования = ПараметрыПланированияОбновленияДоступа();
@@ -63,7 +63,8 @@
Справочники.ПрофилиГруппДоступа.ОбновитьПоставляемыеПрофили();
РегистрыСведений.ПараметрыОграниченияДоступа.ОбновитьДанныеРегистра();
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеПараметровОграниченияДоступа(
"ПослеЗагрузкиДанныхВОбластьДанных");
КонецПроцедуры
@@ -692,14 +692,14 @@
// Возвращает представление контактной информации (адреса, телефона, электронной почты и т.п.).
//
// Параметры:
// КонтактнаяИнформация - Строка - строка JSON или XML контактной информации соответствующая XDTO пакетам
// КонтактнаяИнформация - Строка - строка JSON или XML контактной информации соответствующая XDTO пакетам
// КонтактнаяИнформация или Адрес
// - ОбъектXDTO - XDTO-объект КонтактнаяИнформация или Адрес.
// - Структура - контактная информация с разбивкой по полям полученная функциями
// СведенияОбАдресе или СведенияОТелефоне.
// - Структура - см. РаботаСАдресами.СведенияОбАдресе
// - см. УправлениеКонтактнойИнформацией.СведенияОТелефоне
// ВидКонтактнойИнформации - Структура - дополнительные параметры, влияющие на формирование представления адреса:
// * ВключатьСтрануВПредставление - Булево - в представление будет включена страна адреса;
// * ФорматАдреса - Строка - варианты: "ФИАС" или "КЛАДР".
// * ФорматАдреса - Строка - устарело. Варианты: "ФИАС" или "КЛАДР".
// Если указано "КЛАДР", то в представление адреса
// не включаются значения уровней округ и внутригородской район.
//
@@ -99,10 +99,18 @@
//
Процедура ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Ссылка) Экспорт
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
Если Не ОбщегоНазначения.ЭтоСсылка(ТипЗнч(Ссылка)) Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Недопустимое значение параметра ""Ссылка"",
|ожидалось: ЛюбаяСсылка, передано значение: ""%1"" (тип %2)'"), Ссылка, ТипЗнч(Ссылка));
ОбщегоНазначенияКлиентСервер.Проверить(ОбщегоНазначения.ЭтоСсылка(ТипЗнч(Ссылка)), ТекстСообщения, "УправлениеПечатью.ЗадатьОбластьПечатиДокумента");
|ожидалось значение ссылочного типа, передано значение: ""%1"" (тип %2)'"), Ссылка, ТипЗнч(Ссылка));
Попытка // Такая конструкция нужна для проброса стека в журнал регистрации.
ВызватьИсключение ТекстСообщения;
Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = 'Печать'", ОбщегоНазначения.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Возврат;
КонецЕсли;
Элемент = ОбъектыПечати.НайтиПоЗначению(Ссылка);
Если Элемент = Неопределено Тогда
@@ -2760,7 +2768,7 @@
Возврат Новый Структура("ОбъектыПечатиНеЗаданы", ПечатнаяФорма);
КонецЕсли;
Результат = Новый Массив;
Результат = Новый Соответствие;
Для Каждого ОбъектПечати Из ОбъектыПечати Цикл
ИмяОбласти = ОбъектПечати.Представление;
@@ -2776,7 +2784,7 @@
ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, КопируемыеСвойстваТабличногоДокумента());
КонецЕсли;
Результат.Добавить(Новый Структура("Ключ, Значение", ОбъектПечати.Значение, ТабличныйДокумент));
Результат.Вставить(ОбъектПечати.Значение, ТабличныйДокумент);
КонецЦикла;
Возврат Результат;
@@ -879,8 +879,6 @@
ДатаЗагрузкиПисем = ТекущаяДатаСеанса();
СмещениеДатыТекущегоСеанса = СмещениеСтандартногоВремени(ЧасовойПоясСеанса()) + 60;
Для каждого ИмяАктивнойПапки Из МассивИменАктивныхПапок Цикл
Попытка
@@ -907,11 +905,6 @@
ТаблицаИдентификаторов.Очистить();
Для Каждого ЗаголовокПисьма Из ЗаголовкиПисемДляЗагрузки Цикл
Если ДанныеУчетнойЗаписи.ДатаЗагрузкиПисем <> Дата(1,1,1)
И ЗаголовокПисьма.ДатаОтправления - ЗаголовокПисьма.СмещениеДатыОтправления < ДанныеУчетнойЗаписи.ДатаЗагрузкиПисем - СмещениеДатыТекущегоСеанса Тогда
Продолжить;
КонецЕсли;
Если ПустаяСтрока(ЗаголовокПисьма.ИдентификаторСообщения) Тогда
МассивЗаголовковСПустымИдентификатором.Добавить(ЗаголовокПисьма);
Продолжить;
@@ -439,6 +439,14 @@
КонецПроцедуры
// Обработчик оповещения, вызванного после завершения работы процедуры ОткрытьМенюВыбораСостояния(...).
//
// Параметры:
// ВыбранноеСостояниеИзСписка - Строка - выбранное пользователем состояние оригинала.
// ДополнительныеПараметры - Структура - сведения необходимые для установки состояния оригинала:
// * Ссылка - ЛюбаяСсылка - ссылка на документ для установки состояния оригинала.
// - Массив из Структура:
// * Ссылка - ЛюбаяСсылка - ссылка на документ для установки состояния оригинала
//
Процедура ОткрытьМенюВыбораСостоянияЗавершение(ВыбранноеСостояниеИзСписка, ДополнительныеПараметры) Экспорт
Изменено = Ложь;
@@ -255,8 +255,8 @@
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Порядок = "После";
Приоритет.Процедура = "РаботаСФайлами.ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений";
Приоритет.Порядок = "До";
КонецЕсли;
КонецПроцедуры
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="70483810-30e9-4678-9a4f-e28505fd5c2f">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="05826299-d973-412f-950d-785ca5338f43">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="80d8a085-3c45-4923-9787-68e666e48e60"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="bd0627c7-4aba-410b-abfe-0f006ca97039"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="cfee0ec5-76ab-4ef5-aee9-48253f2e717b"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="a21e6d9e-7dcb-4401-9e5e-f5cd76a15d78"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="aaffb1ba-a472-47a7-ba6d-f26e56cc3e49"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="49f97f6f-fdf2-40a1-b13e-65cc8d0cc504"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="c672c238-0362-464c-9d1b-6c8336be5e0c"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="96d8de2b-2b19-4c2d-867d-8d9451defa67"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="6be4e2ac-5b85-48db-8141-176ab141180e"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="44cb9621-dbaf-4a54-b72b-cbebd944fee3"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f15172f7-beaa-4807-9f4c-35a2e37af66e"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="5fe994bb-b1a8-43b1-8d7b-d51de5d9cbe6"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="6b44f7e2-9ef0-459c-be33-a5aa50621201"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="0b1552ab-be19-45e2-9b86-55efcacf5367"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.3.196</version>
<version>3.1.3.203</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,22ede566-3051-4f6e-bd39-8e8ad9f936c8,1,fb955b71-61f2-45d2-8920-e5ae384d5dea,"3.1.3.196","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6170,1,0,70483810-30e9-4678-9a4f-e28505fd5c2f,70483810-30e9-4678-9a4f-e28505fd5c2f,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,aec86db5-a5d4-4636-9854-700375748372,1,8b495a81-17af-45e6-806c-8d61f42a403c,"3.1.3.203","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6171,1,0,05826299-d973-412f-950d-785ca5338f43,05826299-d973-412f-950d-785ca5338f43,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
@@ -166,10 +166,10 @@
Процедура СохранитьИзмененияИЗакрыть()
Если Не Модифицированность Тогда
Закрыть(Неопределено);
Закрыть(Новый Структура("СведенияОВладельце, Обновить", СведенияОВладельце, Ложь));
ИначеЕсли СохранитьИзмененияНаСервере() Тогда
Модифицированность = Ложь;
Закрыть(СведенияОВладельце);
Закрыть(Новый Структура("СведенияОВладельце, Обновить", СведенияОВладельце, Истина));
КонецЕсли;
КонецПроцедуры
@@ -185,6 +185,10 @@
<event>StartChoice</event>
<name>НаименованиеСокращенноеНачалоВыбора</name>
</handlers>
<handlers>
<event>Clearing</event>
<name>НаименованиеСокращенноеОчистка</name>
</handlers>
<handlers>
<event>ChoiceProcessing</event>
<name>НаименованиеСокращенноеОбработкаВыбора</name>
@@ -361,6 +365,10 @@
<event>StartChoice</event>
<name>ВладелецСертификатаСтрокойНачалоВыбора</name>
</handlers>
<handlers>
<event>Clearing</event>
<name>ВладелецСертификатаСтрокойОчистка</name>
</handlers>
<handlers>
<event>ChoiceProcessing</event>
<name>ВладелецСертификатаСтрокойОбработкаВыбора</name>
@@ -860,7 +868,7 @@
</dataPath>
<handlers>
<event>OnChange</event>
<name>РеквизитПриИзменении</name>
<name>ДокументыПартнерКПППриИзменении</name>
</handlers>
<extendedTooltip>
<name>ДокументыПартнерКППРасширеннаяПодсказка</name>
@@ -173,6 +173,16 @@
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеСокращенноеОчистка(Элемент, СтандартнаяОбработка)
Модифицированность = Истина;
ДокументыПечатались = Ложь;
ОчиститьРеквизитыОрганизации(Истина);
КонецПроцедуры
&НаКлиенте
Процедура НаименованиеСокращенноеОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
@@ -226,6 +236,16 @@
КонецПроцедуры
&НаКлиенте
Процедура ВладелецСертификатаСтрокойОчистка(Элемент, СтандартнаяОбработка)
Модифицированность = Истина;
ДокументыПечатались = Ложь;
ОчиститьРеквизитыВладельца();
КонецПроцедуры
&НаКлиенте
Процедура ВладелецСертификатаСтрокойОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
@@ -246,6 +266,9 @@
&НаКлиенте
Процедура ДокументыРуководительПриИзменении(Элемент)
Модифицированность = Истина;
ДокументыПечатались = Ложь;
ДокументыРуководительСсылка = Неопределено;
Элементы.ДокументыРуководитель.КнопкаОткрытия = Неопределено;
@@ -293,6 +316,8 @@
&НаКлиенте
Процедура ДокументыПартнерПриИзменении(Элемент)
Модифицированность = Истина;
ДокументыПартнерСсылка = Неопределено;
Элементы.ДокументыПартнер.КнопкаОткрытия = Неопределено;
@@ -344,13 +369,21 @@
Если ЗначениеЗаполнено(Объект.СостояниеЗаявления) Тогда
Модифицированность = Истина;
ДокументыПечатались = Ложь;
КонецЕсли;
Элементы.ДокументыПартнерКПП.Доступность = Не ДокументыПартнерЭтоИП;
КонецПроцедуры
&НаКлиенте
Процедура ДокументыПартнерКПППриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СостояниеЗаявления) Тогда
Модифицированность = Истина;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Программа
@@ -1206,10 +1239,14 @@
КонецПроцедуры
&НаКлиенте
Процедура ВводСведенийОВладельце(Сведения, ДополнительныеПараметры) Экспорт
Процедура ВводСведенийОВладельце(Результат, ДополнительныеПараметры) Экспорт
Если Сведения <> Неопределено Тогда
Если ТипЗнч(Результат) <> Тип("Структура") Тогда
Возврат;
КонецЕсли;
Если Результат.Обновить Или Не ЗначениеЗаполнено(ВладелецСертификатаСтрокой) Тогда
Сведения = Результат.СведенияОВладельце;
Модифицированность = Истина;
ДокументыПечатались = Ложь;
@@ -1218,7 +1255,6 @@
Или Имя <> Сведения.Имя;
УстановитьРеквизитыВладельца(Сведения, ВведеноВручную);
КонецЕсли;
КонецПроцедуры
@@ -254,16 +254,21 @@
КонецЕсли;
Иначе
Если Не КомпонентыОбмена.ФлагОшибки Тогда
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml");
Если ОбщегоНазначения.ЕстьРеквизитОбъекта("ЗагрузкаДанныхВыполняетсяЧерезВнешнееСоединение", ОбработкаДляЗагрузкиДанных().Метаданные())
И ОбработкаДляЗагрузкиДанных().ЗагрузкаДанныхВыполняетсяЧерезВнешнееСоединение Тогда
ОбработкаДляЗагрузкиДанных().ЗагрузитьДанныеСообщенияОбмена(ДанныеВыгрузкиXML);
Иначе
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml");
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.ДобавитьСтроку(ДанныеВыгрузкиXML);
ТекстовыйДокумент.Записать(ИмяВременногоФайла,,Символы.ПС);
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.ДобавитьСтроку(ДанныеВыгрузкиXML);
ТекстовыйДокумент.Записать(ИмяВременногоФайла,,Символы.ПС);
ОбработкаДляЗагрузкиДанных().ИмяФайлаОбмена = ИмяВременногоФайла;
ОбработкаДляЗагрузкиДанных().ВыполнитьЗагрузкуДанных();
ОбработкаДляЗагрузкиДанных().ИмяФайлаОбмена = ИмяВременногоФайла;
ОбработкаДляЗагрузкиДанных().ВыполнитьЗагрузкуДанных();
УдалитьФайлы(ИмяВременногоФайла);
УдалитьФайлы(ИмяВременногоФайла);
КонецЕсли;
Иначе
ОбработкаДляЗагрузкиДанных().ИмяФайлаОбмена = "";
ОбработкаДляЗагрузкиДанных().ВыполнитьЗагрузкуДанных();
@@ -639,6 +644,20 @@
КонецПроцедуры
Процедура ЗагрузитьДанныеСообщенияОбмена(ДанныеВыгрузкиXML) Экспорт
ИмяФайлаОбмена = ПолучитьИмяВременногоФайла("xml");
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.ДобавитьСтроку(ДанныеВыгрузкиXML);
ТекстовыйДокумент.Записать(ИмяФайлаОбмена, , Символы.ПС);
ВыполнитьЗагрузкуДанных();
УдалитьФайлы(ИмяФайлаОбмена);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -268,4 +268,16 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</attributes>
<attributes uuid="436a9c94-55f6-4463-becd-573189753ee7">
<name>ЗагрузкаДанныхВыполняетсяЧерезВнешнееСоединение</name>
<synonym>
<key>ru</key>
<value>Загрузка данных выполняется через внешнее соединение</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</attributes>
</mdclass:DataProcessor>
@@ -16784,7 +16784,7 @@
Процедура ВыполнитьОтложенноеПроведениеДокументов()
ОбменДаннымиСервер.ВыполнитьОтложенноеПроведениеДокументов(
ДокументыДляОтложенногоПроведения(), УзелОбменаЗагрузкаДанных);
ДокументыДляОтложенногоПроведения(), УзелОбменаЗагрузкаДанных, ДополнительныеСвойстваДляОтложенногоПроведения());
КонецПроцедуры
@@ -3431,7 +3431,7 @@
<id>715</id>
<title>
<key>ru</key>
<value>Приоритет</value>
<value>Сначала выполнить</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -5017,7 +5017,7 @@
<id>3</id>
<toolTip>
<key>ru</key>
<value>Заполнить обработчик1</value>
<value>Заполнить Текущий</value>
</toolTip>
<use>
<common>true</common>
@@ -5040,7 +5040,7 @@
<id>4</id>
<toolTip>
<key>ru</key>
<value>Заполнить обработчик1</value>
<value>Заполнить Кофликтующий</value>
</toolTip>
<use>
<common>true</common>
@@ -323,20 +323,22 @@
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("АдресДанных", АдресДанных);
ИмяФормыОбработчика = "Обработка.ОписаниеОбработчиковОбновления.Форма.ОбъектыПересеченияОбработчика";
Если НЕ ЗапускИзКонфигурации Тогда
ИмяФормыОбработчика = "ВнешняяОбработка.ОписаниеОбработчиковОбновления.Форма.ОбъектыПересеченияОбработчика";
Если Поле.Имя = "ПриоритетыВыполненияОбъектыПересечения" Тогда
ИмяФормыОбработчика = "Обработка.ОписаниеОбработчиковОбновления.Форма.ОбъектыПересеченияОбработчика";
Если НЕ ЗапускИзКонфигурации Тогда
ИмяФормыОбработчика = "ВнешняяОбработка.ОписаниеОбработчиковОбновления.Форма.ОбъектыПересеченияОбработчика";
КонецЕсли;
ОткрытьФорму(ИмяФормыОбработчика,
ПараметрыФормы,
ЭтотОбъект,
ЭтотОбъект.УникальныйИдентификатор,
,
,
,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецЕсли;
ОткрытьФорму(ИмяФормыОбработчика,
ПараметрыФормы,
ЭтотОбъект,
ЭтотОбъект.УникальныйИдентификатор,
,
,
,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
@@ -1898,6 +1898,9 @@
Для Каждого КУдалению Из ОбработчикиКУдалению Цикл
Обработчики.Удалить(КУдалению);
КонецЦикла;
Если Обработчики.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
РазметкаКода.ДобавитьОбластьОписания = Обработчики.Количество() > 1 ИЛИ НЕ РасширенныйРежимФормы;
@@ -353,18 +353,19 @@
ЕстьЦикл = Ложь;
Путь = Новый Массив;
ПолныйПуть = Новый Массив;
Если СвязанныеОбработчикиДо.Количество() > 0 Тогда
ЕстьЦикл = ЕстьЦиклВПорядкеОбработчиков(ЭтотОбработчик, СвязанныеОбработчикиДо, "До", Путь);
ЕстьЦикл = ЕстьЦиклВПорядкеОбработчиков(ЭтотОбработчик, СвязанныеОбработчикиДо, "До", Путь, ПолныйПуть);
КонецЕсли;
Если НЕ ЕстьЦикл И СвязанныеОбработчикиПосле.Количество() > 0 Тогда
ЕстьЦикл = ЕстьЦиклВПорядкеОбработчиков(ЭтотОбработчик, СвязанныеОбработчикиПосле, "После", Путь);
ЕстьЦикл = ЕстьЦиклВПорядкеОбработчиков(ЭтотОбработчик, СвязанныеОбработчикиПосле, "После", Путь, ПолныйПуть);
КонецЕсли;
Если ЕстьЦикл Тогда
ОписаниеОбработчика = ОбработчикиОбновления.НайтиСтроки(Новый Структура("Ссылка", ЭтотОбработчик));
Путь.Добавить(ОписаниеОбработчика[0].Процедура);
ТекстПути = СтрСоединить(Путь, Символы.ПС);
ПолныйПуть.Вставить(0, ОписаниеОбработчика[0].Процедура);
ТекстПути = СтрСоединить(ПолныйПуть, Символы.ПС);
ТекстСообщения = НСтр("ru = 'Обнаружен цикл порядка выполнения:'") + Символы.ПС + "%Путь%";
ТекстСообщения = СтрЗаменить(ТекстСообщения, "%Путь%", ТекстПути);
@@ -1507,10 +1508,16 @@
// Возвращаемое значение:
// Булево - истина если есть цикл в порядке выполнения обработчиков
//
Функция ЕстьЦиклВПорядкеОбработчиков(Обработчик, СвязанныеОбработчики, НаправлениеОбхода, Путь)
Функция ЕстьЦиклВПорядкеОбработчиков(Обработчик, СвязанныеОбработчики, НаправлениеОбхода, Путь, ПолныйПуть)
Для каждого СвязанныйОбработчик Из СвязанныеОбработчики Цикл
Если ПолныйПуть.Найти(СвязанныйОбработчик.Процедура) <> Неопределено Тогда
ПолныйПуть.Добавить(СвязанныйОбработчик.Процедура);
Возврат Ложь;
КонецЕсли;
ПолныйПуть.Добавить(СвязанныйОбработчик.Процедура);
Если СвязанныйОбработчик.Ссылка = Обработчик Тогда
Путь.Добавить(СвязанныйОбработчик.Процедура);
Возврат Истина;
@@ -1519,11 +1526,12 @@
СвязанныеОбработчикиТекущего = СвязанныеОбработчики(СвязанныйОбработчик.Ссылка, НаправлениеОбхода);
Если СвязанныеОбработчикиТекущего.Количество() > 0 Тогда
Если ЕстьЦиклВПорядкеОбработчиков(Обработчик, СвязанныеОбработчикиТекущего, НаправлениеОбхода, Путь) Тогда
Если ЕстьЦиклВПорядкеОбработчиков(Обработчик, СвязанныеОбработчикиТекущего, НаправлениеОбхода, Путь, ПолныйПуть) Тогда
Путь.Добавить(СвязанныйОбработчик.Процедура);
Возврат Истина;
КонецЕсли;
КонецЕсли;
ПолныйПуть.Удалить(ПолныйПуть.ВГраница());
КонецЦикла;
@@ -1586,8 +1594,8 @@
// если ВремяНач = 0 преобразовывает дату в формат времени возвращает СтруктуруВремени если попросить
//
// Параметры:
// ВремяКон - ДатаВремя - время окончания.
// ВремяНач - ДатаВремя - время начала.
// ВремяКон - Дата - время окончания.
// ВремяНач - Дата - время начала.
// СтруктураВремени - Структура - составляющие части в отдельности:
// * Часы - Число
// * Минуты - Число
@@ -1597,7 +1605,7 @@
// Возвращаемое значение:
// Строка
//
Функция РазностьВремени(ВремяКон, ВремяНач = 0, СтруктураВремени = Неопределено)
Функция РазностьВремени(ВремяКон, ВремяНач = 0, СтруктураВремени = Неопределено) Экспорт
Разность = ВремяКон - ВремяНач;
РазностьВремениСек = Макс(-Разность,Разность);
Часы = Цел(РазностьВремениСек/3600);
@@ -505,4 +505,4 @@
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -1965,9 +1965,7 @@
Если Вложение.Свойство("Идентификатор") И ЗначениеЗаполнено(Вложение.Идентификатор) Тогда
КартинкаВложение = Новый Картинка(ПолучитьИзВременногоХранилища(Вложение.АдресВоВременномХранилище));
Картинки.Вставить(Вложение.Представление, КартинкаВложение);
Если Взаимодействия.ОтправлятьПисьмаВФорматеHTML() Тогда
Параметры.Вложения.Удалить(-Индекс);
КонецЕсли;
Параметры.Вложения.Удалить(-Индекс);
КонецЕсли;
КонецЦикла;
КонецЕсли;
@@ -279,8 +279,10 @@
Если МенеджерЗаписи.Выбран() Тогда
Возврат НастройкиТранспортаОбмена(Корреспондент, ВидТранспортаОбмена);
ИначеЕсли ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат РегистрыСведений["НастройкиТранспортаОбменаОбластиДанных"].НастройкиТранспорта(Корреспондент);
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
МодульНастройкиТранспорта = ОбщегоНазначения.ОбщийМодуль("РегистрыСведений.НастройкиТранспортаОбменаОбластиДанных");
Возврат МодульНастройкиТранспорта.НастройкиТранспорта(Корреспондент);
КонецЕсли;
Возврат НастройкиТранспортаОбмена(Корреспондент, ВидТранспортаОбмена);
@@ -310,7 +312,8 @@
Если ВидТранспортаСообщений = Неопределено
И ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
Запрос = Новый Запрос(
"ВЫБРАТЬ
| НастройкиТранспортаОбластейДанных.ВидТранспортаСообщенийОбменаПоУмолчанию КАК ВидТранспортаСообщенийОбменаПоУмолчанию
@@ -206,6 +206,10 @@
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(Форма.КонтекстВарианта) Тогда
Настройки.ДополнительныеСвойства.Вставить("ИсходныйДокументВладелец", ДокументВладелец);
КонецЕсли;
УстановитьПараметрыДанных(Настройки, Новый Структура("ДокументВладелец", ДокументВладелец));
КонецПроцедуры
@@ -2233,6 +2237,14 @@
Результат = Новый Структура("ДокументВладелец");
Если Настройки.ДополнительныеСвойства.Свойство("ИсходныйДокументВладелец", Результат.ДокументВладелец)
И ЗначениеЗаполнено(Результат.ДокументВладелец) Тогда
Настройки.ДополнительныеСвойства.Удалить("ИсходныйДокументВладелец");
Возврат Результат;
КонецЕсли;
НайденныйПараметр = Неопределено;
Если ТипЗнч(ПользовательскиеНастройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда
@@ -152,7 +152,7 @@
И ЗначениеЗаполнено(Параметры.ИсточникДанных)
И Параметры.ИсточникДанных.ПолучитьОбъект() <> Неопределено Тогда
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Параметры.ИсточникДанных);
ОбъектМетаданных = МетаданныеИсточникаДанных(Параметры.ИсточникДанных);
ТипОбъектаМетаданных = ОбщегоНазначения.ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных);
Если ТипОбъектаМетаданных <> ФиксированныйПараметр Тогда
Параметры.ИсточникДанных = Неопределено;
@@ -1313,6 +1313,18 @@
Возврат ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяОбъекта);
КонецФункции
Функция МетаданныеИсточникаДанных(ИсточникДанных)
Попытка
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ИсточникДанных);
Исключение
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Отчет не может быть сформирован по причине: %1'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Возврат ОбъектМетаданных;
КонецФункции
// Возвращает тип объекта метаданных по соответствующему типу менеджера
//
// Параметры:
@@ -1634,19 +1646,78 @@
ОформлениеКоличестваЗаписей.Оформление.УстановитьЗначениеПараметра("Текст", "");
ВариантыИспользования = Новый Структура("ВЗаголовке, ВЗаголовкеОбщегоИтога,
|ВЗаголовкеПолей, ВЗаголовкеПолейРесурсов, ВЗаголовкеПолейРесурсовОбщегоИтога,
|ВОбщемИтоге, ВОтборе, ВПараметрах");
Для Каждого Элемент Из ВариантыИспользования Цикл
ВариантИспользования = "Использовать" + Элемент.Ключ;
ВариантыИспользования = ВариантыИспользованияОформления();
Для Каждого ВариантИспользования Из ВариантыИспользования Цикл
ОформлениеКоличестваЗаписей[ВариантИспользования] = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать;
КонецЦикла;
КонецПроцедуры
// Возвращаемое значение:
// Массив из Строка - коллекция строковых идентификаторов свойства элемента условного оформления
// ИспользованиеУсловногоОформленияКомпоновкиДанных.
//
Функция ВариантыИспользованияОформления()
ВариантыИспользования = Новый Массив;
ВариантыИспользования.Добавить("ИспользоватьВЗаголовке");
ВариантыИспользования.Добавить("ИспользоватьВЗаголовкеПолей");
ВариантыИспользования.Добавить("ИспользоватьВИерархическойГруппировке");
ВариантыИспользования.Добавить("ИспользоватьВОбщемИтоге");
ВариантыИспользования.Добавить("ИспользоватьВОтборе");
ВариантыИспользования.Добавить("ИспользоватьВПараметрах");
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияРежимаСовместимости(), "8.3.16.0") < 0 Тогда
Возврат ВариантыИспользования;
КонецЕсли;
ВариантыИспользования.Добавить("ИспользоватьВЗаголовкеОбщегоИтога");
ВариантыИспользования.Добавить("ИспользоватьВЗаголовкеПолейРесурсов");
ВариантыИспользования.Добавить("ИспользоватьВЗаголовкеПолейРесурсовОбщегоИтога");
Возврат ВариантыИспользования;
КонецФункции
// Возвращает версию режима совместимости в формате нумерации редакций и версий, например, 8.3.15.0.
//
// Возвращаемое значение:
// Строка - версия режима совместимости в формате нумерации редакций и версий.
//
Функция ВерсияРежимаСовместимости()
Если Метаданные.РежимСовместимости = Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать Тогда
Информация = Новый СистемнаяИнформация;
Возврат Информация.ВерсияПриложения;
КонецЕсли;
ОписаниеРежимаСовместимости = СтрРазделить(Метаданные.РежимСовместимости, "_");
Символов = СтрДлина(ОписаниеРежимаСовместимости[0]);
НомерРедакции = "";
Для НомерСимвола = 1 По Символов Цикл
ТекущийСимвол = Сред(ОписаниеРежимаСовместимости[0], НомерСимвола, 1);
Если СтрНайти("0123456789", ТекущийСимвол) > 0 Тогда
НомерРедакции = НомерРедакции + ТекущийСимвол;
КонецЕсли;
КонецЦикла;
ОписаниеРежимаСовместимости.Установить(0, НомерРедакции);
Для Индекс = ОписаниеРежимаСовместимости.Количество() По 3 Цикл
ОписаниеРежимаСовместимости.Добавить("0");
КонецЦикла;
Возврат СтрСоединить(ОписаниеРежимаСовместимости, ".");
КонецФункции
Функция ОформлениеКоличестваЗаписей(ДетальныеЗаписи, ИскомоеЗначение)
ОформлениеКоличестваЗаписей = Неопределено;
@@ -3,6 +3,93 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ПараметрыАдминистрированияИБ</name>
<right>
@@ -2331,93 +2418,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ЗамерыОбластиСтатистики</name>
<right>
@@ -14,13 +14,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -52,6 +45,13 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
@@ -33,6 +33,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ШаблоныАнкет</name>
<right>
@@ -3234,45 +3273,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.ЗамерыОбластиСтатистики</name>
<right>