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
+994 -686

No files matched your search

@@ -1948,13 +1948,13 @@
ВариантыОтчетов.ТипОтчета, ВариантыОтчетов.ТипОтчета,
ВариантыОтчетов.Автор, ВариантыОтчетов.Автор,
ВЫБОР ВЫБОР
КОГДА &ЭтоОсновнойЯзык КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> ""
И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = "" ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = ""
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000)) ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000))
КОГДА НЕ &ЭтоОсновнойЯзык КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ПредставленияВариантов.Описание, 1, 1) <> ""
И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = "" ТОГДА ВЫРАЗИТЬ(ПредставленияВариантов.Описание КАК СТРОКА(1000))
ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание) КАК СТРОКА(1000)) ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание), ВариантыОтчетов.Описание) КАК СТРОКА(1000))
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
КОНЕЦ КАК Описание, КОНЕЦ КАК Описание,
ВЫБОР ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ВариантыОтчетов.Отчет) = ТИП(Справочник.ИдентификаторыОбъектовМетаданных) КОГДА ТИПЗНАЧЕНИЯ(ВариантыОтчетов.Отчет) = ТИП(Справочник.ИдентификаторыОбъектовМетаданных)
@@ -291,10 +291,8 @@
&НаСервере &НаСервере
Процедура ЗаполнитьИзПредопределенного(ВариантОбъект) Процедура ЗаполнитьИзПредопределенного(ВариантОбъект)
ЭтоПредопределенный = Не ВариантОбъект.Пользовательский ЭтоПредопределенный = ВариантыОтчетов.ЭтоПредопределенныйВариантОтчета(ВариантОбъект);
И (ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний
Или ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Расширение)
И ЗначениеЗаполнено(ВариантОбъект.ПредопределенныйВариант);
Если Не ЭтоПредопределенный Тогда Если Не ЭтоПредопределенный Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -127,14 +127,10 @@
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка) Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ЭтоПредопределенный = Не Данные.Пользовательский Если ВариантыОтчетовВызовСервера.ЭтоПредопределенныйВариантОтчета(Данные) Тогда
И (Данные.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний
Или Данные.ТипОтчета = Перечисления.ТипыОтчетов.Расширение)
И ЗначениеЗаполнено(Данные.ПредопределенныйВариант);
Если ЭтоПредопределенный Тогда
Данные.Ссылка = Данные.ПредопределенныйВариант; Данные.Ссылка = Данные.ПредопределенныйВариант;
КонецЕсли; КонецЕсли;
МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка); МультиязычностьКлиентСервер.ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка);
КонецПроцедуры КонецПроцедуры
@@ -91,7 +91,7 @@
<div><strong>Без ограничения срока </strong>- бессрочный доступ, только для этого пользователя;</div> <div><strong>Без ограничения срока </strong>- бессрочный доступ, только для этого пользователя;</div>
</li> </li>
<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>
<li> <li>
<div><strong>Запретить вход, если не работает более</strong> (укажите количество дней) - если пользователь не войдет в программу больше указанного количества дней, то вход в программу будет невозможен. </div> <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 Цикл Для инд = 0 По Элементы.СтраницыСписки.ТекущаяСтраница.ПодчиненныеЭлементы.Количество() -1 Цикл
ТекущиеДанные = Элементы.СтраницыСписки.ТекущаяСтраница.ПодчиненныеЭлементы[инд].ТекущиеДанные; // см. ДанныеКонтактыПоПредмету ТекущиеДанные = ДанныеКонтактыПоПредмету(Элементы.СтраницыСписки.ТекущаяСтраница.ПодчиненныеЭлементы[инд].ТекущиеДанные);
Если ТекущиеДанные = Неопределено Тогда Если ТекущиеДанные = Неопределено Тогда
Продолжить; Продолжить;
Иначе Иначе
@@ -304,7 +304,7 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура СохранитьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Процедура СохранитьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
РезультатВыбора = Новый Массив; РезультатВыбора = Новый Массив;
ЕстьКонтактнаяИнформацияДляИзменения = Ложь; ЕстьКонтактнаяИнформацияДляИзменения = Ложь;
@@ -342,32 +342,25 @@
КонецПроцедуры КонецПроцедуры
// АПК:299-выкл Конструктор для типизации кода // Возвращает данные строки таблицы Найденные контакты.
//
// Конструктор данных строки таблицы НайденныеКонтакты. // Параметры:
// ВыделеннаяСтрока - ДанныеФормыЭлементКоллекции - строка, данные которой получаются.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - Описание: // Структура - Описание:
// * НаименованиеВладельца - Строка - // * НаименованиеВладельца - Строка -
// * Наименование - Строка - // * Наименование - Строка -
// * Представление - Строка - // * Представление - Строка -
// * Ссылка - ОпределяемыйТип.КонтактВзаимодействия - // * Ссылка - ОпределяемыйТип.КонтактВзаимодействия -
// //
&НаКлиенте &НаСервере
Функция ДанныеСтрокиНайденныеКонтакты() Экспорт Функция ДанныеСтрокиНайденныеКонтакты(ВыделеннаяСтрока)
Данные = Новый Структура; Возврат ВыделеннаяСтрока;
Данные.Вставить("Ссылка", Неопределено);
Данные.Вставить("Представление", "");
Данные.Вставить("НаименованиеВладельца", "");
Данные.Вставить("Наименование", "");
Возврат Данные;
КонецФункции КонецФункции
// АПК:299-вкл Конструктор для типизации кода
&НаСервере &НаСервере
Процедура ЗаполнитьСпискиНайденныхКонтактовПоEmail() Процедура ЗаполнитьСпискиНайденныхКонтактовПоEmail()
@@ -404,7 +397,7 @@
Для Каждого Группа Из Группа.Строки Цикл Для Каждого Группа Из Группа.Строки Цикл
СтрокаГруппы = Группа; // см. ДанныеСтрокиНайденныеКонтакты СтрокаГруппы = ДанныеСтрокиНайденныеКонтакты(Группа);
Если СтрокаТаблицы.СписокНайденныхКонтактов.НайтиПоЗначению(Группа.Контакт) = Неопределено Тогда Если СтрокаТаблицы.СписокНайденныхКонтактов.НайтиПоЗначению(Группа.Контакт) = Неопределено Тогда
ПредставлениеКонтакта = СтрокаГруппы.Наименование + ?(ПустаяСтрока(СтрокаГруппы.НаименованиеВладельца), "", " (" + СтрокаГруппы.НаименованиеВладельца + ")"); ПредставлениеКонтакта = СтрокаГруппы.Наименование + ?(ПустаяСтрока(СтрокаГруппы.НаименованиеВладельца), "", " (" + СтрокаГруппы.НаименованиеВладельца + ")");
СтрокаТаблицы.СписокНайденныхКонтактов.Добавить(СтрокаГруппы.Контакт, ПредставлениеКонтакта); СтрокаТаблицы.СписокНайденныхКонтактов.Добавить(СтрокаГруппы.Контакт, ПредставлениеКонтакта);
@@ -1444,7 +1444,13 @@
&НаКлиенте &НаКлиенте
Процедура СтруктураВарианта_СохранитьВФайл(Команда) Процедура СтруктураВарианта_СохранитьВФайл(Команда)
Адрес = АдресНастроекВСтрокеXML(); Адрес = АдресНастроекВСтроке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,17 +4172,18 @@
АдресГородовФедеральногоЗначения = Новый Соответствие; АдресГородовФедеральногоЗначения = Новый Соответствие;
Для Каждого ЭлементПроверки Из Адреса Цикл Для Каждого ЭлементПроверки Из Адреса Цикл
Если Результаты[ЭлементПроверки.Ключ].Ошибки.Количество() > 0 Если Результаты[ЭлементПроверки.Ключ].АдресПроверен = Ложь
И Результаты[ЭлементПроверки.Ключ].Ошибки.Количество() > 0
И ЭтоГородФедеральногоЗначения(ЭлементПроверки.Значение) И ЭтоГородФедеральногоЗначения(ЭлементПроверки.Значение)
И ЭтоМуниципальныйАдрес(ЭлементПроверки.Значение.addressType) Тогда И ЭтоМуниципальныйАдрес(ЭлементПроверки.Значение.addressType) Тогда
Адрес = ОбщегоНазначения.СкопироватьРекурсивно(ЭлементПроверки.Значение); Адрес = ОбщегоНазначения.СкопироватьРекурсивно(ЭлементПроверки.Значение);
Адрес.munDistrict = ""; Адрес.munDistrict = "";
Адрес.munDistrictType = ""; Адрес.munDistrictType = "";
Адрес.settlement = ""; Адрес.settlement = "";
Адрес.settlementType = ""; Адрес.settlementType = "";
АдресГородовФедеральногоЗначения.Вставить(ЭлементПроверки.Ключ, Адрес); АдресГородовФедеральногоЗначения.Вставить(ЭлементПроверки.Ключ, Адрес);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -327,19 +327,21 @@
// //
// Параметры: // Параметры:
// Настройки - см. ВариантыОтчетов.КоллекцияПредопределенныхВариантовОтчетов // Настройки - см. ВариантыОтчетов.КоллекцияПредопределенныхВариантовОтчетов
// ОтчетИлиПодсистема - СтрокаДереваЗначений, ОбъектМетаданных: Отчет, ОбъектМетаданных: Подсистема - // ОтчетИлиПодсистема - СтрокаДереваЗначений, ОбъектМетаданныхОтчет, ОбъектМетаданныхПодсистема - Описание отчета
// Описание отчета или подсистемы, для которой устанавливается режим вывода. // или подсистемы, для которой устанавливается режим вывода.
// Когда передана подсистема режим устанавливается рекурсивно для всех отчетов из ее состава. // Когда передана подсистема режим устанавливается рекурсивно для всех отчетов из ее состава.
// ГруппироватьПоОтчетам - Булево, Строка - режим вывода гиперссылок этого отчета в панели отчетов: // ГруппироватьПоОтчетам - Булево, Строка - режим вывода гиперссылок этого отчета в панели отчетов:
// * Истина, "ПоОтчетам" - варианты группируются по отчету. // * Истина - варианты группируются по отчету.
// По умолчанию в панелях отчетов выводится только основной вариант отчета, // По умолчанию в панелях отчетов выводится только основной вариант отчета,
// а все прочие варианты этого отчета выводятся "под" основным и по умолчанию скрыты // а все прочие варианты этого отчета выводятся "под" основным и по умолчанию скрыты
// (но могут быть найдены поиском или включены при помощи флажков в режиме настройки). // (но могут быть найдены поиском или включены при помощи флажков в режиме настройки).
// Основным вариантом считается первый предопределенный вариант в схеме отчета. // Основным вариантом считается первый предопределенный вариант в схеме отчета.
// Этот режим появился в версии 2.2.2 и позволяет уменьшить количество гиперссылок, выводимых в панелях отчетов. // Этот режим появился в версии 2.2.2 и позволяет уменьшить количество гиперссылок, выводимых в панелях отчетов.
// * Ложь, "ПоВариантам" - все варианты отчета считаются самостоятельными, // * Ложь - все варианты отчета считаются самостоятельными,
// по умолчанию видны и выводятся независимо в панелях отчетов. // по умолчанию видны и выводятся независимо в панелях отчетов.
// Этот режим использовался в версии 2.2.1 и ранее. // Этот режим использовался в версии 2.2.1 и ранее.
// * "ПоОтчетам" - см. описание к значению Истина.
// * "ПоВариантам" - см. описание к значению Ложь.
// //
Процедура УстановитьРежимВыводаВПанеляхОтчетов(Настройки, ОтчетИлиПодсистема, ГруппироватьПоОтчетам) Экспорт Процедура УстановитьРежимВыводаВПанеляхОтчетов(Настройки, ОтчетИлиПодсистема, ГруппироватьПоОтчетам) Экспорт
@@ -540,19 +542,19 @@
// Сбрасывает пользовательские настройки указанных отчетов. // Сбрасывает пользовательские настройки указанных отчетов.
// //
// Параметры: // Параметры:
// Ключ - ОбъектМетаданных: Отчет - метаданные отчета, для которого требуется сбросить настройки. // Ключ - ОбъектМетаданныхОтчет - метаданные отчета, для которого требуется сбросить настройки.
// - СправочникСсылка.ВариантыОтчетов - вариант отчета, для которого требуется сбросить настройки. // - СправочникСсылка.ВариантыОтчетов - вариант отчета, для которого требуется сбросить настройки.
// - Строка - полное имя варианта отчета, для которого требуется сбросить настройки. // - Строка - полное имя варианта отчета, для которого требуется сбросить настройки.
// Заполняется в формате "<ИмяОтчета>/<ИмяВарианта>". // Заполняется в формате "<ИмяОтчета>/<ИмяВарианта>".
// Если передать "*", то будут сброшены настройки всех отчетов конфигурации. // Если передать "*", то будут сброшены настройки всех отчетов конфигурации.
// ТипыНастроек - Структура - необязательный. Типы пользовательских настроек, которые требуется сбросить. // ТипыНастроек - Структура - необязательный. Типы пользовательских настроек, которые требуется сбросить.
// Ключи структуры тоже являются необязательными. Значение по умолчанию указано в скобках. // Ключи структуры тоже являются необязательными. Значение по умолчанию указано в скобках.
// * ЭлементОтбора - Булево - (Ложь) сбрасывать настройку "ЭлементОтбораКомпоновкиДанных". // * ЭлементОтбора - Булево - если Ложь, то сбрасывается настройка "ЭлементОтбораКомпоновкиДанных".
// * ЗначениеПараметраНастроек - Булево - (Ложь) сбрасывать настройку "ЗначениеПараметраНастроекКомпоновкиДанных". // * ЗначениеПараметраНастроек - Булево - если Ложь, то сбрасывается настройка "ЗначениеПараметраНастроекКомпоновкиДанных".
// * ВыбранныеПоля - Булево - (берется из ключа Прочие) сбрасывать настройку "ВыбранныеПоляКомпоновкиДанных". // * ВыбранныеПоля - Булево - признак необходимости сброса настройки "ВыбранныеПоляКомпоновкиДанных" (возвращается из ключа Прочие).
// * Порядок - Булево - (берется из ключа Прочие) сбрасывать настройку "ПорядокКомпоновкиДанных". // * Порядок - Булево - признак необходимости сброса настройки "ПорядокКомпоновкиДанных" (возвращается из ключа Прочие).
// * ЭлементУсловногоОформления - Булево - (берется из ключа Прочие) сбрасывать настройку "ЭлементУсловногоОформленияКомпоновкиДанных". // * ЭлементУсловногоОформления - Булево - признак необходимости сброса настройки "ЭлементУсловногоОформленияКомпоновкиДанных" (возвращается из ключа Прочие).
// * Прочие - Булево - (Истина) сбрасывать прочие настройки, не описанные в структуре явно. // * Прочие - Булево - если Истина, то сбрасываются прочие настройки, не описанные в структуре явно.
// //
Процедура СброситьПользовательскиеНастройки(Ключ, ТипыНастроек = Неопределено) Экспорт Процедура СброситьПользовательскиеНастройки(Ключ, ТипыНастроек = Неопределено) Экспорт
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр( ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(
@@ -1386,24 +1388,27 @@
Функция ПараметрыОбновленияНастроек() Экспорт Функция ПараметрыОбновленияНастроек() Экспорт
Настройки = Новый Структура; Настройки = Новый Структура;
Настройки.Вставить("Конфигурация", Истина); Настройки.Вставить("Конфигурация", Истина);
Настройки.Вставить("Расширения", Ложь); Настройки.Вставить("Расширения", Ложь);
Настройки.Вставить("ОбщиеДанные", Истина); Настройки.Вставить("ОбщиеДанные", Истина);
Настройки.Вставить("РазделенныеДанные", Истина); Настройки.Вставить("РазделенныеДанные", Истина);
Настройки.Вставить("Оперативное", Истина); Настройки.Вставить("Оперативное", Истина);
Настройки.Вставить("Отложенное", Ложь); Настройки.Вставить("Отложенное", Ложь);
Настройки.Вставить("ИндексироватьСхему",Ложь); // Настройки.Вставить("ИндексироватьСхему", Ложь);
Настройки.Вставить("ЗаполнятьПредставления", Истина);
Если ОбщегоНазначения.РазделениеВключено() Тогда Если ОбщегоНазначения.РазделениеВключено() Тогда
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Настройки.ОбщиеДанные = Ложь; Настройки.ОбщиеДанные = Ложь;
Иначе // Неразделенный сеанс. Иначе // Неразделенный сеанс.
Настройки.РазделенныеДанные = Ложь; Настройки.РазделенныеДанные = Ложь;
КонецЕсли; КонецЕсли;
ИначеЕсли ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда // АРМ. ИначеЕсли ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда // АРМ.
Настройки.ОбщиеДанные = Ложь; Настройки.ОбщиеДанные = Ложь;
КонецЕсли; КонецЕсли;
Настройки.Расширения = Настройки.РазделенныеДанные; Настройки.Расширения = Настройки.РазделенныеДанные;
Возврат Настройки; Возврат Настройки;
КонецФункции КонецФункции
@@ -1520,7 +1525,10 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
ЗапланироватьЗаполнениеПредставлений();
Если Настройки.ЗаполнятьПредставления Тогда
ЗапланироватьЗаполнениеПредставлений();
КонецЕсли;
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
@@ -4179,7 +4187,7 @@
Запрос = Новый Запрос; Запрос = Новый Запрос;
// АПК:1377-выкл Рекизит Отчет состоит из четырех типов и для данного сценария разыменование не критично. // АПК:1377-выкл Реквизит Отчет состоит из четырех типов и для данного сценария разыменование не критично.
ТекстЗапроса = ТекстЗапроса =
"ВЫБРАТЬ "ВЫБРАТЬ
| ВариантыОтчетов.Ссылка КАК Ссылка | ВариантыОтчетов.Ссылка КАК Ссылка
@@ -4431,22 +4439,27 @@
ПараметрыОбновления = ПараметрыОбновленияНастроек(); ПараметрыОбновления = ПараметрыОбновленияНастроек();
ПараметрыОбновления.Отложенное = Истина; ПараметрыОбновления.Отложенное = Истина;
ПараметрыОбновления.ЗаполнятьПредставления = Ложь;
Обновить(ПараметрыОбновления); Обновить(ПараметрыОбновления);
Если ИндексТекущегоЯзыка < Языки.Количество() - 1 Тогда Если ИндексТекущегоЯзыка < Языки.ВГраница() Тогда
ЗапланироватьЗаполнениеПредставлений(Языки, ИндексТекущегоЯзыка + 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(ПредставленияВариантов.Наименование, ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык | КОГДА &ЭтоОсновнойЯзык
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ВариантыКонфигурации.Наименование, ВариантыРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000)) | ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ВариантыКонфигурации.Наименование, ВариантыРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ВариантыОтчетов.Наименование) КАК СТРОКА(1000)) | ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ПредставленияВариантов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ КАК НаименованиеВарианта, | КОНЕЦ КАК НаименованиеВарианта,
| ВЫБОР | ВЫБОР
| КОГДА &НеПолучатьОписания | КОГДА &НеПолучатьОписания
@@ -5722,26 +5786,13 @@
| ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.КлючевыеСлова КАК СТРОКА(1000)) | ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.КлючевыеСлова КАК СТРОКА(1000))
| КОНЕЦ КАК КлючевыеСлова, | КОНЕЦ КАК КлючевыеСлова,
| ВЫБОР | ВЫБОР
| КОГДА &НеПолучатьОписания | КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА &ЭтоОсновнойЯзык
| И (ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка)))
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000)) | ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык | КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| И (ВариантыОтчетов.Пользовательский
| ИЛИ ВариантыОтчетов.ПредопределенныйВариант В (
| НЕОПРЕДЕЛЕНО,
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетовРасширений.ПустаяСсылка)))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияВариантов.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000)) | ТОГДА ВЫРАЗИТЬ(ЕСТЬ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)) | ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияИзРасширений.Наименование), ПредставленияВариантов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ КАК Наименование, | КОНЕЦ КАК Наименование,
| ВариантыОтчетов.ТолькоДляАвтора КАК ТолькоДляАвтора, | ВариантыОтчетов.ТолькоДляАвтора КАК ТолькоДляАвтора,
| ВЫБОР | ВЫБОР
@@ -6098,17 +6163,13 @@
| ВЫРАЗИТЬ(ВариантыОтчетов.НаименованияПолей КАК СТРОКА(1000)) КАК НаименованияПолей, | ВЫРАЗИТЬ(ВариантыОтчетов.НаименованияПолей КАК СТРОКА(1000)) КАК НаименованияПолей,
| ВЫРАЗИТЬ(ВариантыОтчетов.КлючевыеСлова КАК СТРОКА(1000)) КАК КлючевыеСлова, | ВЫРАЗИТЬ(ВариантыОтчетов.КлючевыеСлова КАК СТРОКА(1000)) КАК КлючевыеСлова,
| ВЫБОР | ВЫБОР
| КОГДА &НеПолучатьОписания
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """" | КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000)) | ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| КОГДА &ЭтоОсновнойЯзык | КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000)) | ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыРасширений.Описание) КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ЕСТЬNULL(ПредставленияПользовательских.Описание, """"), 1, 1) <> """" | КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ПредставленияВариантов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияПользовательских.Описание КАК СТРОКА(1000)) | ТОГДА ВЫРАЗИТЬ(ПредставленияВариантов.Описание КАК СТРОКА(1000))
| КОГДА НЕ &ЭтоОсновнойЯзык | ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание), ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ПредставленияИзРасширений.Описание) КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ("""" КАК СТРОКА(1000))
| КОНЕЦ КАК Описание, | КОНЕЦ КАК Описание,
| НЕОПРЕДЕЛЕНО КАК Подсистема, | НЕОПРЕДЕЛЕНО КАК Подсистема,
| """" КАК НаименованиеПодсистемы, | """" КАК НаименованиеПодсистемы,
@@ -6121,9 +6182,9 @@
| ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыКонфигурации.Ссылка | ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыКонфигурации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширений | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ВариантыРасширений
| ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыРасширений.Ссылка | ПО ВариантыОтчетов.ПредопределенныйВариант = ВариантыРасширений.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Представления КАК ПредставленияПользовательских | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Представления КАК ПредставленияВариантов
| ПО ВариантыОтчетов.Ссылка = ПредставленияПользовательских.Ссылка | ПО ВариантыОтчетов.Ссылка = ПредставленияВариантов.Ссылка
| И (ПредставленияПользовательских.КодЯзыка = &КодЯзыка) | И (ПредставленияВариантов.КодЯзыка = &КодЯзыка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Представления КАК ПредставленияИзКонфигурации | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Представления КАК ПредставленияИзКонфигурации
| ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзКонфигурации.Ссылка | ПО ВариантыОтчетов.ПредопределенныйВариант = ПредставленияИзКонфигурации.Ссылка
| И (ПредставленияИзКонфигурации.КодЯзыка = &КодЯзыка) | И (ПредставленияИзКонфигурации.КодЯзыка = &КодЯзыка)
@@ -6516,13 +6577,13 @@
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияВариантов.Наименование) КАК СТРОКА(1000)) | ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Наименование, ПредставленияВариантов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ КАК Наименование, | КОНЕЦ КАК Наименование,
| ВЫБОР | ВЫБОР
| КОГДА &ЭтоОсновнойЯзык | КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """" | ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| ТОГДА ВЫРАЗИТЬ(ВариантыКонфигурации.Описание КАК СТРОКА(1000)) | КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| КОГДА НЕ &ЭтоОсновнойЯзык | ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ВариантыКонфигурации.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """" | КОГДА НЕ &ЭтоОсновнойЯзык И ПОДСТРОКА(ПредставленияВариантов.Описание, 1, 1) <> """"
| ТОГДА ВЫРАЗИТЬ(ПредставленияИзКонфигурации.Описание КАК СТРОКА(1000)) | ТОГДА ВЫРАЗИТЬ(ПредставленияВариантов.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000)) | ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзКонфигурации.Описание, ВариантыОтчетов.Описание) КАК СТРОКА(1000))
| КОНЕЦ КАК Описание, | КОНЕЦ КАК Описание,
| ВариантыОтчетов.Отчет КАК Отчет, | ВариантыОтчетов.Отчет КАК Отчет,
| ВариантыОтчетов.ТипОтчета КАК ТипОтчета, | ВариантыОтчетов.ТипОтчета КАК ТипОтчета,
@@ -6567,10 +6628,13 @@
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзРасширений.Наименование, ПредставленияВариантов.Наименование) КАК СТРОКА(1000)) | ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзРасширений.Наименование, ПредставленияВариантов.Наименование) КАК СТРОКА(1000))
| КОНЕЦ, | КОНЕЦ,
| ВЫБОР | ВЫБОР
| КОГДА &ЭтоОсновнойЯзык | КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) <> """"
| И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """" | ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.ПредопределенныйВариант.Описание КАК СТРОКА(1000)) | КОГДА &ЭтоОсновнойЯзык И ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """"
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ПредставленияИзРасширений.Описание, ПредставленияВариантов.Описание) КАК СТРОКА(1000)) | ТОГДА ВЫРАЗИТЬ(ЕСТЬ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) <> """"
| ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ОтчетыКонфигурации.Описание, ОтчетыРасширений.Описание), ВариантыОтчетов.Описание) КАК СТРОКА(1000)) | ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000))
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ЕСТЬNULL(ПредставленияОтчетовКонфигурации.Описание, ПредставленияОтчетовРасширений.Описание), ПредставленияОтчетов.Описание) КАК СТРОКА(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].Выбрать(), "Получатели"); РезультатЗапросаПолучатели = РезультатЗапроса[1]; // РезультатЗапроса
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[2].Выбрать(), "Копии"); РезультатЗапросаКопии = РезультатЗапроса[2]; // РезультатЗапроса
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[3].Выбрать(), "ОбратныйАдрес"); РезультатЗапросаОбратныйАдрес = РезультатЗапроса[3]; // РезультатЗапроса
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[4].Выбрать(), "АдресаУведомленияОПрочтении"); РезультатЗапросаАдресаУведомленияОПрочтении = РезультатЗапроса[4]; // РезультатЗапроса
ДобавитьВложенияПисьмаВПочтовоеСообщение(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[5].Выбрать()); РезультатЗапросаВложения = РезультатЗапроса[5]; // РезультатЗапроса
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаПолучатели.Выбрать(), "Получатели");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаКопии.Выбрать(), "Копии");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаОбратныйАдрес.Выбрать(), "ОбратныйАдрес");
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаАдресаУведомленияОПрочтении.Выбрать(), "АдресаУведомленияОПрочтении");
ДобавитьВложенияПисьмаВПочтовоеСообщение(ОбъектИнтернетПочтовоеСообщение, РезультатЗапросаВложения.Выбрать());
СтруктураВозврата.ИнтернетПочтовоеСообщение = ОбъектИнтернетПочтовоеСообщение; СтруктураВозврата.ИнтернетПочтовоеСообщение = ОбъектИнтернетПочтовоеСообщение;
СтруктураВозврата.ДатаПисьма = ВыборкаШапка.ДатаПолучения; СтруктураВозврата.ДатаПисьма = ВыборкаШапка.ДатаПолучения;
@@ -3523,7 +3562,8 @@
РезультатЗапроса = Запрос.ВыполнитьПакет(); РезультатЗапроса = Запрос.ВыполнитьПакет();
ВыборкаШапка = РезультатЗапроса[0].Выбрать(); РезультатЗапросаШапка = РезультатЗапроса[0]; // РезультатЗапроса
ВыборкаШапка = РезультатЗапросаШапка.Выбрать();
Если ВыборкаШапка.Следующий() Тогда Если ВыборкаШапка.Следующий() Тогда
ОбъектИнтернетПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение; ОбъектИнтернетПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
@@ -3561,10 +3601,15 @@
КонецЕсли; КонецЕсли;
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[1].Выбрать(), "Получатели"); РезультатЗапросаПолучатели = РезультатЗапроса[1]; // РезультатЗапроса
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[2].Выбрать(), "ОбратныйАдрес"); РезультатЗапросаОбратныйАдрес = РезультатЗапроса[2]; // РезультатЗапроса
ДобавитьПолучателейВПочтовоеСообщениеПоВыборке(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[3].Выбрать(), "Копии"); РезультатЗапросаКопии = РезультатЗапроса[3]; // РезультатЗапроса
ДобавитьВложенияПисьмаВПочтовоеСообщение(ОбъектИнтернетПочтовоеСообщение, РезультатЗапроса[5].Выбрать()); РезультатЗапросаВложения = РезультатЗапроса[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); ЗаписатьВПротоколВыполнения(КомпонентыОбмена, 9);
Прервать; Прервать;
КонецЕсли; КонецЕсли;
Confirmation = Header.Confirmation; ПодтверждениеXDTO = ЗаголовокСообщенияXDTO.Confirmation;
Если КомпонентыОбмена.ОбменДаннымиСВнешнейСистемой Тогда Если КомпонентыОбмена.ОбменДаннымиСВнешнейСистемой Тогда
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(КомпонентыОбмена.УзелКорреспондента); ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(КомпонентыОбмена.УзелКорреспондента);
Иначе Иначе
ИмяПланаОбмена = Confirmation.ExchangePlan; ИмяПланаОбмена = ПодтверждениеXDTO.ExchangePlan;
Если Метаданные.ПланыОбмена.Найти(ИмяПланаОбмена) = Неопределено Тогда Если Метаданные.ПланыОбмена.Найти(ИмяПланаОбмена) = Неопределено Тогда
ЗаписатьВПротоколВыполнения(КомпонентыОбмена, 177); ЗаписатьВПротоколВыполнения(КомпонентыОбмена, 177);
@@ -2068,19 +2068,19 @@
Не ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(КомпонентыОбмена.УзелКорреспондента) Не ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(КомпонентыОбмена.УзелКорреспондента)
Или (URIФормата = ФорматПланаОбмена); Или (URIФормата = ФорматПланаОбмена);
Если Confirmation.MessageNo <> Неопределено Тогда Если ПодтверждениеXDTO.MessageNo <> Неопределено Тогда
КомпонентыОбмена.НомерВходящегоСообщения = Confirmation.MessageNo; КомпонентыОбмена.НомерВходящегоСообщения = ПодтверждениеXDTO.MessageNo;
Иначе Иначе
КомпонентыОбмена.НомерВходящегоСообщения = 0; КомпонентыОбмена.НомерВходящегоСообщения = 0;
КонецЕсли; КонецЕсли;
Если Confirmation.ReceivedNo <> Неопределено Тогда Если ПодтверждениеXDTO.ReceivedNo <> Неопределено Тогда
КомпонентыОбмена.НомерСообщенияПолученногоКорреспондентом = Confirmation.ReceivedNo; КомпонентыОбмена.НомерСообщенияПолученногоКорреспондентом = ПодтверждениеXDTO.ReceivedNo;
Иначе Иначе
КомпонентыОбмена.НомерСообщенияПолученногоКорреспондентом = 0; КомпонентыОбмена.НомерСообщенияПолученногоКорреспондентом = 0;
КонецЕсли; КонецЕсли;
КодОтКого = Confirmation.From; КодОтКого = ПодтверждениеXDTO.From;
КодКому = Confirmation.To; КодКому = ПодтверждениеXDTO.To;
Если Не КомпонентыОбмена.ТолькоНастройкиXDTO Тогда Если Не КомпонентыОбмена.ТолькоНастройкиXDTO Тогда
КомпонентыОбмена.XMLСхема = URIФормата; КомпонентыОбмена.XMLСхема = URIФормата;
@@ -2117,8 +2117,8 @@
Если Не КомпонентыОбмена.ОбменДаннымиСВнешнейСистемой Тогда Если Не КомпонентыОбмена.ОбменДаннымиСВнешнейСистемой Тогда
КодОтКогоНовый = ""; КодОтКогоНовый = "";
Если Header.Установлено("NewFrom") Тогда Если ЗаголовокСообщенияXDTO.Установлено("NewFrom") Тогда
КодОтКогоНовый = Header.NewFrom; КодОтКогоНовый = ЗаголовокСообщенияXDTO.NewFrom;
КонецЕсли; КонецЕсли;
ПолучательИзСообщения = ОбменДаннымиСервер.УзелПланаОбменаПоКоду(ИмяПланаОбмена, КодКому); ПолучательИзСообщения = ОбменДаннымиСервер.УзелПланаОбменаПоКоду(ИмяПланаОбмена, КодКому);
@@ -2181,10 +2181,10 @@
КонецЕсли; КонецЕсли;
ЗаполнитьСтруктуруНастроекXDTOКорреспондента(КомпонентыОбмена.НастройкиXDTOКорреспондента, ЗаполнитьСтруктуруНастроекXDTOКорреспондента(КомпонентыОбмена.НастройкиXDTOКорреспондента,
Header, Не (URIФормата = ФорматПланаОбмена), КомпонентыОбмена.УзелКорреспондента); ЗаголовокСообщенияXDTO, Не (URIФормата = ФорматПланаОбмена), КомпонентыОбмена.УзелКорреспондента);
Если Header.Установлено("Prefix") Тогда Если ЗаголовокСообщенияXDTO.Установлено("Prefix") Тогда
КомпонентыОбмена.ПрефиксКорреспондента = Header.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" Тогда Или Чтение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 = "*"; ТекущийОбъект.Receiving = "*";
КонецЕсли; КонецЕсли;
AvailableObjectTypes.ObjectType.Добавить(ТекущийОбъект); ДоступныеТипыОбъектовXDTO.ObjectType.Добавить(ТекущийОбъект);
СоздатьНовыйОбъект = Истина; СоздатьНовыйОбъект = Истина;
Иначе Иначе
СоздатьНовыйОбъект = Ложь; СоздатьНовыйОбъект = Ложь;
@@ -4092,11 +4092,11 @@
ТекущийОбъект.Receiving = "*"; ТекущийОбъект.Receiving = "*";
КонецЕсли; КонецЕсли;
AvailableObjectTypes.ObjectType.Добавить(ТекущийОбъект); ДоступныеТипыОбъектовXDTO.ObjectType.Добавить(ТекущийОбъект);
КонецЕсли; КонецЕсли;
Если AvailableObjectTypes.ObjectType.Количество() > 0 Тогда Если ДоступныеТипыОбъектовXDTO.ObjectType.Количество() > 0 Тогда
Header.AvailableObjectTypes = AvailableObjectTypes; Header.AvailableObjectTypes = ДоступныеТипыОбъектовXDTO;
Иначе Иначе
Header.AvailableObjectTypes = Неопределено; Header.AvailableObjectTypes = Неопределено;
КонецЕсли; КонецЕсли;
@@ -4166,68 +4166,68 @@
ФайлОбмена.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance"); ФайлОбмена.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
// Элемент <Header> // Элемент <Header>
Header = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header")); ЗаголовокСообщенияXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(XMLБазоваяСхема(), "Header"));
Header.Format = ПараметрыЗаголовка.ФорматОбмена; ЗаголовокСообщенияXDTO.Format = ПараметрыЗаголовка.ФорматОбмена;
Header.CreationDate = ТекущаяУниверсальнаяДата(); ЗаголовокСообщения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 = ПараметрыЗаголовка.НомерСообщения; ПодтверждениеXDTO.MessageNo = ПараметрыЗаголовка.НомерСообщения;
Confirmation.ReceivedNo = ПараметрыЗаголовка.НомерПринятого; ПодтверждениеXDTO.ReceivedNo = ПараметрыЗаголовка.НомерПринятого;
Header.Confirmation = Confirmation; ЗаголовокСообщенияXDTO.Confirmation = ПодтверждениеXDTO;
Для Каждого ВерсияФормата Из ПараметрыЗаголовка.ПоддерживаемыеВерсии Цикл Для Каждого ВерсияФормата Из ПараметрыЗаголовка.ПоддерживаемыеВерсии Цикл
AvailableVersion.Добавить(ВерсияФормата); ДоступныеВерсииXDTO.Добавить(ВерсияФормата);
КонецЦикла; КонецЦикла;
ВыгрузитьПоддерживаемыеОбъектыФормата(Header, ВыгрузитьПоддерживаемыеОбъектыФормата(ЗаголовокСообщенияXDTO,
ПараметрыЗаголовка.ПоддерживаемыеОбъекты, ПараметрыЗаголовка.УзелКорреспондента); ПараметрыЗаголовка.ПоддерживаемыеОбъекты, ПараметрыЗаголовка.УзелКорреспондента);
Иначе Иначе
Confirmation.ExchangePlan = ПараметрыЗаголовка.ИмяПланаОбмена; ПодтверждениеXDTO.ExchangePlan = ПараметрыЗаголовка.ИмяПланаОбмена;
Confirmation.To = ПараметрыЗаголовка.ИдентификаторПолучателя; ПодтверждениеXDTO.To = ПараметрыЗаголовка.ИдентификаторПолучателя;
Если ЗначениеЗаполнено(ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла) Тогда Если ЗначениеЗаполнено(ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла) Тогда
// Требуется корректировка кода узла отправителя. // Требуется корректировка кода узла отправителя.
Confirmation.From = ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла; ПодтверждениеXDTO.From = ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла;
Иначе Иначе
Confirmation.From = ПараметрыЗаголовка.ИдентификаторОтправителя; ПодтверждениеXDTO.From = ПараметрыЗаголовка.ИдентификаторОтправителя;
КонецЕсли; КонецЕсли;
Confirmation.MessageNo = ПараметрыЗаголовка.НомерСообщения; ПодтверждениеXDTO.MessageNo = ПараметрыЗаголовка.НомерСообщения;
Confirmation.ReceivedNo = ПараметрыЗаголовка.НомерПринятого; ПодтверждениеXDTO.ReceivedNo = ПараметрыЗаголовка.НомерПринятого;
Header.Confirmation = Confirmation; ЗаголовокСообщенияXDTO.Confirmation = ПодтверждениеXDTO;
Для Каждого ВерсияФормата Из ПараметрыЗаголовка.ПоддерживаемыеВерсии Цикл Для Каждого ВерсияФормата Из ПараметрыЗаголовка.ПоддерживаемыеВерсии Цикл
AvailableVersion.Добавить(ВерсияФормата); ДоступныеВерсииXDTO.Добавить(ВерсияФормата);
КонецЦикла; КонецЦикла;
Если ЗначениеЗаполнено(ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла) Тогда Если ЗначениеЗаполнено(ПараметрыЗаголовка.ПсевдонимПредопределенногоУзла) Тогда
// Тип Header является Упорядоченным, поэтому важен порядок присвоения значений свойств. // Тип Header является Упорядоченным, поэтому важен порядок присвоения значений свойств.
// В противном случае может быть не пройдена валидация по схеме. // В противном случае может быть не пройдена валидация по схеме.
Header.NewFrom = ПараметрыЗаголовка.ИдентификаторОтправителя; ЗаголовокСообщенияXDTO.NewFrom = ПараметрыЗаголовка.ИдентификаторОтправителя;
КонецЕсли; КонецЕсли;
ВыгрузитьПоддерживаемыеОбъектыФормата(Header, ВыгрузитьПоддерживаемыеОбъектыФормата(ЗаголовокСообщенияXDTO,
ПараметрыЗаголовка.ПоддерживаемыеОбъекты, ПараметрыЗаголовка.УзелКорреспондента); ПараметрыЗаголовка.ПоддерживаемыеОбъекты, ПараметрыЗаголовка.УзелКорреспондента);
Header.Prefix = ПараметрыЗаголовка.Префикс; ЗаголовокСообщенияXDTO.Prefix = ПараметрыЗаголовка.Префикс;
КонецЕсли; КонецЕсли;
Иначе Иначе
AvailableVersion.Добавить(ПараметрыЗаголовка.ВерсияФорматаОбмена); ДоступныеВерсииXDTO.Добавить(ПараметрыЗаголовка.ВерсияФорматаОбмена);
КонецЕсли; КонецЕсли;
ФабрикаXDTO.ЗаписатьXML(ФайлОбмена, Header); ФабрикаXDTO.ЗаписатьXML(ФайлОбмена, ЗаголовокСообщенияXDTO);
КонецПроцедуры КонецПроцедуры
@@ -6481,7 +6481,7 @@
Если МетаданныеОбъекта <> Неопределено Если МетаданныеОбъекта <> Неопределено
И ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта) И ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта)
И ЗначениеЗаполнено(Объект.Ссылка) Тогда И ЗначениеЗаполнено(Объект.Ссылка) Тогда
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект); НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект.Ссылка);
Иначе Иначе
Если ТипОбъекта = Тип("ОбъектXDTO") Тогда Если ТипОбъекта = Тип("Объект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"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "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; КоличествоИсправленныхАдресов = 0;
ОбъектБылИсправлен = Ложь; ОбъектБылИсправлен = Ложь;
СвойстваВида = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ВидКонтактнойИнформации, "ВключатьСтрануВПредставление, ХранитьИсториюИзменений, Ссылка");
СсылкаНаОбъект = ОписаниеОбъекта.ПроблемныйОбъект;
ЕстьДействуетС = СсылкаНаОбъект.Метаданные().ТабличныеЧасти.КонтактнаяИнформация.Реквизиты.Найти("ДействуетС") <> Неопределено;
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
СсылкаНаОбъект = ОписаниеОбъекта.ПроблемныйОбъект;
БлокировкаДанных = Новый БлокировкаДанных; БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(СсылкаНаОбъект.Метаданные().ПолноеИмя()); ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(СсылкаНаОбъект.Метаданные().ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", СсылкаНаОбъект); ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", СсылкаНаОбъект);
@@ -3041,18 +3072,7 @@
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Если АдресБылИзменен Тогда Если АдресБылИзменен Тогда
АдресВJSON = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(АдресПоПолям); ЗаменитьАдресНаАктуальный(ОбъектКИ, СтрокаКонтактнойИнформации, АдресПоПолям, СвойстваВида, ЕстьДействуетС);
НовоеПредставление = РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(АдресПоПолям, ВключатьСтрануВПредставление);
ТекстКомментария = НСтр("ru='Тип здания ""Литер"" устарел и был заменен на ""Литера"".'");
Если ЗначениеЗаполнено(АдресПоПолям.comment) Тогда
ТекстКомментария = АдресПоПолям.comment + Символы.ПС + ТекстКомментария;
КонецЕсли;
УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(АдресВJSON, ТекстКомментария);
СтрокаКонтактнойИнформации.Значение = АдресВJSON;
СтрокаКонтактнойИнформации.Представление = НовоеПредставление;
СтрокаКонтактнойИнформации.ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(АдресВJSON);
ЗаписыватьОбъект = Истина; ЗаписыватьОбъект = Истина;
КонецЕсли; КонецЕсли;
@@ -3206,7 +3226,7 @@
ПолноеИмяОбъектаCКонтактнойИнформацией = ПроблемныеОбъекты[0].ПроблемныйОбъект.Метаданные().ПолноеИмя(); ПолноеИмяОбъектаCКонтактнойИнформацией = ПроблемныеОбъекты[0].ПроблемныйОбъект.Метаданные().ПолноеИмя();
Вид = ВидПроверки.Свойство2; Вид = ВидПроверки.Свойство2;
ВключатьСтрануВПредставление = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Вид, "ВключатьСтрануВПредставление"); СвойстваВида = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Вид, "ВключатьСтрануВПредставление, ХранитьИсториюИзменений, Ссылка");
ТекстЗапроса = "ВЫБРАТЬ ТекстЗапроса = "ВЫБРАТЬ
| ПроблемныеОбъекты.ПроблемныйОбъект КАК Ссылка | ПроблемныеОбъекты.ПроблемныйОбъект КАК Ссылка
@@ -3285,6 +3305,8 @@
АдресаОбъекта = ТаблицаАдресов.НайтиСтроки(Новый Структура("Ссылка", СсылкаНаОбъект )); АдресаОбъекта = ТаблицаАдресов.НайтиСтроки(Новый Структура("Ссылка", СсылкаНаОбъект ));
ТребуетсяЗаписьОбъекта = Ложь; ТребуетсяЗаписьОбъекта = Ложь;
ЕстьДействуетС = СсылкаНаОбъект.Метаданные().ТабличныеЧасти.КонтактнаяИнформация.Реквизиты.Найти("ДействуетС") <> Неопределено;
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -3308,26 +3330,9 @@
СведенияОбАдресе = РезультатАнализа[АдресОбъекта.Счетчик]; СведенияОбАдресе = РезультатАнализа[АдресОбъекта.Счетчик];
Если СведенияОбАдресе.Варианты.Количество() > 0 Тогда Если СведенияОбАдресе.Варианты.Количество() > 0 Тогда
АдресПоПолям = СведенияОбАдресе.Варианты[0];
НовоеПредставление = РаботаСАдресамиКлиентСервер.ПредставлениеАдреса(АдресПоПолям, ВключатьСтрануВПредставление); ЗаменитьАдресНаАктуальный(ОбъектКИ, СтрокаВидаКИ, СведенияОбАдресе.Варианты[0], СвойстваВида, ЕстьДействуетС);
АдресПоПолям.value = НовоеПредставление;
НовыйАдресВJSON = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(АдресПоПолям);
ТекстКомментария = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Адрес ""%1"" устарел и был переименован в ""%2""'"),
СтрокаВидаКИ.Представление, НовоеПредставление);
Если ЗначениеЗаполнено(АдресПоПолям.comment) Тогда
ТекстКомментария = АдресПоПолям.comment + Символы.ПС + ТекстКомментария;
КонецЕсли;
УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(НовыйАдресВJSON, ТекстКомментария);
СтрокаВидаКИ.Значение = НовыйАдресВJSON;
СтрокаВидаКИ.Представление = НовоеПредставление;
СтрокаВидаКИ.ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(НовыйАдресВJSON);
УправлениеКонтактнойИнформациейСлужебный.ЗаполнитьТехническиеПоляКонтактнойИнформации(СтрокаВидаКИ,
АдресПоПолям, Перечисления.ТипыКонтактнойИнформации.Адрес);
ТребуетсяЗаписьОбъекта = Истина; ТребуетсяЗаписьОбъекта = Истина;
ИсправленоОбъектов = ИсправленоОбъектов + 1; ИсправленоОбъектов = ИсправленоОбъектов + 1;
КонецЕсли; КонецЕсли;
@@ -847,12 +847,12 @@
ИмяКаталога = ФайловаяСистема.СоздатьВременныйКаталог(); ИмяКаталога = ФайловаяСистема.СоздатьВременныйКаталог();
СоздатьКаталог(ИмяКаталога); СоздатьКаталог(ИмяКаталога);
ZIP = Новый ЧтениеZipФайла(ПолноеИмяФайлаZip); ZIPАрхив = Новый ЧтениеZipФайла(ПолноеИмяФайлаZip);
ZIP.ИзвлечьВсе(ИмяКаталога, РежимВосстановленияПутейФайловZIP.НеВосстанавливать); ZIPАрхив.ИзвлечьВсе(ИмяКаталога, РежимВосстановленияПутейФайловZIP.НеВосстанавливать);
СоответствиеПутейФайлов = Новый Соответствие; СоответствиеПутейФайлов = Новый Соответствие;
Для Каждого ZIPЭлемент Из ZIP.Элементы Цикл Для Каждого ZIPЭлемент Из ZIPАрхив.Элементы Цикл
ПолныйПутьФайла = ИмяКаталога + "\" + ZIPЭлемент.Имя; ПолныйПутьФайла = ИмяКаталога + "\" + ZIPЭлемент.Имя;
УникальныйИдентификатор = ZIPЭлемент.ИмяБезРасширения; УникальныйИдентификатор = ZIPЭлемент.ИмяБезРасширения;
@@ -1380,7 +1380,7 @@
ИмяОбъектаМетаданных = ВладелецФайла.Метаданные().Имя; ИмяОбъектаМетаданных = ВладелецФайла.Метаданные().Имя;
Если СтрДлина(ИмяОбъектаМетаданных) > 30 Тогда Если СтрДлина(ИмяОбъектаМетаданных) > 30 Тогда
ХешОстатка = Новый ХешированиеДанных("CRC32"); ХешОстатка = Новый ХешированиеДанных(ХешФункция.CRC32);
ХешОстатка.Добавить(Сред(ИмяОбъектаМетаданных, 31)); ХешОстатка.Добавить(Сред(ИмяОбъектаМетаданных, 31));
ХешСуммаОстатка = ХешОстатка.ХешСумма; ХешСуммаОстатка = ХешОстатка.ХешСумма;
Иначе Иначе
@@ -1154,7 +1154,7 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", ""); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", "");
Иначе Иначе
// Иерархия групп // Иерархия групп
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", "И НЕ ПолучателиРассылки.ЭтоГруппа"); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &ЭтоНеГруппа", "И НЕ Получатели.ЭтоГруппа");
КонецЕсли; КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Справочник.Пользователи", ПолучателиМетаданные.ПолноеИмя()); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Справочник.Пользователи", ПолучателиМетаданные.ПолноеИмя());
@@ -545,51 +545,19 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Блокировка = Новый БлокировкаДанных; Если Не ТранзакцияАктивна() Или ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Блокировка.Добавить("Константа.КоличествоПотоковОбновленияДоступа"); ИзменитьРегламентноеЗаданиеОбновленияДоступа(ВключитьЗадание);
ЗаданиеВключено = Ложь; ИначеЕсли ВключитьЗадание Тогда
НачатьТранзакцию(); ФоновыеЗадания.Выполнить("УправлениеДоступомСлужебный.ВключитьРегламентноеЗаданиеОбновленияДоступа",,,
Попытка НСтр("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-кода. Подробности в журнале регистрации.'"); ТекстОшибки = НСтр("ru = 'Не удалось подключить внешнюю компоненту для генерации QR-кода. Подробности в журнале регистрации.'");
QRCodeGenerator = ОбщегоНазначения.ПодключитьКомпонентуИзМакета("QRCodeExtension", "ОбщийМакет.КомпонентаПечатиQRКода"); Результат = ОбщегоНазначения.ПодключитьКомпонентуИзМакета("QRCodeExtension", "ОбщийМакет.КомпонентаПечатиQRКода");
Если QRCodeGenerator = Неопределено Тогда Если Результат = Неопределено Тогда
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки); ОбщегоНазначения.СообщитьПользователю(ТекстОшибки);
КонецЕсли; КонецЕсли;
Возврат QRCodeGenerator; Возврат Результат;
КонецФункции КонецФункции
@@ -2973,30 +2974,6 @@
КонецПроцедуры КонецПроцедуры
// Формирует печатные формы.
//
// Параметры:
// МассивОбъектов - Массив - ссылки на объекты, которые нужно распечатать;
// ПараметрыПечати - Структура - дополнительные настройки печати;
// КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы (выходной параметр),
// см. УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм.
// ОбъектыПечати - СписокЗначений - значение - ссылка на объект;
// представление - имя области в которой был выведен объект (выходной
// параметр);
// ПараметрыВывода - Структура - дополнительные параметры сформированных табличных документов (выходной
// параметр).
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПечатнаяФорма = СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
Если ПечатнаяФорма <> Неопределено Тогда
ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Как сделать факсимильную подпись и печать'");
ПечатнаяФорма.ТабличныйДокумент = ПолучитьОбщийМакет("ИнструкцияПоСозданиюФаксимильнойПодписиИПечати");
ПечатнаяФорма.ПолныйПутьКМакету = "ОбщийМакет.ИнструкцияПоСозданиюФаксимильнойПодписиИПечати";
КонецЕсли;
КонецПроцедуры
Функция МакетыПечатныхФорм() Экспорт Функция МакетыПечатныхФорм() Экспорт
Результат = Новый Соответствие; Результат = Новый Соответствие;
@@ -265,7 +265,7 @@
// Открывает форму с инструкцией как сделать факсимильную подпись и печать. // Открывает форму с инструкцией как сделать факсимильную подпись и печать.
Процедура ПоказатьИнструкциюПоСозданиюФаксимильнойПодписиИПечати() Экспорт Процедура ПоказатьИнструкциюПоСозданиюФаксимильнойПодписиИПечати() Экспорт
ВыполнитьКомандуПечати("УправлениеПечатью", "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати", ВыполнитьКомандуПечати("РегистрСведений.ОбщиеПоставляемыеМакетыПечати", "ИнструкцияПоСозданиюФаксимильнойПодписиИПечати",
ПредопределенноеЗначение("Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка"), Неопределено, Новый Структура); ПредопределенноеЗначение("Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка"), Неопределено, Новый Структура);
КонецПроцедуры КонецПроцедуры
@@ -754,6 +754,10 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если НЕ ПоляНадписей И Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
Элемент.ВыборГруппИЭлементов = ГруппыИЭлементы.ГруппыИЭлементы;
КонецЕсли;
Если НЕ ПоляНадписей И ОписаниеСвойства.ДополнительноеЗначение И Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда Если НЕ ПоляНадписей И ОписаниеСвойства.ДополнительноеЗначение И Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
ПараметрыВыбора = Новый Массив; ПараметрыВыбора = Новый Массив;
ПараметрыВыбора.Добавить(Новый ПараметрВыбора("Отбор.Владелец", ПараметрыВыбора.Добавить(Новый ПараметрВыбора("Отбор.Владелец",
@@ -381,7 +381,22 @@
ЗаполнитьЗначенияСвойств(Проверка, Источник); ЗаполнитьЗначенияСвойств(Проверка, Источник);
Если Проверка.ДополнительныеРеквизиты = Неопределено Тогда Если Проверка.ДополнительныеРеквизиты = Неопределено Тогда
Возврат; // Не подключены дополнительные реквизиты. Возврат; // Быстрая проверка.
КонецЕсли;
ТабличнаяЧасть = Источник.Метаданные().ТабличныеЧасти.Найти("ДополнительныеРеквизиты");
Если ТабличнаяЧасть = Неопределено Тогда
Возврат;
КонецЕсли;
ПроверкаТабличнойЧасти = Новый Структура;
ПроверкаТабличнойЧасти.Вставить("Значение");
ПроверкаТабличнойЧасти.Вставить("Свойство");
ПроверкаТабличнойЧасти.Вставить("ТекстоваяСтрока");
ЗаполнитьЗначенияСвойств(ПроверкаТабличнойЧасти, ТабличнаяЧасть.Реквизиты);
Если ПроверкаТабличнойЧасти.Свойство = Неопределено
Или ПроверкаТабличнойЧасти.Значение = Неопределено
Или ПроверкаТабличнойЧасти.ТекстоваяСтрока = Неопределено Тогда
Возврат;
КонецЕсли; КонецЕсли;
Если Проверка.ЭтоГруппа Тогда Если Проверка.ЭтоГруппа Тогда
@@ -289,10 +289,20 @@
// Булево - письмо отправлено // Булево - письмо отправлено
Функция ОбработатьОшибкуОтправкиПисьма(Знач ПисьмоОбъект, Знач ВыборкаПисьма, Знач ПараметрыПисьма, Знач Интерактивно) Функция ОбработатьОшибкуОтправкиПисьма(Знач ПисьмоОбъект, Знач ВыборкаПисьма, Знач ПараметрыПисьма, Знач Интерактивно)
РезультатАнализа = РезультатАнализаОшибочныхПолучателей(ПисьмоОбъект, ПараметрыПисьма.ОшибочныеПолучатели); Если ПараметрыПисьма = Неопределено Тогда
ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов = РезультатАнализа.ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов;
ВсеАдресатыПисьмаОтвергнутыСервером = РезультатАнализа.ВсеАдресатыПисьмаОтвергнутыСервером; ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов = Ложь;
ПредставлениеОшибочныхАдресатов = РезультатАнализа.ПредставлениеОшибочныхАдресатов; ВсеАдресатыПисьмаОтвергнутыСервером = Ложь;
ПредставлениеОшибочныхАдресатов = "";
Иначе
РезультатАнализа = РезультатАнализаОшибочныхПолучателей(ПисьмоОбъект, ПараметрыПисьма.ОшибочныеПолучатели);
ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов = РезультатАнализа.ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов;
ВсеАдресатыПисьмаОтвергнутыСервером = РезультатАнализа.ВсеАдресатыПисьмаОтвергнутыСервером;
ПредставлениеОшибочныхАдресатов = РезультатАнализа.ПредставлениеОшибочныхАдресатов;
КонецЕсли;
Если ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов И Не ВсеАдресатыПисьмаОтвергнутыСервером Тогда Если ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов И Не ВсеАдресатыПисьмаОтвергнутыСервером Тогда
ШаблонСообщенияОбОшибке = НСтр("ru = 'Следующие адресаты письма %1 не приняты почтовым сервером: ШаблонСообщенияОбОшибке = НСтр("ru = 'Следующие адресаты письма %1 не приняты почтовым сервером:
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="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> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="e4354c72-6ebf-4db1-9058-15f48678cd55"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="d91970df-1d3c-440b-b5a9-8c01c8cb79fa"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="6d613639-4bed-44ee-85e6-8c35891d53ea"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="396455d0-9368-4274-8a91-cccf82109772"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="7e873949-b371-49c1-b9f5-13652e23f414"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="5358c603-5a8c-41fa-86f5-b1f4672c63c8"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="9a30c41c-ad92-4039-8e5b-2e84a6f6ab39"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="16cc1acf-fbf9-40cd-8bf3-e4c31b12c735"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="0d83e7bb-e173-4e0e-b85b-06d1810152f0"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="e50690fa-0c25-418a-916e-ae6b65407955"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="86685c91-b887-466d-ac7d-db7089214565"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="d7e2acfd-9135-4fb9-b276-5b8609765306"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="914a3789-fe4b-4a36-a836-bfaae7baf2d0"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="17e07544-150f-4f14-badc-bcbd75f06c3c"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.291</version> <version>3.1.2.306</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -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 марта - День воссоединения Крыма с Россией. // 18 марта - День воссоединения Крыма с Россией.
ДобавитьПраздничныйДень(ПраздничныеДни, 18, 3, НомерГода); Если НомерГода < 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="20180318" SwapDate="20180319"/>
<Item Calendar="92" Year="2018" DayType="Воскресенье" Date="20180319" SwapDate="20180318"/> <Item Calendar="92" Year="2018" DayType="Воскресенье" Date="20180319" SwapDate="20180318"/>
<Item Calendar="92" Year="2019" DayType="Праздник" Date="20190318" SwapDate=""/> <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="20200101" SwapDate=""/>
<Item Calendar="92" Year="2020" DayType="Праздник" Date="20200318" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010101" SwapDate=""/> <Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010101" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010102" SwapDate=""/> <Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010102" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010107" SwapDate="20010108"/> <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 = 'Заявление на выпуск сертификата было закрыто, операция отменена.'")); НСтр("ru = 'Заявление на выпуск сертификата было закрыто, операция отменена.'"));
@@ -3871,7 +3871,7 @@
<id>1931</id> <id>1931</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Сервис 1С-Коннект позволяет быть на связи с компанией или отделом где угодно – на рабочем месте, в дороге или из дома, видеть список коллег, писать и звонить нужными сотрудникам.</value> <value>Корпоративный чат с возможностью звонить, передавать файлы и удаленно подключаться к компьютеру. Оперативная поддержка пользователей программ 1С.</value>
</title> </title>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -4575,7 +4575,7 @@
<name>БИПНастройкаИнтеграцииСКоннект</name> <name>БИПНастройкаИнтеграцииСКоннект</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>БИПНастройка интеграции с коннект</value> <value>Настройка интеграции с 1С-Коннект</value>
</title> </title>
<id>12</id> <id>12</id>
<toolTip> <toolTip>
@@ -273,8 +273,14 @@
&НаКлиенте &НаКлиенте
Процедура СохранитьИнструкциюКак(Команда) Процедура СохранитьИнструкциюКак(Команда)
АдресВоВременномХранилище = ПолучитьМакет(); ПолучаемыйФайл = Новый Структура;
ПолучитьФайл(АдресВоВременномХранилище, НСтр("ru = 'Инструкция по настройке автономного рабочего места.html'")); ПолучаемыйФайл.Вставить("Имя", НСтр("ru = 'Инструкция по настройке автономного рабочего места.html'"));
ПолучаемыйФайл.Вставить("Хранение", ПолучитьМакет());
ПараметрыДиалога = Новый Структура;
ПараметрыДиалога.Вставить("Фильтр", НСтр("ru = 'Веб-страница, только HTML (*.html)|*.html'"));
ОбменДаннымиКлиент.ВыбратьИСохранитьФайлНаКлиенте(ПолучаемыйФайл, ПараметрыДиалога);
КонецПроцедуры КонецПроцедуры
@@ -3279,35 +3279,38 @@
КонецЕсли; КонецЕсли;
НеЗагружатьАдресныйКлассификатор = ПараметрыПриложения.Получить("АдресныйКлассификатор.НеЗагружатьКлассификатор"); НеЗагружатьАдресныйКлассификатор = ПараметрыПриложения.Получить("АдресныйКлассификатор.НеЗагружатьКлассификатор");
Если НеЗагружатьАдресныйКлассификатор = Неопределено ИЛИ НеЗагружатьАдресныйКлассификатор = Ложь Тогда Если ДанныеОбАдресе <> Неопределено
Регион = ДанныеОбАдресе.Представление; И (НеЗагружатьАдресныйКлассификатор = Неопределено
ТипПараметраРегиона = ТипЗнч(Регион); ИЛИ НеЗагружатьАдресныйКлассификатор = Ложь) Тогда
ПараметрыФормы = Новый Структура;
ПараметрыЗагрузки = Новый Структура;
ПараметрыЗагрузки.Вставить("ДанныеОбАдресе", ДанныеОбАдресе);
ПараметрыФормы.Вставить("ТекстПредупреждения", Текст);
Если ТипПараметраРегиона = Тип("Число") Тогда Регион = ДанныеОбАдресе.Представление;
ПараметрыЗагрузки.Вставить("КодРегионаДляЗагрузки", Регион); ТипПараметраРегиона = ТипЗнч(Регион);
ПараметрыФормы = Новый Структура;
ПараметрыЗагрузки = Новый Структура;
ПараметрыЗагрузки.Вставить("ДанныеОбАдресе", ДанныеОбАдресе);
ПараметрыФормы.Вставить("ТекстПредупреждения", Текст);
ИначеЕсли ТипПараметраРегиона = Тип("Строка") Тогда Если ТипПараметраРегиона = Тип("Число") Тогда
ПараметрыЗагрузки.Вставить("НазваниеРегиона", Регион); ПараметрыЗагрузки.Вставить("КодРегионаДляЗагрузки", Регион);
ПараметрыФормы.Вставить("НазваниеРегиона", Регион);
КонецЕсли;
ДополнительныеПараметры = Новый Структура; ИначеЕсли ТипПараметраРегиона = Тип("Строка") Тогда
ДополнительныеПараметры.Вставить("ПараметрыЗагрузки", ПараметрыЗагрузки); ПараметрыЗагрузки.Вставить("НазваниеРегиона", Регион);
ДополнительныеПараметры.Вставить("ПараметрыФормы", ПараметрыФормы); ПараметрыФормы.Вставить("НазваниеРегиона", Регион);
КонецЕсли;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда ДополнительныеПараметры = Новый Структура;
Оповещение = Новый ОписаниеОповещения("ПослеВводаЛогинИПароля", ЭтотОбъект, ДополнительныеПараметры); ДополнительныеПараметры.Вставить("ПараметрыЗагрузки", ПараметрыЗагрузки);
ДополнительныеПараметры.Вставить("ПараметрыФормы", ПараметрыФормы);
МодульАдресныйКлассификаторКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("АдресныйКлассификаторКлиент"); Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификаторКлиент.АвторизоватьНаСайтеПоддержкиПользователей(Оповещение, ЭтотОбъект); Оповещение = Новый ОписаниеОповещения("ПослеВводаЛогинИПароля", ЭтотОбъект, ДополнительныеПараметры);
КонецЕсли;
МодульАдресныйКлассификаторКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("АдресныйКлассификаторКлиент");
МодульАдресныйКлассификаторКлиент.АвторизоватьНаСайтеПоддержкиПользователей(Оповещение, ЭтотОбъект);
КонецЕсли;
Иначе Иначе
УстановитьНаселенныйПунктПослеВыбора(ДанныеОбАдресе); УстановитьНаселенныйПунктПослеВыбора(ДанныеОбАдресе);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -202,6 +202,10 @@
ДеревоДел = СохраненноеДеревоДел; ДеревоДел = СохраненноеДеревоДел;
КонецЕсли; КонецЕсли;
ДеревоДел.Колонки.Добавить("Проверка", Новый ОписаниеТипов("Булево")); ДеревоДел.Колонки.Добавить("Проверка", Новый ОписаниеТипов("Булево"));
Если ДеревоДел.Колонки.Найти("ВыводитьВОповещениях") = Неопределено Тогда
ДеревоДел.Колонки.Добавить("ВыводитьВОповещениях", Новый ОписаниеТипов("Булево"));
ДеревоДел.Колонки.Добавить("Картинка", Новый ОписаниеТипов("Картинка"));
КонецЕсли;
ТекущийРаздел = ""; ТекущийРаздел = "";
Индекс = 0; Индекс = 0;
ИндексДела = 0; ИндексДела = 0;
@@ -263,14 +267,6 @@
СтрокаДела.Скрытое = Дело.СкрыватьВНастройках; СтрокаДела.Скрытое = Дело.СкрыватьВНастройках;
СтрокаДела.ВыводитьВОповещениях = Дело.ВыводитьВОповещениях; СтрокаДела.ВыводитьВОповещениях = Дело.ВыводитьВОповещениях;
Если СохраненноеДеревоДел <> Неопределено
И СохраненноеДеревоДел.Колонки.Найти("ВыводитьВОповещениях") <> Неопределено Тогда
НайденнаяСтрока = СохраненноеДеревоДел.Строки.Найти(Дело.Идентификатор, "Идентификатор", Истина);
Если НайденнаяСтрока <> Неопределено Тогда
СтрокаДела.ВыводитьВОповещениях = НайденнаяСтрока.ВыводитьВОповещениях;
КонецЕсли;
КонецЕсли;
Если СтрокаДела.ВыводитьВОповещениях Тогда Если СтрокаДела.ВыводитьВОповещениях Тогда
СтрокаДела.Картинка = БиблиотекаКартинок.Оповещения; СтрокаДела.Картинка = БиблиотекаКартинок.Оповещения;
Иначе Иначе
@@ -45,7 +45,6 @@
switch (step) { switch (step) {
case 0: case 0:
setProgress('[Шаг1Инициализация]') setProgress('[Шаг1Инициализация]')
alert('111')
break break
case 1: case 1:
ret = initialize() 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> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.МаксимальныйРазмерФайла</name> <name>Constant.МаксимальныйРазмерФайла</name>
<right> <right>
@@ -2626,93 +2713,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НеразделенныеПользователи</name> <name>InformationRegister.НеразделенныеПользователи</name>
<right> <right>
@@ -21,6 +21,37 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name> <name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right> <right>
@@ -76,37 +107,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate> <restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name> <name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "") <condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -2935,6 +2935,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Document.СообщениеSMS</name> <name>Document.СообщениеSMS</name>
<right> <right>
@@ -3737,45 +3776,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НеразделенныеПользователи</name> <name>InformationRegister.НеразделенныеПользователи</name>
<right> <right>
@@ -425,6 +425,8 @@
Вариант = НайденныеВарианты[0]; // ДанныеФормыЭлементКоллекции Вариант = НайденныеВарианты[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.'"),
ИдентификаторОперации);
Возврат СостоянияФоновогоЗадания.Получить(СостояниеФоновогоЗадания.Отменено);
КонецЕсли;
Если ФоновоеЗадание.ИнформацияОбОшибке <> Неопределено Тогда Если ФоновоеЗадание.ИнформацияОбОшибке <> Неопределено Тогда
СтрокаСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ФоновоеЗадание.ИнформацияОбОшибке); СтрокаСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ФоновоеЗадание.ИнформацияОбОшибке);