3_1_2_306

This commit is contained in:
Компания 1С committed 2020-03-05 22:31:00 +03:00
1 parent 1428982b8b
commit 95e469c22f
51 files changed
+944 -636

No files matched your search

@@ -1948,13 +1948,13 @@
ВариантыОтчетов.ТипОтчета,
ВариантыОтчетов.Автор,
ВЫБОР
КОГДА &ЭтоОсновнойЯзык
И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = ""
КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> ""
ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = ""
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000))
КОГДА НЕ &ЭтоОсновнойЯзык
И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = ""
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание) КАК СТРОКА(1000))
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ПредставленияВариантов.Описание, 1, 1) <> ""
ТОГДА ВЫРАЗИТЬ(ПредставленияВариантов.Описание КАК СТРОКА(1000))
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание), ВариантыОтчетов.Описание) КАК СТРОКА(1000))
КОНЕЦ КАК Описание,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ВариантыОтчетов.Отчет) = ТИП(Справочник.ИдентификаторыОбъектовМетаданных)
@@ -291,10 +291,8 @@
&НаСервере
Процедура ЗаполнитьИзПредопределенного(ВариантОбъект)
ЭтоПредопределенный = Не ВариантОбъект.Пользовательский
И (ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний
Или ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Расширение)
И ЗначениеЗаполнено(ВариантОбъект.ПредопределенныйВариант);
ЭтоПредопределенный = ВариантыОтчетов.ЭтоПредопределенныйВариантОтчета(ВариантОбъект);
Если Не ЭтоПредопределенный Тогда
Возврат;
КонецЕсли;
@@ -127,14 +127,10 @@
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ЭтоПредопределенный = Не Данные.Пользовательский
И (Данные.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний
Или Данные.ТипОтчета = Перечисления.ТипыОтчетов.Расширение)
И ЗначениеЗаполнено(Данные.ПредопределенныйВариант);
Если ЭтоПредопределенный Тогда
Если ВариантыОтчетовВызовСервера.ЭтоПредопределенныйВариантОтчета(Данные) Тогда
Данные.Ссылка = Данные.ПредопределенныйВариант;
КонецЕсли;
МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
КонецПроцедуры
@@ -91,7 +91,7 @@
<div><strong>Без ограничения срока </strong>- бессрочный доступ, только для этого пользователя;</div>
</li>
<li>
<div><strong>Вход разрешен до</strong> (установите срок - введите дату вручную или выберите из календаря с помощью кнопки <img src="StdPicture.InputFieldCalendar"></img>). Для защиты от несанкционированного доступа к программу у всех пользователей добавлен <strong>Срок действия</strong>, который позволяет автоматически отключить пользователя по достижению указанной даты;</div>
<div><strong>Вход разрешен до</strong> (установите срок - введите дату вручную или выберите из календаря с помощью кнопки <img src="StdPicture.InputFieldCalendar"></img>). Для защиты от несанкционированного доступа к программу у всех пользователей добавлен <strong>Срок действия</strong>, который позволяет автоматически отключить пользователя по достижении указанной даты;</div>
</li>
<li>
<div><strong>Запретить вход, если не работает более</strong> (укажите количество дней) - если пользователь не войдет в программу больше указанного количества дней, то вход в программу будет невозможен. </div>
@@ -431,38 +431,31 @@
КонецПроцедуры
// АПК:299-выкл Конструктор для типизации кода.
// Конструктор данных строки таблицы НайденныеКонтакты.
// Возвращает данные строки таблицы Найденные контакты.
//
// Параметры:
// ВыделеннаяСтрока - ДанныеФормыЭлементКоллекции - строка, данные которой получаются.
//
// Возвращаемое значение:
// Структура - Описание:
// Структура - содержит:
// * НаименованиеКонтакта - Строка -
// * ИмяСправочника - Строка -
// * Представление - Строка -
// * Ссылка - ОпределяемыйТип.КонтактВзаимодействия -
//
&НаКлиенте
Функция ДанныеСтрокиНайденныеКонтакты()
Функция ДанныеСтрокиНайденныеКонтакты(ВыделеннаяСтрока)
Данные = Новый Структура;
Данные.Вставить("Ссылка", Неопределено);
Данные.Вставить("Представление", "");
Данные.Вставить("ИмяСправочника", "");
Данные.Вставить("НаименованиеКонтакта", "");
Возврат Данные;
Возврат Элементы.НайденныеКонтакты.ДанныеСтроки(ВыделеннаяСтрока);
КонецФункции
// АПК:299-вкл Конструктор для типизации кода.
&НаКлиенте
Процедура ВключитьВСписокПолучателей(Команда)
Если Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов Тогда
Для каждого ВыделеннаяСтрока Из Элементы.НайденныеКонтакты.ВыделенныеСтроки Цикл
ДанныеСтроки = Элементы.НайденныеКонтакты.ДанныеСтроки(ВыделеннаяСтрока); // см. ДанныеСтрокиНайденныеКонтакты
ДанныеСтроки = ДанныеСтрокиНайденныеКонтакты(ВыделеннаяСтрока);
ДобавитьПолучателя(ДанныеСтроки.Представление, ДанныеСтроки.НаименованиеКонтакта, ДанныеСтроки.Ссылка);
КонецЦикла;
Возврат;
@@ -180,9 +180,10 @@
КонецПроцедуры
// АПК:299-выкл Конструктор для типизации кода
// Конструктор данных строки таблицы КонтактыПоПредмету.
// Возвращает данные строки таблицы Контакты по предмету.
//
// Параметры:
// ВыделеннаяСтрока - ДанныеФормыЭлементКоллекции - строка, данные которой получаются.
//
// Возвращаемое значение:
// Структура - Описание:
@@ -192,26 +193,18 @@
// * ПредставлениеНаименования - Строка -
//
&НаКлиенте
Функция ДанныеКонтактыПоПредмету()
Функция ДанныеКонтактыПоПредмету(ВыделеннаяСтрока);
Данные = Новый Структура;
Данные.Вставить("Ссылка", Неопределено);
Данные.Вставить("Наименование", "");
Данные.Вставить("ИмяСправочника", "");
Данные.Вставить("ПредставлениеНаименования", "");
Возврат Данные;
Возврат ВыделеннаяСтрока;
КонецФункции
// АПК:299-вкл Конструктор для типизации кода
&НаКлиенте
Процедура КомандаВыбрать(Команда)
Если Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов Тогда
ТекущиеДанные = Элементы.НайденныеКонтакты.ТекущиеДанные; // см. ДанныеКонтактыПоПредмету
ТекущиеДанные = ДанныеКонтактыПоПредмету(Элементы.НайденныеКонтакты.ТекущиеДанные);
Если ТекущиеДанные <> Неопределено Тогда
Оповестить("ВыбранКонтакт", ПараметрыОповещения(ТекущиеДанные.Ссылка));
Закрыть();
@@ -221,7 +214,7 @@
ИначеЕсли Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаВсеКонтактыПоПредмету Тогда
ТекущиеДанные = Элементы.КонтактыПоПредмету.ТекущиеДанные; // см. ДанныеКонтактыПоПредмету
ТекущиеДанные = ДанныеКонтактыПоПредмету(Элементы.КонтактыПоПредмету.ТекущиеДанные);
Если ТекущиеДанные <> Неопределено Тогда
Оповестить("ВыбранКонтакт", ПараметрыОповещения(ТекущиеДанные.Ссылка));
Закрыть();
@@ -235,7 +228,7 @@
Для инд = 0 По Элементы.СтраницыСписки.ТекущаяСтраница.ПодчиненныеЭлементы.Количество() -1 Цикл
ТекущиеДанные = Элементы.СтраницыСписки.ТекущаяСтраница.ПодчиненныеЭлементы[инд].ТекущиеДанные; // см. ДанныеКонтактыПоПредмету
ТекущиеДанные = ДанныеКонтактыПоПредмету(Элементы.СтраницыСписки.ТекущаяСтраница.ПодчиненныеЭлементы[инд].ТекущиеДанные);
Если ТекущиеДанные = Неопределено Тогда
Продолжить;
Иначе
@@ -304,7 +304,7 @@
КонецПроцедуры
&НаКлиенте
Процедура СохранитьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено)
Процедура СохранитьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
РезультатВыбора = Новый Массив;
ЕстьКонтактнаяИнформацияДляИзменения = Ложь;
@@ -342,9 +342,10 @@
КонецПроцедуры
// АПК:299-выкл Конструктор для типизации кода
// Конструктор данных строки таблицы НайденныеКонтакты.
// Возвращает данные строки таблицы Найденные контакты.
//
// Параметры:
// ВыделеннаяСтрока - ДанныеФормыЭлементКоллекции - строка, данные которой получаются.
//
// Возвращаемое значение:
// Структура - Описание:
@@ -353,21 +354,13 @@
// * Представление - Строка -
// * Ссылка - ОпределяемыйТип.КонтактВзаимодействия -
//
&НаКлиенте
Функция ДанныеСтрокиНайденныеКонтакты() Экспорт
&НаСервере
Функция ДанныеСтрокиНайденныеКонтакты(ВыделеннаяСтрока)
Данные = Новый Структура;
Данные.Вставить("Ссылка", Неопределено);
Данные.Вставить("Представление", "");
Данные.Вставить("НаименованиеВладельца", "");
Данные.Вставить("Наименование", "");
Возврат Данные;
Возврат ВыделеннаяСтрока;
КонецФункции
// АПК:299-вкл Конструктор для типизации кода
&НаСервере
Процедура ЗаполнитьСпискиНайденныхКонтактовПоEmail()
@@ -404,7 +397,7 @@
Для Каждого Группа Из Группа.Строки Цикл
СтрокаГруппы = Группа; // см. ДанныеСтрокиНайденныеКонтакты
СтрокаГруппы = ДанныеСтрокиНайденныеКонтакты(Группа);
Если СтрокаТаблицы.СписокНайденныхКонтактов.НайтиПоЗначению(Группа.Контакт) = Неопределено Тогда
ПредставлениеКонтакта = СтрокаГруппы.Наименование + ?(ПустаяСтрока(СтрокаГруппы.НаименованиеВладельца), "", " (" + СтрокаГруппы.НаименованиеВладельца + ")");
СтрокаТаблицы.СписокНайденныхКонтактов.Добавить(СтрокаГруппы.Контакт, ПредставлениеКонтакта);
@@ -1444,7 +1444,13 @@
&НаКлиенте
Процедура СтруктураВарианта_СохранитьВФайл(Команда)
Адрес = АдресНастроекВСтрокеXML();
ПолучитьФайл(Адрес, НСтр("ru = 'Настройки.xml'"), Истина);
ИмяФайла = НСтр("ru = 'Настройки.xml'");
ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайла();
ПараметрыСохранения.Диалог.Заголовок = НСтр("ru = 'Выберите файл для сохранения настроек отчета'");
ПараметрыСохранения.Диалог.Фильтр = НСтр("ru = 'Настройки отчета (*.xml)|*.xml'");
ФайловаяСистемаКлиент.СохранитьФайл(Неопределено, Адрес, ИмяФайла, ПараметрыСохранения);
КонецПроцедуры
&НаСервере
@@ -3760,7 +3766,7 @@
КонецЕсли;
Строка.Идентификатор = СвойствоЭлементаСтруктуры.ПолучитьИдентификаторПоОбъекту(Узел);
Строка.ФлажокДоступен = Истина;
Строка.ФлажокДоступен = (РасширенныйРежим = 1 Или ЭлементПользовательскойНастройки <> Неопределено);
СвойстваЭлемента = СвойстваЭлементаКоллекцииСтруктуры(Элемент);
ЗаполнитьЗначенияСвойств(Строка, СвойстваЭлемента);
@@ -1460,7 +1460,7 @@
&НаСервере
Процедура ЗагрузитьВариант(КлючВарианта)
Если Не РежимРасшифровки Тогда
Если Не РежимРасшифровки И Не ВариантМодифицирован Тогда
// Сохранение текущих пользовательских настроек.
ОбщегоНазначения.ХранилищеСистемныхНастроекСохранить(
НастройкиОтчета.ПолноеИмя + "/" + КлючТекущегоВарианта + "/ТекущиеПользовательскиеНастройки",
@@ -62,7 +62,7 @@
Функция КодРегионаПоНаименованию(Название) Экспорт
СписокРегионов = АдресныйКлассификаторПовтИсп.СписокРегионов();
КодСубъектаРФ = СписокРегионов.Получить(Название);
КодСубъектаРФ = СписокРегионов.Получить(ВРег(Название));
Если КодСубъектаРФ <> Неопределено Тогда
Возврат КодСубъектаРФ;
@@ -255,8 +255,8 @@
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Результат.Вставить(ВыборкаДетальныеЗаписи.Наименование, ВыборкаДетальныеЗаписи.КодСубъектаРФ);
Результат.Вставить(ВыборкаДетальныеЗаписи.ПолноеНаименование, ВыборкаДетальныеЗаписи.КодСубъектаРФ);
Результат.Вставить(ВРег(ВыборкаДетальныеЗаписи.Наименование), ВыборкаДетальныеЗаписи.КодСубъектаРФ);
Результат.Вставить(ВРег(ВыборкаДетальныеЗаписи.ПолноеНаименование), ВыборкаДетальныеЗаписи.КодСубъектаРФ);
КонецЦикла;
Возврат Новый ФиксированноеСоответствие(Результат);
@@ -4172,7 +4172,8 @@
АдресГородовФедеральногоЗначения = Новый Соответствие;
Для Каждого ЭлементПроверки Из Адреса Цикл
Если Результаты[ЭлементПроверки.Ключ].Ошибки.Количество() > 0
Если Результаты[ЭлементПроверки.Ключ].АдресПроверен = Ложь
И Результаты[ЭлементПроверки.Ключ].Ошибки.Количество() > 0
И ЭтоГородФедеральногоЗначения(ЭлементПроверки.Значение)
И ЭтоМуниципальныйАдрес(ЭлементПроверки.Значение.addressType) Тогда
@@ -327,19 +327,21 @@
//
// Параметры:
// Настройки - см. ВариантыОтчетов.КоллекцияПредопределенныхВариантовОтчетов
// ОтчетИлиПодсистема - СтрокаДереваЗначений, ОбъектМетаданных: Отчет, ОбъектМетаданных: Подсистема -
// Описание отчета или подсистемы, для которой устанавливается режим вывода.
// ОтчетИлиПодсистема - СтрокаДереваЗначений, ОбъектМетаданныхОтчет, ОбъектМетаданныхПодсистема - Описание отчета
// или подсистемы, для которой устанавливается режим вывода.
// Когда передана подсистема режим устанавливается рекурсивно для всех отчетов из ее состава.
// ГруппироватьПоОтчетам - Булево, Строка - режим вывода гиперссылок этого отчета в панели отчетов:
// * Истина, "ПоОтчетам" - варианты группируются по отчету.
// * Истина - варианты группируются по отчету.
// По умолчанию в панелях отчетов выводится только основной вариант отчета,
// а все прочие варианты этого отчета выводятся "под" основным и по умолчанию скрыты
// (но могут быть найдены поиском или включены при помощи флажков в режиме настройки).
// Основным вариантом считается первый предопределенный вариант в схеме отчета.
// Этот режим появился в версии 2.2.2 и позволяет уменьшить количество гиперссылок, выводимых в панелях отчетов.
// * Ложь, "ПоВариантам" - все варианты отчета считаются самостоятельными,
// * Ложь - все варианты отчета считаются самостоятельными,
// по умолчанию видны и выводятся независимо в панелях отчетов.
// Этот режим использовался в версии 2.2.1 и ранее.
// * "ПоОтчетам" - см. описание к значению Истина.
// * "ПоВариантам" - см. описание к значению Ложь.
//
Процедура УстановитьРежимВыводаВПанеляхОтчетов(Настройки, ОтчетИлиПодсистема, ГруппироватьПоОтчетам) Экспорт
@@ -540,19 +542,19 @@
// Сбрасывает пользовательские настройки указанных отчетов.
//
// Параметры:
// Ключ - ОбъектМетаданных: Отчет - метаданные отчета, для которого требуется сбросить настройки.
// Ключ - ОбъектМетаданныхОтчет - метаданные отчета, для которого требуется сбросить настройки.
// - СправочникСсылка.ВариантыОтчетов - вариант отчета, для которого требуется сбросить настройки.
// - Строка - полное имя варианта отчета, для которого требуется сбросить настройки.
// Заполняется в формате "<ИмяОтчета>/<ИмяВарианта>".
// Если передать "*", то будут сброшены настройки всех отчетов конфигурации.
// ТипыНастроек - Структура - необязательный. Типы пользовательских настроек, которые требуется сбросить.
// Ключи структуры тоже являются необязательными. Значение по умолчанию указано в скобках.
// * ЭлементОтбора - Булево - (Ложь) сбрасывать настройку "ЭлементОтбораКомпоновкиДанных".
// * ЗначениеПараметраНастроек - Булево - (Ложь) сбрасывать настройку "ЗначениеПараметраНастроекКомпоновкиДанных".
// * ВыбранныеПоля - Булево - (берется из ключа Прочие) сбрасывать настройку "ВыбранныеПоляКомпоновкиДанных".
// * Порядок - Булево - (берется из ключа Прочие) сбрасывать настройку "ПорядокКомпоновкиДанных".
// * ЭлементУсловногоОформления - Булево - (берется из ключа Прочие) сбрасывать настройку "ЭлементУсловногоОформленияКомпоновкиДанных".
// * Прочие - Булево - (Истина) сбрасывать прочие настройки, не описанные в структуре явно.
// * ЭлементОтбора - Булево - если Ложь, то сбрасывается настройка "ЭлементОтбораКомпоновкиДанных".
// * ЗначениеПараметраНастроек - Булево - если Ложь, то сбрасывается настройка "ЗначениеПараметраНастроекКомпоновкиДанных".
// * ВыбранныеПоля - Булево - признак необходимости сброса настройки "ВыбранныеПоляКомпоновкиДанных" (возвращается из ключа Прочие).
// * Порядок - Булево - признак необходимости сброса настройки "ПорядокКомпоновкиДанных" (возвращается из ключа Прочие).
// * ЭлементУсловногоОформления - Булево - признак необходимости сброса настройки "ЭлементУсловногоОформленияКомпоновкиДанных" (возвращается из ключа Прочие).
// * Прочие - Булево - если Истина, то сбрасываются прочие настройки, не описанные в структуре явно.
//
Процедура СброситьПользовательскиеНастройки(Ключ, ТипыНастроек = Неопределено) Экспорт
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(
@@ -1392,7 +1394,9 @@
Настройки.Вставить("РазделенныеДанные", Истина);
Настройки.Вставить("Оперативное", Истина);
Настройки.Вставить("Отложенное", Ложь);
Настройки.Вставить("ИндексироватьСхему",Ложь); //
Настройки.Вставить("ИндексироватьСхему", Ложь);
Настройки.Вставить("ЗаполнятьПредставления", Истина);
Если ОбщегоНазначения.РазделениеВключено() Тогда
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Настройки.ОбщиеДанные = Ложь;
@@ -1404,6 +1408,7 @@
КонецЕсли;
Настройки.Расширения = Настройки.РазделенныеДанные;
Возврат Настройки;
КонецФункции
@@ -1520,7 +1525,10 @@
КонецЕсли;
КонецЕсли;
Если Настройки.ЗаполнятьПредставления Тогда
ЗапланироватьЗаполнениеПредставлений();
КонецЕсли;
Возврат Результат;
КонецФункции
@@ -4179,7 +4187,7 @@
Запрос = Новый Запрос;
// АПК:1377-выкл Рекизит Отчет состоит из четырех типов и для данного сценария разыменование не критично.
// АПК:1377-выкл Реквизит Отчет состоит из четырех типов и для данного сценария разыменование не критично.
ТекстЗапроса =
"ВЫБРАТЬ
| ВариантыОтчетов.Ссылка КАК Ссылка
@@ -4431,22 +4439,27 @@
ПараметрыОбновления = ПараметрыОбновленияНастроек();
ПараметрыОбновления.Отложенное = Истина;
ПараметрыОбновления.ЗаполнятьПредставления = Ложь;
Обновить(ПараметрыОбновления);
Если ИндексТекущегоЯзыка < Языки.Количество() - 1 Тогда
Если ИндексТекущегоЯзыка < Языки.ВГраница() Тогда
ЗапланироватьЗаполнениеПредставлений(Языки, ИндексТекущегоЯзыка + 1);
Возврат;
КонецЕсли;
Задания = РегламентныеЗадания.ПолучитьРегламентныеЗадания(
Новый Структура("Метаданные", Метаданные.РегламентныеЗадания.ОбновлениеПредопределенныхВариантовОтчетов));
Для каждого ЗаполнениеПредставлений Из Задания Цикл
ЗаполнениеПредставлений.Удалить();
МетаданныеЗадания = Метаданные.РегламентныеЗадания.ОбновлениеПредопределенныхВариантовОтчетов;
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Новый Структура("Метаданные", МетаданныеЗадания));
Для Каждого Задание Из Задания Цикл
Задание.Удалить();
КонецЦикла;
КонецПроцедуры
Процедура ЗапланироватьЗаполнениеПредставлений(Знач КодыЯзыков = Неопределено, Знач ИндексЯзыка = 0)
Процедура ЗапланироватьЗаполнениеПредставлений(Знач Языки = Неопределено, Знач ИндексТекущегоЯзыка = 0)
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Возврат;
@@ -4456,40 +4469,93 @@
Возврат;
КонецЕсли;
Если КодыЯзыков = Неопределено Тогда
КодыЯзыков = Новый Массив;
Для каждого Язык Из Метаданные.Языки Цикл
Если Язык <> ТекущийЯзык() Тогда
КодыЯзыков.Добавить(Язык.КодЯзыка);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ИндексЯзыка >= КодыЯзыков.Количество() Тогда
ПараметрыЗаполнения = ПараметрыЗаполненияПредставленийВариантовОтчетов(Языки, ИндексТекущегоЯзыка);
Если ПараметрыЗаполнения = Неопределено Тогда
Возврат;
КонецЕсли;
КодЯзыка = КодыЯзыков[ИндексЯзыка];
ОтборЗаданий = Новый Структура("Метаданные, Ключ");
ЗаполнитьЗначенияСвойств(ОтборЗаданий, ПараметрыЗаполнения);
СлужебныйПользователь = СлужебныйПользователь(КодЯзыка);
Если СлужебныйПользователь = Неопределено Тогда
Задания = РегламентныеЗаданияСервер.НайтиЗадания(ОтборЗаданий);
ЗаполнениеПредставлений = ?(Задания.Количество() = 0, Неопределено, Задания[0]);
Если ЗаполнениеПредставлений = Неопределено Тогда
ЗаполнениеПредставлений = РегламентныеЗаданияСервер.ДобавитьЗадание(ПараметрыЗаполнения);
Возврат;
ИначеЕсли ЗаполнениеПредставлений.Использование Тогда
Возврат;
КонецЕсли;
ЗаполнениеПредставлений = РегламентныеЗадания.СоздатьРегламентноеЗадание(
Метаданные.РегламентныеЗадания.ОбновлениеПредопределенныхВариантовОтчетов);
ЗаполнениеПредставлений.ИмяПользователя = СлужебныйПользователь;
ЗаполнениеПредставлений.Наименование = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Заполнение представлений предопределенных вариантов отчетов для языка %1'"), Строка(КодЯзыка));
ЗаполнениеПредставлений.Параметры.Добавить(КодыЯзыков);
ЗаполнениеПредставлений.Параметры.Добавить(ИндексЯзыка);
ЗаполнениеПредставлений.Использование = Истина;
ЗаполнениеПредставлений.Расписание.ВремяНачала = ТекущаяДатаСеанса() + 60;
ЗаполнитьЗначенияСвойств(ЗаполнениеПредставлений, ПараметрыЗаполнения);
ЗаполнениеПредставлений.Записать();
КонецПроцедуры
Функция ПараметрыЗаполненияПредставленийВариантовОтчетов(Языки = Неопределено, ИндексТекущегоЯзыка = 0)
Если Языки = Неопределено Тогда
Языки = ЯзыкиПредставленийВариантовОтчетовДляЗаполнения();
КонецЕсли;
Если ИндексТекущегоЯзыка > Языки.ВГраница() Тогда
Возврат Неопределено;
КонецЕсли;
КодЯзыка = Языки[ИндексТекущегоЯзыка];
СлужебныйПользователь = СлужебныйПользователь(КодЯзыка);
Если СлужебныйПользователь = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
МетаданныеЗадания = Метаданные.РегламентныеЗадания.ОбновлениеПредопределенныхВариантовОтчетов;
КлючЗадания = "ЗаполнениеПредставленийВариантовОтчетовДляЯзыка" + ВРег(КодЯзыка);
НаименованиеЗадания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Заполнение представлений предопределенных вариантов отчетов для языка %1'"), КодЯзыка);
ПараметрыЗадания = Новый Массив;
ПараметрыЗадания.Добавить(Языки);
ПараметрыЗадания.Добавить(ИндексТекущегоЯзыка);
РасписаниеЗадания = Новый РасписаниеРегламентногоЗадания;
РасписаниеЗадания.ВремяНачала = ТекущаяДатаСеанса() + 60;
ПараметрыЗаполнения = Новый Структура;
ПараметрыЗаполнения.Вставить("Метаданные", МетаданныеЗадания);
ПараметрыЗаполнения.Вставить("ИмяПользователя", СлужебныйПользователь);
ПараметрыЗаполнения.Вставить("Ключ", КлючЗадания);
ПараметрыЗаполнения.Вставить("Наименование", НаименованиеЗадания);
ПараметрыЗаполнения.Вставить("Параметры", ПараметрыЗадания);
ПараметрыЗаполнения.Вставить("Расписание", РасписаниеЗадания);
ПараметрыЗаполнения.Вставить("Использование", Истина);
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ЯзыкиПредставленийВариантовОтчетовДляЗаполнения()
Языки = Новый Массив;
Исключения = Новый Массив;
Исключения.Добавить(ТекущийЯзык());
Исключения.Добавить(Метаданные.ОсновнойЯзык);
Для Каждого Язык Из Метаданные.Языки Цикл
Если Исключения.Найти(Язык) = Неопределено Тогда
Языки.Добавить(Язык.КодЯзыка);
КонецЕсли;
КонецЦикла;
Возврат Языки;
КонецФункции
Функция СлужебныйПользователь(Знач КодЯзыка)
ИмяПользователя = ИмяСлужебногоПользователя();
@@ -5018,9 +5084,7 @@
КонецЕсли;
// Получение объекта отчета, настроек СКД и варианта.
ЭтоПредопределенный = ТипЗнч(ВариантОбъект) = Тип("СправочникОбъект.ПредопределенныеВариантыОтчетов")
Или ТипЗнч(ВариантОбъект) = Тип("СправочникОбъект.ПредопределенныеВариантыОтчетовРасширений")
Или Не ВариантОбъект.Пользовательский;
ЭтоПредопределенный = ЭтоПредопределенныйВариантОтчета(ВариантОбъект);
// Предустановленные настройки поиска.
НастройкиДляПоиска = ?(СведенияОбОтчете <> Неопределено, СведенияОбОтчете.НастройкиДляПоиска, Неопределено);
@@ -5686,7 +5750,7 @@
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Наименование, ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ВариантыКонфигурации.Наименование, ВариантыРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ПредставленияВариантов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ КАК НаименованиеВарианта,
| ВЫБОР
| КОГДА &НеПолучатьОписания
@@ -5722,26 +5786,13 @@
| ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.КлючевыеСлова КАК СТРОКА(1000))
| КОНЕЦ КАК КлючевыеСлова,
| ВЫБОР
| КОГДА &НеПолучатьОписания
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА &ЭтоОсновнойЯзык
| И (ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка)))
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык
| И (ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка)))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ПредставленияВариантов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияВариантов.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание), ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОНЕЦ КАК Описание
|ПОМЕСТИТЬ ВариантыОтчетов
|ИЗ
@@ -6064,8 +6115,22 @@
| КОГДА &НеПолучатьОписания
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА &ЭтоОсновнойЯзык
| И (ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка)))
| ТОГДА ВариантыОтчетов.Наименование
| КОГДА НЕ &ЭтоОсновнойЯзык
| И (ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка)))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Наименование, ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ВариантыКонфигурации.Наименование, ВариантыРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ПредставленияПользовательских.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ПредставленияВариантов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ КАК Наименование,
| ВариантыОтчетов.ТолькоДляАвтора КАК ТолькоДляАвтора,
| ВЫБОР
@@ -6098,17 +6163,13 @@
| ВЫРАЗИТЬ(ВариантыОтчетов.НаименованияПолей КАК СТРОКА(1000)) КАК НаименованияПолей,
| ВЫРАЗИТЬ(ВариантыОтчетов.КлючевыеСлова КАК СТРОКА(1000)) КАК КлючевыеСлова,
| ВЫБОР
| КОГДА &НеПолучатьОписания
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ЕСТЬNULL(ПредставленияПользовательских.Описание, """"), 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияПользовательских.Описание КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ("""" КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ПредставленияВариантов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияВариантов.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание), ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОНЕЦ КАК Описание,
| НЕОПРЕДЕЛЕНО КАК Подсистема,
| """" КАК НаименованиеПодсистемы,
@@ -6121,9 +6182,9 @@
| ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыКонфигурации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширений
| ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыРасширений.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Представления КАК ПредставленияПользовательских
| ПО ВариантыОтчетов.Ссылка = ПредставленияПользовательских.Ссылка
| И (ПредставленияПользовательских.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Представления КАК ПредставленияВариантов
| ПО ВариантыОтчетов.Ссылка = ПредставленияВариантов.Ссылка
| И (ПредставленияВариантов.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Представления КАК ПредставленияИзКонфигурации
| ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзКонфигурации.Ссылка
| И (ПредставленияИзКонфигурации.КодЯзыка = &КодЯзыка)
@@ -6516,13 +6577,13 @@
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияВариантов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ КАК Наименование,
| ВЫБОР
| КОГДА &ЭтоОсновнойЯзык
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ВариантыКонфигурации.Описание КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияИзКонфигурации.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ПредставленияВариантов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияВариантов.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОНЕЦ КАК Описание,
| ВариантыОтчетов.Отчет КАК Отчет,
| ВариантыОтчетов.ТипОтчета КАК ТипОтчета,
@@ -6567,10 +6628,13 @@
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзРасширений.Наименование, ПредставленияВариантов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ,
| ВЫБОР
| КОГДА &ЭтоОсновнойЯзык
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.ПредопределенныйВариант.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзРасширений.Описание, ПредставленияВариантов.Описание) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыРасширений.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ПредставленияВариантов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияВариантов.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзРасширений.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОНЕЦ,
| ВариантыОтчетов.Отчет,
| ВариантыОтчетов.ТипОтчета,
@@ -6614,13 +6678,31 @@
| РазмещениеОтчетов.СмТакже КАК СмТакже,
| ВЫБОР
| КОГДА &ЭтоОсновнойЯзык
| И (ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка)))
| ТОГДА ВариантыОтчетов.Наименование
| КОГДА НЕ &ЭтоОсновнойЯзык
| И (ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка)))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияОтчетов.Наименование, ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ОтчетыКонфигурации.Наименование, ОтчетыРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияОтчетовКонфигурации.Наименование, ПредставленияОтчетовРасширений.Наименование), ПредставленияОтчетов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ КАК Наименование,
| ВЫБОР
| КОГДА &ЭтоОсновнойЯзык
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ОтчетыКонфигурации.Описание, ОтчетыРасширений.Описание), ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияОтчетовКонфигурации.Описание, ПредставленияОтчетовРасширений.Описание), ПредставленияОтчетов.Описание) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ОтчетыКонфигурации.Описание, ОтчетыРасширений.Описание) КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ПредставленияОтчетов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияОтчетов.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияОтчетовКонфигурации.Описание, ПредставленияОтчетовРасширений.Описание), ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОНЕЦ КАК Описание,
| ВариантыОтчетов.Отчет,
| ВариантыОтчетов.ТипОтчета,
@@ -7084,6 +7166,35 @@
Возврат (МетаданныеХранилища <> Неопределено И МетаданныеХранилища.Имя = "ХранилищеВариантовОтчетов");
КонецФункции
// Возвращает признак предопределенности варианта отчета.
//
// Параметры:
// ВариантОтчета - СправочникОбъект.ВариантыОтчетов -
// - СправочникОбъект.ПредопределенныеВариантыОтчетов -
// - СправочникОбъект.ПредопределенныеВариантыОтчетовРасширений -
// - Структура -
//
// Возвращаемое значение:
// Булево - если Истина, то вариант отчета является предопределенным.
//
Функция ЭтоПредопределенныйВариантОтчета(ВариантОтчета) Экспорт
ТипВариантаОтчета = ТипЗнч(ВариантОтчета);
Если ТипВариантаОтчета = Тип("СправочникОбъект.ПредопределенныеВариантыОтчетов")
Или ТипВариантаОтчета = Тип("СправочникОбъект.ПредопределенныеВариантыОтчетовРасширений") Тогда
Возврат Истина;
КонецЕсли;
СвойстваВариантаОтчета = Новый Структура("Пользовательский, ПредопределенныйВариант");
ЗаполнитьЗначенияСвойств(СвойстваВариантаОтчета, ВариантОтчета);
Возврат СвойстваВариантаОтчета.Пользовательский <> Истина
И ЗначениеЗаполнено(СвойстваВариантаОтчета.ПредопределенныйВариант);
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Отборы.
@@ -78,4 +78,10 @@
КонецПроцедуры
Функция ЭтоПредопределенныйВариантОтчета(ВариантОтчета) Экспорт
Возврат ВариантыОтчетов.ЭтоПредопределенныйВариантОтчета(ВариантОтчета);
КонецФункции
#КонецОбласти
@@ -1129,9 +1129,11 @@
Форма.Элементы["Страница_" + ?(ЭлементМассиваОписания.ЕстьВладелец,
ЭлементМассиваОписания.ИмяВладельца,
ЭлементМассиваОписания.Имя)];
Форма.Элементы["Таблица_" + ЭлементМассиваОписания.Имя].ТекущаяСтрока = Контакт;
ТаблицаФормы = ТаблицаФормыПоИмени(Форма, "Таблица_" + ЭлементМассиваОписания.Имя);
ТаблицаФормы.ТекущаяСтрока = Контакт;
Если ЭлементМассиваОписания.ЕстьВладелец Тогда
Форма.Элементы["Таблица_" + ЭлементМассиваОписания.ИмяВладельца].ТекущаяСтрока = Контакт.Владелец;
ТаблицаФормы = ТаблицаФормыПоИмени(Форма, "Таблица_" + ЭлементМассиваОписания.ИмяВладельца);
ТаблицаФормы.ТекущаяСтрока = Контакт.Владелец;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Форма["Список_" + ЭлементМассиваОписания.Имя],"Владелец",Контакт.Владелец,,,Истина);
КонецЕсли;
@@ -1147,6 +1149,19 @@
КонецПроцедуры
// Получает таблицу форму по имени.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - Форма, для которой определяется таблица.
// ИмяЭлемента - Строка - Имя элемента форма.
// Возвращаемое значение:
// ТаблицаФормы -
Функция ТаблицаФормыПоИмени(Форма, ИмяЭлемента)
Возврат Форма.Элементы[ИмяЭлемента];
КонецФункции
// Получает доменный адрес из адреса электронной почты.
//
// Параметры:
@@ -1320,6 +1335,7 @@
ТаблицаКонтакты.Колонки.Добавить("ПредставлениеНаименования");
Для Каждого СтрокаТаблицы Из ТаблицаКонтакты Цикл
СтрокаТаблицы = СтрокаТаблицыКонтакты(СтрокаТаблицы);
СтрокаТаблицы.ПредставлениеНаименования = СтрокаТаблицы.Наименование
+ ?(ПустаяСтрока(СтрокаТаблицы.НаименованиеВладельца),
"",
@@ -1330,6 +1346,21 @@
КонецФункции
// Для типизации строки таблицы контактов
//
// Параметры:
// СтрокаТаблицы - ДанныеФормыЭлементКоллекции -
// Возвращаемое значение:
// Структура - содержит:
// * Наименование - Строка -
// * НаименованиеВладельца - Строка -
//
Функция СтрокаТаблицыКонтакты(СтрокаТаблицы)
Возврат СтрокаТаблицы;
КонецФункции
// Возвращает текст запроса, отбирающего все контакты по цепочке взаимодействий.
// Параметры:
// ПомещатьВоВременнуюТаблицу - флаг помещения промежуточных результатов во временную таблицу.
@@ -2744,7 +2775,7 @@
Запрос.УстановитьПараметр("Группа", ГруппаПолучателей);
Результат = Запрос.ВыполнитьПакет();
ТаблицаРезультат = Результат[1].Выгрузить();
ТаблицаРезультат = Результат[1].Выгрузить(); // ТаблицаЗначений
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("Строка"));
@@ -3381,7 +3412,9 @@
РезультатЗапроса = Запрос.ВыполнитьПакет();
ВыборкаШапка = РезультатЗапроса[0].Выбрать();
РезультатЗапросаШапка = РезультатЗапроса[0]; // РезультатЗапроса
ВыборкаШапка = РезультатЗапросаШапка.Выбрать();
Если ВыборкаШапка.Следующий() Тогда
ОбъектИнтернетПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
@@ -3420,11 +3453,17 @@
КонецЕсли;
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[1].Выбрать(), "Получатели");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[2].Выбрать(), "Копии");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[3].Выбрать(), "ОбратныйАдрес");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[4].Выбрать(), "АдресаУведомленияОПрочтении");
ДобавитьВложенияПисьмаВПочтовоеСообщение(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[5].Выбрать());
РезультатЗапросаПолучатели = РезультатЗапроса[1]; // РезультатЗапроса
РезультатЗапросаКопии = РезультатЗапроса[2]; // РезультатЗапроса
РезультатЗапросаОбратныйАдрес = РезультатЗапроса[3]; // РезультатЗапроса
РезультатЗапросаАдресаУведомленияОПрочтении = РезультатЗапроса[4]; // РезультатЗапроса
РезультатЗапросаВложения = РезультатЗапроса[5]; // РезультатЗапроса
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаПолучатели.Выбрать(), "Получатели");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаКопии.Выбрать(), "Копии");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаОбратныйАдрес.Выбрать(), "ОбратныйАдрес");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаАдресаУведомленияОПрочтении.Выбрать(), "АдресаУведомленияОПрочтении");
ДобавитьВложенияПисьмаВПочтовоеСообщение(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаВложения.Выбрать());
СтруктураВозврата.ИнтернетПочтовоеСообщение = ОбъектИнтернетПочтовоеСообщение;
СтруктураВозврата.ДатаПисьма = ВыборкаШапка.ДатаПолучения;
@@ -3523,7 +3562,8 @@
РезультатЗапроса = Запрос.ВыполнитьПакет();
ВыборкаШапка = РезультатЗапроса[0].Выбрать();
РезультатЗапросаШапка = РезультатЗапроса[0]; // РезультатЗапроса
ВыборкаШапка = РезультатЗапросаШапка.Выбрать();
Если ВыборкаШапка.Следующий() Тогда
ОбъектИнтернетПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
@@ -3561,10 +3601,15 @@
КонецЕсли;
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[1].Выбрать(), "Получатели");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[2].Выбрать(), "ОбратныйАдрес");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[3].Выбрать(), "Копии");
ДобавитьВложенияПисьмаВПочтовоеСообщение(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[5].Выбрать());
РезультатЗапросаПолучатели = РезультатЗапроса[1]; // РезультатЗапроса
РезультатЗапросаОбратныйАдрес = РезультатЗапроса[2]; // РезультатЗапроса
РезультатЗапросаКопии = РезультатЗапроса[3]; // РезультатЗапроса
РезультатЗапросаВложения = РезультатЗапроса[5]; // РезультатЗапроса
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаПолучатели.Выбрать(), "Получатели");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаОбратныйАдрес.Выбрать(), "ОбратныйАдрес");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаКопии.Выбрать(), "Копии");
ДобавитьВложенияПисьмаВПочтовоеСообщение(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаВложения.Выбрать());
СтруктураВозврата.ИнтернетПочтовоеСообщение = ОбъектИнтернетПочтовоеСообщение;
СтруктураВозврата.ДатаПисьма = ВыборкаШапка.ДатаОтправления;
@@ -3596,7 +3641,8 @@
Процедура ДобавитьПолучателяВПочтовоеСообщение(Сообщение, ИмяТаблицы, Адрес, Представление)
ПолучательПисьма = Сообщение[ИмяТаблицы].Добавить(Адрес);
ТаблицаАдресов = Сообщение[ИмяТаблицы]; // ИнтернетПочтовыеАдреса
ПолучательПисьма = ТаблицаАдресов.Добавить(Адрес);
ПолучательПисьма.ОтображаемоеИмя = Представление;
КонецПроцедуры
@@ -8548,7 +8594,8 @@
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы[ИмяЭлемента].Имя);
ЭлементФормы = Элементы[ИмяЭлемента]; // ПолеФормы
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(ЭлементФормы.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоляКомпоновкиДанных);
@@ -2956,7 +2956,7 @@
Процедура ПриОпределенииКомандЗаполненияПодключенныхКОбъекту(Команды, ИОМы, БыстрыйПоискПоИОМам)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Таблица.Ссылка,
| Таблица.Команды.(
| Идентификатор,
@@ -2038,23 +2038,23 @@
Прервать;
КонецЕсли;
Header = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header"));
ЗаголовокСообщенияXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header"));
URIФормата = Header.Format;
URIФормата = ЗаголовокСообщенияXDTO.Format;
Если ЭтоОбменЧерезПланОбмена Тогда
Если Не Header.Установлено("Confirmation") Тогда
Если Не ЗаголовокСообщенияXDTO.Установлено("Confirmation") Тогда
ЗаписатьВПротоколВыполнения(КомпонентыОбмена, 9);
Прервать;
КонецЕсли;
Confirmation = Header.Confirmation;
ПодтверждениеXDTO = ЗаголовокСообщенияXDTO.Confirmation;
Если КомпонентыОбмена.ОбменДаннымиСВнешнейСистемой Тогда
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(КомпонентыОбмена.УзелКорреспондента);
Иначе
ИмяПланаОбмена = Confirmation.ExchangePlan;
ИмяПланаОбмена = ПодтверждениеXDTO.ExchangePlan;
Если Метаданные.ПланыОбмена.Найти(ИмяПланаОбмена) = Неопределено Тогда
ЗаписатьВПротоколВыполнения(КомпонентыОбмена, 177);
@@ -2068,19 +2068,19 @@
Не ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(КомпонентыОбмена.УзелКорреспондента)
Или (URIФормата = ФорматПланаОбмена);
Если Confirmation.MessageNo <> Неопределено Тогда
КомпонентыОбмена.НомерВходящегоСообщения = Confirmation.MessageNo;
Если ПодтверждениеXDTO.MessageNo <> Неопределено Тогда
КомпонентыОбмена.НомерВходящегоСообщения = ПодтверждениеXDTO.MessageNo;
Иначе
КомпонентыОбмена.НомерВходящегоСообщения = 0;
КонецЕсли;
Если Confirmation.ReceivedNo <> Неопределено Тогда
КомпонентыОбмена.НомерСообщенияПолученногоКорреспондентом = Confirmation.ReceivedNo;
Если ПодтверждениеXDTO.ReceivedNo <> Неопределено Тогда
КомпонентыОбмена.НомерСообщенияПолученногоКорреспондентом = ПодтверждениеXDTO.ReceivedNo;
Иначе
КомпонентыОбмена.НомерСообщенияПолученногоКорреспондентом = 0;
КонецЕсли;
КодОтКого = Confirmation.From;
КодКому = Confirmation.To;
КодОтКого = ПодтверждениеXDTO.From;
КодКому = ПодтверждениеXDTO.To;
Если Не КомпонентыОбмена.ТолькоНастройкиXDTO Тогда
КомпонентыОбмена.XMLСхема = URIФормата;
@@ -2117,8 +2117,8 @@
Если Не КомпонентыОбмена.ОбменДаннымиСВнешнейСистемой Тогда
КодОтКогоНовый = "";
Если Header.Установлено("NewFrom") Тогда
КодОтКогоНовый = Header.NewFrom;
Если ЗаголовокСообщенияXDTO.Установлено("NewFrom") Тогда
КодОтКогоНовый = ЗаголовокСообщенияXDTO.NewFrom;
КонецЕсли;
ПолучательИзСообщения = ОбменДаннымиСервер.УзелПланаОбменаПоКоду(ИмяПланаОбмена, КодКому);
@@ -2181,10 +2181,10 @@
КонецЕсли;
ЗаполнитьСтруктуруНастроекXDTOКорреспондента(КомпонентыОбмена.НастройкиXDTOКорреспондента,
Header, Не (URIФормата = ФорматПланаОбмена), КомпонентыОбмена.УзелКорреспондента);
ЗаголовокСообщенияXDTO, Не (URIФормата = ФорматПланаОбмена), КомпонентыОбмена.УзелКорреспондента);
Если Header.Установлено("Prefix") Тогда
КомпонентыОбмена.ПрефиксКорреспондента = Header.Prefix;
Если ЗаголовокСообщенияXDTO.Установлено("Prefix") Тогда
КомпонентыОбмена.ПрефиксКорреспондента = ЗаголовокСообщенияXDTO.Prefix;
КонецЕсли;
// Проверяем поддержку кодировки по УИДам в корреспонденте.
@@ -2835,7 +2835,7 @@
КонецЕсли;
Попытка
Header = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header"));
ЗаголовокСообщенияXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header"));
Исключение
Возврат Ложь;
КонецПопытки;
@@ -2844,12 +2844,12 @@
Или ЧтениеXML.ЛокальноеИмя <> "Body" Тогда
Возврат Ложь;
КонецЕсли;
Если Не Header.Установлено("Confirmation") Тогда
Если Не ЗаголовокСообщенияXDTO.Установлено("Confirmation") Тогда
Возврат Ложь;
КонецЕсли;
Confirmation = Header.Confirmation;
ПодтверждениеXDTO = ЗаголовокСообщенияXDTO.Confirmation;
ИмяПланаОбмена = Confirmation.ExchangePlan;
ИмяПланаОбмена = ПодтверждениеXDTO.ExchangePlan;
Если Метаданные.ПланыОбмена.Найти(ИмяПланаОбмена) = Неопределено Тогда
Возврат Ложь;
@@ -4036,7 +4036,7 @@
ТаблицаПоддерживаемыеОбъекты.Сортировать("Объект, Версия");
AvailableObjectTypes = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "AvailableObjectTypes"));
ДоступныеТипыОбъектовXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "AvailableObjectTypes"));
ТекущийОбъект = Неопределено;
Для Каждого СтрокаПоддерживаемыеОбъекты Из ТаблицаПоддерживаемыеОбъекты Цикл
@@ -4052,7 +4052,7 @@
ТекущийОбъект.Receiving = "*";
КонецЕсли;
AvailableObjectTypes.ObjectType.Добавить(ТекущийОбъект);
ДоступныеТипыОбъектовXDTO.ObjectType.Добавить(ТекущийОбъект);
СоздатьНовыйОбъект = Истина;
Иначе
СоздатьНовыйОбъект = Ложь;
@@ -4092,11 +4092,11 @@
ТекущийОбъект.Receiving = "*";
КонецЕсли;
AvailableObjectTypes.ObjectType.Добавить(ТекущийОбъект);
ДоступныеТипыОбъектовXDTO.ObjectType.Добавить(ТекущийОбъект);
КонецЕсли;
Если AvailableObjectTypes.ObjectType.Количество() > 0 Тогда
Header.AvailableObjectTypes = AvailableObjectTypes;
Если ДоступныеТипыОбъектовXDTO.ObjectType.Количество() > 0 Тогда
Header.AvailableObjectTypes = ДоступныеТипыОбъектовXDTO;
Иначе
Header.AvailableObjectTypes = Неопределено;
КонецЕсли;
@@ -4166,68 +4166,68 @@
ФайлОбмена.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
// Элемент <Header>
Header = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header"));
ЗаголовокСообщенияXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header"));
Header.Format = ПараметрыЗаголовка.ФорматОбмена;
Header.CreationDate = ТекущаяУниверсальнаяДата();
ЗаголовокСообщенияXDTO.Format = ПараметрыЗаголовка.ФорматОбмена;
ЗаголовокСообщенияXDTO.CreationDate = ТекущаяУниверсальнаяДата();
AvailableVersion = Header.AvailableVersion; // СписокXDTO
ДоступныеВерсииXDTO = ЗаголовокСообщенияXDTO.AvailableVersion; // СписокXDTO
Если ПараметрыЗаголовка.ЭтоОбменЧерезПланОбмена Тогда
Confirmation = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Confirmation"));
ПодтверждениеXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Confirmation"));
Если ПараметрыЗаголовка.ОбменДаннымиСВнешнейСистемой Тогда
Confirmation.From = ПараметрыЗаголовка.ИдентификаторОтправителя;
ПодтверждениеXDTO.From = ПараметрыЗаголовка.ИдентификаторОтправителя;
Confirmation.MessageNo = ПараметрыЗаголовка.НомерСообщения;
Confirmation.ReceivedNo = ПараметрыЗаголовка.НомерПринятого;
ПодтверждениеXDTO.MessageNo = ПараметрыЗаголовка.НомерСообщения;
ПодтверждениеXDTO.ReceivedNo = ПараметрыЗаголовка.НомерПринятого;
Header.Confirmation = Confirmation;
ЗаголовокСообщенияXDTO.Confirmation = ПодтверждениеXDTO;
Для Каждого ВерсияФормата Из ПараметрыЗаголовка.ПоддерживаемыеВерсии Цикл
AvailableVersion.Добавить(ВерсияФормата);
ДоступныеВерсииXDTO.Добавить(ВерсияФормата);
КонецЦикла;
ВыгрузитьПоддерживаемыеОбъектыФормата(Header,
ВыгрузитьПоддерживаемыеОбъектыФормата(ЗаголовокСообщенияXDTO,
ПараметрыЗаголовка.ПоддерживаемыеОбъекты, ПараметрыЗаголовка.УзелКорреспондента);
Иначе
Confirmation.ExchangePlan = ПараметрыЗаголовка.ИмяПланаОбмена;
Confirmation.To = ПараметрыЗаголовка.ИдентификаторПолучателя;
ПодтверждениеXDTO.ExchangePlan = ПараметрыЗаголовка.ИмяПланаОбмена;
ПодтверждениеXDTO.To = ПараметрыЗаголовка.ИдентификаторПолучателя;
Если ЗначениеЗаполнено(ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла) Тогда
// Требуется корректировка кода узла отправителя.
Confirmation.From = ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла;
ПодтверждениеXDTO.From = ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла;
Иначе
Confirmation.From = ПараметрыЗаголовка.ИдентификаторОтправителя;
ПодтверждениеXDTO.From = ПараметрыЗаголовка.ИдентификаторОтправителя;
КонецЕсли;
Confirmation.MessageNo = ПараметрыЗаголовка.НомерСообщения;
Confirmation.ReceivedNo = ПараметрыЗаголовка.НомерПринятого;
ПодтверждениеXDTO.MessageNo = ПараметрыЗаголовка.НомерСообщения;
ПодтверждениеXDTO.ReceivedNo = ПараметрыЗаголовка.НомерПринятого;
Header.Confirmation = Confirmation;
ЗаголовокСообщенияXDTO.Confirmation = ПодтверждениеXDTO;
Для Каждого ВерсияФормата Из ПараметрыЗаголовка.ПоддерживаемыеВерсии Цикл
AvailableVersion.Добавить(ВерсияФормата);
ДоступныеВерсииXDTO.Добавить(ВерсияФормата);
КонецЦикла;
Если ЗначениеЗаполнено(ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла) Тогда
// Тип Header является Упорядоченным, поэтому важен порядок присвоения значений свойств.
// В противном случае может быть не пройдена валидация по схеме.
Header.NewFrom = ПараметрыЗаголовка.ИдентификаторОтправителя;
ЗаголовокСообщенияXDTO.NewFrom = ПараметрыЗаголовка.ИдентификаторОтправителя;
КонецЕсли;
ВыгрузитьПоддерживаемыеОбъектыФормата(Header,
ВыгрузитьПоддерживаемыеОбъектыФормата(ЗаголовокСообщенияXDTO,
ПараметрыЗаголовка.ПоддерживаемыеОбъекты, ПараметрыЗаголовка.УзелКорреспондента);
Header.Prefix = ПараметрыЗаголовка.Префикс;
ЗаголовокСообщенияXDTO.Prefix = ПараметрыЗаголовка.Префикс;
КонецЕсли;
Иначе
AvailableVersion.Добавить(ПараметрыЗаголовка.ВерсияФорматаОбмена);
ДоступныеВерсииXDTO.Добавить(ПараметрыЗаголовка.ВерсияФорматаОбмена);
КонецЕсли;
ФабрикаXDTO.ЗаписатьXML(ФайлОбмена, Header);
ФабрикаXDTO.ЗаписатьXML(ФайлОбмена, ЗаголовокСообщенияXDTO);
КонецПроцедуры
@@ -6481,7 +6481,7 @@
Если МетаданныеОбъекта <> Неопределено
И ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта)
И ЗначениеЗаполнено(Объект.Ссылка) Тогда
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект);
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект.Ссылка);
Иначе
Если ТипОбъекта = Тип("ОбъектXDTO") Тогда
@@ -123,7 +123,7 @@
// Процедура дополняет список узлов-получателей объекта переданными значениями.
//
// Параметры:
// Объект - СправочникОбъект, ДокументОбъект и т.п. - объект, для которого выполняется правило регистрации.
// Объект - Произвольный - объект, для которого выполняется правило регистрации.
// Узлы - Массив - узлы плана обмена, которые необходимо добавить в список узлов-получателей объекта.
//
Процедура ДополнитьПолучателей(Объект, Узлы) Экспорт
@@ -148,7 +148,7 @@
// Процедура вычитает из списка узлов-получателей объекта переданные значения.
//
// Параметры:
// Объект - СправочникОбъект, ДокументОбъект и т.п. - объект, для которого выполняется правило регистрации.
// Объект - Произвольный - объект, для которого выполняется правило регистрации.
// Узлы - Массив - узлы плана обмена, которые необходимо вычесть из списка узлов-получателей объекта.
//
Процедура СократитьПолучателей(Объект, Узлы) Экспорт
@@ -600,11 +600,48 @@
ОбменДаннымиСлужебный.ОбновитьКэшМеханизмаРегистрацииОбъектов();
Для Каждого Объект Из ЗарегистрированныеКВыгрузкеОбъекты Цикл
Для Каждого ЭлементНабор Из ЗарегистрированныеКВыгрузкеОбъекты Цикл
Если ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(ЭлементНабор.Ключ) Тогда
Пока ЭлементНабор.Значение.Количество() > 0 Цикл
Объект = ЭлементНабор.Значение[0].ПолучитьОбъект();
Если Не ВыгрузкаОбъектаРазрешена(Источник.Ссылка, Объект) Тогда
ПланыОбмена.УдалитьРегистрациюИзменений(Источник.Ссылка, Объект);
КонецЕсли;
Объект = Неопределено;
ЭлементНабор.Значение.Удалить(0);
КонецЦикла;
ИначеЕсли ОбщегоНазначения.ЭтоКонстанта(ЭлементНабор.Ключ) Тогда
Объект = ЭлементНабор.Значение;
Если Не ВыгрузкаОбъектаРазрешена(Источник.Ссылка, Объект) Тогда
ПланыОбмена.УдалитьРегистрациюИзменений(Источник.Ссылка, Объект);
КонецЕсли;
Объект = Неопределено;
Иначе
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ЭлементНабор.Ключ.ПолноеИмя());
Пока ЭлементНабор.Значение.Количество() > 0 Цикл
Объект = МенеджерОбъекта.СоздатьНаборЗаписей();
Для Каждого ЭлементОтбора Из ЭлементНабор.Значение.Колонки Цикл
Объект.Отбор[ЭлементОтбора.Имя].Установить(ЭлементНабор.Значение[0][ЭлементОтбора.Имя]);
КонецЦикла;
Объект.Прочитать();
Если Не ВыгрузкаОбъектаРазрешена(Источник.Ссылка, Объект) Тогда
ПланыОбмена.УдалитьРегистрациюИзменений(Источник.Ссылка, Объект);
КонецЕсли;
Объект = Неопределено;
ЭлементНабор.Значение.Удалить(0);
КонецЦикла;
КонецЕсли;
@@ -669,10 +706,35 @@
Возврат;
КонецЕсли;
ИсключаемыеСвойства = Новый Массив;
ИсключаемыеСвойства.Добавить("НомерОтправленного");
ИсключаемыеСвойства.Добавить("НомерПринятого");
ИсключаемыеСвойства.Добавить("ПометкаУдаления");
ИсключаемыеСвойства.Добавить("Код");
ИсключаемыеСвойства.Добавить("Наименование");
Если ОбщегоНазначения.РазделениеВключено() Тогда
ПолноеИмяМетаданных = Источник.Метаданные().ПолноеИмя();
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
РазделительОсновныхДанных = МодульРаботаВМоделиСервиса.РазделительОсновныхДанных();
РазделительВспомогательныхДанных = МодульРаботаВМоделиСервиса.РазделительВспомогательныхДанных();
Если МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(ПолноеИмяМетаданных, РазделительОсновныхДанных) Тогда
ИсключаемыеСвойства.Добавить(РазделительОсновныхДанных);
КонецЕсли;
Если МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(ПолноеИмяМетаданных, РазделительВспомогательныхДанных) Тогда
ИсключаемыеСвойства.Добавить(РазделительВспомогательныхДанных);
КонецЕсли;
КонецЕсли;
Если Не Источник.ДополнительныеСвойства.Свойство("ПолучениеСообщенияОбмена")
И Не Источник.ЭтоНовый()
И Не Источник.ЭтотУзел
И ДанныеРазличаются(Источник, Источник.Ссылка.ПолучитьОбъект(),, "НомерОтправленного, НомерПринятого, ПометкаУдаления, Код, Наименование")
И ДанныеРазличаются(Источник, Источник.Ссылка.ПолучитьОбъект(), , СтрСоединить(ИсключаемыеСвойства, ","))
И ОбменДаннымиСлужебный.ИзмененияЗарегистрированы(Источник.Ссылка) Тогда
СохранитьРазрешенныеКВыгрузкеОбъекты(Источник);
@@ -724,24 +786,38 @@
//
Функция ЗарегистрированныеДанныеОдногоТипа(УзелСсылка, ПолноеИмяОбъектаМетаданных)
Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ *
Запрос = Новый Запрос(
"ВЫБРАТЬ
| *
|ИЗ
| [Таблица].Изменения КАК ТаблицаИзменений
| #ТаблицаИзменения КАК ТаблицаИзменения
|ГДЕ
| ТаблицаИзменений.Узел = &Узел";
| ТаблицаИзменения.Узел = &Узел");
Запрос.УстановитьПараметр("Узел", УзелСсылка);
Запрос.Текст = СтрЗаменить(ТекстЗапроса, "[Таблица]", ПолноеИмяОбъектаМетаданных);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ТаблицаИзменения", ПолноеИмяОбъектаМетаданных + ".Изменения");
Результат = Запрос.Выполнить();
Возврат Запрос.Выполнить().Выгрузить();
Если Результат.Пустой() Тогда
Возврат Неопределено;
КонецЕсли;
КонецФункции
Возврат Результат.Выгрузить();
Функция ЗарегистрированныеДанныеОдногоСсылочногоТипа(УзелСсылка, ПолноеИмяОбъектаМетаданных)
Запрос = Новый Запрос(
"ВЫБРАТЬ
| ТаблицаОбъект.Ссылка КАК Ссылка
|ИЗ
| #ТаблицаИзменения КАК ТаблицаИзменения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ #ТаблицаОбъект КАК ТаблицаОбъект
| ПО ТаблицаИзменения.Ссылка = ТаблицаОбъект.Ссылка
|ГДЕ
| ТаблицаИзменения.Узел = &Узел");
Запрос.УстановитьПараметр("Узел", УзелСсылка);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ТаблицаИзменения", ПолноеИмяОбъектаМетаданных + ".Изменения");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ТаблицаОбъект", ПолноеИмяОбъектаМетаданных);
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
@@ -749,7 +825,8 @@
УстановитьПривилегированныйРежим(Истина);
ЗарегистрированныеДанные = Новый Массив;
ЗарегистрированныеДанные = Новый Соответствие;
СоставПланаОбмена = УзелОбъект.Метаданные().Состав;
Для Каждого ЭлементСостава Из СоставПланаОбмена Цикл
@@ -761,27 +838,18 @@
МетаданныеЭлемента = ЭлементСостава.Метаданные;
ПолноеИмяОбъектаМетаданных = МетаданныеЭлемента.ПолноеИмя();
ЗарегистрированныеДанныеОдногоТипа = ЗарегистрированныеДанныеОдногоТипа(
УзелОбъект.Ссылка, ПолноеИмяОбъектаМетаданных);
Если ЗарегистрированныеДанныеОдногоТипа = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеЭлемента) Тогда
Для Каждого Строка Из ЗарегистрированныеДанныеОдногоТипа Цикл
ЗарегистрированныеДанные[МетаданныеЭлемента] = Новый Массив;
СсылкаНаОбъект = Строка.Ссылка;
НаборДанных = ЗарегистрированныеДанныеОдногоСсылочногоТипа(УзелОбъект.Ссылка, ПолноеИмяОбъектаМетаданных);
Если ОбщегоНазначения.СсылкаСуществует(СсылкаНаОбъект) Тогда
Для Каждого СтрокаДанные Из НаборДанных Цикл
ОбъектСсылки = СсылкаНаОбъект.ПолучитьОбъект();
Если ВыгрузкаОбъектаРазрешена(УзелОбъект.Ссылка, ОбъектСсылки) Тогда
ЗарегистрированныеДанные.Добавить(ОбъектСсылки);
КонецЕсли;
СсылкаНаОбъект = СтрокаДанные.Ссылка;
Если ВыгрузкаОбъектаРазрешена(УзелОбъект.Ссылка, СсылкаНаОбъект.ПолучитьОбъект()) Тогда
ЗарегистрированныеДанные[МетаданныеЭлемента].Добавить(СсылкаНаОбъект);
КонецЕсли;
КонецЦикла;
@@ -790,29 +858,36 @@
МенеджерЗначенияКонстанты = Константы[МетаданныеЭлемента.Имя].СоздатьМенеджерЗначения();
Если ВыгрузкаОбъектаРазрешена(УзелОбъект.Ссылка, МенеджерЗначенияКонстанты) Тогда
ЗарегистрированныеДанные.Добавить(МенеджерЗначенияКонстанты);
ЗарегистрированныеДанные[МетаданныеЭлемента] = МенеджерЗначенияКонстанты;
КонецЕсли;
Иначе // Регистр или последовательность.
Для Каждого Строка Из ЗарегистрированныеДанныеОдногоТипа Цикл
ЗарегистрированныеДанные[МетаданныеЭлемента] = Новый ТаблицаЗначений;
НаборЗаписей = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмяОбъектаМетаданных).СоздатьНаборЗаписей();
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмяОбъектаМетаданных);
НаборДанных = ЗарегистрированныеДанныеОдногоТипа(УзелОбъект.Ссылка, ПолноеИмяОбъектаМетаданных);
НаборЗаписей = МенеджерОбъекта.СоздатьНаборЗаписей();
Для Каждого ЭлементОтбора Из НаборЗаписей.Отбор Цикл
Если ЗарегистрированныеДанныеОдногоТипа.Колонки.Найти(ЭлементОтбора.Имя) <> Неопределено Тогда
ЭлементОтбора.Установить(Строка[ЭлементОтбора.Имя]);
Если НаборДанных.Колонки.Найти(ЭлементОтбора.Имя) <> Неопределено Тогда
ЗарегистрированныеДанные[МетаданныеЭлемента].Колонки.Добавить(ЭлементОтбора.Имя);
КонецЕсли;
КонецЦикла;
Для Каждого СтрокаДанные Из НаборДанных Цикл
НаборЗаписей = МенеджерОбъекта.СоздатьНаборЗаписей();
Для Каждого ЭлементОтбора Из ЗарегистрированныеДанные[МетаданныеЭлемента].Колонки Цикл
НаборЗаписей.Отбор[ЭлементОтбора.Имя].Установить(СтрокаДанные[ЭлементОтбора.Имя]);
КонецЦикла;
НаборЗаписей.Прочитать();
Если ВыгрузкаОбъектаРазрешена(УзелОбъект.Ссылка, НаборЗаписей) Тогда
ЗарегистрированныеДанные.Добавить(НаборЗаписей);
СтруктураОтбора = ЗарегистрированныеДанные[МетаданныеЭлемента].Добавить();
ЗаполнитьЗначенияСвойств(СтруктураОтбора, СтрокаДанные);
КонецЕсли;
КонецЦикла;
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.291";
Описание.Версия = "3.1.2.306";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -2859,6 +2859,35 @@
Возврат Результат;
КонецФункции
Процедура ЗаменитьАдресНаАктуальный(ОбъектКИ, СтрокаВидаКИ, АдресПоПолям, СвойстваВида, ЕстьДействуетС)
НовоеПредставление = РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(АдресПоПолям, СвойстваВида.ВключатьСтрануВПредставление);
АдресПоПолям.value = НовоеПредставление;
НовыйАдресВJSON = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(АдресПоПолям);
ТекстКомментария = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Адрес ""%1"" устарел и был переименован в ""%2""'"),
СтрокаВидаКИ.Представление, НовоеПредставление);
Если ЗначениеЗаполнено(АдресПоПолям.comment) Тогда
ТекстКомментария = АдресПоПолям.comment + Символы.ПС + ТекстКомментария;
КонецЕсли;
УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(НовыйАдресВJSON, ТекстКомментария);
Если СвойстваВида.ХранитьИсториюИзменений И ЕстьДействуетС Тогда
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(ОбъектКИ, НовыйАдресВJSON, СвойстваВида.Ссылка, ТекущаяДатаСеанса(), Ложь);
Иначе
СтрокаВидаКИ.Значение = НовыйАдресВJSON;
СтрокаВидаКИ.Представление = НовоеПредставление;
СтрокаВидаКИ.ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(НовыйАдресВJSON);
УправлениеКонтактнойИнформациейСлужебный.ЗаполнитьТехническиеПоляКонтактнойИнформации(СтрокаВидаКИ,
АдресПоПолям, Перечисления.ТипыКонтактнойИнформации.Адрес);
КонецЕсли;
КонецПроцедуры
////////////////////////////////////////////////////////
// Контроль ведения учета
@@ -2996,11 +3025,13 @@
КоличествоИсправленныхАдресов = 0;
ОбъектБылИсправлен = Ложь;
СвойстваВида = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ВидКонтактнойИнформации, "ВключатьСтрануВПредставление, ХранитьИсториюИзменений, Ссылка");
СсылкаНаОбъект = ОписаниеОбъекта.ПроблемныйОбъект;
ЕстьДействуетС = СсылкаНаОбъект.Метаданные().ТабличныеЧасти.КонтактнаяИнформация.Реквизиты.Найти("ДействуетС") <> Неопределено;
НачатьТранзакцию();
Попытка
СсылкаНаОбъект = ОписаниеОбъекта.ПроблемныйОбъект;
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(СсылкаНаОбъект.Метаданные().ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", СсылкаНаОбъект);
@@ -3041,18 +3072,7 @@
КонецЕсли;
КонецЦикла;
Если АдресБылИзменен Тогда
АдресВJSON = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(АдресПоПолям);
НовоеПредставление = РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(АдресПоПолям, ВключатьСтрануВПредставление);
ТекстКомментария = НСтр("ru='Тип здания ""Литер"" устарел и был заменен на ""Литера"".'");
Если ЗначениеЗаполнено(АдресПоПолям.comment) Тогда
ТекстКомментария = АдресПоПолям.comment + Символы.ПС + ТекстКомментария;
КонецЕсли;
УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(АдресВJSON, ТекстКомментария);
СтрокаКонтактнойИнформации.Значение = АдресВJSON;
СтрокаКонтактнойИнформации.Представление = НовоеПредставление;
СтрокаКонтактнойИнформации.ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(АдресВJSON);
ЗаменитьАдресНаАктуальный(ОбъектКИ, СтрокаКонтактнойИнформации, АдресПоПолям, СвойстваВида, ЕстьДействуетС);
ЗаписыватьОбъект = Истина;
КонецЕсли;
@@ -3206,7 +3226,7 @@
ПолноеИмяОбъектаCКонтактнойИнформацией = ПроблемныеОбъекты[0].ПроблемныйОбъект.Метаданные().ПолноеИмя();
Вид = ВидПроверки.Свойство2;
ВключатьСтрануВПредставление = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Вид, "ВключатьСтрануВПредставление");
СвойстваВида = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Вид, "ВключатьСтрануВПредставление, ХранитьИсториюИзменений, Ссылка");
ТекстЗапроса = "ВЫБРАТЬ
| ПроблемныеОбъекты.ПроблемныйОбъект КАК Ссылка
@@ -3285,6 +3305,8 @@
АдресаОбъекта = ТаблицаАдресов.НайтиСтроки(Новый Структура("Ссылка", СсылкаНаОбъект ));
ТребуетсяЗаписьОбъекта = Ложь;
ЕстьДействуетС = СсылкаНаОбъект.Метаданные().ТабличныеЧасти.КонтактнаяИнформация.Реквизиты.Найти("ДействуетС") <> Неопределено;
НачатьТранзакцию();
Попытка
@@ -3308,26 +3330,9 @@
СведенияОбАдресе = РезультатАнализа[АдресОбъекта.Счетчик];
Если СведенияОбАдресе.Варианты.Количество() > 0 Тогда
АдресПоПолям = СведенияОбАдресе.Варианты[0];
НовоеПредставление = РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(АдресПоПолям, ВключатьСтрануВПредставление);
АдресПоПолям.value = НовоеПредставление;
НовыйАдресВJSON = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(АдресПоПолям);
ЗаменитьАдресНаАктуальный(ОбъектКИ, СтрокаВидаКИ, СведенияОбАдресе.Варианты[0], СвойстваВида, ЕстьДействуетС);
ТекстКомментария = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Адрес ""%1"" устарел и был переименован в ""%2""'"),
СтрокаВидаКИ.Представление, НовоеПредставление);
Если ЗначениеЗаполнено(АдресПоПолям.comment) Тогда
ТекстКомментария = АдресПоПолям.comment + Символы.ПС + ТекстКомментария;
КонецЕсли;
УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(НовыйАдресВJSON, ТекстКомментария);
СтрокаВидаКИ.Значение = НовыйАдресВJSON;
СтрокаВидаКИ.Представление = НовоеПредставление;
СтрокаВидаКИ.ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(НовыйАдресВJSON);
УправлениеКонтактнойИнформациейСлужебный.ЗаполнитьТехническиеПоляКонтактнойИнформации(СтрокаВидаКИ,
АдресПоПолям, Перечисления.ТипыКонтактнойИнформации.Адрес);
ТребуетсяЗаписьОбъекта = Истина;
ИсправленоОбъектов = ИсправленоОбъектов + 1;
КонецЕсли;
@@ -847,12 +847,12 @@
ИмяКаталога = ФайловаяСистема.СоздатьВременныйКаталог();
СоздатьКаталог(ИмяКаталога);
ZIP = Новый ЧтениеZipФайла(ПолноеИмяФайлаZip);
ZIP.ИзвлечьВсе(ИмяКаталога, РежимВосстановленияПутейФайловZIP.НеВосстанавливать);
ZIPАрхив = Новый ЧтениеZipФайла(ПолноеИмяФайлаZip);
ZIPАрхив.ИзвлечьВсе(ИмяКаталога, РежимВосстановленияПутейФайловZIP.НеВосстанавливать);
СоответствиеПутейФайлов = Новый Соответствие;
Для Каждого ZIPЭлемент Из ZIP.Элементы Цикл
Для Каждого ZIPЭлемент Из ZIPАрхив.Элементы Цикл
ПолныйПутьФайла = ИмяКаталога + "\" + ZIPЭлемент.Имя;
УникальныйИдентификатор = ZIPЭлемент.ИмяБезРасширения;
@@ -1380,7 +1380,7 @@
ИмяОбъектаМетаданных = ВладелецФайла.Метаданные().Имя;
Если СтрДлина(ИмяОбъектаМетаданных) > 30 Тогда
ХешОстатка = Новый ХешированиеДанных("CRC32");
ХешОстатка = Новый ХешированиеДанных(ХешФункция.CRC32);
ХешОстатка.Добавить(Сред(ИмяОбъектаМетаданных, 31));
ХешСуммаОстатка = ХешОстатка.ХешСумма;
Иначе
@@ -1154,7 +1154,7 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", "");
Иначе
// Иерархия групп
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", "И НЕ ПолучателиРассылки.ЭтоГруппа");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", "И НЕ Получатели.ЭтоГруппа");
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Справочник.Пользователи", ПолучателиМетаданные.ПолноеИмя());
@@ -545,50 +545,18 @@
Возврат;
КонецЕсли;
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("Константа.КоличествоПотоковОбновленияДоступа");
Если Не ТранзакцияАктивна() Или ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ИзменитьРегламентноеЗаданиеОбновленияДоступа(ВключитьЗадание);
ЗаданиеВключено = Ложь;
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
Для Каждого Задание Из Задания Цикл
Если ВключитьЗадание = Задание.Использование Тогда
Продолжить;
ИначеЕсли ВключитьЗадание Тогда
ФоновыеЗадания.Выполнить("УправлениеДоступомСлужебный.ВключитьРегламентноеЗаданиеОбновленияДоступа",,,
НСтр("ru = 'Управление доступом: Включение регламентного задания обновления доступа'",
ОбщегоНазначения.КодОсновногоЯзыка()));
Иначе
ФоновыеЗадания.Выполнить("УправлениеДоступомСлужебный.ОтключитьРегламентноеЗаданиеОбновленияДоступа",,,
НСтр("ru = 'Управление доступом: Отключение регламентного задания обновления доступа'",
ОбщегоНазначения.КодОсновногоЯзыка()));
КонецЕсли;
Если ВключитьЗадание Тогда
ЗаданиеВключено = Истина;
КонецЕсли;
РегламентныеЗаданияСервер.ИзменитьЗадание(Задание.УникальныйИдентификатор,
Новый Структура("Использование", ВключитьЗадание));
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Если Не ЗаданиеВключено Или ОбщегоНазначения.РазделениеВключено() Тогда
Возврат;
КонецЕсли;
// Немедленный запуск регламентного задания.
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
ТекущееРасписание = РегламентныеЗаданияСервер.РасписаниеРегламентногоЗадания(
Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей);
РегламентныеЗаданияСервер.УстановитьРасписаниеРегламентногоЗадания(
Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей, ТекущееРасписание);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
@@ -9501,6 +9469,52 @@
КонецПроцедуры
// Для процедуры УстановитьОбновлениеДоступа.
Процедура ВключитьРегламентноеЗаданиеОбновленияДоступа() Экспорт
ИзменитьРегламентноеЗаданиеОбновленияДоступа(Истина);
КонецПроцедуры
// Для процедуры УстановитьОбновлениеДоступа.
Процедура ОтключитьРегламентноеЗаданиеОбновленияДоступа() Экспорт
ИзменитьРегламентноеЗаданиеОбновленияДоступа(Ложь);
КонецПроцедуры
// Для процедуры УстановитьОбновлениеДоступа.
Процедура ИзменитьРегламентноеЗаданиеОбновленияДоступа(ВключитьЗадание)
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("Константа.КоличествоПотоковОбновленияДоступа");
Отбор = Новый Структура("Метаданные", Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей);
ЗаданиеВключено = Ложь;
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
УстановитьПривилегированныйРежим(Истина);
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
Для Каждого Задание Из Задания Цикл
Если ВключитьЗадание = Задание.Использование Тогда
Продолжить;
КонецЕсли;
Если ВключитьЗадание Тогда
ЗаданиеВключено = Истина;
КонецЕсли;
РегламентныеЗаданияСервер.ИзменитьЗадание(Задание.УникальныйИдентификатор,
Новый Структура("Использование", ВключитьЗадание));
КонецЦикла;
УстановитьПривилегированныйРежим(Ложь);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
// Включает или отключает запрет обновления доступа при запуске
// с помощью регламентного задания или при программном запуске.
//
@@ -11299,7 +11313,9 @@
СвободныйПоток = НовыйПоток();
Параметры = Новый Массив;
Параметры.Добавить(Контекст.ОписаниеОсновногоСеанса);
СвободныйПоток.ФоновоеЗадание = ФоновыеЗадания.Выполнить(ИмяМетодаПотокаОбновленияДоступа(), Параметры);
СвободныйПоток.ФоновоеЗадание = ФоновыеЗадания.Выполнить(ИмяМетодаПотокаОбновленияДоступа(), Параметры,,
НСтр("ru = 'Управление доступом: Поток обновления доступа на уровне записей'",
ОбщегоНазначения.КодОсновногоЯзыка()));
СвободныйПоток.ИдентификаторПотока = СвободныйПоток.ФоновоеЗадание.УникальныйИдентификатор;
Контекст.СвободныеПотоки.Добавить(СвободныйПоток);
КонецЕсли;
@@ -17848,7 +17864,13 @@
Если ТранзакцияАктивна() И ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("РегистрСведений.ПараметрыРаботыВерсийРасширений");
Блокировка.Добавить("РегистрСведений.ПараметрыРаботыВерсийРасширений");
// АПК:1320-выкл - №499, №783.1.3 Допустимо вызывать блокировку во внешней транзакции для файловой ИБ.
// Требуется для предотвращения взаимоблокировки: ниже обращение к базе данных, которое ставит неявную
// разделяемую блокировку и далее блокировка неявно усиливается до исключительной,
// что приводит к взаимоблокировке в некоторых случаях.
Блокировка.Заблокировать();
// АПК:1320-вкл.
КонецЕсли;
ИмяПараметраВерсии = "СтандартныеПодсистемы.УправлениеДоступом.ЗначенияГруппДоступаВерсия";
@@ -17929,8 +17951,32 @@
КонецЦикла;
КонецЦикла;
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(ИмяПараметра, ЗначенияГруппДоступа, Истина);
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ПараметрыРаботыВерсийРасширений");
ЭлементБлокировки.УстановитьЗначение("ВерсияРасширений", Справочники.ВерсииРасширений.ПустаяСсылка());
ЭлементБлокировки.УстановитьЗначение("ИмяПараметра", ИмяПараметра);
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ПараметрыРаботыВерсийРасширений");
ЭлементБлокировки.УстановитьЗначение("ВерсияРасширений", Справочники.ВерсииРасширений.ПустаяСсылка());
ЭлементБлокировки.УстановитьЗначение("ИмяПараметра", ИмяПараметраВерсии);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
ТекущиеЗначенияГруппДоступаВерсия = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметраВерсии, Истина);
ТекущиеЗначенияГруппДоступа = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина);
Если ТекущиеЗначенияГруппДоступаВерсия <> Неопределено И ТекущиеЗначенияГруппДоступа <> Неопределено Тогда
ЗначенияГруппДоступаВерсия = ТекущиеЗначенияГруппДоступаВерсия;
ЗначенияГруппДоступа = ТекущиеЗначенияГруппДоступа;
Иначе
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(ИмяПараметраВерсии, ЗначенияГруппДоступаВерсия, Истина);
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(ИмяПараметра, ЗначенияГруппДоступа, Истина);
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
ПараметрыОбновления.Кэш.Вставить("ЗначенияГруппДоступаВерсия", ЗначенияГруппДоступаВерсия);
ПараметрыОбновления.Кэш.Вставить("ЗначенияГруппДоступа", ЗначенияГруппДоступа);
@@ -943,9 +943,7 @@
Функция ТребуетсяУточнениеПланаЗапроса() Экспорт
ВидСУБД = ВидСУБД();
Возврат ВидСУБД <> "File" И ВидСУБД <> "PostgreSQL";
Возврат Не ОбщегоНазначения.ИнформационнаяБазаФайловая();
КонецФункции
@@ -983,9 +981,40 @@
Функция ДоступнаБалансировкаНагрузкиНаДиск() Экспорт
ВидСУБД = ВидСУБД();
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Возврат Ложь;
КонецЕсли;
Возврат ВидСУБД <> "File" И ВидСУБД <> "IBMDB2";
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| NULL КАК Поле
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 1) КАК Таблица
|
|УПОРЯДОЧИТЬ ПО
| Поле
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| ""Yes1"" КАК Поле) КАК Таблица
|ГДЕ
| Таблица.Поле ПОДОБНО ""Yes[1]""";
РезультатыЗапроса = Запрос.ВыполнитьПакет();
Возврат РезультатыЗапроса[0].Выгрузить()[0].Поле <> 1
Или Не РезультатыЗапроса[1].Пустой();
КонецФункции
@@ -1106,64 +1135,6 @@
КонецПроцедуры
// Для функции ТребуетсяУточнениеПланаЗапроса.
Функция ВидСУБД()
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Возврат "File";
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| NULL КАК Поле
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 1) КАК Таблица
|
|УПОРЯДОЧИТЬ ПО
| Поле
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Таблица.Поле КАК Поле
|ИЗ
| (ВЫБРАТЬ
| ""Yes1"" КАК Поле) КАК Таблица
|ГДЕ
| Таблица.Поле ПОДОБНО ""Yes[1]""
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ИСТИНА КАК Поле
|ГДЕ
| "" "" ПОДОБНО ""[^t]"" СПЕЦСИМВОЛ ""^""";
РезультатыЗапроса = Запрос.ВыполнитьПакет();
Если РезультатыЗапроса[0].Выгрузить()[0].Поле <> 1 Тогда
Возврат "MSSQLServer";
КонецЕсли;
Если РезультатыЗапроса[1].Пустой() Тогда
Возврат "IBMDB2";
КонецЕсли;
Если Не РезультатыЗапроса[2].Пустой() Тогда
Возврат "PostgreSQL";
КонецЕсли;
Возврат "OracleDatabase";
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -1018,7 +1018,8 @@
КонецЕсли;
КонецЦикла;
Адрес.Area = СтрСоединить(НовоеПредставление, ", ");
Адрес.value = СтрСоединить(НовоеПредставление, ", ");
Адрес.street = Адрес.value;
КонецЕсли;
@@ -2064,6 +2064,7 @@
КонецЕсли;
Если ПечатнаяФорма.ТабличныйДокумент <> Неопределено Тогда
ПечатнаяФорма.ТабличныйДокумент.КоличествоЭкземпляров = ПечатнаяФорма.Экземпляров;
УбратьПодписьИПечать(ПечатнаяФорма.ТабличныйДокумент);
КонецЕсли;
КонецЦикла;
@@ -2203,12 +2204,12 @@
ТекстОшибки = НСтр("ru = 'Не удалось подключить внешнюю компоненту для генерации QR-кода. Подробности в журнале регистрации.'");
QRCodeGenerator = ОбщегоНазначения.ПодключитьКомпонентуИзМакета("QRCodeExtension", "ОбщийМакет.КомпонентаПечатиQRКода");
Если QRCodeGenerator = Неопределено Тогда
Результат = ОбщегоНазначения.ПодключитьКомпонентуИзМакета("QRCodeExtension", "ОбщийМакет.КомпонентаПечатиQRКода");
Если Результат = Неопределено Тогда
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки);
КонецЕсли;
Возврат QRCodeGenerator;
Возврат Результат;
КонецФункции
@@ -2973,30 +2974,6 @@
КонецПроцедуры
// Формирует печатные формы.
//
// Параметры:
// МассивОбъектов - Массив - ссылки на объекты, которые нужно распечатать;
// ПараметрыПечати - Структура - дополнительные настройки печати;
// КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы (выходной параметр),
// см. УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм.
// ОбъектыПечати - СписокЗначений - значение - ссылка на объект;
// представление - имя области в которой был выведен объект (выходной
// параметр);
// ПараметрыВывода - Структура - дополнительные параметры сформированных табличных документов (выходной
// параметр).
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПечатнаяФорма = СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
Если ПечатнаяФорма <> Неопределено Тогда
ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Как сделать факсимильную подпись и печать'");
ПечатнаяФорма.ТабличныйДокумент = ПолучитьОбщийМакет("ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
ПечатнаяФорма.ПолныйПутьКМакету = "ОбщийМакет.ИнструкцияПоСозданиюФаксимильнойПодписиИПечати";
КонецЕсли;
КонецПроцедуры
Функция МакетыПечатныхФорм() Экспорт
Результат = Новый Соответствие;
@@ -265,7 +265,7 @@
// Открывает форму с инструкцией как сделать факсимильную подпись и печать.
Процедура ПоказатьИнструкциюПоСозданиюФаксимильнойПодписиИПечати() Экспорт
ВыполнитьКомандуПечати("УправлениеПечатью", "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати",
ВыполнитьКомандуПечати("РегистрСведений.ОбщиеПоставляемыеМакетыПечати", "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати",
ПредопределенноеЗначение("Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка"), Неопределено, Новый Структура);
КонецПроцедуры
@@ -754,6 +754,10 @@
КонецЕсли;
КонецЕсли;
Если НЕ ПоляНадписей И Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
Элемент.ВыборГруппИЭлементов = ГруппыИЭлементы.ГруппыИЭлементы;
КонецЕсли;
Если НЕ ПоляНадписей И ОписаниеСвойства.ДополнительноеЗначение И Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
ПараметрыВыбора = Новый Массив;
ПараметрыВыбора.Добавить(Новый ПараметрВыбора("Отбор.Владелец",
@@ -381,7 +381,22 @@
ЗаполнитьЗначенияСвойств(Проверка, Источник);
Если Проверка.ДополнительныеРеквизиты = Неопределено Тогда
Возврат; // Не подключены дополнительные реквизиты.
Возврат; // Быстрая проверка.
КонецЕсли;
ТабличнаяЧасть = Источник.Метаданные().ТабличныеЧасти.Найти("ДополнительныеРеквизиты");
Если ТабличнаяЧасть = Неопределено Тогда
Возврат;
КонецЕсли;
ПроверкаТабличнойЧасти = Новый Структура;
ПроверкаТабличнойЧасти.Вставить("Значение");
ПроверкаТабличнойЧасти.Вставить("Свойство");
ПроверкаТабличнойЧасти.Вставить("ТекстоваяСтрока");
ЗаполнитьЗначенияСвойств(ПроверкаТабличнойЧасти, ТабличнаяЧасть.Реквизиты);
Если ПроверкаТабличнойЧасти.Свойство = Неопределено
Или ПроверкаТабличнойЧасти.Значение = Неопределено
Или ПроверкаТабличнойЧасти.ТекстоваяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
Если Проверка.ЭтоГруппа Тогда
@@ -289,11 +289,21 @@
// Булево - письмо отправлено
Функция ОбработатьОшибкуОтправкиПисьма(Знач ПисьмоОбъект, Знач ВыборкаПисьма, Знач ПараметрыПисьма, Знач Интерактивно)
Если ПараметрыПисьма = Неопределено Тогда
ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов = Ложь;
ВсеАдресатыПисьмаОтвергнутыСервером = Ложь;
ПредставлениеОшибочныхАдресатов = "";
Иначе
РезультатАнализа = РезультатАнализаОшибочныхПолучателей(ПисьмоОбъект, ПараметрыПисьма.ОшибочныеПолучатели);
ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов = РезультатАнализа.ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов;
ВсеАдресатыПисьмаОтвергнутыСервером = РезультатАнализа.ВсеАдресатыПисьмаОтвергнутыСервером;
ПредставлениеОшибочныхАдресатов = РезультатАнализа.ПредставлениеОшибочныхАдресатов;
КонецЕсли;
Если ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов И Не ВсеАдресатыПисьмаОтвергнутыСервером Тогда
ШаблонСообщенияОбОшибке = НСтр("ru = 'Следующие адресаты письма %1 не приняты почтовым сервером:
|%2. Письмо отправлено остальным адресатам.'", ОбщегоНазначения.КодОсновногоЯзыка());
+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="8d69168b-9e83-4290-b54b-69e6223871bf">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="676daec5-8da1-40a3-87a0-831e86c03e02">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="e4354c72-6ebf-4db1-9058-15f48678cd55"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="6d613639-4bed-44ee-85e6-8c35891d53ea"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="7e873949-b371-49c1-b9f5-13652e23f414"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="9a30c41c-ad92-4039-8e5b-2e84a6f6ab39"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="0d83e7bb-e173-4e0e-b85b-06d1810152f0"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="86685c91-b887-466d-ac7d-db7089214565"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="914a3789-fe4b-4a36-a836-bfaae7baf2d0"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="d91970df-1d3c-440b-b5a9-8c01c8cb79fa"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="396455d0-9368-4274-8a91-cccf82109772"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="5358c603-5a8c-41fa-86f5-b1f4672c63c8"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="16cc1acf-fbf9-40cd-8bf3-e4c31b12c735"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="e50690fa-0c25-418a-916e-ae6b65407955"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="d7e2acfd-9135-4fb9-b276-5b8609765306"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="17e07544-150f-4f14-badc-bcbd75f06c3c"/>
<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.2.291</version>
<version>3.1.2.306</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,58561ec3-72fc-443a-b2ac-c7edadac1e3d,1,dca7efba-803e-47db-9ace-462f548bf619,"3.1.2.291","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5916,1,0,8d69168b-9e83-4290-b54b-69e6223871bf,8d69168b-9e83-4290-b54b-69e6223871bf,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,83ce52c7-597d-4c21-9ef9-eff8c1bb7788,1,c28670dc-8b30-4618-a3d8-516b2b971f40,"3.1.2.306","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5916,1,0,676daec5-8da1-40a3-87a0-831e86c03e02,676daec5-8da1-40a3-87a0-831e86c03e02,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 36;
Возврат 38;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.2.290";
Возврат "3.1.2.300";
КонецФункции
@@ -352,7 +352,10 @@
КонецЕсли;
// 18 марта - День воссоединения Крыма с Россией.
Если НомерГода < 2020 Тогда
// Отменен с 2020 года.
ДобавитьПраздничныйДень(ПраздничныеДни, 18, 3, НомерГода);
КонецЕсли;
КонецПроцедуры
@@ -519,8 +519,7 @@
<Item Calendar="92" Year="2018" DayType="Праздник" Date="20180318" SwapDate="20180319"/>
<Item Calendar="92" Year="2018" DayType="Воскресенье" Date="20180319" SwapDate="20180318"/>
<Item Calendar="92" Year="2019" DayType="Праздник" Date="20190318" SwapDate=""/>
<Item Calendar="92" Year="2020" DayType="Предпраздничный" Date="20200317" SwapDate=""/>
<Item Calendar="92" Year="2020" DayType="Праздник" Date="20200318" SwapDate=""/>
<Item Calendar="92" Year="2020" DayType="Праздник" Date="20200101" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010101" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010102" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010107" SwapDate="20010108"/>
@@ -2630,6 +2630,7 @@
Процедура ПослеВыбораПрограммы(ПоказатьОшибку, Оповещение = Неопределено)
Криптография = Неопределено;
РаботаСДвоичнымиДанными = Неопределено;
Если Не ЗначениеЗаполнено(Объект.Программа)
Или Объект.Программа = ПрограммаОблачногоСервиса Тогда
@@ -3423,8 +3424,9 @@
&НаКлиенте
Процедура СоздатьКлючИЗапросНаСертификатПослеОшибкиВызоваСоздатьКонтейнер(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
Криптография = Неопределено;
СтандартнаяОбработка = Ложь;
Криптография = Неопределено;
РаботаСДвоичнымиДанными = Неопределено;
Если Не ВозможноПродолжениеПослеОперацииКомпоненты() Тогда
Возврат;
@@ -3593,6 +3595,7 @@
СтандартнаяОбработка = Ложь;
Криптография = Неопределено;
РаботаСДвоичнымиДанными = Неопределено;
Если Не ВозможноПродолжениеПослеОперацииКомпоненты() Тогда
Возврат;
@@ -3664,6 +3667,7 @@
СтандартнаяОбработка = Ложь;
Криптография = Неопределено;
РаботаСДвоичнымиДанными = Неопределено;
Если Не ВозможноПродолжениеПослеОперацииКомпоненты() Тогда
Возврат;
@@ -3869,6 +3873,7 @@
СтандартнаяОбработка = Ложь;
Криптография = Неопределено;
РаботаСДвоичнымиДанными = Неопределено;
Если Не ВозможноПродолжениеПослеОперацииКомпоненты() Тогда
Возврат;
@@ -4109,6 +4114,7 @@
СтандартнаяОбработка = Ложь;
Криптография = Неопределено;
РаботаСДвоичнымиДанными = Неопределено;
Если Не ВозможноПродолжениеПослеОперацииКомпоненты() Тогда
Возврат;
@@ -4369,6 +4375,7 @@
СтандартнаяОбработка = Ложь;
Криптография = Неопределено;
РаботаСДвоичнымиДанными = Неопределено;
Если Не ВозможноПродолжениеПослеОперацииКомпоненты() Тогда
Возврат;
@@ -4499,6 +4506,7 @@
СтандартнаяОбработка = Ложь;
Криптография = Неопределено;
РаботаСДвоичнымиДанными = Неопределено;
Если Не ВозможноПродолжениеПослеОперацииКомпоненты() Тогда
Возврат;
@@ -4963,6 +4971,7 @@
КонецЕсли;
Криптография = Неопределено;
РаботаСДвоичнымиДанными = Неопределено;
ПоказатьПредупреждение(,
НСтр("ru = 'Заявление на выпуск сертификата было закрыто, операция отменена.'"));
@@ -3871,7 +3871,7 @@
<id>1931</id>
<title>
<key>ru</key>
<value>Сервис 1С-Коннект позволяет быть на связи с компанией или отделом где угодно – на рабочем месте, в дороге или из дома, видеть список коллег, писать и звонить нужными сотрудникам.</value>
<value>Корпоративный чат с возможностью звонить, передавать файлы и удаленно подключаться к компьютеру. Оперативная поддержка пользователей программ 1С.</value>
</title>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -4575,7 +4575,7 @@
<name>БИПНастройкаИнтеграцииСКоннект</name>
<title>
<key>ru</key>
<value>БИПНастройка интеграции с коннект</value>
<value>Настройка интеграции с 1С-Коннект</value>
</title>
<id>12</id>
<toolTip>
@@ -273,8 +273,14 @@
&НаКлиенте
Процедура СохранитьИнструкциюКак(Команда)
АдресВоВременномХранилище = ПолучитьМакет();
ПолучитьФайл(АдресВоВременномХранилище, НСтр("ru = 'Инструкция по настройке автономного рабочего места.html'"));
ПолучаемыйФайл = Новый Структура;
ПолучаемыйФайл.Вставить("Имя", НСтр("ru = 'Инструкция по настройке автономного рабочего места.html'"));
ПолучаемыйФайл.Вставить("Хранение", ПолучитьМакет());
ПараметрыДиалога = Новый Структура;
ПараметрыДиалога.Вставить("Фильтр", НСтр("ru = 'Веб-страница, только HTML (*.html)|*.html'"));
ОбменДаннымиКлиент.ВыбратьИСохранитьФайлНаКлиенте(ПолучаемыйФайл, ПараметрыДиалога);
КонецПроцедуры
@@ -3279,7 +3279,10 @@
КонецЕсли;
НеЗагружатьАдресныйКлассификатор = ПараметрыПриложения.Получить("АдресныйКлассификатор.НеЗагружатьКлассификатор");
Если НеЗагружатьАдресныйКлассификатор = Неопределено ИЛИ НеЗагружатьАдресныйКлассификатор = Ложь Тогда
Если ДанныеОбАдресе <> Неопределено
И (НеЗагружатьАдресныйКлассификатор = Неопределено
ИЛИ НеЗагружатьАдресныйКлассификатор = Ложь) Тогда
Регион = ДанныеОбАдресе.Представление;
ТипПараметраРегиона = ТипЗнч(Регион);
ПараметрыФормы = Новый Структура;
@@ -202,6 +202,10 @@
ДеревоДел = СохраненноеДеревоДел;
КонецЕсли;
ДеревоДел.Колонки.Добавить("Проверка", Новый ОписаниеТипов("Булево"));
Если ДеревоДел.Колонки.Найти("ВыводитьВОповещениях") = Неопределено Тогда
ДеревоДел.Колонки.Добавить("ВыводитьВОповещениях", Новый ОписаниеТипов("Булево"));
ДеревоДел.Колонки.Добавить("Картинка", Новый ОписаниеТипов("Картинка"));
КонецЕсли;
ТекущийРаздел = "";
Индекс = 0;
ИндексДела = 0;
@@ -263,14 +267,6 @@
СтрокаДела.Скрытое = Дело.СкрыватьВНастройках;
СтрокаДела.ВыводитьВОповещениях = Дело.ВыводитьВОповещениях;
Если СохраненноеДеревоДел <> Неопределено
И СохраненноеДеревоДел.Колонки.Найти("ВыводитьВОповещениях") <> Неопределено Тогда
НайденнаяСтрока = СохраненноеДеревоДел.Строки.Найти(Дело.Идентификатор, "Идентификатор", Истина);
Если НайденнаяСтрока <> Неопределено Тогда
СтрокаДела.ВыводитьВОповещениях = НайденнаяСтрока.ВыводитьВОповещениях;
КонецЕсли;
КонецЕсли;
Если СтрокаДела.ВыводитьВОповещениях Тогда
СтрокаДела.Картинка = БиблиотекаКартинок.Оповещения;
Иначе
@@ -45,7 +45,6 @@
switch (step) {
case 0:
setProgress('[Шаг1Инициализация]')
alert('111')
break
case 1:
ret = initialize()
@@ -154,7 +154,7 @@
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, РежимЗаписи, РежимПроведения)
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.Свойства
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
@@ -151,7 +151,7 @@
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, РежимЗаписи, РежимПроведения)
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.Свойства
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
@@ -132,7 +132,7 @@
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, РежимЗаписи, РежимПроведения)
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.Свойства
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
@@ -112,6 +112,30 @@
КонецФункции
// Формирует печатные формы.
//
// Параметры:
// МассивОбъектов - Массив - ссылки на объекты, которые нужно распечатать;
// ПараметрыПечати - Структура - дополнительные настройки печати;
// КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы (выходной параметр),
// см. УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм.
// ОбъектыПечати - СписокЗначений - значение - ссылка на объект;
// представление - имя области в которой был выведен объект (выходной
// параметр);
// ПараметрыВывода - Структура - дополнительные параметры сформированных табличных документов (выходной
// параметр).
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
Если ПечатнаяФорма <> Неопределено Тогда
ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Как сделать факсимильную подпись и печать'");
ПечатнаяФорма.ТабличныйДокумент = ПолучитьОбщийМакет("ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
ПечатнаяФорма.ПолныйПутьКМакету = "ОбщийМакет.ИнструкцияПоСозданиюФаксимильнойПодписиИПечати";
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли
@@ -2098,6 +2098,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>Constant.МаксимальныйРазмерФайла</name>
<right>
@@ -2626,93 +2713,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>
@@ -21,6 +21,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>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
@@ -76,37 +107,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>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -2935,6 +2935,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>Document.СообщениеSMS</name>
<right>
@@ -3737,45 +3776,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>
@@ -425,6 +425,8 @@
Вариант = НайденныеВарианты[0]; // ДанныеФормыЭлементКоллекции
ПравоЗаписиВарианта = ПравоЗаписиВарианта(Вариант, Контекст.ПолныеПраваНаВарианты);
ЗаполнитьПредставления(Вариант.Ссылка);
Если ПравоЗаписиВарианта Тогда
БудетПерезаписанСуществующий = Истина;
@@ -442,8 +444,6 @@
Объект.Описание = Вариант.Описание;
КонецЕсли;
ЗаполнитьПредставления(Вариант.Ссылка);
Иначе
Если НаименованиеМодифицировано Тогда
+7
View File
@@ -205,6 +205,13 @@
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(Новый УникальныйИдентификатор(ИдентификаторОперации));
Если ФоновоеЗадание = Неопределено Тогда
СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не найдено длительной операции с идентификатором %1.'"),
ИдентификаторОперации);
Возврат СостоянияФоновогоЗадания.Получить(СостояниеФоновогоЗадания.Отменено);
КонецЕсли;
Если ФоновоеЗадание.ИнформацияОбОшибке <> Неопределено Тогда
СтрокаСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ФоновоеЗадание.ИнформацияОбОшибке);
@@ -199,6 +199,13 @@
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(Новый УникальныйИдентификатор(ИдентификаторОперации));
Если ФоновоеЗадание = Неопределено Тогда
СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не найдено длительной операции с идентификатором %1.'"),
ИдентификаторОперации);
Возврат СостоянияФоновогоЗадания.Получить(СостояниеФоновогоЗадания.Отменено);
КонецЕсли;
Если ФоновоеЗадание.ИнформацияОбОшибке <> Неопределено Тогда
СтрокаСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ФоновоеЗадание.ИнформацияОбОшибке);
@@ -157,6 +157,13 @@
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(Новый УникальныйИдентификатор(ИдентификаторОперации));
Если ФоновоеЗадание = Неопределено Тогда
СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не найдено длительной операции с идентификатором %1.'"),
ИдентификаторОперации);
Возврат СостоянияФоновогоЗадания.Получить(СостояниеФоновогоЗадания.Отменено);
КонецЕсли;
Если ФоновоеЗадание.ИнформацияОбОшибке <> Неопределено Тогда
СтрокаСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ФоновоеЗадание.ИнформацияОбОшибке);