3_0_1_293

This commit is contained in:
Компания 1С committed 2018-10-19 00:51:00 +03:00
1 parent d95c33fe24
commit f19aef9c3e
39 files changed
+651 -354

No files matched your search

@@ -33,6 +33,9 @@
ТолькоПросмотр = Истина;
КонецЕсли;
Элементы.Отступ.Видимость = Ложь;
Элементы.НадписьНаличиеПароля.Видимость = Ложь;
Элементы.СменитьПароль.Видимость = Ложь;
Элементы.ПользовательИБАутентификацияOpenID.Видимость = Ложь;
Элементы.ПользовательИБАутентификацияСтандартная.Видимость = Ложь;
Элементы.ПотребоватьСменуПароляПриВходе.Видимость = Ложь;
@@ -2717,6 +2717,26 @@
КонецЦикла;
Иначе
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелОбмена);
ТаблицаОбъектыБазы = ПоддерживаемыеОбъектыФормата(ИмяПланаОбмена,
"ОтправкаПолучение", ?(УзелОбмена.Пустая(), Неопределено, УзелОбмена));
Для Каждого СтрокаОбъектыБазы Из ТаблицаОбъектыБазы Цикл
СтрокаОбъектыКорреспондента = ТаблицаОбъекты.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаОбъектыКорреспондента, СтрокаОбъектыБазы, "Версия, Объект");
Если СтрНайти(Режим, "Отправка") > 0 Тогда
СтрокаОбъектыКорреспондента.Отправка = СтрокаОбъектыБазы.Получение;
КонецЕсли;
Если СтрНайти(Режим, "Получение") > 0 Тогда
СтрокаОбъектыКорреспондента.Получение = СтрокаОбъектыБазы.Отправка;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелОбмена);
@@ -6128,6 +6128,8 @@
ИспользоватьТранзакции = КоличествоЭлементовВТранзакции <> 1;
// Если используются транзакции, открываем новую
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина, Не ПараметрыРезервнойКопии.ВосстановленаРезервнаяКопия);
Если ИспользоватьТранзакции Тогда
НачатьТранзакцию();
КонецЕсли;
@@ -6230,12 +6232,16 @@
ВызватьИсключение(НСтр("ru = 'В процессе получения данных возникли ошибки.'"));
КонецЕсли;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь, Не ПараметрыРезервнойКопии.ВосстановленаРезервнаяКопия);
Если ИспользоватьТранзакции Тогда
ЗафиксироватьТранзакцию();
КонецЕсли;
Исключение
Если ИспользоватьТранзакции Тогда
ОтменитьТранзакцию();
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь, Ложь);
Иначе
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь, Не ПараметрыРезервнойКопии.ВосстановленаРезервнаяКопия);
КонецЕсли;
РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Ошибка;
ЗаписьЖурналаРегистрации(КлючСообщенияЖурналаРегистрации, УровеньЖурналаРегистрации.Ошибка,
@@ -13522,13 +13528,8 @@
Процедура ИнтерактивноеИзменениеВыгрузкиСохранитьНастройки(ДополнениеВыгрузки, Знач ПредставлениеНастройки) Экспорт
ОбработкаДополнения = Обработки.ИнтерактивноеИзменениеВыгрузки.Создать();
ЗаполнитьЗначенияСвойств(ОбработкаДополнения, ДополнениеВыгрузки);
СписокРеквизитов = "
|ВариантВыгрузки, ПериодОтбораВсехДокументов,
|ПериодОтбораСценарияУзла, ПредставлениеОтбораСценарияУзла";
ЗаполнитьЗначенияСвойств(ОбработкаДополнения, ДополнениеВыгрузки, СписокРеквизитов);
ЗаполнитьЗначенияСвойств(ОбработкаДополнения, ДополнениеВыгрузки, ,
"ДополнительнаяРегистрация, ДополнительнаяРегистрацияСценарияУзла");
ЗаполнитьТаблицуЗначений(ОбработкаДополнения.ДополнительнаяРегистрация, ДополнениеВыгрузки.ДополнительнаяРегистрация);
ЗаполнитьТаблицуЗначений(ОбработкаДополнения.ДополнительнаяРегистрацияСценарияУзла, ДополнениеВыгрузки.ДополнительнаяРегистрацияСценарияУзла);
@@ -13552,6 +13553,7 @@
// Текущее представление запомненных настроек.
ДополнениеВыгрузки.ПредставлениеТекущейНастройки = ПредставлениеНастройки;
КонецПроцедуры
// Заполняет реквизит формы по данным структуры настроек.
@@ -265,25 +265,40 @@
СтруктураНастроекОбмена = СтруктураНастроекОбмена(КомпонентыОбмена, Перечисления.ДействияПриОбмене.ЗагрузкаДанных);
ОтключитьОбновлениеКлючейДоступа(Истина);
Попытка
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
Исключение
Информация = ИнформацияОбОшибке();
СообщениеОбОшибке = НСтр("ru = 'Ошибка при загрузке данных: %1'");
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СообщениеОбОшибке, ОписаниеОшибки());
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, СообщениеОбОшибке,,,,,Истина);
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СообщениеОбОшибке,
ПодробноеПредставлениеОшибки(Информация));
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, СообщениеОбОшибке, , , , , Истина);
КомпонентыОбмена.ФлагОшибки = Истина;
ВызватьИсключение(СообщениеОбОшибке);
КонецПопытки;
ОбменДаннымиXDTOСервер.УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
Попытка
ОбменДаннымиXDTOСервер.УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
Исключение
Информация = ИнформацияОбОшибке();
СообщениеОбОшибке = НСтр("ru = 'Ошибка при удалении временных объектов, созданных по ссылкам: %1'");
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СообщениеОбОшибке,
ПодробноеПредставлениеОшибки(Информация));
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, СообщениеОбОшибке, , , , , Истина);
КомпонентыОбмена.ФлагОшибки = Истина;
КонецПопытки;
ОтключитьОбновлениеКлючейДоступа(Ложь);
КомпонентыОбмена.ФайлОбмена.Закрыть();
ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена, КомпонентыОбмена);
Если КомпонентыОбмена.ФлагОшибки Тогда
ВызватьИсключение КомпонентыОбмена.СтрокаСообщенияОбОшибке;
КонецЕсли;
Если Не КомпонентыОбмена.ФлагОшибки
И КомпонентыОбмена.ЭтоОбменЧерезПланОбмена
И КомпонентыОбмена.ИспользоватьКвитирование Тогда
@@ -420,6 +435,15 @@
КонецФункции
Процедура ОтключитьОбновлениеКлючейДоступа(Отключить, ПланироватьОбновление = Истина) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Отключить, ПланироватьОбновление);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -32,7 +32,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.1.287";
Описание.Версия = "3.0.1.293";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -413,6 +413,8 @@
Процедура ОбновитьИсправленияИзСкрипта(НовыеИсправления, УдаляемыеИсправления) Экспорт
ИсправленияИзменены();
УстанавливаемыеИсправления = Новый Массив;
Если ЗначениеЗаполнено(НовыеИсправления) Тогда
НовыеИсправленияМассив = СтрРазделить(НовыеИсправления, Символы.ПС);
@@ -47,6 +47,8 @@
ТекстыМакетов.Вставить("СкриптСозданияЗадачиПланировщикаЗадач");
КонецЕсли;
ТекстыМакетов.Вставить("СкриптУдаленияПатчей");
Для Каждого СвойстваМакета Из ТекстыМакетов Цикл
ТекстыМакетов[СвойстваМакета.Ключ] = Обработки.УстановкаОбновлений.ПолучитьМакет(СвойстваМакета.Ключ).ПолучитьТекст();
КонецЦикла;
@@ -509,6 +509,11 @@
ФайлЛога.УстановитьТекст(СтандартныеПодсистемыКлиент.ИнформацияДляПоддержки());
ФайлЛога.Записать(КаталогВременныхФайловОбновления + "templog.txt", КодировкаТекста.Системная);
ФайлСкрипта = Новый ТекстовыйДокумент;
ФайлСкрипта.Вывод = ИспользованиеВывода.Разрешить;
ФайлСкрипта.УстановитьТекст(ТекстыМакетов.СкриптУдаленияПатчей);
ФайлСкрипта.Записать(КаталогВременныхФайловОбновления + "add-delete-patches.js", КодировкаФайловПрограммыОбновления());
Возврат ИмяГлавногоФайлаСкрипта;
#КонецЕсли
@@ -2227,8 +2227,8 @@
ОбщиеПараметры.Вставить("ЗапрашиватьПодтверждениеПриЗавершенииПрограммы", Истина);
ОбщиеПараметры.Вставить("ОтключитьИдентификаторыОбъектовМетаданных", Ложь);
ОбщиеПараметры.Вставить("РекомендуемыйОбъемОперативнойПамяти", 2);
ОбщиеПараметры.Вставить("МинимальнаяВерсияПлатформы", "8.3.12.1412");
ОбщиеПараметры.Вставить("РекомендуемаяВерсияПлатформы", "8.3.12.1412");
ОбщиеПараметры.Вставить("МинимальнаяВерсияПлатформы", "8.3.12.1595");
ОбщиеПараметры.Вставить("РекомендуемаяВерсияПлатформы", "8.3.12.1595");
// Устарело, следует использовать свойства МинимальнаяВерсияПлатформы и РекомендуемаяВерсияПлатформы:
ОбщиеПараметры.Вставить("МинимальноНеобходимаяВерсияПлатформы", "");
ОбщиеПараметры.Вставить("РаботаВПрограммеЗапрещена", Ложь); // Блокировать запуск, если версия ниже минимальной.
@@ -3229,7 +3229,14 @@
#Если Сервер Тогда
ЗапуститьПриложение(СтрокаКоманды,, ДождатьсяЗавершения, КодВозврата);
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
// В файловой информационной базе показывать окно консоли не следует и в серверном контексте.
Оболочка = Новый COMОбъект("Wscript.Shell");
КодВозврата = Оболочка.Run(СтрокаКоманды, 0, ДождатьсяЗавершения);
Оболочка = Неопределено;
Иначе
ЗапуститьПриложение(СтрокаКоманды,, ДождатьсяЗавершения, КодВозврата);
КонецЕсли;
#Иначе
@@ -3261,7 +3268,9 @@
Оболочка = Неопределено;
Иначе
ЗапуститьПриложение(СтрокаКоманды,, ДождатьсяЗавершения, КодВозврата);
Оболочка = Новый COMОбъект("Wscript.Shell");
КодВозврата = Оболочка.Run(СтрокаКоманды, 0, ДождатьсяЗавершения);
Оболочка = Неопределено;
КонецЕсли;
#КонецЕсли
@@ -307,6 +307,12 @@
Иначе // ДобавленПользовательИБ или ИзмененПользовательИБ.
ОбновитьПользователяСервиса(ПользовательОбъект, ПараметрыОбработки.СоздатьПользователяСервиса);
Если Не ПараметрыОбработки.Свойство("ОбработкаСообщенияКаналаУдаленногоАдминистрирования")
И ПараметрыОбработки.СоздатьПользователяСервиса Тогда
РаботаВМоделиСервисаПереопределяемый.УстановитьПраваПоУмолчанию(ПользовательОбъект.Ссылка);
КонецЕсли;
КонецЕсли;
КонецЕсли;
@@ -233,6 +233,8 @@
КонецЕсли;
// {Обработчик: ПриПолученииНомераНаПечать} Окончание
НомерОбъекта = СокрЛП(НомерОбъекта);
// Удаляем пользовательские префиксы из номера объекта.
Если УдалитьПользовательскийПрефикс Тогда
@@ -1346,9 +1346,8 @@
Если КонтактнаяИнформация.Свойство("Корпус")И ЗначениеЗаполнено(КонтактнаяИнформация.Корпус) Тогда
ТипКорпуса = ?(КонтактнаяИнформация.Свойство("ТипКорпуса"), КонтактнаяИнформация.ТипКорпуса, НСтр("ru='Корпус'"));
ОписаниеКонтактнойИнформации.buildings.Добавить(УправлениеКонтактнойИнформациейКлиентСервер.ЗначениеСтроенияИлиПомещения(КонтактнаяИнформация.Корпус, ТипКорпуса));
ОписаниеКонтактнойИнформации.buildings.Добавить(УправлениеКонтактнойИнформациейКлиентСервер.ЗначениеСтроенияИлиПомещения(ТипКорпуса, КонтактнаяИнформация.Корпус));
ИначеЕсли КонтактнаяИнформация.Свойство("Корпуса")И ТипЗнч(КонтактнаяИнформация.Корпуса) = Тип("Массив") Тогда
Для каждого Корпус Из КонтактнаяИнформация.Корпуса Цикл
ОписаниеКонтактнойИнформации.buildings.Добавить(
@@ -1360,14 +1359,15 @@
Если КонтактнаяИнформация.Свойство("Квартира") И ЗначениеЗаполнено(КонтактнаяИнформация.Квартира) Тогда
ТипКвартиры = ?(КонтактнаяИнформация.Свойство("ТипКвартиры"), КонтактнаяИнформация.ТипКвартиры, НСтр("ru='Квартира'"));
ОписаниеКонтактнойИнформации.apartments.Добавить(УправлениеКонтактнойИнформациейКлиентСервер.ЗначениеСтроенияИлиПомещения(КонтактнаяИнформация.Квартира, ТипКвартиры));
ОписаниеКонтактнойИнформации.apartments.Добавить(УправлениеКонтактнойИнформациейКлиентСервер.ЗначениеСтроенияИлиПомещения(ТипКвартиры, КонтактнаяИнформация.Квартира));
ИначеЕсли КонтактнаяИнформация.Свойство("Помещения")И ТипЗнч(КонтактнаяИнформация.Помещения) = Тип("Массив") Тогда
ИначеЕсли КонтактнаяИнформация.Свойство("Помещения")И ТипЗнч(КонтактнаяИнформация.Помещения) = Тип("Структура") Тогда
Для каждого Помещение Из КонтактнаяИнформация.Помещения Цикл
ОписаниеКонтактнойИнформации.apartments.Добавить(
УправлениеКонтактнойИнформациейКлиентСервер.ЗначениеСтроенияИлиПомещения(Помещение.Тип, Помещение.Номер));
КонецЦикла;
КонецЕсли;
Возврат ОписаниеКонтактнойИнформации;
@@ -802,7 +802,7 @@
Представление = СтрСоединить(СписокЗаполненныхУровней, ", ");
Возврат ?(СтрСравнить(Представление, НаименованиеСтраны) <> 0, Представление, "");
Возврат Представление;
КонецФункции
@@ -1210,7 +1210,7 @@
КонецЕсли;
Если ТипЗнч(Данные) = Тип("ДвоичныеДанные") Тогда
АдресДанных = ПоместитьВоВременноеХранилище(Данные, ДополнительныеПараметры.ИдентификаторФормы);
АдресДанных = ПоместитьВоВременноеХранилище(Данные, ДополнительныеПараметры.Форма.УникальныйИдентификатор);
Иначе
АдресДанных = Данные;
КонецЕсли;
@@ -2566,10 +2566,10 @@
Метаданные.ВариантВстроенногоЯзыка,
Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский);
КонецЕсли;
// Проверка настройки совместимости конфигурации с версией платформы.
СистемнаяИнформация = Новый СистемнаяИнформация;
МинимальнаяВерсияПлатформы = "8.3.12.1412";
МинимальнаяВерсияПлатформы = "8.3.12.1595";
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, МинимальнаяВерсияПлатформы) < 0 Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для запуска необходима версия платформы 1С:Предприятие %1 или выше.'"), МинимальнаяВерсияПлатформы);
@@ -1944,8 +1944,7 @@
ОграничиватьДоступНаУровнеЗаписей = Константы.ОграничиватьДоступНаУровнеЗаписей.Получить();
УниверсальноеОграничение = Константы.ОграничиватьДоступНаУровнеЗаписейУниверсально.Получить();
ПараметрыСеанса.ОграничениеДоступаНаУровнеЗаписейУниверсально =
ОграничиватьДоступНаУровнеЗаписей И УниверсальноеОграничение;
ПараметрыСеанса.ОграничениеДоступаНаУровнеЗаписейУниверсально = УниверсальноеОграничение;
УстановленныеПараметры.Добавить("ОграничениеДоступаНаУровнеЗаписейУниверсально");
Если ИмяПараметра = "ОграничениеДоступаНаУровнеЗаписейУниверсально" Тогда
@@ -8560,8 +8559,8 @@
ИначеЕсли ТипЗнч(Исполнитель) = Тип("ФоновоеЗадание")
И Исполнитель.УникальныйИдентификатор <> ПоследнееОбновлениеДоступа.ИдентификаторФоновогоЗадания Тогда
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
Результат.ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось начать обновление доступа, так как оно уже запущено %3 в %4'"),
Формат(Исполнитель.Начало, "ДЛФ=D"),
Формат(Исполнитель.Начало, "ДЛФ=T"));
@@ -8573,7 +8572,7 @@
ЗаполнитьЗначенияСвойств(СвойстваСеанса, Исполнитель);
КонецЕсли;
Результат.СвойстваСеанса = СвойстваСеанса;
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
Результат.ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Обновление доступа уже выполняется
|(компьютер: %1, сеанс: %2, начат: %3 в %4)'"),
СвойстваСеанса.ИмяКомпьютера,
@@ -9525,7 +9524,7 @@
Если ТипЗнч(ОписаниеЗадания.Задание) <> Тип("ФоновоеЗадание") Тогда
Продолжить;
КонецЕсли;
ОбновитьСвойстваФоновогоЗадания(ОписаниеЗадания, ИсполняющиеФоновыеЗадания.ТекстОшибкиЗавершения);
ОбновитьСвойстваФоновогоЗадания(ОписаниеЗадания, ИсполняющиеФоновыеЗадания.ТекстОшибкиЗавершения, ОбработкаЗавершена);
Если ОписаниеЗадания.Задание.Состояние <> СостояниеФоновогоЗадания.Активно Тогда
Продолжить;
КонецЕсли;
@@ -9551,7 +9550,7 @@
Если ТипЗнч(ОписаниеЗадания.Задание) <> Тип("ФоновоеЗадание") Тогда
Продолжить;
КонецЕсли;
ОбновитьСвойстваФоновогоЗадания(ОписаниеЗадания, ИсполняющиеФоновыеЗадания.ТекстОшибкиЗавершения);
ОбновитьСвойстваФоновогоЗадания(ОписаниеЗадания, ИсполняющиеФоновыеЗадания.ТекстОшибкиЗавершения, ОбработкаЗавершена);
Если ОписаниеЗадания.Задание.Состояние = СостояниеФоновогоЗадания.Активно Тогда
Попытка
ОписаниеЗадания.Задание.ОжидатьЗавершения();
@@ -9573,7 +9572,7 @@
Возврат;
КонецЕсли;
ОбновитьСвойстваФоновогоЗадания(ОписаниеЗадания, ИсполняющиеФоновыеЗадания.ТекстОшибкиЗавершения);
ОбновитьСвойстваФоновогоЗадания(ОписаниеЗадания, ИсполняющиеФоновыеЗадания.ТекстОшибкиЗавершения, ОбработкаЗавершена);
Задание = ОписаниеЗадания.Задание;
Если Задание.Состояние = СостояниеФоновогоЗадания.Активно Тогда
@@ -9744,7 +9743,7 @@
КонецПроцедуры
// Для процедуры ЗавершитьФоновыеЗадания, ОбработатьЗавершенноеФоновоеЗадание.
Процедура ОбновитьСвойстваФоновогоЗадания(ОписаниеЗадания, ТекстОшибкиЗавершения)
Процедура ОбновитьСвойстваФоновогоЗадания(ОписаниеЗадания, ТекстОшибкиЗавершения, ОбработкаЗавершена)
Задание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(
ОписаниеЗадания.Задание.УникальныйИдентификатор);
@@ -22228,6 +22227,14 @@
СтруктураОграничения.Вставить("ВнутренниеДанные", НовыеВнутренниеДанные);
Для Каждого Строка Из ВнутренниеДанные.ТаблицаНаборовСимволов Цикл
Строка.Строки.Очистить();
Строка.КонечнаяСтрока = Неопределено;
КонецЦикла;
ВнутренниеДанные.ТаблицаНаборовСимволов.Очистить();
ВнутренниеДанные.ЧастиОграничения.Очистить();
ВнутренниеДанные.Очистить();
Возврат СтруктураОграничения;
КонецФункции
@@ -742,9 +742,12 @@
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда
КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.СтрокаJSONВСтруктуру(КонтактнаяИнформация);
Если ТипЗнч(КонтактнаяИнформацияСтруктурой) = Тип("Структура") И КонтактнаяИнформацияСтруктурой.Свойство("comment") Тогда
КонтактнаяИнформацияСтруктурой.comment = Комментарий;
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(КонтактнаяИнформацияСтруктурой);
КонецЕсли;
Возврат;
ИначеЕсли ЭтоСтрока И Не УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнформация) Тогда
@@ -832,6 +832,12 @@
Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм.КоллекцияПечатныхФорм Цикл
Если ПечатнаяФорма = Неопределено Или ПечатнаяФорма.ТабличныйДокумент.ВысотаТаблицы = 0 Тогда
Если ТипЗнч(ПечатнаяФорма.ОфисныеДокументы) = Тип("Соответствие") Тогда
Для каждого ОфисныйДокумент Из ПечатнаяФорма.ОфисныеДокументы Цикл
Вложения.Вставить(ОфисныйДокумент.Значение, ОфисныйДокумент.Ключ);
КонецЦикла;
КонецЕсли;
Продолжить;
КонецЕсли;
Результат = ПоместитьТабличныйДокументВоВременноеХранилище(ПечатнаяФорма, ПараметрыШаблона, ПараметрыОтправки.УникальныйИдентификатор);
+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="6274da5a-abd2-4222-ba74-85f6de16ed4b">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e0192c1a-1a8f-4f2f-8bf6-c666af79b516">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="f6cc7f01-7dec-4910-b7a3-e8812ebb37fa"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="49831ebb-584f-4939-9fe3-cf97c12f7f2a"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="dad14c67-46ff-496b-a5fc-90fdbfad02ec"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="795a0331-849a-4234-8d8e-f8c4e2d35f78"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="759a390c-2894-4933-8e5b-91bd3a31cf97"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="750d0003-ada6-465e-b9ad-382eced527a4"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="0c5c07c7-14f9-4026-87ba-853ebe9aa6e2"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="f4d1daa8-c9b9-43fa-ad7f-081858d57a65"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="29841a31-ec1b-4310-95c9-761d9f82a16b"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="71faa0e3-c7ef-4a0e-8100-25b41ebcdc90"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="22223a79-df90-4b28-8ce2-5b032ba3539c"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="24fd29a9-8cbe-4578-8032-658155efd3e1"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c402c9d1-1a29-4df5-82f7-89cf697afed5"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="893fa6fe-31a2-4a48-8d0a-b815a59c03b4"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.1.287</version>
<version>3.0.1.293</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,5c3b83f0-2073-440e-bdfb-df9cec69e5d7,1,ec0e3759-cd09-4345-ade1-24c14c43b557,"3.0.1.287","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5875,1,0,6274da5a-abd2-4222-ba74-85f6de16ed4b,6274da5a-abd2-4222-ba74-85f6de16ed4b,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
{6,1,1,4794279a-5f41-4b48-9ff5-08ee63f2dffa,1,821d6886-97c1-466e-bd76-ccf7578b034e,"3.0.1.293","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5876,1,0,e0192c1a-1a8f-4f2f-8bf6-c666af79b516,e0192c1a-1a8f-4f2f-8bf6-c666af79b516,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
@@ -350,7 +350,7 @@
Результат.AreaCode = КодГорода;
Результат.Number = НомерТелефона;
Результат.ExtNumber = Добавочный;
Результат.Value = УправлениеКонтактнойИнформациейКлиентСервер.СформироватьПредставлениеТелефона(КодСтраны, КодГорода, НомерТелефона, Добавочный, Комментарий);
Результат.Value = УправлениеКонтактнойИнформациейКлиентСервер.СформироватьПредставлениеТелефона(КодСтраны, КодГорода, НомерТелефона, Добавочный, "");
Результат.Comment = Комментарий;
Возврат Результат;
@@ -322,8 +322,11 @@
ЧтениеXML.Прочитать(); // Body
КомпонентыОбмена.Вставить("ФайлОбмена", ЧтениеXML);
УстановитьПривилегированныйРежим(Истина);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
УстановитьПривилегированныйРежим(Ложь);
Если КомпонентыОбмена.ФлагОшибки Тогда
@@ -290,17 +290,29 @@
КомпонентыОбмена.Вставить("РазмерФайлаСообщенияОбмена", РезультатАнализаДанныхКЗагрузке.РазмерФайлаСообщенияОбмена);
КомпонентыОбмена.Вставить("КоличествоОбъектовКЗагрузке", РезультатАнализаДанныхКЗагрузке.КоличествоОбъектовКЗагрузке);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
Попытка
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена);
Исключение
Информация = ИнформацияОбОшибке();
СтрокаСообщения = НСтр("ru = 'Ошибка при загрузке данных: %1'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, ОписаниеОшибки());
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, СтрокаСообщения,,,,,Истина);
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СтрокаСообщения, ПодробноеПредставлениеОшибки(Информация));
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, СтрокаСообщения, , , , , Истина);
КомпонентыОбмена.ФлагОшибки = Истина;
КонецПопытки;
ОбменДаннымиXDTOСервер.УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
Попытка
ОбменДаннымиXDTOСервер.УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
Исключение
Информация = ИнформацияОбОшибке();
СтрокаСообщения = НСтр("ru = 'Ошибка при удалении временных объектов, созданных по ссылкам: %1'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СтрокаСообщения, ПодробноеПредставлениеОшибки(Информация));
ОбменДаннымиXDTOСервер.ЗаписатьВПротоколВыполнения(КомпонентыОбмена, СтрокаСообщения, , , , , Истина);
КомпонентыОбмена.ФлагОшибки = Истина;
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
КомпонентыОбмена.ФайлОбмена.Закрыть();
@@ -357,8 +369,27 @@
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, Строка(УзелОбменаЗагрузкаДанных));
ОбменДаннымиXDTOСервер.ЗаписьЖурналаРегистрацииОбменДанными(СтрокаСообщения, КомпонентыОбмена, УровеньЖурналаРегистрации.Информация);
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена, ТаблицыДляЗагрузки);
ОбменДаннымиXDTOСервер.УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
Попытка
ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена, ТаблицыДляЗагрузки);
Исключение
Информация = ИнформацияОбОшибке();
СтрокаСообщения = НСтр("ru = 'Ошибка при загрузке данных: %1'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СтрокаСообщения, ПодробноеПредставлениеОшибки(Информация));
ОбменДаннымиXDTOСервер.ЗаписьЖурналаРегистрацииОбменДанными(СтрокаСообщения, КомпонентыОбмена, УровеньЖурналаРегистрации.Ошибка);
КонецПопытки;
Попытка
ОбменДаннымиXDTOСервер.УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
Исключение
Информация = ИнформацияОбОшибке();
СтрокаСообщения = НСтр("ru = 'Ошибка при удалении временных объектов, созданных по ссылкам: %1'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СтрокаСообщения, ПодробноеПредставлениеОшибки(Информация));
ОбменДаннымиXDTOСервер.ЗаписьЖурналаРегистрацииОбменДанными(СтрокаСообщения, КомпонентыОбмена, УровеньЖурналаРегистрации.Ошибка);
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
// Запись в журнале регистрации.
СтрокаСообщения = НСтр("ru = '%1, %2; Обработано %3 объектов'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка());
@@ -2262,6 +2262,8 @@
ЧтениеСообщения = Неопределено;
Попытка
ОтложеннаяОбработкаОбъектов = Ложь;
РежимЗагрузкиДанных = "ЗагрузкаВИнформационнуюБазу";
ПолеСтрокаСообщенияОбОшибке = "";
@@ -2315,6 +2317,7 @@
НачатьЧтениеСообщения(ЧтениеСообщения);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
Если ИспользоватьТранзакции Тогда
НачатьТранзакцию();
КонецЕсли;
@@ -2335,24 +2338,36 @@
ВызватьИсключение НСтр("ru = 'Возникли ошибки при загрузке данных.'");
КонецЕсли;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
Если ИспользоватьТранзакции Тогда
ЗафиксироватьТранзакцию();
КонецЕсли;
Исключение
Если ИспользоватьТранзакции Тогда
ОтменитьТранзакцию();
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь, Ложь);
Иначе
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
КонецЕсли;
ПрерватьЧтениеСообщения(ЧтениеСообщения);
ВызватьИсключение;
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
// Выполняем проведение документов в очереди.
ОтложеннаяОбработкаОбъектов = Истина;
ВыполнитьОтложенноеПроведениеДокументов();
ВыполнитьОтложеннуюЗаписьОбъектов();
ЗакончитьЧтениеСообщения(ЧтениеСообщения);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ЗакончитьЧтениеСообщения(ЧтениеСообщения);
Исключение
Если ОтложеннаяОбработкаОбъектов Тогда
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
КонецЕсли;
Если ЧтениеСообщения <> Неопределено
И ЧтениеСообщения.СообщениеБылоПринятоРанее Тогда
ЗаписатьВПротоколВыполнения(174,,,,,,
@@ -2419,7 +2434,9 @@
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, Строка(УзелОбменаЗагрузкаДанных));
ЗаписьЖурналаРегистрацииОбменДанными(СтрокаСообщения, УровеньЖурналаРегистрации.Информация);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
ВыполнитьВыборочноеЧтениеСообщения(ТаблицыДляЗагрузки);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
// дата окончания загрузки
СостояниеОбменаДанными().ДатаОкончания = ТекущаяДатаСеанса();
@@ -9156,7 +9173,7 @@
Если Отказ Тогда // Отказ от загрузки объекта
одПропустить(ФайлОбмена, "Объект");
одПропустить(ФайлОбмена, "НаборЗаписейРегистра");
Возврат Неопределено;
КонецЕсли;
@@ -9192,7 +9209,7 @@
Если Отказ Тогда // Отказ от загрузки объекта
одПропустить(ФайлОбмена, "Объект");
одПропустить(ФайлОбмена, "НаборЗаписейРегистра");
Возврат Неопределено;
КонецЕсли;
@@ -62,7 +62,9 @@
Возврат;
КонецПопытки;
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина);
ПрочитатьФайлСообщенияОбмена(Отказ, ЧтениеXML, ЗагрузитьТолькоПараметры, ЗагрузитьМетаданные);
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь);
ЧтениеXML.Закрыть();
КонецПроцедуры
@@ -887,6 +887,16 @@
КонецПроцедуры
&НаКлиенте
Процедура ДомНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПоказатьСписокДомов(Ложь);
КонецПроцедуры
&НаКлиенте
Процедура СтроениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПоказатьСписокДомов(Истина);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -943,22 +953,6 @@
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФормуЗагрузкиКлассификатора()
Перем ДополнительныеПараметры, СведенияОРегионе;
ДополнительныеПараметры = Новый Структура();
Если ТипЗнч(НаселенныйПунктДетально) = Тип("Структура") И НаселенныйПунктДетально.Свойство("Area") Тогда
СведенияОРегионе = СведенияОРегионе(НаселенныйПунктДетально.Area + " " + НаселенныйПунктДетально.AreaType);
ДополнительныеПараметры.Вставить("КодРегионаДляЗагрузки", СведенияОРегионе.КодСубъектаРФ);
КонецЕсли;
ЗагрузитьАдресныйКлассификатор(ДополнительныеПараметры);
КонецПроцедуры
&НаКлиенте
Процедура ВвестиАдресВСвободнойФорме(Команда)
@@ -1006,35 +1000,6 @@
КонецПроцедуры
&НаСервереБезКонтекста
Функция КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса)
Адрес = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса, Перечисления.ТипыКонтактнойИнформации.Адрес);
Возврат Адрес;
КонецФункции
&НаКлиенте
Процедура ПоказатьАдресВСвободнойФорме()
ОчиститьАдресКлиент();
НаселенныйПунктДетально.Value = ПредставлениеАдреса;
НаселенныйПунктДетально.AddressType = УправлениеКонтактнойИнформациейКлиентСервер.АдресВСвободнойФорме();
НаселенныйПунктДетально.Comment = Комментарий;
НаселенныйПунктДетально.Country = Строка(Страна);
Элементы.СтранаВСвободнойФорме.Видимость = Не ВидКонтактнойИнформации.ТолькоНациональныйАдрес;
Элементы.АдресПредставлениеКомментарий.ТекущаяСтраница = Элементы.ВСвободнойФорме;
Элементы.АдресВСвободнойФорме.Пометка = Истина;
Элементы.АдминистративноТерриториальноеДеление.Пометка = Ложь;
Элементы.МуниципальноеДеление.Пометка = Ложь;
НаселенныйПунктДетально.AddressType = УправлениеКонтактнойИнформациейКлиентСервер.АдресВСвободнойФорме();
ПоказатьПодсказкуПоТипАдреса();
КонецПроцедуры
&НаКлиенте
Процедура АвторизацияНаСайтеПоддержкиПользователей(Команда)
@@ -1046,15 +1011,6 @@
КонецПроцедуры
&НаКлиенте
Процедура ДомНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПоказатьСписокДомов(Ложь);
КонецПроцедуры
&НаКлиенте
Процедура СтроениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПоказатьСписокДомов(Истина);
КонецПроцедуры
&НаКлиенте
Процедура ИсторияИзменений(Команда)
@@ -1149,6 +1105,65 @@
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ОткрытьФормуЗагрузкиКлассификатора()
Перем ДополнительныеПараметры, СведенияОРегионе;
ДополнительныеПараметры = Новый Структура();
Если ТипЗнч(НаселенныйПунктДетально) = Тип("Структура") И НаселенныйПунктДетально.Свойство("Area") Тогда
СведенияОРегионе = СведенияОРегионе(НаселенныйПунктДетально.Area + " " + НаселенныйПунктДетально.AreaType);
ДополнительныеПараметры.Вставить("КодРегионаДляЗагрузки", СведенияОРегионе.КодСубъектаРФ);
КонецЕсли;
ЗагрузитьАдресныйКлассификатор(ДополнительныеПараметры);
КонецПроцедуры
&НаСервереБезКонтекста
Функция КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса)
Адрес = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияПоПредставлению(ПредставлениеАдреса, Перечисления.ТипыКонтактнойИнформации.Адрес);
Возврат Адрес;
КонецФункции
&НаКлиенте
Процедура ПоказатьАдресВСвободнойФорме()
ОчиститьАдресКлиент();
УдалитьСтрануИзПредставления();
НаселенныйПунктДетально.Value = ПредставлениеАдреса;
НаселенныйПунктДетально.AddressType = УправлениеКонтактнойИнформациейКлиентСервер.АдресВСвободнойФорме();
НаселенныйПунктДетально.Comment = Комментарий;
НаселенныйПунктДетально.Country = Строка(Страна);
Элементы.СтранаВСвободнойФорме.Видимость = Не ВидКонтактнойИнформации.ТолькоНациональныйАдрес;
Элементы.АдресПредставлениеКомментарий.ТекущаяСтраница = Элементы.ВСвободнойФорме;
Элементы.АдресВСвободнойФорме.Пометка = Истина;
Элементы.АдминистративноТерриториальноеДеление.Пометка = Ложь;
Элементы.МуниципальноеДеление.Пометка = Ложь;
НаселенныйПунктДетально.AddressType = УправлениеКонтактнойИнформациейКлиентСервер.АдресВСвободнойФорме();
ПоказатьПодсказкуПоТипАдреса();
КонецПроцедуры
&НаКлиенте
Процедура УдалитьСтрануИзПредставления()
ПредставлениеАдреса = СокрЛП(ПредставлениеАдреса);
Если СтрНачинаетсяС(ВРег(ПредставлениеАдреса), ВРег(Страна)) Тогда
Позиция = СтрДлина(Страна) + 1;
Позиция = ?(Сред(ПредставлениеАдреса, Позиция, 1) = ",", Позиция + 1, Позиция);
ПредставлениеАдреса = СокрЛП(Сред(ПредставлениеАдреса, Позиция));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ВариантыУлицПоТексту(Знач Текст)
@@ -1162,7 +1177,6 @@
КонецФункции
&НаКлиенте
Процедура ФормаВыбораУлицПоИндексу(Знач Текст)
@@ -268,7 +268,7 @@
Процедура НачатьПоискФайловЗавершение(МассивФайлов, ДополнительныеПараметры) Экспорт
Если МассивФайлов.Количество() > 0 Тогда
ФайлЖурнала = МассивФайлов[0];
ОбщегоНазначенияКлиент.ОткрытьФайлВПрограммеПросмотра(ФайлЖурнала);
ОбщегоНазначенияКлиент.ОткрытьФайлВПрограммеПросмотра(ФайлЖурнала.ПолноеИмя);
Иначе
// Если лога нет, то открываем временный каталог скрипта обновления.
ОбщегоНазначенияКлиент.ОткрытьПроводник(КаталогСкрипта);
@@ -74,19 +74,19 @@
ret = runDeferredHandlers()
break
case endLoadStep:
setProgress('Разрешение подключения новых соединений')
break
case endLoadStep + 1:
ret = allowConnections()
break
case endLoadStep + 2:
if (makeCompression) {
setProgress('Сжатие таблиц информационной базы')
}
break
case endLoadStep + 3:
case endLoadStep + 1:
ret = compressDB()
break
case endLoadStep + 2:
setProgress('Разрешение подключения новых соединений')
break
case endLoadStep + 3:
ret = allowConnections()
break
case endLoadStep + 4:
setProgress('Завершение')
break
@@ -208,6 +208,7 @@
try {
oFileSystemObject.DeleteFile(thisFileDir + '\\main.js')
oFileSystemObject.DeleteFile(thisFileDir + '\\helpers.js')
oFileSystemObject.DeleteFile(thisFileDir + '\\add-delete-patches.js')
oFileSystemObject.DeleteFile(thisFileDir + '\\splash.png')
oFileSystemObject.DeleteFile(thisFileDir + '\\splash.ico')
oFileSystemObject.DeleteFile(thisFileDir + '\\progress.gif')
@@ -89,27 +89,43 @@ function runApp (sFilePath, sFileArgs, show, bWaitOnReturn) {
sFileArgs = ''
}
var ret = 1
log(format('Запускается: {0}; параметры: {1}; окно: {2}; ожидание: {3}',
sFilePath, hidePass(sFileArgs), SWtoString(show), bWaitOnReturn))
if (oFileSystemObject.FileExists(sFilePath)) {
try {
ret = oShell.Run(format('"{0}" {1}', sFilePath, sFileArgs), show, bWaitOnReturn)
} catch (e) {
log(format('Исключение в runApp: {0}, {1}.', e.name, e.message), true)
return 1
}
log(format('Код возврата: {0}', ret), ret !== 0)
return ret
} else {
log(format("Запускаемый файл не существует: {0}", sFilePath), true)
log(
format(
'Запускается: {0}; параметры: {1}; окно: {2}; ожидание: {3}',
sFilePath,
hidePass(sFileArgs),
SWtoString(show),
bWaitOnReturn))
try {
ret = oShell.Run(
format(
'"{0}" {1}',
sFilePath,
sFileArgs),
show,
bWaitOnReturn)
} catch (e) {
log(
format(
'Исключение в runApp: {0}, {1}.',
e.name,
e.message),
true)
return 1
}
log(
format(
'Код возврата: {0}',
ret),
ret !== 0)
return ret
}
function hidePass (text) {
var beforePass = text.substr(0, text.indexOf('/P') + 2)
var afterPass = text.substr(text.indexOf(' /WA-'))
return (beforePass + '"******"' + afterPass)
return text
.replace('/P"' + InfoBasePassword + '"', '/P"******"')
.replace('/P"' + ClusterPassword + '"', '/P"******"')
.replace('Pwd=\'' + InfoBasePassword + '\'', 'Pwd=\'******\'')
}
function clearLogFile () {
@@ -262,7 +278,7 @@ function doSetResult (success) {
// Передать в приложение результат выполнения
function setResult (success) {
var result = doSetResult(success)
CollectGarbage() // освобождает соединения с COM-объектом
CollectGarbage()
return result
}
@@ -296,7 +312,7 @@ function backupDB () {
oFileSystemObject.CopyFile(BaseFileName, backupFileName, true)
log(format('Резервная копия базы создана', ret), ret !== 0)
} catch (e) {
CollectGarbage() // предотвращает исключение out of memory
CollectGarbage()
log(format('Исключение при создании резервной копии базы: {0}, {1}.', e.name, e.message), true)
log(format('Трассировка:\nКопировали из: {0}\nКопировали в: {1}', BaseFileName, backupFileName), true)
ret = 1
@@ -316,12 +332,8 @@ function restoreDB () {
var ret = 0
try {
oFileSystemObject.CopyFile(backupFileName, BaseFileName, true)
connection = null
ComConnection = null
CollectGarbage() // освобождает соединения с COM-объектом
log(format('База данных восстановлена из резервной копии', ret), ret !== 0)
} catch (e) {
CollectGarbage() // предотвращает исключение out of memory
log(format('Исключение при восстановлении базы из резервной копии', e.name, e.message), true)
ret = -1
}
@@ -338,9 +350,11 @@ function doAllowConnections () {
log('Вызов через внешнее соединение СоединенияИБ.РазрешитьРаботуПользователей()')
connection.СоединенияИБ.РазрешитьРаботуПользователей()
connectionsDenied = false
connection = null
CollectGarbage()
} catch (e) {
connection = null
CollectGarbage() // предотвращает исключение out of memory
CollectGarbage()
log(format('Исключение при вызове СоединенияИБ.РазрешитьРаботуПользователей: {0}, {1}.', e.name, e.message), true)
return 3
}
@@ -352,46 +366,48 @@ function doAllowConnections () {
function allowConnections () {
var result = doAllowConnections()
ComConnection = null
CollectGarbage() // освобождает соединения с COM-объектом
CollectGarbage()
return result
}
function doExecuteUpdate (lastVersion) {
if (useComConnector && lastVersion) {
var connection = createConnection()
if (connection == null) {
return 1
}
try {
var fixFileNamesString = fixFileNames.join('\n')
var removeFixNamesString = removeFixNames.join('\n')
log(format('Вызов через внешнее соединение ОбновлениеКонфигурации.ОбновлениеКонфигурации.ОбновитьИсправленияИзСкрипта({0}, {1})', fixFileNamesString, removeFixNamesString))
connection.ОбновлениеКонфигурации.ОбновитьИсправленияИзСкрипта(fixFileNamesString, removeFixNamesString)
addDeletePatches()
} catch (e) {
connection = null
CollectGarbage() // предотвращает исключение out of memory
log(format('Исключение при вызове ОбновлениеКонфигурации.УстановитьИсправления: {0}, {1}.', e.name, e.message), true)
log(format('Исключение при вызове ОбновлениеКонфигурации.ОбновитьИсправленияИзСкрипта: {0}, {1}.', e.name, e.message), true)
return 2
}
}
ComConnection = null
if (useComConnector && doBlockUsers) {
var connection = createConnection()
if (connection == null) {
return 1
}
try {
log(format('Вызов через внешнее соединение ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы({0})', !lastVersion))
log(
format(
'Вызов через внешнее соединение ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы({0})',
!lastVersion))
connection.ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы(!lastVersion)
connection = null
CollectGarbage()
} catch (e) {
connection = null
CollectGarbage() // предотвращает исключение out of memory
CollectGarbage()
log(format('Исключение при вызове ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы: {0}, {1}.', e.name, e.message), true)
return 2
}
return 0
} else {
var result = runApp(v8client, format('ENTERPRISE {0} {1} /CВыполнитьОбновлениеИЗавершитьРаботу', infoBasePath, infoBaseAuthorization), SW_SHOW, true)
var result = runApp(
v8client,
format(
'ENTERPRISE {0} {1} /AllowExecuteScheduledJobs -Off /C"ВыполнитьОбновлениеИЗавершитьРаботу;РегламентныеЗаданияОтключены"',
infoBasePath,
infoBaseAuthorization),
SW_SHOW,
true)
if (result === 0 && oFileSystemObject.FileExists(errorFileName)) {
result = 1
}
@@ -403,7 +419,7 @@ function doExecuteUpdate (lastVersion) {
function executeUpdate (lastVersion) {
var result = doExecuteUpdate(lastVersion)
ComConnection = null
CollectGarbage() // освобождает соединения с COM-объектом
CollectGarbage()
return result
}
@@ -475,7 +491,7 @@ function doDisconnectAndBlockUsersHTA (connection) {
}
}
} catch (e) {
CollectGarbage() // предотвращает исключение out of memory
CollectGarbage()
log(format('Исключение при вызове doDisconnectAndBlockUsersHTA: {0}, {1}.', e.name, e.message), true)
result = 2
}
@@ -505,7 +521,7 @@ function disconnectAndBlockUsersHTA () {
if (result !== -1) {
connection = null
ComConnection = null
CollectGarbage() // освобождает соединения с COM-объектом
CollectGarbage()
log('Завершен сеанс внешнего соединения с ИБ', false)
}
}
@@ -570,8 +586,13 @@ function doDisconnectAndBlockUsers () {
return 3
}
} catch (e) {
CollectGarbage() // предотвращает исключение out of memory
log(format('Исключение при вызове doDisconnectAndBlockUsers: {0}, {1}.', e.name, e.message), true)
CollectGarbage()
log(
format(
'Исключение при вызове doDisconnectAndBlockUsers: {0}, {1}.',
e.name,
e.message),
true)
return 2
}
return 0
@@ -595,7 +616,7 @@ function disconnectAndBlockUsers () {
}
ComConnection = null
CollectGarbage() // освобождает соединения с COM-объектом
CollectGarbage()
WScript.Sleep(1000) // ждем 1 секунду (достаточно для завершения COM-соединения).
if (result === 0 && doBlockUsers) {
@@ -607,8 +628,16 @@ function disconnectAndBlockUsers () {
// Загрузка файла обновления в основную базу
function loadCfg (fileName) {
// /LoadCfg<имя cf файла> (для базовых версий не используется) загрузка конфигурации из файла
var ret = runApp(v8conf, format('CONFIG {0} {1} /LoadCfg "{2}" /Out "{3}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs',
infoBasePath, infoBaseAuthorization, fileName, tempLogFileName), SW_SHOW, true)
var ret = runApp(
v8conf,
format(
'CONFIG {0} {1} /LoadCfg "{2}" /Out "{3}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs',
infoBasePath,
infoBaseAuthorization,
fileName,
tempLogFileName),
SW_SHOW,
true)
appendLog()
return ret
}
@@ -616,8 +645,16 @@ function loadCfg (fileName) {
// Загрузка файла обновления в основную базу
function updateCfg (fileName) {
// /UpdateCfg<имя cf | cfu файла> обновление конфигурации, находящейся на поддержке
var ret = runApp(v8conf, format('CONFIG {0} {1} /UpdateCfg "{2}" /Out "{3}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs',
infoBasePath, infoBaseAuthorization, fileName, tempLogFileName), SW_SHOW, true)
var ret = runApp(
v8conf,
format(
'CONFIG {0} {1} /UpdateCfg "{2}" /Out "{3}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs',
infoBasePath,
infoBaseAuthorization,
fileName,
tempLogFileName),
SW_SHOW,
true)
appendLog()
return ret
}
@@ -625,8 +662,15 @@ function updateCfg (fileName) {
// Обновление конфигурации информационной базы
function updateDbCfg () {
// /UpdateDBCfg - обновление конфигурации базы данных
var ret = runApp(v8conf, format('CONFIG {0} {1} /UpdateDBCfg -server /Out "{2}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs',
infoBasePath, infoBaseAuthorization, tempLogFileName), SW_SHOW, true)
var ret = runApp(
v8conf,
format(
'CONFIG {0} {1} /UpdateDBCfg -server /Out "{2}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs',
infoBasePath,
infoBaseAuthorization,
tempLogFileName),
SW_SHOW,
true)
appendLog()
return ret
}
@@ -637,8 +681,15 @@ function compressDB () {
return 0
}
var ret = runApp(v8conf, format('CONFIG {0} {1} /IBCheckAndRepair -IBCompression /Out "{2}" /DisableStartupMessages /DisableStartupDialogs',
infoBasePath, infoBaseAuthorization, tempLogFileName), SW_SHOW, true)
var ret = runApp(
v8conf,
format(
'CONFIG {0} {1} /IBCheckAndRepair -IBCompression /Out "{2}" /UCПакетноеОбновлениеКонфигурацииИБ /DisableStartupMessages /DisableStartupDialogs',
infoBasePath,
infoBaseAuthorization,
tempLogFileName),
SW_SHOW,
true)
appendLog()
return ret
}
@@ -656,10 +707,17 @@ function doDeferredHandlers () {
try {
log('Вызов через внешнее соединение ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновлениеСейчас())')
connection.ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновлениеСейчас()
connection = null
CollectGarbage()
} catch (e) {
connection = null
CollectGarbage() // предотвращает исключение out of memory
log(format('Исключение при вызове ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновлениеСейчас: {0}, {1}.', e.name, e.message), true)
CollectGarbage()
log(
format(
'Исключение при вызове ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенноеОбновлениеСейчас: {0}, {1}.',
e.name,
e.message),
true)
return 2
}
return 0
@@ -670,7 +728,7 @@ function runDeferredHandlers () {
var result = doDeferredHandlers()
connection = null
ComConnection = null
CollectGarbage() // освобождает соединения с COM-объектом
CollectGarbage()
return result
}
@@ -697,9 +755,35 @@ function fromUnicode (text) {
// Интерактивный запуск "1С:Предприятие"
function runEnterprise () {
if (startEnterprise) {
return runApp(v8client, format('ENTERPRISE {0} {1}', infoBasePath, infoBaseAuthorization), SW_SHOW, false)
return runApp(
v8client,
format(
'ENTERPRISE {0} {1}',
infoBasePath,
infoBaseAuthorization),
SW_SHOW,
false)
}
return 0
}
function addDeletePatches () {
var fixFileNamesString = fixFileNames.join('\n')
var removeFixNamesString = removeFixNames.join('\n')
var result = runApp(
'wscript.exe',
format(
'{0}/add-delete-patches.js /ConnectionString:"{1}" /COMConnectorName:"{2}" /FixFileNames:"{3}" /RemoveFixNames:"{4}"',
thisFileDir,
connectionString.replace(/"/g, '\''),
comConnectorName,
fixFileNamesString,
removeFixNamesString
),
SW_HIDE,
true)
return result
}
#КонецОбласти
@@ -0,0 +1,19 @@
'use strict'
// Example:
// wscript.exe <this-file> /ConnectionString:"File=""C:\1c\db\ssl\master"";Usr=""Администратор"";Pwd=""" /COMConnectorName:"v83.COMConnector" /FixFileNames:"" /RemoveFixNames:"e16605f0-ddc8-4ed2-be25-d572043a1a32"
try {
var ConnectionString = WScript.Arguments.Named.Item('ConnectionString')
var COMConnectorName = WScript.Arguments.Named.Item('COMConnectorName')
var fixFileNames = WScript.Arguments.Named.Item('FixFileNames')
var removeFixNames = WScript.Arguments.Named.Item('RemoveFixNames')
var COMConnector = new ActiveXObject(COMConnectorName)
var connection = COMConnector.Connect(ConnectionString)
connection.ОбновлениеКонфигурации.ОбновитьИсправленияИзСкрипта(fixFileNames, removeFixNames)
} catch (ex) {
WScript.Echo(ex.message)
WScript.Quit(1)
}
@@ -214,14 +214,6 @@
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<templates uuid="1528b799-1c0f-4244-85e8-e738b827934a">
<name>МакетФайлаОбновленияКонфигурации</name>
<synonym>
<key>ru</key>
<value>Макет файла обновления конфигурации</value>
</synonym>
<templateType>TextDocument</templateType>
</templates>
<templates uuid="45d79e4d-8c2a-432b-abb8-fb9046abea40">
<name>ДопФайлОбновленияКонфигурации</name>
<synonym>
@@ -238,6 +230,14 @@
</synonym>
<templateType>TextDocument</templateType>
</templates>
<templates uuid="1528b799-1c0f-4244-85e8-e738b827934a">
<name>МакетФайлаОбновленияКонфигурации</name>
<synonym>
<key>ru</key>
<value>Макет файла обновления конфигурации</value>
</synonym>
<templateType>TextDocument</templateType>
</templates>
<templates uuid="cb73c8c2-3b09-42e9-ac26-1bd51854efb6">
<name>НеинтерактивноеОбновлениеКонфигурации</name>
<synonym>
@@ -254,4 +254,12 @@
</synonym>
<templateType>TextDocument</templateType>
</templates>
<templates uuid="71e52f63-04db-4336-ace6-b143d0a7d250">
<name>СкриптУдаленияПатчей</name>
<synonym>
<key>ru</key>
<value>Скрипт удаления патчей</value>
</synonym>
<templateType>TextDocument</templateType>
</templates>
</mdclass:DataProcessor>
@@ -48,5 +48,6 @@
<types>ConstantValueManager.ИспользоватьНесколькоПроизводственныхКалендарей</types>
<types>ConstantValueManager.ИспользоватьВерсионированиеОбъектов</types>
<types>ConstantValueManager.ОтправлятьПисьмаВФорматеHTML</types>
<types>ConstantValueManager.ИспользоватьСкрытиеПерсональныхДанныхСубъектов</types>
</type>
</mdclass:DefinedType>
@@ -1791,10 +1791,22 @@
Элементы.СтраницыТекстПисьма.ТекущаяСтраница = Элементы.СтраницаФорматированныйДокумент;
Объект.ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.HTML;
Если Не Объект.Ссылка.Пустая() Или ЗначениеЗаполнено(Объект.ТекстHTML) Тогда
СтруктураВложений = Новый Структура;
Объект.ТекстHTML = Взаимодействия.ОбработатьТекстHTMLДляФорматированногоДокумента(
Объект.Ссылка, Объект.ТекстHTML, СтруктураВложений);
ТекстПисьмаФорматированныйДокумент.УстановитьHTML(Объект.ТекстHTML, СтруктураВложений);
Если ЭтоАдресВременногоХранилища(Объект.ТекстHTML) Тогда
ТелоПисьмаHTML = ПолучитьИзВременногоХранилища(Объект.ТекстHTML);
Объект.ТекстHTML = ТелоПисьмаHTML.ТекстHTML;
ТекстПисьмаФорматированныйДокумент.УстановитьHTML(ТелоПисьмаHTML.ТекстHTML, ТелоПисьмаHTML.СтруктураВложений);
Объект.ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.HTMLСКартинками;
Объект.Текст = ТекстПисьмаФорматированныйДокумент.ПолучитьТекст();
Иначе
СтруктураВложений = Новый Структура;
Объект.ТекстHTML = Взаимодействия.ОбработатьТекстHTMLДляФорматированногоДокумента(
Объект.Ссылка, Объект.ТекстHTML, СтруктураВложений);
ТекстПисьмаФорматированныйДокумент.УстановитьHTML(Объект.ТекстHTML, СтруктураВложений);
КонецЕсли;
ИначеЕсли Объект.Ссылка.Пустая() И ПараметрыРаботыПользователяПользователя.Подпись <> Неопределено Тогда
ДобавитьФорматированныйДокументКФорматированномуДокументу(ТекстПисьмаФорматированныйДокумент, ПараметрыРаботыПользователяПользователя.Подпись);
КонецЕсли;
@@ -228,11 +228,25 @@
Если ТипЗнч(Сообщение.Вложения) <> Неопределено Тогда
Для каждого Вложение Из Сообщение.Вложения Цикл
Если ЗначениеЗаполнено(Вложение.Идентификатор) Тогда
Изображение = Новый Картинка(ПолучитьИзВременногоХранилища(Вложение.АдресВоВременномХранилище));
СтруктураВложений.Вставить(Вложение.Представление, Изображение);
РезультатТекст = СтрЗаменить(РезультатТекст, "cid:" + Вложение.Идентификатор, Вложение.Представление);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ПисьмоHTML Тогда
ТекстHTML = РезультатТекст;
Если СтруктураВложений.Количество() > 0 Тогда
// "Прокидываем" вложенные картинки.
ТелоПисьма = Новый Структура();
ТелоПисьма.Вставить("ТекстHTML", РезультатТекст);
ТелоПисьма.Вставить("СтруктураВложений", СтруктураВложений);
ТекстHTML = ПоместитьВоВременноеХранилище(ТелоПисьма);
Иначе
ТекстHTML = РезультатТекст;
КонецЕсли;
ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.HTML;
Иначе
Текст = РезультатТекст;
@@ -2575,93 +2575,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>
@@ -5250,6 +5163,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ОценкаПроизводительности.Command.НастройкиОценкиПроизводительности</name>
<right>
@@ -21,37 +21,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
@@ -107,6 +76,37 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -3427,45 +3427,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>
@@ -6895,6 +6856,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>DataProcessor.ОценкаПроизводительности.Command.НастройкиОценкиПроизводительности</name>
<right>
@@ -3,6 +3,13 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -34,13 +41,6 @@
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации</name>
<right>