3_1_9_199
This commit is contained in:
1 parent
7608f6cefa
commit
6c5693ada5
214 files changed
+6434
-4280
No files matched your search
@@ -56,10 +56,9 @@
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ПараметрыФормы", Новый Структура("Ключ", ЗадачаСсылка));
|
||||
|
||||
ИмяФормы = ?(ТочкаМаршрутаБизнесПроцесса.Имя = "Проверить",
|
||||
ИмяФормы = ?(ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.Задание.ТочкиМаршрута.Проверить,
|
||||
Метаданные.БизнесПроцессы.Задание.Формы.ДействиеПроверить.ПолноеИмя(),
|
||||
Метаданные.БизнесПроцессы.Задание.Формы.ДействиеВыполнить.ПолноеИмя());
|
||||
|
||||
Результат.Вставить("ИмяФормы", ИмяФормы);
|
||||
|
||||
Возврат Результат;
|
||||
@@ -76,9 +75,11 @@
|
||||
|
||||
// АПК:1327-выкл Блокировка бизнес-процесса установлена ранее
|
||||
// в вызывающей функции БизнесПроцессыИЗадачиВызовСервера.ПеренаправитьЗадачи.
|
||||
БизнесПроцессОбъект = ЗадачаСсылка.БизнесПроцесс.ПолучитьОбъект();
|
||||
СведенияОЗадаче = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЗадачаСсылка,
|
||||
"Ссылка,БизнесПроцесс,РезультатВыполнения,ДатаИсполнения,Исполнитель");
|
||||
БизнесПроцессОбъект = СведенияОЗадаче.БизнесПроцесс.ПолучитьОбъект();
|
||||
ЗаблокироватьДанныеДляРедактирования(БизнесПроцессОбъект.Ссылка);
|
||||
БизнесПроцессОбъект.РезультатВыполнения = РезультатВыполненияПриПеренаправлении(ЗадачаСсылка)
|
||||
БизнесПроцессОбъект.РезультатВыполнения = РезультатВыполненияПриПеренаправлении(СведенияОЗадаче)
|
||||
+ БизнесПроцессОбъект.РезультатВыполнения;
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
БизнесПроцессОбъект.Записать();
|
||||
@@ -239,16 +240,16 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция РезультатВыполненияПриПеренаправлении(Знач ЗадачаСсылка)
|
||||
Функция РезультатВыполненияПриПеренаправлении(Знач СведенияОЗадаче)
|
||||
|
||||
СтрокаФормат = "%1, %2 " + НСтр("ru = 'перенаправил(а) задачу'") + ":
|
||||
|%3
|
||||
|";
|
||||
|
||||
Комментарий = СокрЛП(ЗадачаСсылка.РезультатВыполнения);
|
||||
Комментарий = СокрЛП(СведенияОЗадаче.РезультатВыполнения);
|
||||
Комментарий = ?(ПустаяСтрока(Комментарий), "", Комментарий + Символы.ПС);
|
||||
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаФормат, ЗадачаСсылка.ДатаИсполнения,
|
||||
ЗадачаСсылка.Исполнитель, Комментарий);
|
||||
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаФормат, СведенияОЗадаче.ДатаИсполнения,
|
||||
СведенияОЗадаче.Исполнитель, Комментарий);
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
Если ТипЗнч(ДанныеЗаполнения) <> Тип("ЗадачаСсылка.ЗадачаИсполнителя") Тогда
|
||||
Предмет = ДанныеЗаполнения;
|
||||
Иначе
|
||||
Предмет = ДанныеЗаполнения.Предмет;
|
||||
Предмет = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеЗаполнения, "Предмет");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -224,6 +224,25 @@
|
||||
<main>true</main>
|
||||
<savedData>true</savedData>
|
||||
</attributes>
|
||||
<parameters>
|
||||
<name>Владелец</name>
|
||||
<valueType>
|
||||
<types>ChartOfCharacteristicTypesRef.ВопросыДляАнкетирования</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ТипОтвета</name>
|
||||
<valueType>
|
||||
<types>EnumRef.ТипыОтветовНаВопрос</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>Наименование</name>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
@@ -11,28 +11,22 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.Свойство("Владелец")
|
||||
И ТипЗнч(Параметры.Владелец) = Тип("ПланВидовХарактеристикСсылка.ВопросыДляАнкетирования")
|
||||
И НЕ Параметры.Владелец.Пустая() Тогда
|
||||
|
||||
Объект.Владелец = Параметры.Владелец;
|
||||
|
||||
Иначе
|
||||
|
||||
ТекстСообщения = НСтр("ru = 'Данная форма предназначена для открытия только из формы элемента плана вида характеристик ""Вопросы для анкетирования""'");
|
||||
Если Параметры.Владелец.Пустая() Тогда
|
||||
ТекстСообщения = НСтр("ru = 'Данная форма предназначена для открытия только из вопросов для анкетирования.'");
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
|
||||
Отказ = Истина;
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Параметры.Свойство("ТипОтвета") Тогда
|
||||
Объект.Владелец = Параметры.Владелец;
|
||||
Если Не Параметры.ТипОтвета.Пустая() Тогда
|
||||
Элементы.ТребуетОткрытогоОтвета.Видимость = (Параметры.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз);
|
||||
Иначе
|
||||
Элементы.ТребуетОткрытогоОтвета.Видимость = (Объект.Владелец.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз);
|
||||
ТипОтвета = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Владелец, "ТипОтвета");
|
||||
Элементы.ТребуетОткрытогоОтвета.Видимость = (ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз);
|
||||
КонецЕсли;
|
||||
|
||||
Если Параметры.Свойство("Наименование") Тогда
|
||||
Если Не ПустаяСтрока(Параметры.Наименование) Тогда
|
||||
Объект.Наименование = Параметры.Наименование;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -130,6 +130,7 @@
|
||||
// - на версию 3.1.9.163: в справочник "Внешние компоненты" добавляет внешнюю компоненту сканирования.
|
||||
//
|
||||
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
Параметры.ОбработкаЗавершена = Истина;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Параметры.ВерсияПодсистемыНаНачалоОбновления, "3.1.6.48") < 0 Тогда
|
||||
|
||||
@@ -145,60 +146,69 @@
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Параметры.ВерсияПодсистемыНаНачалоОбновления, "3.1.5.220") < 0
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись")
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ПолучениеВнешнихКомпонент")
|
||||
И Не ОбщегоНазначения.РазделениеВключено() Тогда
|
||||
|
||||
МодульЭлектроннаяПодписьСлужебныйКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйКлиентСервер");
|
||||
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
|
||||
ИспользуемыеКомпоненты = ВнешниеКомпонентыСервер.ИспользуемыеКомпоненты("ДляЗагрузки");
|
||||
|
||||
ОписаниеКомпоненты = МодульЭлектроннаяПодписьСлужебныйКлиентСервер.ОписаниеКомпоненты();
|
||||
КомпонентаПоследнейВерсииИзМакета = СтандартныеПодсистемыСервер.КомпонентаПоследнейВерсии(
|
||||
ОписаниеКомпоненты.ИмяОбъекта, ОписаниеКомпоненты.ПолноеИмяМакета);
|
||||
Если ИспользуемыеКомпоненты.Найти("ExtraCryptoAPI", "Идентификатор") = Неопределено Тогда
|
||||
|
||||
МестоположениеМакетаРазделенное = СтрРазделить(КомпонентаПоследнейВерсииИзМакета.Местоположение, ".");
|
||||
|
||||
ДвоичныеДанные = МодульЭлектроннаяПодписьСлужебный.ПолучитьДанныеКомпоненты(
|
||||
МестоположениеМакетаРазделенное.Получить(МестоположениеМакетаРазделенное.ВГраница()));
|
||||
МодульЭлектроннаяПодписьСлужебныйКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйКлиентСервер");
|
||||
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
|
||||
|
||||
ПараметрыКомпоненты = ВнешниеКомпонентыСлужебный.ПараметрыЗагрузки();
|
||||
ПараметрыКомпоненты.Идентификатор = ОписаниеКомпоненты.ИмяОбъекта;
|
||||
ПараметрыКомпоненты.Наименование = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='%1 для 1С:Предприятие'", ОбщегоНазначения.КодОсновногоЯзыка()), "ExtraCryptoAPI");
|
||||
ПараметрыКомпоненты.Версия = КомпонентаПоследнейВерсииИзМакета.Версия;
|
||||
ПараметрыКомпоненты.ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Добавлена автоматически %1.'", ОбщегоНазначения.КодОсновногоЯзыка()), ТекущаяДатаСеанса());
|
||||
ПараметрыКомпоненты.ОбновлятьСПортала1СИТС = Истина;
|
||||
ПараметрыКомпоненты.Данные = ДвоичныеДанные;
|
||||
|
||||
ВнешниеКомпонентыСлужебный.ЗагрузитьКомпонентуИзДвоичныхДанных(ПараметрыКомпоненты, Ложь);
|
||||
ОписаниеКомпоненты = МодульЭлектроннаяПодписьСлужебныйКлиентСервер.ОписаниеКомпоненты();
|
||||
КомпонентаПоследнейВерсииИзМакета = СтандартныеПодсистемыСервер.КомпонентаПоследнейВерсии(
|
||||
ОписаниеКомпоненты.ИмяОбъекта, ОписаниеКомпоненты.ПолноеИмяМакета);
|
||||
|
||||
МестоположениеМакетаРазделенное = СтрРазделить(КомпонентаПоследнейВерсииИзМакета.Местоположение, ".");
|
||||
|
||||
ДвоичныеДанные = МодульЭлектроннаяПодписьСлужебный.ПолучитьДанныеКомпоненты(
|
||||
МестоположениеМакетаРазделенное.Получить(МестоположениеМакетаРазделенное.ВГраница()));
|
||||
|
||||
ПараметрыКомпоненты = ВнешниеКомпонентыСлужебный.ПараметрыЗагрузки();
|
||||
ПараметрыКомпоненты.Идентификатор = ОписаниеКомпоненты.ИмяОбъекта;
|
||||
ПараметрыКомпоненты.Наименование = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='%1 для 1С:Предприятие'", ОбщегоНазначения.КодОсновногоЯзыка()), "ExtraCryptoAPI");
|
||||
ПараметрыКомпоненты.Версия = КомпонентаПоследнейВерсииИзМакета.Версия;
|
||||
ПараметрыКомпоненты.ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Добавлена автоматически %1.'", ОбщегоНазначения.КодОсновногоЯзыка()), ТекущаяДатаСеанса());
|
||||
ПараметрыКомпоненты.ОбновлятьСПортала1СИТС = Истина;
|
||||
ПараметрыКомпоненты.Данные = ДвоичныеДанные;
|
||||
|
||||
ВнешниеКомпонентыСлужебный.ЗагрузитьКомпонентуИзДвоичныхДанных(ПараметрыКомпоненты, Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
Параметры.ОбработкаЗавершена = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Параметры.ВерсияПодсистемыНаНачалоОбновления, "3.1.9.163") < 0
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами")
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ПолучениеВнешнихКомпонент")
|
||||
И Не ОбщегоНазначения.РазделениеВключено() Тогда
|
||||
|
||||
ИспользуемыеКомпоненты = ВнешниеКомпонентыСервер.ИспользуемыеКомпоненты("ДляЗагрузки");
|
||||
МодульРаботаСФайламиСлужебныйКлиентСервер = ОбщегоНазначения.ОбщийМодуль("РаботаСФайламиСлужебныйКлиентСервер");
|
||||
|
||||
ОписаниеКомпоненты = МодульРаботаСФайламиСлужебныйКлиентСервер.ОписаниеКомпоненты();
|
||||
КомпонентаПоследнейВерсииИзМакета = СтандартныеПодсистемыСервер.КомпонентаПоследнейВерсии(
|
||||
ОписаниеКомпоненты.ИмяОбъекта, ОписаниеКомпоненты.ПолноеИмяМакета);
|
||||
|
||||
МестоположениеМакетаРазделенное = СтрРазделить(КомпонентаПоследнейВерсииИзМакета.Местоположение, ".");
|
||||
ДвоичныеДанные = ПолучитьОбщийМакет(МестоположениеМакетаРазделенное.Получить(МестоположениеМакетаРазделенное.ВГраница()));
|
||||
|
||||
ПараметрыКомпоненты = ВнешниеКомпонентыСлужебный.ПараметрыЗагрузки();
|
||||
ПараметрыКомпоненты.Идентификатор = ОписаниеКомпоненты.ИмяОбъекта;
|
||||
ПараметрыКомпоненты.Наименование = НСтр("ru='Компонента для сканирования документов и изображений'");
|
||||
ПараметрыКомпоненты.Версия = КомпонентаПоследнейВерсииИзМакета.Версия;
|
||||
ПараметрыКомпоненты.ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Добавлена автоматически %1.'"), ТекущаяДатаСеанса());
|
||||
ПараметрыКомпоненты.ОбновлятьСПортала1СИТС = Истина;
|
||||
ПараметрыКомпоненты.Данные = ДвоичныеДанные;
|
||||
ОписаниеКомпоненты = МодульРаботаСФайламиСлужебныйКлиентСервер.ОписаниеКомпоненты();
|
||||
|
||||
ВнешниеКомпонентыСлужебный.ЗагрузитьКомпонентуИзДвоичныхДанных(ПараметрыКомпоненты, Ложь);
|
||||
Если ИспользуемыеКомпоненты.Найти(ОписаниеКомпоненты.ИмяОбъекта, "Идентификатор") = Неопределено Тогда
|
||||
|
||||
Параметры.ОбработкаЗавершена = Истина;
|
||||
КомпонентаПоследнейВерсииИзМакета = СтандартныеПодсистемыСервер.КомпонентаПоследнейВерсии(
|
||||
ОписаниеКомпоненты.ИмяОбъекта, ОписаниеКомпоненты.ПолноеИмяМакета);
|
||||
|
||||
МестоположениеМакетаРазделенное = СтрРазделить(КомпонентаПоследнейВерсииИзМакета.Местоположение, ".");
|
||||
ДвоичныеДанные = ПолучитьОбщийМакет(МестоположениеМакетаРазделенное.Получить(МестоположениеМакетаРазделенное.ВГраница()));
|
||||
|
||||
ПараметрыКомпоненты = ВнешниеКомпонентыСлужебный.ПараметрыЗагрузки();
|
||||
ПараметрыКомпоненты.Идентификатор = ОписаниеКомпоненты.ИмяОбъекта;
|
||||
ПараметрыКомпоненты.Наименование = НСтр("ru='Компонента для сканирования документов и изображений'");
|
||||
ПараметрыКомпоненты.Версия = КомпонентаПоследнейВерсииИзМакета.Версия;
|
||||
ПараметрыКомпоненты.ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Добавлена автоматически %1.'"), ТекущаяДатаСеанса());
|
||||
ПараметрыКомпоненты.ОбновлятьСПортала1СИТС = Истина;
|
||||
ПараметрыКомпоненты.Данные = ДвоичныеДанные;
|
||||
|
||||
ВнешниеКомпонентыСлужебный.ЗагрузитьКомпонентуИзДвоичныхДанных(ПараметрыКомпоненты, Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
ФайлДоверенности = Доверенность.ФайлДоверенности;
|
||||
РезультатПроверки = МашиночитаемыеДоверенностиФНССлужебный.ПроверитьСертификатДоверителя(Доверенность, ФайлДоверенности, Сертификат, Ложь);
|
||||
Если РезультатПроверки <> Истина Тогда
|
||||
ПараметрыОшибкиМЧДРР = МашиночитаемыеДоверенностиФНССлужебный.ПараметрыОшибкиМЧДРР(, , , , НСтр("ru='Подпись не подходит для отмены'"), РезультатПроверки);
|
||||
ПараметрыОшибкиМЧДРР = МашиночитаемыеДоверенностиФНССлужебный.ПараметрыОшибкиМЧДРР(НСтр("ru='Подпись не подходит для отмены'"), РезультатПроверки);
|
||||
Результат.Ошибка = МашиночитаемыеДоверенностиФНССлужебный.ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -606,12 +606,17 @@
|
||||
|
||||
Если Подписана Тогда
|
||||
РегистрироватьВФНС = ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписана");
|
||||
УстановитьСтатусРегистрации(Объект.Ссылка, Неопределено, РегистрироватьВФНС, РегистрироватьВДругомРеестре);
|
||||
Если РегистрироватьВФНС Тогда
|
||||
ОбновитьСтатус(Истина);
|
||||
КонецЕсли;
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("ПродолжитьРегистрациюДоверенности", ЭтотОбъект, РегистрироватьВФНС);
|
||||
|
||||
СтандартнаяОбработка = Истина;
|
||||
|
||||
Если РегистрироватьВДругомРеестре Тогда
|
||||
ПрочитатьСостояниеВДругомРеестре();
|
||||
МашиночитаемыеДоверенностиФНСКлиентПереопределяемый.ПриРегистрацииДоверенности(
|
||||
Объект.Ссылка, СтандартнаяОбработка, ОписаниеОповещения);
|
||||
КонецЕсли;
|
||||
|
||||
Если СтандартнаяОбработка Тогда
|
||||
ПродолжитьРегистрациюДоверенности(Неопределено, РегистрироватьВФНС);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ПоказатьПредупреждение(, НСтр("ru='Доверенность не подписана всеми доверителями.'"));
|
||||
@@ -2998,10 +3003,10 @@
|
||||
|
||||
Элементы.ОписаниеСостоянияВДругомРеестре.Видимость = Истина;
|
||||
Элементы.ОписаниеСостоянияВДругомРеестре.Заголовок = ПараметрыПереопределения.СостояниеРегистрации;
|
||||
Если РегистрироватьВДругомРеестре = Истина Тогда
|
||||
РегистрироватьВДругомРеестре = Ложь;
|
||||
ДоступностьПризнакаРегистрацииВРеестре(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
Элементы.РегистрироватьВДругомРеестре.ТолькоПросмотр = Истина;
|
||||
РегистрироватьВДругомРеестре = Истина;
|
||||
ДоступностьПризнакаРегистрацииВРеестре(ЭтотОбъект);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -3199,4 +3204,17 @@
|
||||
ПодключитьОбработчикОжидания("ПрочитатьСтатусДокумента", ПериодОпросаСтатусов, Истина);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПродолжитьРегистрациюДоверенности(НеИспользуется, РегистрироватьВФНС) Экспорт
|
||||
|
||||
УстановитьСтатусРегистрации(Объект.Ссылка, Неопределено, РегистрироватьВФНС, РегистрироватьВДругомРеестре);
|
||||
Если РегистрироватьВФНС Тогда
|
||||
ОбновитьСтатус(Истина);
|
||||
КонецЕсли;
|
||||
Если РегистрироватьВДругомРеестре Тогда
|
||||
ПрочитатьСостояниеВДругомРеестре();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1383,6 +1383,7 @@
|
||||
ЭтоПередоверие = ОписаниеДоверенности.Документ.Довер = Неопределено;
|
||||
|
||||
Если ЭтоПередоверие Тогда
|
||||
//@skip-check query-in-loop - штучные запросы в количестве загружаемых доверенностей
|
||||
ЗаполнитьПередовериеИзОбъектаXDTO(Объект, ОписаниеДоверенности);
|
||||
Иначе
|
||||
ЗаполнитьДоверенность(Объект, ОписаниеДоверенности);
|
||||
|
||||
@@ -55,6 +55,10 @@
|
||||
КонецЕсли;
|
||||
|
||||
Свойство = ВидыСвойств.Получить(ДополнительныйРеквизит.Свойство);
|
||||
Если Не ЗначениеЗаполнено(Свойство) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Свойство.ВидСвойств = Перечисления.ВидыСвойств.Метки Тогда
|
||||
Меток = Меток + 1;
|
||||
Иначе
|
||||
|
||||
@@ -16,7 +16,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Владелец.ПометкаУдаления Тогда
|
||||
ВладелецПомеченНаУдаление = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Владелец, "ПометкаУдаления");
|
||||
|
||||
Если ВладелецПомеченНаУдаление = Неопределено
|
||||
Или ВладелецПомеченНаУдаление Тогда
|
||||
ПредопределеннаяПапка = Ложь;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
Элементы.ПредставлениеОбщегоРасписания.Подсказка = ТекстПодсказки;
|
||||
Иначе
|
||||
Если ЭтоАдминистраторСистемы Тогда
|
||||
ОбщееРасписаниеПредставление = Строка(ОбщееРегламентноеЗадание.Шаблон.Расписание.Получить());
|
||||
ОбщееРасписаниеПредставление = Строка(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОбщееРегламентноеЗадание.Шаблон, "Расписание").Получить());
|
||||
Элементы.РегламентноеЗаданиеПредставление.Видимость = Истина;
|
||||
Иначе
|
||||
Элементы.РегламентноеЗаданиеПредставление.Видимость = Ложь;
|
||||
@@ -379,7 +379,7 @@
|
||||
ОбщееРасписаниеПредставление = Строка(ОбщееРегламентноеЗадание.Расписание);
|
||||
Иначе
|
||||
Если Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда
|
||||
ОбщееРасписание = ОбщееРегламентноеЗадание.Шаблон.Расписание.Получить();
|
||||
ОбщееРасписание = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОбщееРегламентноеЗадание.Шаблон, "Расписание").Получить();
|
||||
ОбщееРасписаниеПредставление = Строка(ОбщееРасписание);
|
||||
Иначе
|
||||
ОбщееРасписание = Неопределено;
|
||||
|
||||
@@ -267,7 +267,8 @@
|
||||
ОбщееРасписаниеПредставление = Строка(ОбщееРегламентноеЗадание.Расписание);
|
||||
Иначе
|
||||
Если Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда
|
||||
ОбщееРасписаниеПредставление = Строка(ОбщееРегламентноеЗадание.Шаблон.Расписание.Получить());
|
||||
ОбщееРасписание = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОбщееРегламентноеЗадание.Шаблон, "Расписание").Получить();
|
||||
ОбщееРасписаниеПредставление = Строка(ОбщееРасписание);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
|
||||
@@ -174,6 +174,24 @@
|
||||
&НаСервере
|
||||
Функция СохранитьПрофильКлючевыхОперацийНаСервере()
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| КлючевыеОперации.Ссылка КАК Ссылка,
|
||||
| КлючевыеОперации.Имя КАК Имя
|
||||
|ИЗ
|
||||
| Справочник.КлючевыеОперации КАК КлючевыеОперации
|
||||
|ГДЕ
|
||||
| КлючевыеОперации.Ссылка В (&ВыбранныеКлючевыеОперации)";
|
||||
Запрос.УстановитьПараметр("ВыбранныеКлючевыеОперации",
|
||||
Объект.КлючевыеОперацииПрофиля.Выгрузить().ВыгрузитьКолонку("КлючеваяОперация"));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
ВыбранныеКлючевыеОперации = Новый Соответствие;
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ВыбранныеКлючевыеОперации[Выборка.Ссылка] = Выборка.Имя;
|
||||
КонецЦикла;
|
||||
|
||||
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml");
|
||||
|
||||
ЗаписьXML = Новый ЗаписьXML;
|
||||
@@ -185,7 +203,7 @@
|
||||
|
||||
Для Каждого ТекСтрока Из Объект.КлючевыеОперацииПрофиля Цикл
|
||||
ЗаписьXML.ЗаписатьНачалоЭлемента("Item");
|
||||
ЗаписьXML.ЗаписатьАтрибут("Имя", ТекСтрока.КлючеваяОперация.Имя);
|
||||
ЗаписьXML.ЗаписатьАтрибут("Имя", ВыбранныеКлючевыеОперации[ТекСтрока.КлючеваяОперация]);
|
||||
ЗаписьXML.ЗаписатьАтрибут("ЦелевоеВремя", Формат(ТекСтрока.ЦелевоеВремя, "ЧГ=0"));
|
||||
ЗаписьXML.ЗаписатьАтрибут("Важность", Формат(ТекСтрока.Приоритет, "ЧГ=0"));
|
||||
ЗаписьXML.ЗаписатьКонецЭлемента();
|
||||
|
||||
@@ -2620,154 +2620,17 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СтраницыВремяИлиИзменить</name>
|
||||
<id>427</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СтраницаВремяНачала</name>
|
||||
<id>428</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ВремяНачала</name>
|
||||
<id>429</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ВремяНачала</segments>
|
||||
</dataPath>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ВремяНачалаПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ВремяНачалаExtendedTooltip</name>
|
||||
<id>750</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ВремяНачалаКонтекстноеМеню</name>
|
||||
<id>430</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<editFormat>
|
||||
<key>ru</key>
|
||||
<value>ДФ=HH:mm</value>
|
||||
</editFormat>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Страница время начала</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СтраницаВремяНачалаExtendedTooltip</name>
|
||||
<id>749</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Page</type>
|
||||
<extInfo xsi:type="form:PageGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<showTitle>auto</showTitle>
|
||||
<scrollOnCompress>false</scrollOnCompress>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СтраницаИзменитьРасписание</name>
|
||||
<id>431</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ИзменитьРасписание</name>
|
||||
<id>432</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ИзменитьРасписаниеExtendedTooltip</name>
|
||||
<id>752</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualButton</type>
|
||||
<commandName>Form.Command.ИзменитьРасписание</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Страница изменить расписание</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СтраницаИзменитьРасписаниеExtendedTooltip</name>
|
||||
<id>751</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Page</type>
|
||||
<extInfo xsi:type="form:PageGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<showTitle>auto</showTitle>
|
||||
<scrollOnCompress>false</scrollOnCompress>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ИзменитьРасписание</name>
|
||||
<id>432</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Страницы время или изменить</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СтраницыВремяИлиИзменитьExtendedTooltip</name>
|
||||
<id>748</id>
|
||||
<name>ИзменитьРасписаниеExtendedTooltip</name>
|
||||
<id>752</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -2775,10 +2638,13 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Pages</type>
|
||||
<extInfo xsi:type="form:PagesGroupExtInfo">
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
<type>UsualButton</type>
|
||||
<commandName>Form.Command.ИзменитьРасписание</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗаполнитьРасписаниеПоШаблону</name>
|
||||
@@ -2827,7 +2693,7 @@
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<group>AlwaysHorizontal</group>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
@@ -2862,6 +2728,296 @@
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаВремяВыполнения</name>
|
||||
<id>428</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ВремяНачала</name>
|
||||
<id>429</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ВремяНачала</segments>
|
||||
</dataPath>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ВремяНачалаПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ВремяНачалаExtendedTooltip</name>
|
||||
<id>750</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ВремяНачалаКонтекстноеМеню</name>
|
||||
<id>430</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<editFormat>
|
||||
<key>ru</key>
|
||||
<value>ДФ=HH:mm</value>
|
||||
</editFormat>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаПериодПовтораВТечениеДня</name>
|
||||
<id>1303</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ИспользоватьПериодПовтораВТечениеДня</name>
|
||||
<id>1310</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ИспользоватьПериодПовтораВТечениеДня</segments>
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ИспользоватьПериодПовтораВТечениеДняПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ИспользоватьПериодПовтораВТечениеДняРасширеннаяПодсказка</name>
|
||||
<id>1312</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ИспользоватьПериодПовтораВТечениеДняКонтекстноеМеню</name>
|
||||
<id>1311</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ПериодПовтораВТечениеДня</name>
|
||||
<id>1300</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ПериодПовтораВТечениеДня</segments>
|
||||
</dataPath>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Период повтора в течение дня</value>
|
||||
</toolTip>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ПериодПовтораВТечениеДняПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ПериодПовтораВТечениеДняРасширеннаяПодсказка</name>
|
||||
<id>1302</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПериодПовтораВТечениеДняКонтекстноеМеню</name>
|
||||
<id>1301</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<spinButton>true</spinButton>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<minValue xsi:type="core:NumberValue">
|
||||
<value>1</value>
|
||||
</minValue>
|
||||
<maxValue xsi:type="core:NumberValue">
|
||||
<value>12</value>
|
||||
</maxValue>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ДекорацияЧасов</name>
|
||||
<id>1305</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>(ч.)</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Часов</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>ДекорацияЧасовРасширеннаяПодсказка</name>
|
||||
<id>1307</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДекорацияЧасовКонтекстноеМеню</name>
|
||||
<id>1306</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>Label</type>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ВремяОкончания</name>
|
||||
<id>1313</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ВремяОкончания</segments>
|
||||
</dataPath>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ВремяОкончанияПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ВремяОкончанияРасширеннаяПодсказка</name>
|
||||
<id>1315</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ВремяОкончанияКонтекстноеМеню</name>
|
||||
<id>1314</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<editFormat>
|
||||
<key>ru</key>
|
||||
<value>ДФ=HH:mm</value>
|
||||
</editFormat>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Группа период повтора в течение дня</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаПериодПовтораВТечениеДняРасширеннаяПодсказка</name>
|
||||
<id>1304</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаВремяВыполненияРасширеннаяПодсказка</name>
|
||||
<id>749</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>AlwaysHorizontal</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СтраницыПериодичности</name>
|
||||
<id>433</id>
|
||||
@@ -4336,25 +4492,65 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Автор</name>
|
||||
<id>3</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаАвтор</name>
|
||||
<id>1308</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Автор</name>
|
||||
<id>3</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Автор</segments>
|
||||
</dataPath>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>АвторПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>АвторExtendedTooltip</name>
|
||||
<id>806</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>АвторКонтекстноеМеню</name>
|
||||
<id>4</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<markRequiredComplete>true</markRequiredComplete>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<autoMarkIncomplete>true</autoMarkIncomplete>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Автор</segments>
|
||||
</dataPath>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>АвторПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>АвторExtendedTooltip</name>
|
||||
<id>806</id>
|
||||
<name>ГруппаАвторРасширеннаяПодсказка</name>
|
||||
<id>1309</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -4362,26 +4558,16 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>АвторКонтекстноеМеню</name>
|
||||
<id>4</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<markRequiredComplete>true</markRequiredComplete>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<autoMarkIncomplete>true</autoMarkIncomplete>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<showTitle>auto</showTitle>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
@@ -10926,6 +11112,77 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПериодПовтораВТечениеДня</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Повторять каждые</value>
|
||||
</title>
|
||||
<id>54</id>
|
||||
<valueType>
|
||||
<types>Number</types>
|
||||
<numberQualifiers>
|
||||
<precision>2</precision>
|
||||
<nonNegative>true</nonNegative>
|
||||
</numberQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<savedData>true</savedData>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ИспользоватьПериодПовтораВТечениеДня</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Использовать период повтора в течение дня</value>
|
||||
</title>
|
||||
<id>55</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ВремяОкончания</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Время окончания</value>
|
||||
</title>
|
||||
<id>63</id>
|
||||
<valueType>
|
||||
<types>Date</types>
|
||||
<dateQualifiers>
|
||||
<dateFractions>Time</dateFractions>
|
||||
</dateQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<savedData>true</savedData>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПараметрыТекстаПисьмаИФайлов</name>
|
||||
<id>67</id>
|
||||
<valueType/>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>ДобавитьИзменитьШаблонДатыРассылки</name>
|
||||
<title>
|
||||
|
||||
@@ -62,11 +62,22 @@
|
||||
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
|
||||
КонецЕсли;
|
||||
// Конец СтандартныеПодсистемы.УправлениеДоступом
|
||||
|
||||
|
||||
ОбновитьСписокПараметровТекстаПисьмаИФайлов();
|
||||
ПреобразоватьПараметрыТекста(Объект, "ПараметрыВПредставление");
|
||||
ПреобразоватьПараметрыНастроекОтчетов(Объект, "ПараметрыВПредставление");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
ЭтоНовый = Объект.Ссылка.Пустая();
|
||||
|
||||
Если ЭтоНовый Тогда
|
||||
ОбновитьСписокПараметровТекстаПисьмаИФайлов();
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьУсловноеОформление();
|
||||
|
||||
ТекстОшибкиПриОткрытии = РассылкаОтчетов.ТекстОшибкиПроверкиПраваДобавления();
|
||||
@@ -113,9 +124,7 @@
|
||||
// Используется при загрузке и записи настроек выбранного отчета.
|
||||
ИдентификаторТекущейСтрокиТаблицыОтчетов = -1;
|
||||
|
||||
// Кэш проверки
|
||||
ЭтоНовый = Объект.Ссылка.Пустая();
|
||||
СозданКопированием = Не РассылкаОснование.Пустая();
|
||||
СозданКопированием = Не РассылкаОснование.Пустая();
|
||||
|
||||
Если ЭтоНовый Тогда
|
||||
СоздатьРеквизитЭлементСертификатДляШифрования();
|
||||
@@ -314,7 +323,7 @@
|
||||
Элементы.ФорматыПоУмолчанию.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх;
|
||||
Элементы.ПолучателиРассылки.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -425,6 +434,18 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если Объект.ВыполнятьПоРасписанию Тогда
|
||||
Если Объект.ПериодичностьРасписания <> Перечисления.ПериодичностиРасписанийРассылокОтчетов.Произвольное
|
||||
И ЗначениеЗаполнено(Расписание.ВремяКонца)Тогда
|
||||
РазностьДатВЧасах = СекундыВЧасы(Расписание.ВремяКонца - Расписание.ВремяНачала);
|
||||
Если РазностьДатВЧасах < 4 Тогда
|
||||
Отказ = Истина;
|
||||
ТекстСообщения = НСтр("ru = 'Время окончания рассылки отчетов должно быть на 4 часа позже времени начала.'");
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, , "ВремяОкончания");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -506,7 +527,7 @@
|
||||
НастройкиКД = НастройкиОтчета.Настройки;
|
||||
ПользовательскиеНастройкиКД = НастройкиОтчета.ПользовательскиеНастройки; // ПользовательскиеНастройкиКомпоновкиДанных
|
||||
// [3] Проверка значения настроек.
|
||||
Фильтр = Новый Структура("Использование, Значение", Истина, ШаблонЗначенияПолучателяРассылки());
|
||||
Фильтр = Новый Структура("Использование, Значение", Истина, ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов));
|
||||
Найденные = ОтчетыКлиентСервер.ЭлементыНастроекОтобранные(ПользовательскиеНастройкиКД, Фильтр);
|
||||
Если Найденные.Количество() > 0 Тогда
|
||||
ОтчетПерсонализирован = Истина;
|
||||
@@ -547,7 +568,7 @@
|
||||
|
||||
// [3] Анализ обычных отчетов.
|
||||
Если ТипЗнч(НастройкиОтчета) = Тип("ТаблицаЗначений") Тогда
|
||||
Найденные = НастройкиОтчета.НайтиСтроки(Новый Структура("Значение, Использование", ШаблонЗначенияПолучателяРассылки(), Истина));
|
||||
Найденные = НастройкиОтчета.НайтиСтроки(Новый Структура("Значение, Использование", ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов), Истина));
|
||||
Если Найденные.Количество() > 0 Тогда
|
||||
ОтчетПерсонализирован = Истина;
|
||||
КонецЕсли;
|
||||
@@ -600,10 +621,15 @@
|
||||
КонецЕсли;
|
||||
|
||||
// Все операции с регламентными заданиями размещены в модуле объекта.
|
||||
Если Объект.ПериодичностьРасписания <> Перечисления.ПериодичностиРасписанийРассылокОтчетов.Произвольное Тогда
|
||||
Если Объект.ПериодичностьРасписания <> Перечисления.ПериодичностиРасписанийРассылокОтчетов.Произвольное
|
||||
И Не ЗначениеЗаполнено(Расписание.ПериодПовтораВТечениеДня)Тогда
|
||||
Расписание.ВремяКонца = '00010101';
|
||||
КонецЕсли;
|
||||
ТекущийОбъект.ДополнительныеСвойства.Вставить("Расписание", Расписание);
|
||||
|
||||
ПреобразоватьПараметрыТекста(ТекущийОбъект, "ПредставлениеВПараметры");
|
||||
ПреобразоватьПараметрыНастроекОтчетов(ТекущийОбъект, "ПредставлениеВПараметры");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -652,7 +678,10 @@
|
||||
|
||||
&НаСервере
|
||||
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
|
||||
ПреобразоватьПараметрыТекста(Объект, "ПараметрыВПредставление");
|
||||
ПреобразоватьПараметрыНастроекОтчетов(Объект, "ПараметрыВПредставление");
|
||||
|
||||
// СтандартныеПодсистемы.УправлениеДоступом
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
|
||||
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
|
||||
@@ -747,6 +776,27 @@
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ВремяНачала");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ИспользоватьПериодПовтораВТечениеДняПриИзменении(Элемент)
|
||||
ПериодПовтораВТечениеДня = ?(ИспользоватьПериодПовтораВТечениеДня, 1, 0);
|
||||
ВремяОкончания = ?(ИспользоватьПериодПовтораВТечениеДня, ВремяНачала + ЧасыВСекунды(4), '00010101');
|
||||
Расписание.ВремяКонца = ВремяОкончания;
|
||||
Расписание.ПериодПовтораВТечениеДня = ЧасыВСекунды(ПериодПовтораВТечениеДня);
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодПовтораВТечениеДня");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПериодПовтораВТечениеДняПриИзменении(Элемент)
|
||||
Расписание.ПериодПовтораВТечениеДня = ЧасыВСекунды(ПериодПовтораВТечениеДня);
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодПовтораВТечениеДня");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВремяОкончанияПриИзменении(Элемент)
|
||||
Расписание.ВремяКонца = ВремяОкончания;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ВремяОкончания");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПериодПовтораДнейПриИзменении(Элемент)
|
||||
Расписание.ПериодПовтораДней = ПериодПовтораДней;
|
||||
@@ -1008,13 +1058,15 @@
|
||||
ДобавитьШаблон();
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ТекущийЭлемент.ВыделенныйТекст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеРассылки]", "[ДатаВыполнения()]");
|
||||
НСтр("ru = '%1 от %2'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеРассылки + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.ДатаВыполнения + "()]");
|
||||
|
||||
Переменные = Новый Структура;
|
||||
Переменные.Вставить("Элемент", ТекущийЭлемент);
|
||||
Переменные.Вставить("СтарыйТекст", "");
|
||||
Переменные.Вставить("Префикс", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеРассылки]", "[ДатаВыполнения("));
|
||||
НСтр("ru = '%1 от %2'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеРассылки + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.ДатаВыполнения + "("));
|
||||
Переменные.Вставить("Постфикс", ")]");
|
||||
Переменные.Вставить("ТекстФормата", "");
|
||||
Переменные.Вставить("СтарыйФрагментНайден", Ложь);
|
||||
@@ -1120,7 +1172,8 @@
|
||||
СтруктураЗаполнения.Вставить("ОтправлятьЕслиПустой", Ложь);
|
||||
СтруктураЗаполнения.Вставить("НеОтправлятьПустой", Истина);
|
||||
СтруктураЗаполнения.Вставить("Доступность", Истина);
|
||||
СтруктураЗаполнения.Вставить("ШаблонНаименования", "[НаименованиеОтчета] [ФорматОтчета]");
|
||||
СтруктураЗаполнения.Вставить("ШаблонНаименования", "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета
|
||||
+ "] [" + ПараметрыТекстаПисьмаИФайлов.ФорматОтчета + "]");
|
||||
|
||||
МассивНовыхСтрок = ВыборПодборПеретаскиваниеВТабличнуюЧасть(
|
||||
ВыбранноеЗначение,
|
||||
@@ -1549,7 +1602,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ПредварительныйПросмотрОтчетаПродолжение(РезультатВыбора, ПараметрыОтчета) Экспорт
|
||||
ПользовательскиеНастройкиКД = ПараметрыОтчета.Настройки;
|
||||
Фильтр = Новый Структура("Использование, Значение", Истина, ШаблонЗначенияПолучателяРассылки());
|
||||
Фильтр = Новый Структура("Использование, Значение", Истина, ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов));
|
||||
ПерсонализированныеНастройки = ОтчетыКлиентСервер.ЭлементыНастроекОтобранные(ПользовательскиеНастройкиКД, Фильтр);
|
||||
Если Объект.Персонализирована Тогда
|
||||
Если РезультатВыбора = Неопределено Тогда
|
||||
@@ -1574,9 +1627,9 @@
|
||||
|
||||
Для Каждого ПользовательскаяНастройкаКД Из ПерсонализированныеНастройки Цикл
|
||||
Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
|
||||
ПользовательскаяНастройкаКД.ПравоеЗначение = ШаблонЗначенияПолучателяРассылки();
|
||||
ПользовательскаяНастройкаКД.ПравоеЗначение = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов);
|
||||
ИначеЕсли ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
||||
ПользовательскаяНастройкаКД.Значение = ШаблонЗначенияПолучателяРассылки();
|
||||
ПользовательскаяНастройкаКД.Значение = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
@@ -1641,12 +1694,12 @@
|
||||
Или Настройка.СтрокаНастроек.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСпискеПоИерархии Тогда
|
||||
Настройка.СтрокаНастроек.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
КонецЕсли;
|
||||
Настройка.СтрокаНастроек.ПравоеЗначение = ШаблонЗначенияПолучателяРассылки();
|
||||
Настройка.СтрокаНастроек.ПравоеЗначение = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов);
|
||||
Иначе
|
||||
Настройка.СтрокаНастроек.Значение = ШаблонЗначенияПолучателяРассылки();
|
||||
Настройка.СтрокаНастроек.Значение = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Настройка.СтрокаНастроек.Значение = ШаблонЗначенияПолучателяРассылки();
|
||||
Настройка.СтрокаНастроек.Значение = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов);
|
||||
КонецЕсли;
|
||||
|
||||
НайтиНастройкиПерсонализации();
|
||||
@@ -1670,18 +1723,18 @@
|
||||
ВнесеныИзменения = Ложь;
|
||||
Если Настройка.СКД Тогда
|
||||
Если Настройка.ЭтоЭлементОтбора Тогда
|
||||
Если Настройка.СтрокаНастроек.ПравоеЗначение = ШаблонЗначенияПолучателяРассылки() Тогда
|
||||
Если Настройка.СтрокаНастроек.ПравоеЗначение = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов) Тогда
|
||||
Настройка.СтрокаНастроек.ПравоеЗначение = Неопределено;
|
||||
ВнесеныИзменения = Истина;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если Настройка.СтрокаНастроек.Значение = ШаблонЗначенияПолучателяРассылки() Тогда
|
||||
Если Настройка.СтрокаНастроек.Значение = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов) Тогда
|
||||
Настройка.СтрокаНастроек.Значение = Неопределено;
|
||||
ВнесеныИзменения = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если Настройка.СтрокаНастроек.Значение = ШаблонЗначенияПолучателяРассылки() Тогда
|
||||
Если Настройка.СтрокаНастроек.Значение = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов) Тогда
|
||||
Настройка.СтрокаНастроек.Значение = Неопределено;
|
||||
ВнесеныИзменения = Истина;
|
||||
КонецЕсли;
|
||||
@@ -1846,7 +1899,7 @@
|
||||
Переменные = Новый Структура;
|
||||
Переменные.Вставить("Элемент", ТекущийЭлемент);
|
||||
Переменные.Вставить("СтарыйТекст", Переменные.Элемент.ВыделенныйТекст);
|
||||
Переменные.Вставить("Префикс", "[ДатаВыполнения(");
|
||||
Переменные.Вставить("Префикс", "[" + ПараметрыТекстаПисьмаИФайлов.ДатаВыполнения + "(");
|
||||
Переменные.Вставить("Постфикс", ")]");
|
||||
Переменные.Вставить("ТекстФормата", "");
|
||||
|
||||
@@ -1882,33 +1935,33 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ДобавитьШаблон(ШаблонЗначенияПолучателяРассылки());
|
||||
ДобавитьШаблон(ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов));
|
||||
РассылкаБылаПерсонализирована = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДобавитьШаблонСформированныхОтчетов(Команда)
|
||||
ДобавитьШаблон("[СформированныеОтчеты]", Истина);
|
||||
ДобавитьШаблон("[" + ПараметрыТекстаПисьмаИФайлов.СформированныеОтчеты + "]", Истина);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДобавитьШаблонАвтора(Команда)
|
||||
ДобавитьШаблон("[Автор]");
|
||||
ДобавитьШаблон("[" + ПараметрыТекстаПисьмаИФайлов.Автор + "]");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДобавитьШаблонНаименованияРассылки(Команда)
|
||||
ДобавитьШаблон("[НаименованиеРассылки]");
|
||||
ДобавитьШаблон("[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеРассылки + "]");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДобавитьШаблонСистемы(Команда)
|
||||
ДобавитьШаблон("[ЗаголовокСистемы]");
|
||||
ДобавитьШаблон("[" + ПараметрыТекстаПисьмаИФайлов.ЗаголовокСистемы + "]");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДобавитьШаблонСпособаДоставки(Команда)
|
||||
ДобавитьШаблон("[СпособДоставки]");
|
||||
ДобавитьШаблон("[" + ПараметрыТекстаПисьмаИФайлов.СпособДоставки + "]");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -1971,126 +2024,7 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПредпросмотрШаблона(Команда)
|
||||
|
||||
ДобавитьШаблон();
|
||||
|
||||
КартинкиДляHTML = Новый Структура;
|
||||
|
||||
Шаблон = Объект.ТекстПисьма;
|
||||
Если Объект.ПисьмоВФорматеHTML Тогда
|
||||
ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.HTML");
|
||||
ТекстПисьмаФорматированныйДокумент.ПолучитьHTML(Шаблон, КартинкиДляHTML);
|
||||
Шаблон = Объект.ТемаПисьма + "<br>" + "<br>" + Шаблон;
|
||||
Иначе
|
||||
ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.ПростойТекст");
|
||||
Шаблон = Объект.ТемаПисьма + Символы.ПС + Символы.ПС + Шаблон;
|
||||
КонецЕсли;
|
||||
|
||||
СформированныеОтчеты = "";
|
||||
Для Каждого СтрокаОтчет Из Объект.Отчеты Цикл
|
||||
ПредставлениеОтчета = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1. %2",
|
||||
СтрокаОтчет.НомерСтроки, СтрокаОтчет.Представление);
|
||||
СформированныеОтчеты = СформированныеОтчеты + Символы.ПС + ПредставлениеОтчета;
|
||||
КонецЦикла;
|
||||
СформированныеОтчеты = СокрЛП(СформированныеОтчеты);
|
||||
Если Объект.Архивировать Тогда
|
||||
СформированныеОтчеты = СформированныеОтчеты + Символы.ПС + Символы.ПС + НСтр(
|
||||
"ru = 'Файлы отчетов запакованы в архив'") + " ";
|
||||
|
||||
СтруктураИмениАрхива = Новый Структура("НаименованиеРассылки, ДатаВыполнения", Объект.Наименование,
|
||||
ОбщегоНазначенияКлиент.ДатаСеанса());
|
||||
ИмяАрхива = РассылкаОтчетовКлиентСервер.ЗаполнитьШаблон(Объект.ИмяАрхива, СтруктураИмениАрхива);
|
||||
ИмяАрхива = ИмяАрхива + ".zip";
|
||||
|
||||
СформированныеОтчеты = СокрЛП(
|
||||
СформированныеОтчеты + """" + ИмяАрхива + """");
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыДоставки = РассылкаОтчетовКлиентСервер.ПараметрыДоставки();
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыДоставки, Объект);
|
||||
ПараметрыДоставки.ВыполненаВПапку = Объект.ИспользоватьПапку;
|
||||
ПараметрыДоставки.ВыполненаВСетевойКаталог = Объект.ИспользоватьСетевойКаталог;
|
||||
ПараметрыДоставки.ВыполненаНаFTP = Объект.ИспользоватьFTPРесурс;
|
||||
СпособДоставки = РассылкаОтчетовКлиентСервер.ПредставлениеСпособовДоставки(ПараметрыДоставки);
|
||||
|
||||
ПараметрыШаблона = Новый Структура;
|
||||
ПараметрыШаблона.Вставить("НаименованиеРассылки", Объект.Наименование);
|
||||
ПараметрыШаблона.Вставить("Автор", Объект.Автор);
|
||||
ПараметрыШаблона.Вставить("ЗаголовокСистемы", Кэш.ЗаголовокСистемы);
|
||||
ПараметрыШаблона.Вставить("ДатаВыполнения", ОбщегоНазначенияКлиент.ДатаСеанса());
|
||||
ПараметрыШаблона.Вставить("СформированныеОтчеты", СформированныеОтчеты);
|
||||
ПараметрыШаблона.Вставить("СпособДоставки", СпособДоставки);
|
||||
|
||||
Если ВидРассылки = "Персонализирована" Тогда
|
||||
ПервыйПолучатель = ПолучитьПервогоПолучателя();
|
||||
ПараметрыШаблона.Вставить("Получатель", ПервыйПолучатель.Наименование);
|
||||
ПервыйПолучательСсылка = ПервыйПолучатель.Ссылка;
|
||||
Иначе
|
||||
ПервыйПолучательСсылка = Неопределено;
|
||||
КонецЕсли;
|
||||
ДобавитьДополнительныеПараметрыШаблона(ПараметрыШаблона, ПервыйПолучательСсылка);
|
||||
|
||||
// Схематичное отображение отчетов в тексте письма
|
||||
Если Объект.ВставлятьОтчетыВТекстПисьма Тогда
|
||||
ОтчетыВТекстеПисьма = "";
|
||||
Для Каждого СтрокаОтчет Из Объект.Отчеты Цикл
|
||||
ОтчетыВТекстеПисьма = ОтчетыВТекстеПисьма + Символы.ПС
|
||||
+ "------------------------------------------" + Символы.ПС
|
||||
+ СтрокаОтчет.Представление;
|
||||
КонецЦикла;
|
||||
Если Объект.ПисьмоВФорматеHTML Тогда
|
||||
ОтчетыВТекстеПисьма = СтрЗаменить(ОтчетыВТекстеПисьма, Символы.ПС, Символы.ПС + "<br>");
|
||||
КонецЕсли;
|
||||
Шаблон = Шаблон + Символы.ПС + Символы.ПС + ОтчетыВТекстеПисьма;
|
||||
КонецЕсли;
|
||||
|
||||
// Вывод списка вложений
|
||||
Если Объект.ПрикреплятьОтчетыВоВложения Тогда
|
||||
ПлановыйСписокОтчетов = ПлановыйСписокОтчетовВоВложениях();
|
||||
Если ПлановыйСписокОтчетов.Количество() > 0 Тогда
|
||||
СписокОтчетов = СтрСоединить(ПлановыйСписокОтчетов, Символы.ПС);
|
||||
|
||||
ТекстВложения = Символы.ПС + Символы.ПС + НСтр("ru = 'Вложения письма:'");
|
||||
Если Объект.Архивировать Тогда
|
||||
СтруктураИмениАрхива = Новый Структура("НаименованиеРассылки, ДатаВыполнения", Объект.Наименование,
|
||||
ОбщегоНазначенияКлиент.ДатаСеанса());
|
||||
ИмяАрхива = РассылкаОтчетовКлиентСервер.ЗаполнитьШаблон(Объект.ИмяАрхива, СтруктураИмениАрхива);
|
||||
ИмяАрхива = ИмяАрхива + ".zip";
|
||||
ТекстВложения = ТекстВложения + Символы.ПС + Символы.ПС + ИмяАрхива;
|
||||
Иначе
|
||||
ТекстВложения = ТекстВложения + Символы.ПС;
|
||||
КонецЕсли;
|
||||
НомерФайла = 1;
|
||||
Для Каждого ПолноеИмяФайла Из ПлановыйСписокОтчетов Цикл
|
||||
ИмяФайлаСПорядком = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1. %2",
|
||||
НомерФайла, ПолноеИмяФайла);
|
||||
Если Объект.ПисьмоВФорматеHTML Тогда
|
||||
ТекстВложения = ТекстВложения + "<p style=""margin-left: 50px;"">" + ИмяФайлаСПорядком + "</p>";
|
||||
Иначе
|
||||
ТекстВложения = ТекстВложения + Символы.ПС + Символы.Таб + ИмяФайлаСПорядком;
|
||||
КонецЕсли;
|
||||
НомерФайла = НомерФайла + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Если Объект.ПисьмоВФорматеHTML Тогда
|
||||
ТекстВложения = СтрЗаменить(ТекстВложения, Символы.ПС, Символы.ПС + "<br>");
|
||||
КонецЕсли;
|
||||
Шаблон = Шаблон + Символы.ПС + ТекстВложения;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Текст = РассылкаОтчетовКлиентСервер.ЗаполнитьШаблон(Шаблон, ПараметрыШаблона);
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("НаименованиеРассылки", Объект.Наименование);
|
||||
ПараметрыФормы.Вставить("ТипТекста", ТипТекста);
|
||||
ПараметрыФормы.Вставить("Текст", Текст);
|
||||
Если КартинкиДляHTML.Количество() > 0 Тогда
|
||||
ПараметрыФормы.Вставить("АдресКартинокДляHTML", ПоместитьКартинкиВоВременноеХранилище(КартинкиДляHTML));
|
||||
КонецЕсли;
|
||||
ОткрытьФорму("Справочник.РассылкиОтчетов.Форма.ПредварительныйПросмотрПисьма", ПараметрыФормы, ЭтотОбъект, , , , ,
|
||||
РежимОткрытияОкнаФормы.Независимый);
|
||||
|
||||
ПодключитьОбработчикОжидания("ПриОткрытииПредпросмотраШаблона", 0.1, Истина);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -2864,26 +2798,30 @@
|
||||
Если ИмяШаблона = "НаименованиеДатаРассылки" Тогда
|
||||
|
||||
Переменные.Вставить("Префикс", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеОтчета]", "[ДатаРассылки("));
|
||||
НСтр("ru = '%1 от %2'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.ДатаРассылки + "("));
|
||||
|
||||
ИначеЕсли ИмяШаблона = "НаименованиеДатаРассылкиФормат" Тогда
|
||||
|
||||
Переменные.Вставить("Префикс", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеОтчета]", "[ДатаРассылки("));
|
||||
НСтр("ru = '%1 от %2'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.ДатаРассылки + "("));
|
||||
|
||||
Переменные.Вставить("Постфикс", ")] [ФорматОтчета]");
|
||||
Переменные.Вставить("Постфикс", ")] [" + ПараметрыТекстаПисьмаИФайлов.ФорматОтчета + "]");
|
||||
|
||||
ИначеЕсли ИмяШаблона = "НаименованиеПериод" Тогда
|
||||
|
||||
Переменные.Вставить("Префикс", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 за %2'"), "[НаименованиеОтчета]", "[Период("));
|
||||
НСтр("ru = '%1 за %2'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.Период + "("));
|
||||
|
||||
ИначеЕсли ИмяШаблона = "НаименованиеПериодФормат" Тогда
|
||||
|
||||
Переменные.Вставить("Префикс", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 за %2'"), "[НаименованиеОтчета]", "[Период("));
|
||||
НСтр("ru = '%1 за %2'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.Период + "("));
|
||||
|
||||
Переменные.Вставить("Постфикс", ")] [ФорматОтчета]");
|
||||
Переменные.Вставить("Постфикс", ")] [" + ПараметрыТекстаПисьмаИФайлов.ФорматОтчета + "]");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Переменные;
|
||||
@@ -3121,16 +3059,20 @@
|
||||
Функция ШаблоныНаименований()
|
||||
|
||||
Шаблоны = Новый Соответствие;
|
||||
Шаблоны.Вставить("НаименованиеОтчета", "[НаименованиеОтчета]");
|
||||
Шаблоны.Вставить("НаименованиеОтчетаФормат", "[НаименованиеОтчета] [ФорматОтчета]");
|
||||
Шаблоны.Вставить("НаименованиеОтчета", "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "]");
|
||||
Шаблоны.Вставить("НаименованиеОтчетаФормат", "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "] [" + ПараметрыТекстаПисьмаИФайлов.ФорматОтчета + "]");
|
||||
Шаблоны.Вставить("НаименованиеПериод", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 за %2'"), "[НаименованиеОтчета]", "[Период()]"));
|
||||
НСтр("ru = '%1 за %2'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.Период + "()]"));
|
||||
Шаблоны.Вставить("НаименованиеПериодФормат", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 за %2 %3'"), "[НаименованиеОтчета]", "[Период()]", "[ФорматОтчета]"));
|
||||
НСтр("ru = '%1 за %2 %3'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.Период + "()]", "[" + ПараметрыТекстаПисьмаИФайлов.ФорматОтчета + "]"));
|
||||
Шаблоны.Вставить("НаименованиеДатаРассылки", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеОтчета]", "[ДатаРассылки()]"));
|
||||
НСтр("ru = '%1 от %2'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.ДатаРассылки + "()]"));
|
||||
Шаблоны.Вставить("НаименованиеДатаРассылкиФормат", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2 %3'"), "[НаименованиеОтчета]", "[ДатаРассылки()]", "[ФорматОтчета]"));
|
||||
НСтр("ru = '%1 от %2 %3'"), "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "]",
|
||||
"[" + ПараметрыТекстаПисьмаИФайлов.ДатаРассылки + "()]", "[" + ПараметрыТекстаПисьмаИФайлов.ФорматОтчета + "]"));
|
||||
|
||||
Возврат Шаблоны;
|
||||
|
||||
@@ -3143,6 +3085,15 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытииПредпросмотраШаблона()
|
||||
ДобавитьШаблон();
|
||||
ПараметрыФормы = ПараметрыФормыПредпросмотраШаблона();
|
||||
ОткрытьФорму("Справочник.РассылкиОтчетов.Форма.ПредварительныйПросмотрПисьма", ПараметрыФормы, ЭтотОбъект, , , , ,
|
||||
РежимОткрытияОкнаФормы.Независимый);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Клиент, Сервер
|
||||
|
||||
@@ -3360,6 +3311,7 @@
|
||||
КонецЕсли;
|
||||
Элементы.ПараметрыВыполненияПоРасписанию.Доступность = Объект.ВыполнятьПоРасписанию;
|
||||
Элементы.СтраницыПериодичности.Доступность = Объект.ВыполнятьПоРасписанию;
|
||||
Элементы.ГруппаВремяВыполнения.Доступность = Объект.ВыполнятьПоРасписанию;
|
||||
КонецЕсли;
|
||||
|
||||
Если Изменения = "" Или Изменения = "ПериодичностьРасписания" Тогда
|
||||
@@ -3380,9 +3332,11 @@
|
||||
Страница.Видимость = (Страница.Имя = ИмяВидимойСтраницы);
|
||||
КонецЦикла;
|
||||
Если ИмяПеречисления = "Произвольное" Тогда
|
||||
Элементы.СтраницыВремяИлиИзменить.ТекущаяСтраница = Элементы.СтраницаИзменитьРасписание;
|
||||
Элементы.ИзменитьРасписание.Видимость = Истина;
|
||||
Элементы.ГруппаВремяВыполнения.Видимость = Ложь;
|
||||
Иначе
|
||||
Элементы.СтраницыВремяИлиИзменить.ТекущаяСтраница = Элементы.СтраницаВремяНачала;
|
||||
Элементы.ИзменитьРасписание.Видимость = Ложь;
|
||||
Элементы.ГруппаВремяВыполнения.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
// Сброс параметров, которые не соответствуют закладкам упрощенного редактирования.
|
||||
@@ -3394,14 +3348,12 @@
|
||||
// Общие параметры
|
||||
Форма.Расписание.ДатаНачала = '00010101';
|
||||
Форма.Расписание.ДатаКонца = '00010101';
|
||||
Форма.Расписание.ВремяКонца = '00010101';
|
||||
Форма.Расписание.ВремяЗавершения = '00010101';
|
||||
Форма.Расписание.ДеньНеделиВМесяце = 0;
|
||||
Форма.Расписание.ДетальныеРасписанияДня = Новый Массив;
|
||||
Форма.Расписание.ИнтервалЗавершения = 0;
|
||||
Форма.Расписание.ПаузаПовтора = 0;
|
||||
Форма.Расписание.ПериодНедель = 0;
|
||||
Форма.Расписание.ПериодПовтораВТечениеДня = 0;
|
||||
|
||||
Если ИмяПеречисления <> "Ежедневно" Тогда
|
||||
Форма.Расписание.ПериодПовтораДней = 1;
|
||||
@@ -3447,8 +3399,20 @@
|
||||
Форма[КлючИЗначение.Ключ] = (Форма.Расписание.Месяцы.Найти(КлючИЗначение.Значение) <> Неопределено);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Форма.ПериодПовтораВТечениеДня = СекундыВЧасы(Форма.Расписание.ПериодПовтораВТечениеДня);
|
||||
Форма.ВремяОкончания = Форма.Расписание.ВремяКонца;
|
||||
|
||||
Форма.ИспользоватьПериодПовтораВТечениеДня = ЗначениеЗаполнено(Форма.ПериодПовтораВТечениеДня);
|
||||
|
||||
КонецЕсли; // Изменения = "" Или Изменения = "ПериодичностьРасписания"
|
||||
|
||||
Если Изменения = "" Или Изменения = "ПериодПовтораВТечениеДня" Или Изменения = "ПериодичностьРасписания" Тогда
|
||||
Элементы.ПериодПовтораВТечениеДня.Доступность = Форма.ИспользоватьПериодПовтораВТечениеДня;
|
||||
Элементы.ДекорацияЧасов.Доступность = Форма.ИспользоватьПериодПовтораВТечениеДня;
|
||||
Элементы.ВремяОкончания.Доступность = Форма.ИспользоватьПериодПовтораВТечениеДня;
|
||||
Форма.ВремяОкончания = ?(Форма.ИспользоватьПериодПовтораВТечениеДня, Форма.ВремяОкончания, '00010101');
|
||||
Форма.Расписание.ВремяКонца = Форма.ВремяОкончания;
|
||||
КонецЕсли;
|
||||
|
||||
Если Изменения = "" Или Изменения = "НачалоКонецМесяца" Тогда
|
||||
Элементы.ГиперссылкаНачалоКонецМесяца.Заголовок = ?(Форма.Расписание.ДеньВМесяце >= 0, "начала", "конца");
|
||||
@@ -3636,12 +3600,22 @@
|
||||
КонецФункции
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ШаблонЗначенияПолучателяРассылки()
|
||||
Функция ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов)
|
||||
|
||||
Возврат НСтр("ru = '[Получатель]'");
|
||||
Возврат "[" + ПараметрыТекстаПисьмаИФайлов.Получатель + "]";
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ЧасыВСекунды(Часы)
|
||||
Возврат Часы * 60 * 60;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция СекундыВЧасы(Секунды)
|
||||
Возврат Секунды / 60 / 60;
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Вызов сервера, Сервер
|
||||
|
||||
@@ -3777,7 +3751,7 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеНастройки <> ШаблонЗначенияПолучателяРассылки() Тогда
|
||||
Если ЗначениеНастройки <> ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -4280,7 +4254,8 @@
|
||||
ОтборЭлемента.ПравоеЗначение = "";
|
||||
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветТекстаЗапрещеннойЯчейки);
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", "[НаименованиеОтчета] [ФорматОтчета]");
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", "[" + ПараметрыТекстаПисьмаИФайлов.НаименованиеОтчета + "] ["
|
||||
+ ПараметрыТекстаПисьмаИФайлов.ФорматОтчета + "]");
|
||||
|
||||
//
|
||||
|
||||
@@ -4312,7 +4287,7 @@
|
||||
Для Каждого ЭлементОформления Из УсловноеОформление.Элементы Цикл
|
||||
|
||||
ЗначениеПараметра = ЭлементОформления.Оформление.НайтиЗначениеПараметра(ПараметрОформления);
|
||||
Если ЗначениеПараметра.Значение = ШаблонЗначенияПолучателяРассылки() Тогда
|
||||
Если ЗначениеПараметра.Значение = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов) Тогда
|
||||
|
||||
Элемент = ЭлементОформления;
|
||||
Прервать;
|
||||
@@ -4339,7 +4314,7 @@
|
||||
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
|
||||
ОтборЭлемента.ПравоеЗначение = НастройкиПерсонализации;
|
||||
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", ШаблонЗначенияПолучателяРассылки());
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов));
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -4375,9 +4350,9 @@
|
||||
|
||||
// Умолчания для полей, поддерживающих шаблоны заполнения.
|
||||
Шаблоны = Новый ФиксированнаяСтруктура("Тема, Текст, ИмяАрхива",
|
||||
РассылкаОтчетовКлиентСервер.ШаблонТемы(),
|
||||
РассылкаОтчетов.ШаблонТекста(),
|
||||
РассылкаОтчетовКлиентСервер.ШаблонИмениАрхива());
|
||||
РассылкаОтчетовКлиентСервер.ШаблонТемы(ПараметрыТекстаПисьмаИФайлов),
|
||||
РассылкаОтчетов.ШаблонТекста(ПараметрыТекстаПисьмаИФайлов),
|
||||
РассылкаОтчетовКлиентСервер.ШаблонИмениАрхива(ПараметрыТекстаПисьмаИФайлов));
|
||||
|
||||
// Структура кэша.
|
||||
Кэш = Новый Структура;
|
||||
@@ -4419,7 +4394,8 @@
|
||||
Задание = РегламентныеЗаданияСервер.Задание(ИдентификаторЗадания);
|
||||
Если Задание <> Неопределено Тогда
|
||||
Расписание = Задание.Расписание;
|
||||
Если Объект.ПериодичностьРасписания <> Перечисления.ПериодичностиРасписанийРассылокОтчетов.Произвольное Тогда
|
||||
Если Объект.ПериодичностьРасписания <> Перечисления.ПериодичностиРасписанийРассылокОтчетов.Произвольное
|
||||
И Не ЗначениеЗаполнено(Расписание.ПериодПовтораВТечениеДня) Тогда
|
||||
Расписание.ВремяКонца = '00010101';
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
@@ -4721,6 +4697,14 @@
|
||||
&НаСервере
|
||||
Процедура ДобавитьКомандыДобавленияДополнительныхПараметровТекста()
|
||||
РассылкаОтчетов.ДобавитьКомандыДобавленияДополнительныхПараметровТекста(ЭтотОбъект);
|
||||
ОбновитьСписокПараметровТекстаПисьмаИФайлов();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьСписокПараметровТекстаПисьмаИФайлов()
|
||||
ПараметрыТекстаПисьмаИФайлов = РассылкаОтчетовПовтИсп.ПараметрыТекстаПисьмаИФайлов();
|
||||
ТипПолучателейРассылки = ?(ВидРассылки = "Личная", Неопределено, ТипПолучателейРассылки);
|
||||
РассылкаОтчетовПереопределяемый.ПриОпределенииПараметровТекстаПисьма(ВидРассылки, ТипПолучателейРассылки, ПараметрыТекстаПисьмаИФайлов);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -4755,6 +4739,236 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПреобразоватьПараметрыТекста(ТекущийОбъект, ВариантКонвертации)
|
||||
|
||||
Если ВариантКонвертации = "ПараметрыВПредставление" Тогда
|
||||
ИмяПодстрокиПоиска = "Ключ";
|
||||
ИмяПодстрокиЗамены = "Значение";
|
||||
Иначе
|
||||
ИмяПодстрокиПоиска = "Значение";
|
||||
ИмяПодстрокиЗамены = "Ключ";
|
||||
КонецЕсли;
|
||||
|
||||
ТекстHTML = "";
|
||||
СтруктураВложенийПисьмаВФорматеHTML = "";
|
||||
ТекстПисьмаФорматированныйДокумент.ПолучитьHTML(ТекстHTML, СтруктураВложенийПисьмаВФорматеHTML);
|
||||
Для каждого ОписаниеПараметра Из ПараметрыТекстаПисьмаИФайлов Цикл
|
||||
|
||||
ПодстрокаПоиска = "[" + ОписаниеПараметра[ИмяПодстрокиПоиска];
|
||||
ПодстрокаЗамены = "[" + ОписаниеПараметра[ИмяПодстрокиЗамены];
|
||||
|
||||
ТекущийОбъект.ТемаПисьма = СтрЗаменить(ТекущийОбъект.ТемаПисьма, ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
ТекущийОбъект.ТекстПисьма = СтрЗаменить(ТекущийОбъект.ТекстПисьма, ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
ТекущийОбъект.ТекстПисьмаВФорматеHTML = СтрЗаменить(ТекущийОбъект.ТекстПисьмаВФорматеHTML, ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
ТекстHTML = СтрЗаменить(ТекстHTML, ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
|
||||
Элементы.ФорматыОтчетовШаблонНаименования.ПодсказкаВвода = СтрЗаменить(Элементы.ФорматыОтчетовШаблонНаименования.ПодсказкаВвода,
|
||||
ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
|
||||
Для Каждого СтрокаОтчет Из ТекущийОбъект.Отчеты Цикл
|
||||
СтрокаОтчет.ШаблонНаименования = СтрЗаменить(СтрокаОтчет.ШаблонНаименования, ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
КонецЦикла;
|
||||
|
||||
ТекущийОбъект.ИмяАрхива = СтрЗаменить(ТекущийОбъект.ИмяАрхива, ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ТекущийОбъект.ПисьмоВФорматеHTML Тогда
|
||||
ТекстПисьмаФорматированныйДокумент.УстановитьHTML(ТекстHTML, СтруктураВложенийПисьмаВФорматеHTML);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПреобразоватьПараметрыНастроекОтчетов(ТекущийОбъект, ВариантКонвертации)
|
||||
|
||||
Если Не Объект.Персонализирована Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ВариантКонвертации = "ПараметрыВПредставление" Тогда
|
||||
ПодстрокаПоиска = "[Получатель]";
|
||||
ПодстрокаЗамены = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов);
|
||||
Иначе
|
||||
ПодстрокаПоиска = ШаблонЗначенияПолучателяРассылки(ПараметрыТекстаПисьмаИФайлов);
|
||||
ПодстрокаЗамены = "[Получатель]";
|
||||
КонецЕсли;
|
||||
|
||||
ВнесеныИзменения = Ложь;
|
||||
Для каждого СтрокаОтчеты Из Объект.Отчеты Цикл
|
||||
Если ЭтоАдресВременногоХранилища(СтрокаОтчеты.АдресНастроек) Тогда
|
||||
ПользовательскиеНастройки = ПолучитьИзВременногоХранилища(СтрокаОтчеты.АдресНастроек);
|
||||
Иначе
|
||||
ИндексСтроки = Объект.Отчеты.Индекс(СтрокаОтчеты);
|
||||
ОбъектСтрокаОтчеты = РеквизитФормыВЗначение("Объект").Отчеты.Получить(ИндексСтроки);
|
||||
ПользовательскиеНастройки = ?(ОбъектСтрокаОтчеты = Неопределено, Неопределено, ОбъектСтрокаОтчеты.Настройки.Получить());
|
||||
КонецЕсли;
|
||||
|
||||
Если ПользовательскиеНастройки = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ПользовательскиеНастройки) = Тип("ТаблицаЗначений") Тогда
|
||||
Для каждого ПользовательскаяНастройка Из ПользовательскиеНастройки Цикл
|
||||
Если СтрСравнить(ПользовательскаяНастройка.Значение, ПодстрокаПоиска) = 0 Тогда
|
||||
ПользовательскаяНастройка.Значение = СтрЗаменить(ПользовательскаяНастройка.Значение, ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
ВнесеныИзменения = Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Для каждого ПользовательскаяНастройка Из ПользовательскиеНастройки.Элементы Цикл
|
||||
Если ТипЗнч(ПользовательскаяНастройка) = Тип("ЭлементОтбораКомпоновкиДанных")
|
||||
И СтрСравнить(ПользовательскаяНастройка.ПравоеЗначение, ПодстрокаПоиска) = 0 Тогда
|
||||
ПользовательскаяНастройка.ПравоеЗначение = СтрЗаменить(ПользовательскаяНастройка.ПравоеЗначение, ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
ВнесеныИзменения = Истина;
|
||||
ИначеЕсли ТипЗнч(ПользовательскаяНастройка) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных")
|
||||
И СтрСравнить(ПользовательскаяНастройка.Значение, ПодстрокаПоиска) = 0 Тогда
|
||||
ПользовательскаяНастройка.Значение = СтрЗаменить(ПользовательскаяНастройка.Значение, ПодстрокаПоиска, ПодстрокаЗамены);
|
||||
ВнесеныИзменения = Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
ОбъектСтрокаОтчеты = ТекущийОбъект.Отчеты.Получить(СтрокаОтчеты.НомерСтроки-1);
|
||||
|
||||
Если ТипЗнч(ОбъектСтрокаОтчеты) = Тип("СправочникТабличнаяЧастьСтрока.РассылкиОтчетов.Отчеты") И ВнесеныИзменения Тогда
|
||||
ОбъектСтрокаОтчеты.Настройки = Новый ХранилищеЗначения(ПользовательскиеНастройки, Новый СжатиеДанных(9));
|
||||
ИначеЕсли ВнесеныИзменения Тогда
|
||||
Адрес = ?(ЭтоАдресВременногоХранилища(СтрокаОтчеты.АдресНастроек), СтрокаОтчеты.АдресНастроек, УникальныйИдентификатор);
|
||||
СтрокаОтчеты.АдресНастроек = ПоместитьВоВременноеХранилище(ПользовательскиеНастройки, Адрес);
|
||||
КонецЕсли;
|
||||
ВнесеныИзменения = Ложь;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПараметрыФормыПредпросмотраШаблона()
|
||||
|
||||
ПреобразоватьПараметрыТекста(Объект, "ПредставлениеВПараметры");
|
||||
|
||||
КартинкиДляHTML = Новый Структура;
|
||||
|
||||
Шаблон = Объект.ТекстПисьма;
|
||||
Если Объект.ПисьмоВФорматеHTML Тогда
|
||||
ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.HTML");
|
||||
ТекстПисьмаФорматированныйДокумент.ПолучитьHTML(Шаблон, КартинкиДляHTML);
|
||||
Шаблон = Объект.ТемаПисьма + "<br>" + "<br>" + Шаблон;
|
||||
Иначе
|
||||
ТипТекста = ПредопределенноеЗначение("Перечисление.ТипыТекстовЭлектронныхПисем.ПростойТекст");
|
||||
Шаблон = Объект.ТемаПисьма + Символы.ПС + Символы.ПС + Шаблон;
|
||||
КонецЕсли;
|
||||
|
||||
СформированныеОтчеты = "";
|
||||
Для Каждого СтрокаОтчет Из Объект.Отчеты Цикл
|
||||
ПредставлениеОтчета = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1. %2",
|
||||
СтрокаОтчет.НомерСтроки, СтрокаОтчет.Представление);
|
||||
СформированныеОтчеты = СформированныеОтчеты + Символы.ПС + ПредставлениеОтчета;
|
||||
КонецЦикла;
|
||||
СформированныеОтчеты = СокрЛП(СформированныеОтчеты);
|
||||
Если Объект.Архивировать Тогда
|
||||
СформированныеОтчеты = СформированныеОтчеты + Символы.ПС + Символы.ПС + НСтр(
|
||||
"ru = 'Файлы отчетов запакованы в архив'") + " ";
|
||||
|
||||
СтруктураИмениАрхива = Новый Структура("НаименованиеРассылки, ДатаВыполнения", Объект.Наименование,
|
||||
ТекущаяДатаСеанса());
|
||||
ИмяАрхива = РассылкаОтчетовКлиентСервер.ЗаполнитьШаблон(Объект.ИмяАрхива, СтруктураИмениАрхива);
|
||||
ИмяАрхива = ИмяАрхива + ".zip";
|
||||
|
||||
СформированныеОтчеты = СокрЛП(
|
||||
СформированныеОтчеты + """" + ИмяАрхива + """");
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыДоставки = РассылкаОтчетовКлиентСервер.ПараметрыДоставки();
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыДоставки, Объект);
|
||||
ПараметрыДоставки.ВыполненаВПапку = Объект.ИспользоватьПапку;
|
||||
ПараметрыДоставки.ВыполненаВСетевойКаталог = Объект.ИспользоватьСетевойКаталог;
|
||||
ПараметрыДоставки.ВыполненаНаFTP = Объект.ИспользоватьFTPРесурс;
|
||||
СпособДоставки = РассылкаОтчетовКлиентСервер.ПредставлениеСпособовДоставки(ПараметрыДоставки);
|
||||
|
||||
ПараметрыШаблона = Новый Структура;
|
||||
ПараметрыШаблона.Вставить("НаименованиеРассылки", Объект.Наименование);
|
||||
ПараметрыШаблона.Вставить("Автор", Объект.Автор);
|
||||
ПараметрыШаблона.Вставить("ЗаголовокСистемы", Кэш.ЗаголовокСистемы);
|
||||
ПараметрыШаблона.Вставить("ДатаВыполнения", ТекущаяДатаСеанса());
|
||||
ПараметрыШаблона.Вставить("СформированныеОтчеты", СформированныеОтчеты);
|
||||
ПараметрыШаблона.Вставить("СпособДоставки", СпособДоставки);
|
||||
|
||||
Если ВидРассылки = "Персонализирована" Тогда
|
||||
ПервыйПолучатель = ПолучитьПервогоПолучателя();
|
||||
ПараметрыШаблона.Вставить("Получатель", ПервыйПолучатель.Наименование);
|
||||
ПервыйПолучательСсылка = ПервыйПолучатель.Ссылка;
|
||||
Иначе
|
||||
ПервыйПолучательСсылка = Неопределено;
|
||||
КонецЕсли;
|
||||
ДобавитьДополнительныеПараметрыШаблона(ПараметрыШаблона, ПервыйПолучательСсылка);
|
||||
|
||||
// Схематичное отображение отчетов в тексте письма
|
||||
Если Объект.ВставлятьОтчетыВТекстПисьма Тогда
|
||||
ОтчетыВТекстеПисьма = "";
|
||||
Для Каждого СтрокаОтчет Из Объект.Отчеты Цикл
|
||||
ОтчетыВТекстеПисьма = ОтчетыВТекстеПисьма + Символы.ПС
|
||||
+ "------------------------------------------" + Символы.ПС
|
||||
+ СтрокаОтчет.Представление;
|
||||
КонецЦикла;
|
||||
Если Объект.ПисьмоВФорматеHTML Тогда
|
||||
ОтчетыВТекстеПисьма = СтрЗаменить(ОтчетыВТекстеПисьма, Символы.ПС, Символы.ПС + "<br>");
|
||||
КонецЕсли;
|
||||
Шаблон = Шаблон + Символы.ПС + Символы.ПС + ОтчетыВТекстеПисьма;
|
||||
КонецЕсли;
|
||||
|
||||
// Вывод списка вложений
|
||||
Если Объект.ПрикреплятьОтчетыВоВложения Тогда
|
||||
ПлановыйСписокОтчетов = ПлановыйСписокОтчетовВоВложениях();
|
||||
Если ПлановыйСписокОтчетов.Количество() > 0 Тогда
|
||||
СписокОтчетов = СтрСоединить(ПлановыйСписокОтчетов, Символы.ПС);
|
||||
|
||||
ТекстВложения = Символы.ПС + Символы.ПС + НСтр("ru = 'Вложения письма:'");
|
||||
Если Объект.Архивировать Тогда
|
||||
СтруктураИмениАрхива = Новый Структура("НаименованиеРассылки, ДатаВыполнения", Объект.Наименование, ТекущаяДатаСеанса());
|
||||
ИмяАрхива = РассылкаОтчетовКлиентСервер.ЗаполнитьШаблон(Объект.ИмяАрхива, СтруктураИмениАрхива);
|
||||
ИмяАрхива = ИмяАрхива + ".zip";
|
||||
ТекстВложения = ТекстВложения + Символы.ПС + Символы.ПС + ИмяАрхива;
|
||||
Иначе
|
||||
ТекстВложения = ТекстВложения + Символы.ПС;
|
||||
КонецЕсли;
|
||||
НомерФайла = 1;
|
||||
Для Каждого ПолноеИмяФайла Из ПлановыйСписокОтчетов Цикл
|
||||
ИмяФайлаСПорядком = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1. %2",
|
||||
НомерФайла, ПолноеИмяФайла);
|
||||
Если Объект.ПисьмоВФорматеHTML Тогда
|
||||
ТекстВложения = ТекстВложения + "<p style=""margin-left: 50px;"">" + ИмяФайлаСПорядком + "</p>";
|
||||
Иначе
|
||||
ТекстВложения = ТекстВложения + Символы.ПС + Символы.Таб + ИмяФайлаСПорядком;
|
||||
КонецЕсли;
|
||||
НомерФайла = НомерФайла + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Если Объект.ПисьмоВФорматеHTML Тогда
|
||||
ТекстВложения = СтрЗаменить(ТекстВложения, Символы.ПС, Символы.ПС + "<br>");
|
||||
КонецЕсли;
|
||||
Шаблон = Шаблон + Символы.ПС + ТекстВложения;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Текст = РассылкаОтчетовКлиентСервер.ЗаполнитьШаблон(Шаблон, ПараметрыШаблона);
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("НаименованиеРассылки", Объект.Наименование);
|
||||
ПараметрыФормы.Вставить("ТипТекста", ТипТекста);
|
||||
ПараметрыФормы.Вставить("Текст", Текст);
|
||||
Если КартинкиДляHTML.Количество() > 0 Тогда
|
||||
ПараметрыФормы.Вставить("АдресКартинокДляHTML", ПоместитьКартинкиВоВременноеХранилище(КартинкиДляHTML));
|
||||
КонецЕсли;
|
||||
|
||||
ПреобразоватьПараметрыТекста(Объект, "ПараметрыВПредставление");
|
||||
|
||||
Возврат ПараметрыФормы;
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Запись объекта
|
||||
|
||||
|
||||
+1
-1
@@ -852,7 +852,7 @@
|
||||
Контекст.ОшибкаНаСервере.Вставить("ОписаниеОшибки", ДополнительныеПараметры.РезультатПроверкиСертификата.ОписаниеОшибкиНаСервере);
|
||||
КонецЕсли;
|
||||
|
||||
ОбработатьОшибку(Контекст.Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере,,,Результат.Значение = "ПоказатьОшибку");
|
||||
ОбработатьОшибку(Контекст.Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере,,, Результат <> Неопределено И Результат.Значение = "ПоказатьОшибку");
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -92,7 +92,14 @@
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ТекСостояние = СостояниеПорядок.Добавить();
|
||||
ТекСостояние.Ссылка = Выборка.Ссылка;
|
||||
ТекСостояние.Порядок = Выборка.Ссылка.РеквизитДопУпорядочивания;
|
||||
КонецЦикла;
|
||||
|
||||
Ссылки = СостояниеПорядок.ВыгрузитьКолонку("Ссылка");
|
||||
РеквизитыПорядок = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Ссылки, "РеквизитДопУпорядочивания");
|
||||
|
||||
Для Каждого Состояние Из СостояниеПорядок Цикл
|
||||
ТекПорядок = РеквизитыПорядок.Получить(Состояние.Ссылка);
|
||||
Состояние.Порядок = ТекПорядок;
|
||||
КонецЦикла;
|
||||
|
||||
СостояниеПорядок.Сортировать("Порядок");
|
||||
|
||||
@@ -953,9 +953,8 @@
|
||||
&НаКлиенте
|
||||
Процедура ПечатьСоШтампом(Команда)
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.Ссылка)
|
||||
Или Записать() Тогда
|
||||
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ТабличныйДокументСоШтампом(Объект.Ссылка, Объект.Ссылка);
|
||||
Если ЗначениеЗаполнено(Объект.Ссылка) Или Записать() Тогда
|
||||
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ТабличныйДокументСоШтампом(Объект.Ссылка);
|
||||
РаботаСФайламиСлужебныйКлиент.ПечатьФайлаСоШтампом(ДокументСоШтампом);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -359,6 +359,8 @@
|
||||
ЗаполнитьПроизвольныеПараметрыИзОбъекта(ТекущийОбъект);
|
||||
ОтображениеЭлементовФормы();
|
||||
|
||||
УстановитьТекстШаблона(ТекущийОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
|
||||
+2
-5
@@ -5416,7 +5416,8 @@
|
||||
КОНЕЦ
|
||||
И Наборы.Используется
|
||||
И ЕСТЬNULL(Наборы.Родитель.Используется, ИСТИНА)
|
||||
И НЕ Наборы.Ссылка В (&ИсключаемыеНаборы)</queryText>
|
||||
И НЕ Наборы.Ссылка В (&ИсключаемыеНаборы)
|
||||
И НЕ Наборы.ПометкаУдаления</queryText>
|
||||
<mainTable>Catalog.НаборыДополнительныхРеквизитовИСведений</mainTable>
|
||||
<autoFillAvailableFields>true</autoFillAvailableFields>
|
||||
<customQuery>true</customQuery>
|
||||
@@ -5498,10 +5499,6 @@
|
||||
<dataPath>ДополнительныеСведения</dataPath>
|
||||
<field>ДополнительныеСведения</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>Метки</dataPath>
|
||||
<field>Метки</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>Представления</dataPath>
|
||||
<field>Представления</field>
|
||||
|
||||
@@ -36,14 +36,16 @@
|
||||
Если ЗаданыТипыОсновногоОбъектаАдресации И ОсновнойОбъектАдресации = Неопределено Тогда
|
||||
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Поле ""%1"" не заполнено.'"), Роль.ТипыОсновногоОбъектаАдресации.Наименование ),,,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Поле ""%1"" не заполнено.'"),
|
||||
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Роль, "ТипыОсновногоОбъектаАдресации")),,,
|
||||
"ОсновнойОбъектАдресации", Отказ);
|
||||
|
||||
ИначеЕсли ЗаданыТипыДополнительногоОбъектаАдресации И ДополнительныйОбъектАдресации = Неопределено Тогда
|
||||
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Поле ""%1"" не заполнено.'"), Роль.ТипыДополнительногоОбъектаАдресации.Наименование ),,,
|
||||
"ДополнительныйОбъектАдресации", Отказ);
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Поле ""%1"" не заполнено.'"),
|
||||
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Роль, "ТипыДополнительногоОбъектаАдресации")),,,
|
||||
"ДополнительныйОбъектАдресации", Отказ);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -88,10 +90,21 @@
|
||||
&НаСервере
|
||||
Процедура УстановитьТипыОбъектовАдресации()
|
||||
|
||||
ТипыОсновногоОбъектаАдресации = Роль.ТипыОсновногоОбъектаАдресации.ТипЗначения;
|
||||
ТипыДополнительногоОбъектаАдресации = Роль.ТипыДополнительногоОбъектаАдресации.ТипЗначения;
|
||||
ИспользуетсяСОбъектамиАдресации = Роль.ИспользуетсяСОбъектамиАдресации;
|
||||
ИспользуетсяБезОбъектовАдресации = Роль.ИспользуетсяБезОбъектовАдресации;
|
||||
ТипыОсновногоОбъектаАдресации = Неопределено;
|
||||
ТипыДополнительногоОбъектаАдресации = Неопределено;
|
||||
ИспользуетсяСОбъектамиАдресации = Ложь;
|
||||
ИспользуетсяБезОбъектовАдресации = Ложь;
|
||||
|
||||
Если Не Роль.Пустая() Тогда
|
||||
СведенияОРоли = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Роль,
|
||||
"ИспользуетсяСОбъектамиАдресации,ИспользуетсяБезОбъектовАдресации,ТипыОсновногоОбъектаАдресации,ТипыДополнительногоОбъектаАдресации");
|
||||
ИспользуетсяСОбъектамиАдресации = СведенияОРоли.ИспользуетсяСОбъектамиАдресации;
|
||||
ИспользуетсяБезОбъектовАдресации = СведенияОРоли.ИспользуетсяБезОбъектовАдресации;
|
||||
Если ИспользуетсяСОбъектамиАдресации Тогда
|
||||
ТипыОсновногоОбъектаАдресации = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СведенияОРоли.ТипыОсновногоОбъектаАдресации, "ТипЗначения");
|
||||
ТипыДополнительногоОбъектаАдресации = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СведенияОРоли.ТипыДополнительногоОбъектаАдресации, "ТипЗначения");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -103,20 +116,21 @@
|
||||
ЗаданыТипыДополнительногоОбъектаАдресации = ИспользуетсяСОбъектамиАдресации
|
||||
И ЗначениеЗаполнено(ТипыДополнительногоОбъектаАдресации);
|
||||
|
||||
Элементы.ОсновнойОбъектАдресации.Заголовок = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
|
||||
Роль.ТипыОсновногоОбъектаАдресации, "Наименование",, ТекущийЯзык().КодЯзыка);
|
||||
СведенияОРоли = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Роль,
|
||||
"ТипыОсновногоОбъектаАдресации,ТипыДополнительногоОбъектаАдресации");
|
||||
|
||||
Элементы.ОсновнойОбъектАдресации.Заголовок = Строка(СведенияОРоли.ТипыОсновногоОбъектаАдресации);
|
||||
Элементы.ОсновнойОбъектАдресации.Доступность = ЗаданыТипыОсновногоОбъектаАдресации;
|
||||
Элементы.ОсновнойОбъектАдресации.АвтоОтметкаНезаполненного = ЗаданыТипыОсновногоОбъектаАдресации
|
||||
И НЕ ИспользуетсяБезОбъектовАдресации;
|
||||
Элементы.ОсновнойОбъектАдресации.ОграничениеТипа = ТипыОсновногоОбъектаАдресации;
|
||||
|
||||
Элементы.ДополнительныйОбъектАдресации.Заголовок = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
|
||||
Роль.ТипыДополнительногоОбъектаАдресации, "Наименование",, ТекущийЯзык().КодЯзыка);
|
||||
Элементы.ДополнительныйОбъектАдресации.Заголовок = Строка(СведенияОРоли.ТипыДополнительногоОбъектаАдресации);
|
||||
Элементы.ДополнительныйОбъектАдресации.Доступность = ЗаданыТипыДополнительногоОбъектаАдресации;
|
||||
Элементы.ДополнительныйОбъектАдресации.АвтоОтметкаНезаполненного = ЗаданыТипыДополнительногоОбъектаАдресации
|
||||
И НЕ ИспользуетсяБезОбъектовАдресации;
|
||||
Элементы.ДополнительныйОбъектАдресации.ОграничениеТипа = ТипыДополнительногоОбъектаАдресации;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
|
||||
@@ -192,20 +192,13 @@
|
||||
Процедура ПолучитьАдминистратораИБ(ПользовательИБ = Неопределено)
|
||||
|
||||
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
|
||||
Если ЗначениеЗаполнено(АдминистраторИБ) Тогда
|
||||
|
||||
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
|
||||
АдминистраторИБ.ИдентификаторПользователяИБ);
|
||||
|
||||
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(АдминистраторИБ, "ИдентификаторПользователяИБ"));
|
||||
Иначе
|
||||
|
||||
ПользовательИБ = Неопределено;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИмяАдминистратораИнформационнойБазы = ?(ПользовательИБ = Неопределено, "", ПользовательИБ.Имя);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -6113,7 +6113,7 @@
|
||||
<id>4</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Показать скрыть оригинал</value>
|
||||
<value>Показать/скрыть поставляемый макет</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -6278,7 +6278,7 @@
|
||||
<name>УдалитьЯзыкМакета</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Удалить язык макета</value>
|
||||
<value>Удалить все изменения макета</value>
|
||||
</title>
|
||||
<id>35</id>
|
||||
<use>
|
||||
|
||||
@@ -69,6 +69,8 @@
|
||||
Элементы.Переименовать.Видимость = ЗначениеЗаполнено(Параметры.Ссылка)
|
||||
Или ПустаяСтрока(ИдентификаторМакета) И ПустаяСтрока(Параметры.ПутьКФайлу);
|
||||
|
||||
Элементы.УдалитьЯзыкМакета.Видимость = Не ЗначениеЗаполнено(Параметры.Ссылка) И ПустаяСтрока(Параметры.ПутьКФайлу);
|
||||
|
||||
Если Параметры.ТабличныйДокумент = Неопределено Тогда
|
||||
Если Не ПустаяСтрока(ИдентификаторМакета) Тогда
|
||||
РедактированиеЗапрещено = Не Параметры.Редактирование;
|
||||
@@ -113,8 +115,6 @@
|
||||
Элементы.Язык.Доступность = (ЭтоПечатнаяФорма Или ДоступенПереводМакета) И ЗначениеЗаполнено(ИдентификаторМакета);
|
||||
|
||||
Элементы.Перевести.Видимость = ДоступенАвтоматическийПеревод;
|
||||
Элементы.КнопкаПоказатьСкрытьОригинал.Видимость = Элементы.Перевести.Видимость;
|
||||
Элементы.КнопкаПоказатьСкрытьОригинал.Доступность = ТекущийЯзык <> ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
|
||||
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "КоманднаяПанель", "Видимость", Ложь);
|
||||
@@ -191,7 +191,6 @@
|
||||
|
||||
Элементы.ВерхнийКолонтитул.Видимость = Ложь;
|
||||
Элементы.НижнийКолонтитул.Видимость = Ложь;
|
||||
Элементы.УдалитьЯзыкМакета.Видимость = Ложь;
|
||||
|
||||
Элементы.ГруппаНазначениеМакета.Видимость = ЭтоПечатнаяФорма;
|
||||
Элементы.ГруппаНазначениеМакета.Доступность = Параметры.ДоступноНазначение;
|
||||
@@ -581,7 +580,6 @@
|
||||
|
||||
ДоступенАвтоматическийПеревод = МодульУправлениеПечатьюМультиязычность.ДоступенАвтоматическийПеревод(ТекущийЯзык);
|
||||
Элементы.Перевести.Видимость = ДоступенАвтоматическийПеревод;
|
||||
Элементы.КнопкаПоказатьСкрытьОригинал.Видимость = Элементы.Перевести.Видимость;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -967,7 +965,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ЗаполнитьТабличныйДокумент(ТабличныйДокумент, ЗагруженныйТабличныйДокумент)
|
||||
Процедура ЗаполнитьТабличныйДокумент(ТабличныйДокумент, Знач ЗагруженныйТабличныйДокумент)
|
||||
Для НомерСтроки = 1 По ЗагруженныйТабличныйДокумент.ВысотаТаблицы Цикл
|
||||
Для НомерКолонки = 1 По ЗагруженныйТабличныйДокумент.ШиринаТаблицы Цикл
|
||||
ИсходнаяЯчейка = ЗагруженныйТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
|
||||
@@ -1052,12 +1050,20 @@
|
||||
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
|
||||
МодульУправлениеПечатьюКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеПечатьюКлиент");
|
||||
МодульУправлениеПечатьюКлиент.ПереключитьЯзык(ЭтотОбъект, Команда);
|
||||
Элементы.УдалитьЯзыкМакета.Видимость = ТекущийЯзык <> ОбщегоНазначенияКлиент.КодОсновногоЯзыка();
|
||||
Элементы.КнопкаПоказатьСкрытьОригинал.Доступность = ТекущийЯзык <> ОбщегоНазначенияКлиент.КодОсновногоЯзыка()
|
||||
И ПоставляемыйМакет.ВысотаТаблицы > 0;
|
||||
|
||||
Элементы.УдалитьЯзыкМакета.Видимость = Не ЗначениеЗаполнено(Параметры.Ссылка)
|
||||
Или ТекущийЯзык <> ОбщегоНазначенияКлиент.КодОсновногоЯзыка();
|
||||
|
||||
Элементы.КнопкаПоказатьСкрытьОригинал.Доступность = ПоставляемыйМакет.ВысотаТаблицы > 0;
|
||||
Если ЭтоПечатнаяФорма Тогда
|
||||
ЗаполнитьТабличныйДокумент(ТабличныйДокумент, ПрочитатьМакет());
|
||||
КонецЕсли;
|
||||
|
||||
Если ТекущийЯзык = ОбщегоНазначенияКлиент.КодОсновногоЯзыка() Тогда
|
||||
Элементы.УдалитьЯзыкМакета.Заголовок = НСтр("ru = 'Удалить все изменения макета'");
|
||||
Иначе
|
||||
Элементы.УдалитьЯзыкМакета.Заголовок = НСтр("ru = 'Удалить макет на текущем языке'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -1065,17 +1071,14 @@
|
||||
&НаКлиенте
|
||||
Процедура УдалитьЯзыкМакета(Команда)
|
||||
|
||||
Если ТекущийЯзык = ОбщегоНазначенияКлиент.КодОсновногоЯзыка() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УдалитьМакетНаТекущемЯзыке();
|
||||
|
||||
ЗаписьВыполнена = Истина;
|
||||
ОповеститьОЗаписиТабличногоДокумента();
|
||||
|
||||
Элементы.УдалитьЯзыкМакета.Видимость = ТекущийЯзык <> ОбщегоНазначенияКлиент.КодОсновногоЯзыка();
|
||||
Элементы.КнопкаПоказатьСкрытьОригинал.Доступность = Ложь;
|
||||
Элементы.УдалитьЯзыкМакета.Видимость = Не ЗначениеЗаполнено(Параметры.Ссылка)
|
||||
Или ТекущийЯзык <> ОбщегоНазначенияКлиент.КодОсновногоЯзыка();
|
||||
|
||||
УстановитьЗаголовок();
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1152,8 +1155,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УправляемыйЭлемент.ТекущаяОбласть = ЭтотОбъект[ТекущийЭлемент.Имя].Область(
|
||||
Область.Верх, Область.Лево, Область.Низ, Область.Право);
|
||||
Если ТипЗнч(Область) = Тип("ОбластьЯчеекТабличногоДокумента") Тогда
|
||||
УправляемыйЭлемент.ТекущаяОбласть = ЭтотОбъект[ТекущийЭлемент.Имя].Область(
|
||||
Область.Верх, Область.Лево, Область.Низ, Область.Право);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2423,7 +2428,8 @@
|
||||
Для Каждого Область Из Результат.Области Цикл
|
||||
Если ТипЗнч(Область) = Тип("ОбластьЯчеекТабличногоДокумента")
|
||||
И Область.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Строки
|
||||
Или ТипЗнч(Область) = Тип("РисунокТабличногоДокумента") Тогда
|
||||
Или ТипЗнч(Область) = Тип("РисунокТабличногоДокумента")
|
||||
И Область.ТипРисунка <> ТипРисункаТабличногоДокумента.Группа Тогда
|
||||
КопируемаяОбласть = ТабличныйДокумент.Области.Найти(Область.Имя);
|
||||
Если КопируемаяОбласть = Неопределено Тогда
|
||||
Продолжить;
|
||||
@@ -2818,6 +2824,17 @@
|
||||
МодульУправлениеПечатью.УдалитьМакет(ИдентификаторМакета, ТекущийЯзык);
|
||||
КонецЕсли;
|
||||
|
||||
ЗагрузитьТабличныйДокументИзМетаданных(ТекущийЯзык);
|
||||
Если ЭтоПечатнаяФорма Тогда
|
||||
ЗаполнитьТабличныйДокумент(ТабличныйДокумент, ПрочитатьМакет());
|
||||
КонецЕсли;
|
||||
|
||||
Модифицированность = Ложь;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ТекущийЯзык) Или ТекущийЯзык = ОбщегоНазначения.КодОсновногоЯзыка() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
МенюЯзык = Элементы.Язык;
|
||||
ДобавляемыеЯзыки = Элементы.ДобавляемыеЯзыки;
|
||||
ЯзыкУдаляемойФормы = ТекущийЯзык;
|
||||
@@ -2841,13 +2858,6 @@
|
||||
|
||||
Элементы.Язык.Заголовок = Элементы["Язык_"+ТекущийЯзык].Заголовок;
|
||||
|
||||
ЗагрузитьТабличныйДокументИзМетаданных(ТекущийЯзык);
|
||||
Если ЭтоПечатнаяФорма Тогда
|
||||
ЗаполнитьТабличныйДокумент(ТабличныйДокумент, ПрочитатьМакет());
|
||||
КонецЕсли;
|
||||
|
||||
Модифицированность = Ложь;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -3102,4 +3112,3 @@
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -4237,6 +4237,10 @@
|
||||
<items xsi:type="form:Button">
|
||||
<name>ВыбранныеПоля_Сортировка_Вправо</name>
|
||||
<id>907</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Добавить сортировку по выбранному полю</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -4264,6 +4268,10 @@
|
||||
<items xsi:type="form:Button">
|
||||
<name>ВыбранныеПоля_Сортировка_Влево</name>
|
||||
<id>909</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Удалить выбранные сортировки</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -4291,6 +4299,10 @@
|
||||
<items xsi:type="form:Button">
|
||||
<name>ВыбранныеПоля_Сортировка_ВлевоВсе</name>
|
||||
<id>911</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Удалить все сортировки</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
|
||||
@@ -75,7 +75,6 @@
|
||||
<multiLine>true</multiLine>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<backColor xsi:type="core:ColorRef">
|
||||
<color>Style.ЦветФонаВнимание</color>
|
||||
</backColor>
|
||||
@@ -447,6 +446,54 @@
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ТехническаяИнформация</name>
|
||||
<id>41</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>АлгоритмПодписиПредупреждение</name>
|
||||
<id>75</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>АлгоритмПодписи</segments>
|
||||
</dataPath>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Алгоритм, которым с помощью закрытой части ключа подписана криптостойкая хеш-сумма данных, вычисленная с помощью алгоритма хеширования.</value>
|
||||
</toolTip>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<extendedTooltip>
|
||||
<name>АлгоритмПодписиПредупреждениеРасширеннаяПодсказка</name>
|
||||
<id>77</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>АлгоритмПодписиПредупреждениеКонтекстноеМеню</name>
|
||||
<id>76</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<maxHeight>2</maxHeight>
|
||||
<wrap>true</wrap>
|
||||
<multiLine>true</multiLine>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<backColor xsi:type="core:ColorRef">
|
||||
<color>Style.ЦветФонаВнимание</color>
|
||||
</backColor>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>АлгоритмПодписи</name>
|
||||
<id>43</id>
|
||||
@@ -489,7 +536,6 @@
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
@@ -535,7 +581,6 @@
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
|
||||
@@ -50,8 +50,18 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
АлгоритмПодписиНеСоответствуетГОСТ = "";
|
||||
АлгоритмПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмСформированнойПодписи(
|
||||
АдресПодписи, Истина);
|
||||
АдресПодписи, Истина, Ложь, АлгоритмПодписиНеСоответствуетГОСТ);
|
||||
|
||||
Если ЗначениеЗаполнено(АлгоритмПодписиНеСоответствуетГОСТ) Тогда
|
||||
АлгоритмПодписи = АлгоритмПодписиНеСоответствуетГОСТ;
|
||||
Элементы.АлгоритмПодписи.Видимость = Ложь;
|
||||
Элементы.АлгоритмПодписиПредупреждение.Видимость = Истина;
|
||||
Иначе
|
||||
Элементы.АлгоритмПодписи.Видимость = Истина;
|
||||
Элементы.АлгоритмПодписиПредупреждение.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
АлгоритмХеширования = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмХеширования(
|
||||
АдресПодписи, Истина);
|
||||
|
||||
@@ -280,10 +280,9 @@
|
||||
|
||||
Если ЗначениеЗаполнено(ИдентификаторАдреса) Тогда
|
||||
|
||||
СведенияОбАдресномОбъекта = СведенияОбАдресномОбъекта();
|
||||
СведенияОбАдресномОбъекта.Идентификатор = ИдентификаторАдреса;
|
||||
СведенияОбАдресномОбъекта.Адрес = Адрес;
|
||||
СведенияОбАдресномОбъекта.Муниципальный = ЭтоМуниципальныйАдрес(Адрес.addressType);
|
||||
СведенияОбАдресномОбъекта = СведенияОбАдресномОбъекта(ИдентификаторАдреса);
|
||||
СведенияОбАдресномОбъекта.Адрес = Адрес;
|
||||
СведенияОбАдресномОбъекта.Муниципальный = ЭтоМуниципальныйАдрес(Адрес.addressType);
|
||||
СведенияОбАдресномОбъекта.ЗагруженныеДанные = ЗагруженныеДанные;
|
||||
|
||||
Результат = АктуальныеАдресныеСведения(СведенияОбАдресномОбъекта);
|
||||
@@ -922,7 +921,7 @@
|
||||
СведенияОбАдресномОбъекте.Вставить("Муниципальный", Истина);
|
||||
ЭтоМуниципальныйАдрес = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Если ЗагруженныеДанные = Истина Тогда
|
||||
ЗаполнитьАдресныеСведенияИзЗагруженныхДанных(Результат.Данные, СведенияОбАдресномОбъекте);
|
||||
КонецЕсли;
|
||||
@@ -1993,6 +1992,30 @@
|
||||
Возврат ПравоДоступа("Изменение", Метаданные.РегистрыСведений.АдресныеОбъекты);
|
||||
КонецФункции
|
||||
|
||||
// Сведения об адресном объекта.
|
||||
//
|
||||
// Параметры:
|
||||
// ИдентификаторАдреса - УникальныйИдентификатор - идентификатор адреса ГАР
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - сведения об адресном объекта:
|
||||
// * Идентификатор - УникальныйИдентификатор
|
||||
// * ЗагруженныеДанные - Булево
|
||||
// * Муниципальный - Булево
|
||||
// * Адрес - Структура
|
||||
//
|
||||
Функция СведенияОбАдресномОбъекта(ИдентификаторАдреса) Экспорт
|
||||
|
||||
СведенияОбАдресе = Новый Структура;
|
||||
СведенияОбАдресе.Вставить("Идентификатор", ИдентификаторАдреса);
|
||||
СведенияОбАдресе.Вставить("ЗагруженныеДанные", Ложь);
|
||||
СведенияОбАдресе.Вставить("Муниципальный", Ложь);
|
||||
СведенияОбАдресе.Вставить("Адрес", Новый Структура);
|
||||
|
||||
Возврат СведенияОбАдресе;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область АдресныйКлассификаторВМоделиСервиса
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -2531,10 +2554,9 @@
|
||||
|
||||
Муниципальный = ?(СтрокаАдреса.КлючАдреса = 0, Истина, Ложь);
|
||||
|
||||
Сведения = Новый Структура;
|
||||
Сведения.Вставить("ЗагруженныеДанные", Истина);
|
||||
Сведения.Вставить("Идентификатор", СтрокаАдреса.Идентификатор);
|
||||
Сведения.Вставить("Муниципальный", Муниципальный);
|
||||
Сведения = СведенияОбАдресномОбъекта(СтрокаАдреса.Идентификатор);
|
||||
Сведения.ЗагруженныеДанные = Истина;
|
||||
Сведения.Муниципальный = Муниципальный;
|
||||
|
||||
АдресДанные = АктуальныеАдресныеСведения(Сведения);
|
||||
|
||||
@@ -2963,13 +2985,9 @@
|
||||
|
||||
Выборка = РезультатЗапроса.Выгрузить();
|
||||
|
||||
Если СведенияОбАдресномОбъекте.Свойство("Муниципальный") Тогда
|
||||
Результат.addressType = ?(СведенияОбАдресномОбъекте.Муниципальный, МуниципальныйАдрес(),
|
||||
АдминистративноТерриториальныйАдрес());
|
||||
Иначе
|
||||
Результат.addressType = МуниципальныйАдрес();
|
||||
КонецЕсли;
|
||||
|
||||
Результат.addressType = ?(СведенияОбАдресномОбъекте.Муниципальный, МуниципальныйАдрес(),
|
||||
АдминистративноТерриториальныйАдрес());
|
||||
|
||||
СловарьИменПолей = СловарьКлючейПолейАдресВСоответствииСУровнем();
|
||||
|
||||
АдминистративныйАдрес = Неопределено;
|
||||
@@ -2977,7 +2995,7 @@
|
||||
|
||||
ПоляТекущегоАдреса = Новый Структура;
|
||||
|
||||
Если СведенияОбАдресномОбъекте.Свойство("Адрес") Тогда
|
||||
Если ЗначениеЗаполнено(СведенияОбАдресномОбъекте.Адрес) Тогда
|
||||
|
||||
ТекущийАдреса = СведенияОбАдресномОбъекте.Адрес;
|
||||
|
||||
@@ -3211,11 +3229,10 @@
|
||||
|
||||
Если ЗначениеЗаполнено(ИдентификаторАдресногоОбъекта) Тогда
|
||||
|
||||
СведенияОбАдресномОбъекта = СведенияОбАдресномОбъекта();
|
||||
СведенияОбАдресномОбъекта.Адрес = Адрес;
|
||||
СведенияОбАдресномОбъекта = СведенияОбАдресномОбъекта(ИдентификаторАдресногоОбъекта);
|
||||
СведенияОбАдресномОбъекта.Адрес = Адрес;
|
||||
СведенияОбАдресномОбъекта.ЗагруженныеДанные = Истина;
|
||||
СведенияОбАдресномОбъекта.Идентификатор = ИдентификаторАдресногоОбъекта;
|
||||
СведенияОбАдресномОбъекта.Муниципальный = ЭтоМуниципальныйАдрес(Адрес.AddressType);
|
||||
СведенияОбАдресномОбъекта.Муниципальный = ЭтоМуниципальныйАдрес(Адрес.AddressType);
|
||||
|
||||
НайденныйАдрес = АктуальныеАдресныеСведения(СведенияОбАдресномОбъекта);
|
||||
Если НайденныйАдрес.Отказ Тогда
|
||||
@@ -3445,24 +3462,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * ЗагруженныеДанные - Булево
|
||||
// * Идентификатор - УникальныйИдентификатор
|
||||
// * Муниципальный - Булево
|
||||
// * Адрес - Структура
|
||||
//
|
||||
Функция СведенияОбАдресномОбъекта()
|
||||
|
||||
СведенияОбАдресе = Новый Структура;
|
||||
СведенияОбАдресе.Вставить("ЗагруженныеДанные", Ложь);
|
||||
СведенияОбАдресе.Вставить("Идентификатор", Новый УникальныйИдентификатор);
|
||||
СведенияОбАдресе.Вставить("Муниципальный", Ложь);
|
||||
СведенияОбАдресе.Вставить("Адрес", Новый Структура);
|
||||
|
||||
Возврат СведенияОбАдресе;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
@@ -4724,7 +4723,7 @@
|
||||
АдресныеСведенияРегиона = СведенияОРегионе(Адрес.area, Адрес.areaType);
|
||||
|
||||
Если АдресныеСведенияРегиона.Устарел Тогда
|
||||
//@skip-check query-in-loop
|
||||
//@skip-check query-in-loop - редкий штучный запрос, только для актуализации данных региона.
|
||||
АктуализироватьДанныеОРегионе(Адрес, АдресныеСведенияРегиона.КодСубъектаРФ, Результат); // Вызывается, только если адрес устарел.
|
||||
ИначеЕсли Не АдресныеСведенияРегиона.Загружен Тогда
|
||||
|
||||
@@ -5490,7 +5489,7 @@
|
||||
Результат.АдресКорректный = Ложь;
|
||||
Результат.АдресПроверен = Истина;
|
||||
Если ПроверятьУстареваниеАдресов Тогда
|
||||
//@skip-check query-in-loop
|
||||
//@skip-check query-in-loop - редкие штучные запросы, только для устаревшего адреса.
|
||||
НовыеАдреса = АктуальныйАдресДляИсторического(Адрес); // Вызывается, только если адрес устарел.
|
||||
Если НовыеАдреса.АдресНайден Тогда
|
||||
Результат.Варианты = НовыеАдреса.Варианты;
|
||||
@@ -6764,13 +6763,17 @@
|
||||
Иначе
|
||||
// Для городов содержащих несколько вн.р-н внутри города и нужно выбрать ранее введенный.
|
||||
ВыбранныйАдрес = РезультатВебСервис.Данные[0];
|
||||
Для каждого АдресИзВебСервиса Из РезультатВебСервис.Данные Цикл
|
||||
Если СтрСравнить(АдресИзВебСервиса.settlement, СведенияОбАдресномОбъекте.Адрес.settlement) = 0
|
||||
И СтрСравнить(АдресИзВебСервиса.settlementType, СведенияОбАдресномОбъекте.Адрес.settlementType) =0 Тогда
|
||||
ВыбранныйАдрес = АдресИзВебСервиса;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ЗначениеЗаполнено(СведенияОбАдресномОбъекте.Адрес) Тогда
|
||||
Для каждого АдресИзВебСервиса Из РезультатВебСервис.Данные Цикл
|
||||
Если СтрСравнить(АдресИзВебСервиса.settlement, СведенияОбАдресномОбъекте.Адрес.settlement) = 0
|
||||
И СтрСравнить(АдресИзВебСервиса.settlementType, СведенияОбАдресномОбъекте.Адрес.settlementType) =0 Тогда
|
||||
ВыбранныйАдрес = АдресИзВебСервиса;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Результат.Данные = АдресДляСохраненияВБазе(ВыбранныйАдрес, ЭтоМуниципальныйАдрес);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -9707,7 +9710,7 @@
|
||||
// Во время загрузки возникла ошибка, очищаем частично загруженные данные.
|
||||
КодыСубъектаРФ = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СубъектРФ);
|
||||
|
||||
//@skip-check query-in-loop
|
||||
//@skip-check query-in-loop - штучный легкий запрос, только в исключительной ситуации для отката неудачной загрузки.
|
||||
ОчиститьКлассификаторАдресов(КодыСубъектаРФ); // Очистка только если во время загрузки адресных сведений возникла ошибка.
|
||||
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,,
|
||||
|
||||
@@ -1343,13 +1343,9 @@
|
||||
Элемент.КнопкаОткрытия = Ложь;
|
||||
|
||||
ИначеЕсли РеквизитыЭлементарногоВопроса.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Число Тогда
|
||||
|
||||
УстановитьПараметрыЭлементаЯчейкаЧисло(Элемент, РеквизитыЭлементарногоВопроса);
|
||||
|
||||
ИначеЕсли РеквизитыЭлементарногоВопроса.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Текст Тогда
|
||||
|
||||
УстановитьПараметрыЭлементаЯчейкаТекст(Элемент);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли СтрокаТаблицы.ТипТабличногоВопроса
|
||||
@@ -1357,8 +1353,9 @@
|
||||
|
||||
Если СтрокаТаблицы.СоставТабличногоВопроса.Количество() = 3 И инд <> 1 Тогда
|
||||
|
||||
Если СтрокаТаблицы.СоставТабличногоВопроса[2].ЭлементарныйВопрос.ТипЗначения
|
||||
= Новый ОписаниеТипов("СправочникСсылка.ВариантыОтветовАнкет") Тогда
|
||||
ТипЗначения = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтрокаТаблицы.СоставТабличногоВопроса[2].ЭлементарныйВопрос,
|
||||
"ТипЗначения");
|
||||
Если ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.ВариантыОтветовАнкет") Тогда
|
||||
|
||||
Элемент.РежимВыбораИзСписка = Истина;
|
||||
ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(
|
||||
@@ -1372,13 +1369,9 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если РеквизитыЭлементарногоВопроса.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Число Тогда
|
||||
|
||||
УстановитьПараметрыЭлементаЯчейкаЧисло(Элемент, РеквизитыЭлементарногоВопроса);
|
||||
|
||||
ИначеЕсли РеквизитыЭлементарногоВопроса.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Текст Тогда
|
||||
|
||||
УстановитьПараметрыЭлементаЯчейкаТекст(Элемент);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -1663,7 +1656,9 @@
|
||||
Элемент.ПутьКДанным = ИмяВопроса + "_Комментарий_" + Формат(
|
||||
СтрокаКомплексногоВопроса.НомерСтроки, "ЧГ=");
|
||||
Элемент.АвтоМаксимальнаяШирина = Ложь;
|
||||
Элемент.ПодсказкаВвода = СтрокаКомплексногоВопроса.ЭлементарныйВопрос.ПояснениеКомментария;
|
||||
ПояснениеКомментария = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтрокаКомплексногоВопроса.ЭлементарныйВопрос,
|
||||
"ПояснениеКомментария");
|
||||
Элемент.ПодсказкаВвода = ПояснениеКомментария;
|
||||
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
|
||||
Элемент.РастягиватьПоГоризонтали = Ложь;
|
||||
Элемент.КнопкаВыбора = Истина;
|
||||
|
||||
@@ -14,18 +14,13 @@
|
||||
// ЗадачаСсылка - ЗадачаСсылка.ЗадачаИсполнителя
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура
|
||||
// см. БизнесПроцессыИЗадачиПереопределяемый.ПриПолученииФормыВыполненияЗадачи.ПараметрыФормы
|
||||
//
|
||||
Функция ФормаВыполненияЗадачи(Знач ЗадачаСсылка) Экспорт
|
||||
|
||||
Если ТипЗнч(ЗадачаСсылка) <> Тип("ЗадачаСсылка.ЗадачаИсполнителя") Тогда
|
||||
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Неправильный тип параметра %1 (передан: %2; ожидается: %3)'"),
|
||||
"ЗадачаСсылка", ТипЗнч(ЗадачаСсылка), "ЗадачаСсылка.ЗадачаИсполнителя");
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("БизнесПроцессыИЗадачиВызовСервера.ФормаВыполненияЗадачи",
|
||||
"ЗадачаСсылка", ЗадачаСсылка, Тип("ЗадачаСсылка.ЗадачаИсполнителя"));
|
||||
|
||||
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЗадачаСсылка, "БизнесПроцесс,ТочкаМаршрута");
|
||||
Если Реквизиты.БизнесПроцесс = Неопределено ИЛИ Реквизиты.БизнесПроцесс.Пустая() Тогда
|
||||
Возврат Новый Структура();
|
||||
@@ -77,7 +72,6 @@
|
||||
БизнесПроцессыИЗадачиСервер.ЗаблокироватьЗадачи(ЗадачаСсылка);
|
||||
|
||||
СведенияЗадачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЗадачаСсылка, "Выполнена, БизнесПроцесс, ТочкаМаршрута");
|
||||
|
||||
Если СведенияЗадачи.Выполнена Тогда
|
||||
ВызватьИсключение НСтр("ru = 'Задача уже была выполнена ранее.'");
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1369,7 +1369,7 @@
|
||||
ОтменитьТранзакцию();
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru='Поиск и замена ссылок'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка,
|
||||
НеобработанныйДубль.ЗаменяемоеЗначение.Метаданные,,
|
||||
НеобработанныйДубль.ЗаменяемоеЗначение.Метаданные(),,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
@@ -1513,10 +1513,11 @@
|
||||
ТаблицаФормы = ТаблицаФормыПоИмени(Форма, ПрефиксТаблица + ОписаниеКонтакта.Имя);
|
||||
ТаблицаФормы.ТекущаяСтрока = Контакт;
|
||||
Если ОписаниеКонтакта.ЕстьВладелец Тогда
|
||||
ВладелецКонтакта = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Контакт, "Владелец");
|
||||
ТаблицаФормы = ТаблицаФормыПоИмени(Форма, ПрефиксТаблица + ОписаниеКонтакта.ИмяВладельца);
|
||||
ТаблицаФормы.ТекущаяСтрока = Контакт.Владелец;
|
||||
ТаблицаФормы.ТекущаяСтрока = ВладелецКонтакта;
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
|
||||
Форма["Список_" + ОписаниеКонтакта.Имя],"Владелец",Контакт.Владелец,,, Истина);
|
||||
Форма["Список_" + ОписаниеКонтакта.Имя],"Владелец",ВладелецКонтакта,,, Истина);
|
||||
КонецЕсли;
|
||||
ИначеЕсли ОписаниеКонтакта.ИмяВладельца = ИмяМетаданныхКонтакта Тогда
|
||||
Форма.Элементы.СтраницыСписки.ТекущаяСтраница =
|
||||
@@ -5796,7 +5797,7 @@
|
||||
|
||||
Если НЕ НовыйРодитель.Пустая()Тогда
|
||||
ЗначенияРеквизитовПапки = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
|
||||
НовыйРодитель,"ПредопределеннаяПапка,ТипПредопределеннойПапки");
|
||||
НовыйРодитель, "ПредопределеннаяПапка,ТипПредопределеннойПапки");
|
||||
Если ЗначенияРеквизитовПапки <> Неопределено
|
||||
И ЗначенияРеквизитовПапки.ПредопределеннаяПапка
|
||||
И ЗначенияРеквизитовПапки.ТипПредопределеннойПапки = Перечисления.ТипыПредопределенныхПапокПисем.Удаленные Тогда
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
МетаданныеКонтакта = Контакт.Метаданные();
|
||||
|
||||
Если МетаданныеКонтакта.Иерархический Тогда
|
||||
Если Контакт.ЭтоГруппа Тогда
|
||||
Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Контакт, "ЭтоГруппа") = Истина Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -380,10 +380,10 @@
|
||||
// Структура - параметры выполнения длительной операции:
|
||||
// * ИдентификаторФормы - УникальныйИдентификатор - уникальный идентификатор формы,
|
||||
// во временное хранилище которой надо поместить результат выполнения процедуры.
|
||||
// * ОжидатьЗавершение - Число - таймаут в секундах ожидания завершения фонового задания.
|
||||
// Если задано Неопределено, то ждать до момента завершения задания.
|
||||
// Если задано 0, то ждать завершения задания не требуется.
|
||||
// По умолчанию - 2 секунды; а для низкой скорости соединения - 4.
|
||||
// * ОжидатьЗавершение - Неопределено - ждать до момента завершения фонового задания.
|
||||
// - Число - таймаут в секундах ожидания завершения фонового задания.
|
||||
// Если задано 0, то ждать завершения задания не требуется.
|
||||
// По умолчанию - 0.8 секунды, а для низкой скорости соединения - 4.
|
||||
// * НаименованиеФоновогоЗадания - Строка - описание фонового задания. По умолчанию - имя процедуры.
|
||||
// * КлючФоновогоЗадания - Строка - уникальный ключ для активных фоновых заданий, имеющих такое же имя процедуры.
|
||||
// По умолчанию не задан.
|
||||
@@ -433,10 +433,10 @@
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - параметры выполнения длительной операции:
|
||||
// * ОжидатьЗавершение - Число - таймаут в секундах ожидания завершения фонового задания.
|
||||
// Если задано Неопределено, то ждать до момента завершения задания.
|
||||
// Если задано 0, то ждать завершения задания не требуется.
|
||||
// По умолчанию - 2 секунды; а для низкой скорости соединения - 4.
|
||||
// * ОжидатьЗавершение - Неопределено - ждать до момента завершения фонового задания.
|
||||
// - Число - таймаут в секундах ожидания завершения фонового задания.
|
||||
// Если задано 0, то ждать завершения задания не требуется.
|
||||
// По умолчанию - 0.8 секунды, а для низкой скорости соединения - 4.
|
||||
// * НаименованиеФоновогоЗадания - Строка - описание фонового задания. По умолчанию - имя процедуры.
|
||||
// * КлючФоновогоЗадания - Строка - уникальный ключ для активных фоновых заданий, имеющих такое же имя процедуры.
|
||||
// По умолчанию не задан.
|
||||
@@ -763,11 +763,10 @@
|
||||
// во временное хранилище которой надо поместить результат выполнения процедуры.
|
||||
// * ДополнительныйРезультат - Булево - признак использования дополнительного временного хранилища для передачи
|
||||
// результата из фонового задания в родительский сеанс. По умолчанию - Ложь.
|
||||
// * ОжидатьЗавершение - Число
|
||||
// - Неопределено - таймаут в секундах ожидания завершения фонового задания.
|
||||
// Если задано Неопределено, то ждать до момента завершения задания.
|
||||
// Если задано 0, то ждать завершения задания не требуется.
|
||||
// По умолчанию - 2 секунды; а для низкой скорости соединения - 4.
|
||||
// * ОжидатьЗавершение - Неопределено - ждать до момента завершения фонового задания.
|
||||
// - Число - таймаут в секундах ожидания завершения фонового задания.
|
||||
// Если задано 0, то ждать завершения задания не требуется.
|
||||
// По умолчанию - 0.8 секунды, а для низкой скорости соединения - 4.
|
||||
// * НаименованиеФоновогоЗадания - Строка - описание фонового задания. По умолчанию - имя процедуры.
|
||||
// * КлючФоновогоЗадания - Строка - уникальный ключ для активных фоновых заданий, имеющих такое же имя процедуры.
|
||||
// По умолчанию не задан.
|
||||
@@ -2262,6 +2261,10 @@
|
||||
|
||||
ЗавершитьДосрочно = Ложь;
|
||||
|
||||
ЗаданиеПроцесса = ПолучитьТекущийСеансИнформационнойБазы().ПолучитьФоновоеЗадание();
|
||||
ИдентификаторЗаданияПроцесса = ?(ЗаданиеПроцесса = Неопределено,
|
||||
Неопределено, ЗаданиеПроцесса.УникальныйИдентификатор);
|
||||
|
||||
Пока Истина Цикл
|
||||
|
||||
Если ДинамическоеПолучениеПорций Тогда
|
||||
@@ -2301,19 +2304,31 @@
|
||||
ОтправитьСообщенияПотока(Поток.ИдентификаторЗадания);
|
||||
КонецЕсли;
|
||||
|
||||
// @skip-check query-in-loop - зачитывание актуальных данных о потоках из ИБ.
|
||||
ВыполнитьВФоне = ОжидатьСвободныйПоток(ИдентификаторПроцесса, ПрерватьВыполнениеЕслиОшибка);
|
||||
Если ВыполнитьВФоне = Неопределено Тогда
|
||||
ЗавершитьДосрочно = Истина;
|
||||
Результат = Неопределено;
|
||||
Пока Результат = Неопределено Цикл
|
||||
// @skip-check query-in-loop - зачитывание актуальных данных о потоках из ИБ.
|
||||
ВыполнитьВФоне = ОжидатьСвободныйПоток(ИдентификаторПроцесса, ПрерватьВыполнениеЕслиОшибка);
|
||||
Если ВыполнитьВФоне = Неопределено Тогда
|
||||
ЗавершитьДосрочно = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
// @skip-check query-in-loop - зачитывание актуальных данных о потоках из ИБ.
|
||||
Результат = ВыполнитьПоток(Поток, ПараметрыОперации, ВыполнитьВФоне, ИдентификаторЗаданияПроцесса);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ЗавершитьДосрочно Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = ВыполнитьПоток(Поток, ПараметрыОперации, ВыполнитьВФоне);
|
||||
|
||||
Если Результат.Статус = СтатусДлительнойОперации().Ошибка Тогда
|
||||
|
||||
Если ПрерватьВыполнениеЕслиОшибка Тогда
|
||||
ЗавершитьДосрочно = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ДинамическоеПолучениеПорций Тогда
|
||||
@@ -2386,7 +2401,7 @@
|
||||
// Возвращаемое значение:
|
||||
// см. ВыполнитьВФоне
|
||||
//
|
||||
Функция ВыполнитьПоток(Поток, ПараметрыОперации, ВыполнитьВФоне)
|
||||
Функция ВыполнитьПоток(Поток, ПараметрыОперации, ВыполнитьВФоне, ИдентификаторЗаданияПроцесса)
|
||||
|
||||
ПараметрыВыполнения = ПараметрыВыполненияВФоне();
|
||||
ПараметрыВыполнения.НаименованиеФоновогоЗадания = Поток.Наименование;
|
||||
@@ -2410,10 +2425,55 @@
|
||||
|
||||
ПараметрыВыполнения.АдресРезультата = Поток.АдресРезультата;
|
||||
|
||||
РезультатЗапуска = Неопределено;
|
||||
МаксимумПотоков = ДопустимоеКоличествоПотоков();
|
||||
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
Блокировка.Добавить("Константа.КоличествоПотоковДлительныхОпераций");
|
||||
УстановитьПолноеИмяПрикладнойПроцедуры(ПараметрыОперации.ИмяМетода);
|
||||
РезультатЗапуска = ВыполнитьВФоне(ПараметрыОперации.ИмяМетода, ПараметрыМетода, ПараметрыВыполнения);
|
||||
УстановитьПолноеИмяПрикладнойПроцедуры(ИмяМетодаМногопоточногоПроцесса());
|
||||
ОбновитьСведенияОбПотоке(Поток, РезультатЗапуска);
|
||||
|
||||
ПотокЗанят = Ложь;
|
||||
|
||||
Если Не ПараметрыВыполнения.ЗапуститьНеВФоне Тогда
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Потоки = АктивныеПотоки();
|
||||
Если Потоки.Количество() < МаксимумПотоков Тогда
|
||||
ВременныйРезультатЗапуска = НовыйРезультатДлительнойОперации();
|
||||
ВременныйРезультатЗапуска.ИдентификаторЗадания = ИдентификаторЗаданияПроцесса;
|
||||
ВременныйРезультатЗапуска.Статус = СтатусДлительнойОперации().Выполняется;
|
||||
ОбновитьСведенияОбПотоке(Поток, ВременныйРезультатЗапуска, Ложь);
|
||||
ПотокЗанят = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
|
||||
Если ПараметрыВыполнения.ЗапуститьНеВФоне Или ПотокЗанят Тогда
|
||||
РезультатЗапуска = ВыполнитьВФоне(ПараметрыОперации.ИмяМетода, ПараметрыМетода, ПараметрыВыполнения);
|
||||
УстановитьПолноеИмяПрикладнойПроцедуры(ИмяМетодаМногопоточногоПроцесса());
|
||||
ОбновитьСведенияОбПотоке(Поток, РезультатЗапуска);
|
||||
КонецЕсли;
|
||||
|
||||
Исключение
|
||||
|
||||
Если ПотокЗанят Тогда
|
||||
ПустойРезультатЗапуска = НовыйРезультатДлительнойОперации();
|
||||
ОбновитьСведенияОбПотоке(Поток, ПустойРезультатЗапуска, Ложь);
|
||||
КонецЕсли;
|
||||
ВызватьИсключение;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Возврат РезультатЗапуска;
|
||||
|
||||
@@ -2433,7 +2493,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбновитьСведенияОбПотоке(Поток, РезультатЗапуска = Неопределено)
|
||||
Процедура ОбновитьСведенияОбПотоке(Поток, РезультатЗапуска = Неопределено, НоваяПопытка = Истина)
|
||||
|
||||
РезультатЗапускаУказан = РезультатЗапуска <> Неопределено;
|
||||
|
||||
@@ -2483,13 +2543,15 @@
|
||||
|
||||
Если РезультатЗапускаУказан Тогда
|
||||
Запись.ИдентификаторЗадания = РезультатЗапуска.ИдентификаторЗадания;
|
||||
Запись.НомерПопытки = Поток.НомерПопытки + 1;
|
||||
Запись.КлючПотока = Поток.КлючПотока;
|
||||
Если НоваяПопытка Тогда
|
||||
Запись.НомерПопытки = Поток.НомерПопытки + 1;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Запись.Статус = РезультатЗапуска.Статус;
|
||||
Если РезультатЗапуска.Статус = СтатусДлительнойОперации().Ошибка Тогда
|
||||
Запись.ПодробноеПредставлениеОшибки = РезультатЗапуска.ПодробноеПредставлениеОшибки;
|
||||
Запись.КраткоеПредставлениеОшибки = РезультатЗапуска.КраткоеПредставлениеОшибки;
|
||||
Запись.КраткоеПредставлениеОшибки = РезультатЗапуска.КраткоеПредставлениеОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьЗначенияСвойств(Поток, Запись);
|
||||
@@ -2610,8 +2672,20 @@
|
||||
МаксимумПотоков = ДопустимоеКоличествоПотоков();
|
||||
ВыполнитьВФоне = МаксимумПотоков > 1;
|
||||
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
Блокировка.Добавить("Константа.КоличествоПотоковДлительныхОпераций");
|
||||
|
||||
Пока Истина Цикл
|
||||
Потоки = АктивныеПотоки();
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка.Заблокировать();
|
||||
Потоки = АктивныеПотоки();
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
Если Потоки.Количество() < МаксимумПотоков Тогда
|
||||
Прервать;
|
||||
@@ -2620,7 +2694,7 @@
|
||||
ЕстьЗавершенныеПотоки = ЕстьЗавершенныеПотоки(Потоки,
|
||||
ЗавершитьДосрочноЕслиОшибка, ИдентификаторПроцесса);
|
||||
|
||||
Если ЗавершитьДосрочноЕслиОшибка И ЕстьЗавершенныеПотоки = Неопределено Тогда
|
||||
Если ЗавершитьДосрочноЕслиОшибка И ЕстьЗавершенныеПотоки = Неопределено Тогда
|
||||
ВыполнитьВФоне = Неопределено; // Ошибка в потоке.
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
@@ -2635,6 +2709,7 @@
|
||||
Для Каждого УправляющийПоток Из УправляющиеПотоки Цикл
|
||||
Потоки.Удалить(УправляющийПоток);
|
||||
КонецЦикла;
|
||||
|
||||
Если Потоки.Найти(ИдентификаторПроцесса, "ИдентификаторПроцесса") = Неопределено Тогда
|
||||
// Не ждем, когда у процесса нет ни одного исполняющего потока.
|
||||
ВыполнитьВФоне = Ложь;
|
||||
@@ -2643,8 +2718,8 @@
|
||||
|
||||
Если ОжидатьЗавершениеПотока(Потоки[0]) Тогда // Задание выполнено.
|
||||
ОбновитьСведенияОбПотоке(Потоки[0]);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ВыполнитьВФоне;
|
||||
|
||||
@@ -418,6 +418,74 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает адрес файла выгрузки журнала регистрации для техподдержки в формате XML.
|
||||
// Отбор записей журнала регистрации в параметре ОтборЖурналаРегистрации соответствует методу ВыгрузитьЖурналРегистрации.
|
||||
// Любое свойство отбора может отсутствовать или иметь значение Неопределено, что означает, что отбор не задан.
|
||||
//
|
||||
// Параметры:
|
||||
// ОтборЖурналаРегистрации - Структура:
|
||||
// * ДатаНачала - Дата
|
||||
// * ДатаОкончания - Дата
|
||||
// * Уровень - УровеньЖурналаРегистрации
|
||||
// * ИмяПриложения - Строка
|
||||
// - Массив из Строка
|
||||
// - СписокЗначений
|
||||
// * Пользователь - ПользовательИнформационнойБазы
|
||||
// - Строка
|
||||
// - Массив из ПользовательИнформационнойБазы
|
||||
// - СписокЗначений
|
||||
// * Компьютер - Строка
|
||||
// - Массив из Строка
|
||||
// - СписокЗначений
|
||||
// * Событие - Строка
|
||||
// - СписокЗначений
|
||||
// - Массив из Строка - варианты имен системных событий смотри в синтаксис-помощнике.
|
||||
// * Метаданные - ОбъектМетаданных
|
||||
// - Массив из ОбъектМетаданных
|
||||
// - СписокЗначений
|
||||
// * Данные - ЛюбаяСсылка
|
||||
// * ПредставлениеДанных - Строка
|
||||
// * Комментарий - Строка
|
||||
// * СтатусТранзакции - СтатусТранзакцииЗаписиЖурналаРегистрации
|
||||
// * Транзакция - Строка
|
||||
// * Сеанс - Число
|
||||
// - Массив из Число
|
||||
// - СписокЗначений
|
||||
// * РабочийСервер - Строка
|
||||
// - Массив из Строка
|
||||
// - СписокЗначений
|
||||
// * ОсновнойIPПорт - Число
|
||||
// - Массив из Число
|
||||
// - СписокЗначений
|
||||
// * ВспомогательныйIPПорт - Число
|
||||
// - Массив из Число
|
||||
// - СписокЗначений
|
||||
// * РазделениеДанныхСеанса - СписокЗначений - имена свойств соответствуют именам общих реквизитов.
|
||||
// - Структура
|
||||
// КоличествоСобытий - Число
|
||||
// УникальныйИдентификатор - УникальныйИдентификатор - для создания временного хранилища.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
//
|
||||
Функция ЖурналДляТехподдержки(ОтборЖурналаРегистрации, КоличествоСобытий, УникальныйИдентификатор = Неопределено) Экспорт
|
||||
|
||||
Отбор = Новый Структура;
|
||||
Для Каждого ЭлементОтбора Из ОтборЖурналаРегистрации Цикл
|
||||
Отбор.Вставить(ЭлементОтбора.Ключ, ЭлементОтбора.Значение);
|
||||
КонецЦикла;
|
||||
СмещениеВремениСервера = СмещениеВремениСервера();
|
||||
ПреобразованиеОтбора(Отбор, СмещениеВремениСервера);
|
||||
|
||||
ВременныйФайл = ПолучитьИмяВременногоФайла("xml");
|
||||
ВыгрузитьЖурналРегистрации(ВременныйФайл, Отбор, , , КоличествоСобытий);
|
||||
ДвоичныеДанные = Новый ДвоичныеДанные(ВременныйФайл);
|
||||
УдалитьФайлы(ВременныйФайл);
|
||||
|
||||
Возврат ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -587,25 +655,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЖурналДляТехподдержки(ОтборЖурналаРегистрации, КоличествоСобытий, УникальныйИдентификатор = Неопределено) Экспорт
|
||||
|
||||
Отбор = Новый Структура;
|
||||
Для Каждого ЭлементОтбора Из ОтборЖурналаРегистрации Цикл
|
||||
Отбор.Вставить(ЭлементОтбора.Ключ, ЭлементОтбора.Значение);
|
||||
КонецЦикла;
|
||||
СмещениеВремениСервера = СмещениеВремениСервера();
|
||||
ПреобразованиеОтбора(Отбор, СмещениеВремениСервера);
|
||||
|
||||
// Выгрузка отбираемых событий и формирование структуры таблицы.
|
||||
ВременныйФайл = ПолучитьИмяВременногоФайла("xml");
|
||||
ВыгрузитьЖурналРегистрации(ВременныйФайл, Отбор, , , КоличествоСобытий);
|
||||
ДвоичныеДанные = Новый ДвоичныеДанные(ВременныйФайл);
|
||||
УдалитьФайлы(ВременныйФайл);
|
||||
|
||||
Возврат ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор);
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Вспомогательные процедуры и функции.
|
||||
|
||||
|
||||
@@ -98,8 +98,8 @@
|
||||
ТипыСубъектов = ТипыСубъектов();
|
||||
|
||||
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗначенияОбъекта)
|
||||
ИЛИ Документы.ТипВсеСсылки().СодержитТип(ТипЗначенияОбъекта) Тогда
|
||||
|
||||
Или Документы.ТипВсеСсылки().СодержитТип(ТипЗначенияОбъекта) Тогда
|
||||
|
||||
Если ТипыСубъектов.Найти(ТипЗначенияОбъекта) <> Неопределено Тогда
|
||||
Возврат РегистрыСведений.УничтоженныеПерсональныеДанные.ЕстьСубъектыСУничтоженнымиПерсональнымиДанными(
|
||||
Объект);
|
||||
@@ -107,6 +107,8 @@
|
||||
Объект = Объект.ПолучитьОбъект();
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли ТипЗначенияОбъекта = Тип("УдалениеОбъекта") Тогда
|
||||
Возврат Ложь;
|
||||
ИначеЕсли Объект.ДополнительныеСвойства.Свойство("СкрытиеКонфиденциальнойИнформации") Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -584,7 +584,7 @@
|
||||
|
||||
СписокПолей = Форма.Элементы.Найти(ИмяСпискаПолей);
|
||||
|
||||
ГруппаПоиска = Форма.Элементы.Добавить("Группа"+ИмяСтрокиПоиска, Тип("ГруппаФормы"), МестоРазмещенияСтрокиПоиска);
|
||||
ГруппаПоиска = Форма.Элементы.Добавить("Группа" + ИмяСтрокиПоиска, Тип("ГруппаФормы"), МестоРазмещенияСтрокиПоиска);
|
||||
ГруппаПоиска.Вид = ВидГруппыФормы.ОбычнаяГруппа;
|
||||
ГруппаПоиска.Отображение = ОтображениеОбычнойГруппы.Нет;
|
||||
ГруппаПоиска.ОтображатьЗаголовок = Ложь;
|
||||
@@ -592,9 +592,9 @@
|
||||
|
||||
СтрокаПоиска = Форма.Элементы.Добавить(ИмяСтрокиПоиска, Тип("ПолеФормы"), ГруппаПоиска);
|
||||
|
||||
ИмяКомандыОчистки = ИмяСтрокиПоиска+"Очистка";
|
||||
ИмяКомандыОчистки = ИмяСтрокиПоиска + "Очистка";
|
||||
Если Форма.Команды.Найти(ИмяКомандыОчистки) = Неопределено Тогда
|
||||
Команда = Форма.Команды.Добавить(ИмяСтрокиПоиска+"Очистка");
|
||||
Команда = Форма.Команды.Добавить(ИмяСтрокиПоиска + "Очистка");
|
||||
Команда.Действие = "Подключаемый_СтрокаПоискаОчистка";
|
||||
Команда.Отображение = ОтображениеКнопки.Картинка;
|
||||
КонецЕсли;
|
||||
@@ -605,6 +605,7 @@
|
||||
КнопкаОчисткиПоиска.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеЭлемента.Центр;
|
||||
КнопкаОчисткиПоиска.ИмяКоманды = ИмяКомандыОчистки;
|
||||
КнопкаОчисткиПоиска.ОтображениеФигуры = ОтображениеФигурыКнопки.ПриАктивности;
|
||||
КнопкаОчисткиПоиска.Заголовок = НСтр("ru = 'Очистить'");
|
||||
|
||||
Если СписокПолей <> Неопределено Тогда
|
||||
Форма.Элементы.Переместить(ГруппаПоиска, МестоРазмещенияСтрокиПоиска, СписокПолей);
|
||||
@@ -617,6 +618,7 @@
|
||||
СтрокаПоиска.УстановитьДействие("ИзменениеТекстаРедактирования", "Подключаемый_СтрокаПоискаИзменениеТекстаРедактирования");
|
||||
СтрокаПоиска.АвтоМаксимальнаяШирина = Ложь;
|
||||
СтрокаПоиска.ОбновлениеТекстаРедактирования = ОбновлениеТекстаРедактирования.НеИспользовать;
|
||||
СтрокаПоиска.Заголовок = НСтр("ru = 'Найти'");
|
||||
|
||||
Если СписокПолей = Неопределено Тогда
|
||||
СписокПолей = Форма.Элементы.Добавить(ИмяСпискаПолей, Тип("ТаблицаФормы"), ПараметрыДобавления.МестоРазмещенияСписка);
|
||||
@@ -654,11 +656,13 @@
|
||||
КартинкаПоля.ПутьКДанным = ИмяСпискаПолей + ".Картинка";
|
||||
КартинкаПоля.Вид = ВидПоляФормы.ПолеКартинки;
|
||||
КартинкаПоля.ОтображатьВШапке = Ложь;
|
||||
КартинкаПоля.Заголовок = НСтр("ru = 'Картинка'");
|
||||
|
||||
ПредставлениеПоля = Форма.Элементы.Добавить(ИмяКолонкиПредставление(ИмяСпискаПолей), Тип("ПолеФормы"), ГруппаКолонок);
|
||||
ПредставлениеПоля.ПутьКДанным = ИмяСпискаПолей + ".Заголовок";
|
||||
ПредставлениеПоля.Вид = ВидПоляФормы.ПолеВвода;
|
||||
ПредставлениеПоля.ТолькоПросмотр = Истина;
|
||||
ПредставлениеПоля.Заголовок = НСтр("ru = 'Заголовок'");
|
||||
|
||||
ПредставлениеПоля = Форма.Элементы.Добавить(ИмяСпискаПолей + "ПредставлениеПутиКДанным", Тип("ПолеФормы"), ГруппаКолонок);
|
||||
ПредставлениеПоля.ПутьКДанным = ИмяСпискаПолей + ".ПредставлениеПутиКДанным";
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
// - ДвоичныеДанные
|
||||
// - Строка - адрес двоичных данных сертификата во временном хранилище.
|
||||
// - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования.
|
||||
// Префикс - см. ДоверенностиСОтбором.
|
||||
// Префикс - Строка
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Доверенности с отбором. Если в отборе не передана доверенность, то отбор производится только по не помеченным на удаление.
|
||||
// Доверенности с отбором. Если в отборе не передана доверенность, то отбор производится только по непомеченным на удаление.
|
||||
//
|
||||
// Параметры:
|
||||
// Отбор - Структура - содержит имя и значение поля, по которому надо отобрать доверенности:
|
||||
|
||||
@@ -100,6 +100,21 @@
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Переопределяет процедуру регистрации в реестре Федеральной таможенной службы или другом.
|
||||
//
|
||||
// Параметры:
|
||||
// Доверенность - СправочникСсылка.МашиночитаемыеДоверенности
|
||||
// СтандартнаяОбработка - Булево - при установке значения Ложь регистрация доверенности не будет выполнена.
|
||||
// ОбработчикЗавершения - ОписаниеОповещения - процедура, которую необходимо вызвать для продолжения регистрации
|
||||
// доверенности в случае, если стандартная обработка
|
||||
// была прервана при помощи параметра СтандартнаяОбработка;
|
||||
//
|
||||
Процедура ПриРегистрацииДоверенности(Доверенность, СтандартнаяОбработка, ОбработчикЗавершения) Экспорт
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -25,8 +25,6 @@
|
||||
// Организация - ОпределяемыйТип.Организация - ссылка на организацию, реквизиты которой надо заполнить.
|
||||
// Реквизиты - Структура:
|
||||
// * ЭтоИндивидуальныйПредприниматель - Булево
|
||||
// * ЭтоФизическоеЛицо - Булево
|
||||
// * ЭтоКонтрагент - Булево
|
||||
// * ЭтоИностраннаяОрганизация - Булево
|
||||
// * ЭтоФилиал - Булево
|
||||
// * НаименованиеПолное - Строка
|
||||
@@ -63,6 +61,7 @@
|
||||
// Данные о физическом лице с правом действия без доверенности:
|
||||
// * ЛицоБезДоверенности - ОпределяемыйТип.ФизическоеЛицо
|
||||
// * РеквизитыЛицаБезДоверенности - см. ПриЗаполненииРеквизитовФизическогоЛица.Реквизиты
|
||||
//
|
||||
// СтандартнаяОбработка - Булево - установите в Ложь, если нужно отменить заполнение реквизитов из подсистемы Организации
|
||||
//
|
||||
Процедура ПриЗаполненииРеквизитовОрганизации(Организация, Реквизиты, СтандартнаяОбработка) Экспорт
|
||||
@@ -167,6 +166,8 @@
|
||||
//
|
||||
Процедура ПриПолученииСтатусаРегистрации(Доверенность, РегистрацияВРеестре) Экспорт
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Переопределяет процедуру регистрации в реестре Федеральной таможенной службы или другом.
|
||||
@@ -176,6 +177,8 @@
|
||||
//
|
||||
Процедура ПриРегистрацииДоверенности(Доверенность) Экспорт
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -75,9 +75,6 @@
|
||||
// ЭлектроннаяПодписьФайла - Структура:
|
||||
// * РезультатПроверкиПодписиПоМЧД - Массив из см. МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РезультатПроверкиПодписиПоМЧД
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
//
|
||||
Процедура ДобавитьИнформациюМЧД(ЭлектроннаяПодписьФайла, УникальныйИдентификатор) Экспорт
|
||||
|
||||
Если ТипЗнч(ЭлектроннаяПодписьФайла.РезультатПроверкиПодписиПоМЧД) = Тип("Структура") Тогда
|
||||
@@ -773,7 +770,7 @@
|
||||
|
||||
Если ЗначениеЗаполнено(ДанныеДоверенности.НомерДоверенности)
|
||||
И (ПроверятьВРеестреФНС = Истина Или ПроверятьВРеестреФНС = Неопределено И ЕстьВРеестреФНС) Тогда
|
||||
РезультатПроверкиВРеестреФНС = ПолучитьЧастичныеДанныеДоверенностиМЧДРР(
|
||||
РезультатПроверкиВРеестреФНС = ЧастичныеДанныеДоверенностиМЧДРР(
|
||||
ДанныеДоверенности.НомерДоверенности,,НСтр("ru='Не удалось проверить доверенность'"));
|
||||
Если ЗначениеЗаполнено(РезультатПроверкиВРеестреФНС.СтатусДоверенности) Тогда
|
||||
ЕстьВРеестреФНС = Истина;
|
||||
@@ -2231,14 +2228,14 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки = "", ТекстОшибки = "") Экспорт
|
||||
Функция ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ТекстОшибки) Экспорт
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ЗаголовокОшибки", ЗаголовокОшибки);
|
||||
Результат.Вставить("ЗапросHTTP", ЗапросHTTP);
|
||||
Результат.Вставить("ОтветHTTP", ОтветHTTP);
|
||||
Результат.Вставить("СтруктураОтвета", СтруктураОтвета);
|
||||
Результат.Вставить("ТекстОшибки", ТекстОшибки);
|
||||
Результат.Вставить("ДополнительныеФайлы", ДополнительныеФайлы);
|
||||
Результат.Вставить("ТекстОшибки", ТекстОшибки);
|
||||
Результат.Вставить("ЗапросHTTP");
|
||||
Результат.Вставить("ОтветHTTP");
|
||||
Результат.Вставить("СтруктураОтвета");
|
||||
Результат.Вставить("ДополнительныеФайлы");
|
||||
Результат.Вставить("ПараметрыТекстаОшибки", Новый Структура);
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
@@ -2692,7 +2689,7 @@
|
||||
Пока Выборка.Следующий() Цикл
|
||||
СостояниеДоверенности = СостояниеДоверенности();
|
||||
ЗаполнитьЗначенияСвойств(СостояниеДоверенности, Выборка);
|
||||
Если ЗначениеЗаполнено(Выборка.ДатаТранзакции) Тогда
|
||||
Если Выборка.ДатаТранзакции <> Дата(1,1,1) Тогда
|
||||
ОписаниеСостояния = СтроковыеФункции.ФорматированнаяСтрока(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='<span style=""color: %1"">Запрос отправлен %2</span>'"), "ПоясняющийТекст", ОтформатироватьДату(Выборка.ДатаТранзакции)));
|
||||
ИначеЕсли ЗначениеЗаполнено(Выборка.ТехническийСтатус) Тогда
|
||||
@@ -2895,7 +2892,7 @@
|
||||
|
||||
Если ТикетАутентификацииИлиДанныеПользователя = Неопределено Тогда
|
||||
ЗаголовокОшибки = ?(ЦельАвторизации = "", НСтр("ru='Не удается авторизоваться на сайте интернет поддержки'"), ЦельАвторизации);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(, , , , ЗаголовокОшибки, НСтр("ru='Не удается получить тикет аутентификации или данные пользователя.'"));
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, НСтр("ru='Не удается получить тикет аутентификации или данные пользователя.'"));
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
@@ -2938,8 +2935,7 @@
|
||||
Если СвойстваСервераМЧДРР.ИспользоватьРасширенияAPI Тогда
|
||||
ОтветHTTP = СоединениеHTTP.Получить(ЗапросHTTP);
|
||||
Иначе
|
||||
//@skip-check object-deprecated Используется на сервере
|
||||
ОтветHTTP = СоединениеHTTP.ОтправитьДляОбработки(ЗапросHTTP);
|
||||
ОтветHTTP = СоединениеHTTP.ВызватьHTTPМетод("POST", ЗапросHTTP);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
ПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
@@ -2950,7 +2946,10 @@
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ЗаголовокОшибки = ?(ЦельАвторизации = "", НСтр("ru='Не удается авторизоваться на сервере Распределенного реестра ФНС России'"), ЦельАвторизации);
|
||||
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
@@ -2973,7 +2972,11 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ЗаголовокОшибки = ?(ЦельАвторизации = "", НСтр("ru='Отказ при получении токена доступа на сервере Распределенного реестра ФНС России'"), ЦельАвторизации);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
@@ -2985,8 +2988,12 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ЗаголовокОшибки = ?(ЦельАвторизации = "", НСтр("ru='Распределенный реестр ФНС России не предоставил токен для авторизации'"), ЦельАвторизации);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки,
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки,
|
||||
НСтр("ru='Распределенный реестр ФНС России не предоставил токен для авторизации.'"));
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
@@ -3055,8 +3062,10 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки,
|
||||
ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
|
||||
Возврат Результат;
|
||||
@@ -3075,8 +3084,11 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы,
|
||||
НСтр("ru='Не удается получить номер доверенности'"), ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
@@ -3087,8 +3099,12 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки,
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки,
|
||||
НСтр("ru='Распределенный реестр ФНС России не выдал номер доверенности.'"));
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
@@ -3198,7 +3214,7 @@
|
||||
СоединениеHTTP = СоединениеССерверомИнтернета(
|
||||
СвойстваСервераМЧДРР.АдресСервераБезАутентификации);
|
||||
|
||||
ОтветHTTP = СоединениеHTTP.ОтправитьДляОбработки(ЗапросHTTP);
|
||||
ОтветHTTP = СоединениеHTTP.ВызватьHTTPМетод("POST", ЗапросHTTP);
|
||||
Исключение
|
||||
ПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ПараметрыФайловДляРасследования = ПараметрыФайловДляРасследования();
|
||||
@@ -3206,7 +3222,10 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ПараметрыФайловДляРасследования.СоединениеHTTP = СоединениеHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
@@ -3228,7 +3247,11 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ПараметрыФайловДляРасследования.СоединениеHTTP = СоединениеHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
|
||||
Возврат Результат;
|
||||
@@ -3240,8 +3263,12 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ПараметрыФайловДляРасследования.СоединениеHTTP = СоединениеHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки,
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки,
|
||||
НСтр("ru='Распределенный реестр ФНС России не предоставил идентификационные данные.'"));
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
|
||||
Возврат Результат;
|
||||
@@ -3307,7 +3334,10 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
@@ -3330,7 +3360,11 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
@@ -3342,8 +3376,12 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки,
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки,
|
||||
НСтр("ru='Распределенный реестр ФНС России не вернул данные о статусе транзакции.'"));
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
@@ -3352,7 +3390,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьЧастичныеДанныеДоверенностиМЧДРР(НомерДоверенности, ТокенДоступа = "", ЦельПолучения = "") Экспорт
|
||||
Функция ЧастичныеДанныеДоверенностиМЧДРР(НомерДоверенности, ТокенДоступа = "", ЦельПолучения = "") Экспорт
|
||||
|
||||
СвойстваСервераМЧДРР = СвойстваСервераМЧДРР();
|
||||
|
||||
@@ -3412,7 +3450,10 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ПараметрыФайловДляРасследования.СоединениеHTTP = СоединениеHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
ПараметрыОшибкиМЧДРР.ПараметрыТекстаОшибки.Вставить("НомерДоверенности", НомерДоверенности);
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
@@ -3453,7 +3494,10 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
ПараметрыОшибкиМЧДРР.ПараметрыТекстаОшибки.Вставить("НомерДоверенности", НомерДоверенности);
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
@@ -3466,8 +3510,12 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ПараметрыФайловДляРасследования.СоединениеHTTP = СоединениеHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета , ДополнительныеФайлы, ЗаголовокОшибки,
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки,
|
||||
НСтр("ru='Распределенный реестр ФНС России не предоставил частичных данных доверенности.'"));
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
ПараметрыОшибкиМЧДРР.ПараметрыТекстаОшибки.Вставить("НомерДоверенности", НомерДоверенности);
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
@@ -3477,7 +3525,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа = "", ЦельПолучения = "") Экспорт
|
||||
Функция ПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа = "", ЦельПолучения = "")
|
||||
|
||||
СвойстваСервераМЧДРР = СвойстваСервераМЧДРР();
|
||||
|
||||
@@ -3536,7 +3584,10 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
ПараметрыОшибкиМЧДРР.ПараметрыТекстаОшибки.Вставить("НомерДоверенности", НомерДоверенности);
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
@@ -3558,7 +3609,10 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
ПараметрыОшибкиМЧДРР.ПараметрыТекстаОшибки.Вставить("НомерДоверенности", НомерДоверенности);
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
@@ -3580,7 +3634,11 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
ПараметрыОшибкиМЧДРР.ПараметрыТекстаОшибки.Вставить("НомерДоверенности", НомерДоверенности);
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
@@ -3592,8 +3650,12 @@
|
||||
ПараметрыФайловДляРасследования.Запрос = ЗапросHTTP;
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки,
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки,
|
||||
НСтр("ru='Распределенный реестр ФНС России не предоставил полных данных доверенности и не сообщил о статусе запроса данных.'"));
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
ПараметрыОшибкиМЧДРР.ПараметрыТекстаОшибки.Вставить("НомерДоверенности", НомерДоверенности);
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
@@ -3607,7 +3669,7 @@
|
||||
|
||||
ЗаголовокОшибки = НСтр("ru='Не удалось загрузить доверенность'");
|
||||
|
||||
РезультатПолучения = ПолучитьПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа, ЗаголовокОшибки);
|
||||
РезультатПолучения = ПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа, ЗаголовокОшибки);
|
||||
ПолныеДанныеДоверенности = Новый Структура;
|
||||
ПолныеДанныеДоверенности.Вставить("Ошибка", РезультатПолучения.Ошибка);
|
||||
Если ЗначениеЗаполнено(РезультатПолучения.Ошибка) Тогда
|
||||
@@ -3633,7 +3695,7 @@
|
||||
РезультатЗагрузки = Справочники.МашиночитаемыеДоверенности.ЗагрузитьДоверенностиВИнформационнуюБазу(ФайлыДляЗагрузки);
|
||||
|
||||
Если ЗначениеЗаполнено(РезультатЗагрузки.ТекстОшибки) Тогда
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(, , , , ЗаголовокОшибки, РезультатЗагрузки.ТекстОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, РезультатЗагрузки.ТекстОшибки);
|
||||
ПолныеДанныеДоверенности.Вставить("Ошибка", ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР));
|
||||
Возврат ПолныеДанныеДоверенности;
|
||||
КонецЕсли;
|
||||
@@ -3730,7 +3792,7 @@
|
||||
СоединениеHTTP = СоединениеССерверомИнтернета(
|
||||
СвойстваСервераМЧДРР.АдресСервераБезАутентификации);
|
||||
|
||||
ОтветHTTP = СоединениеHTTP.ОтправитьДляОбработки(ЗапросHTTP);
|
||||
ОтветHTTP = СоединениеHTTP.ВызватьHTTPМетод("POST", ЗапросHTTP);
|
||||
Исключение
|
||||
ПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ПараметрыФайловДляРасследования = ПараметрыФайловДляРасследования();
|
||||
@@ -3738,7 +3800,10 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ПараметрыФайловДляРасследования.СоединениеHTTP = СоединениеHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
@@ -3757,7 +3822,10 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ПараметрыФайловДляРасследования.СоединениеHTTP = СоединениеHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, , ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
|
||||
Возврат Результат;
|
||||
@@ -3770,7 +3838,11 @@
|
||||
ПараметрыФайловДляРасследования.Ответ = ОтветHTTP;
|
||||
ПараметрыФайловДляРасследования.СоединениеHTTP = СоединениеHTTP;
|
||||
ДополнительныеФайлы = ФайлыДляРасследования(ПараметрыФайловДляРасследования);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗапросHTTP, ОтветHTTP, СтруктураОтвета, ДополнительныеФайлы, ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, ПредставлениеОшибки);
|
||||
ПараметрыОшибкиМЧДРР.ЗапросHTTP = ЗапросHTTP;
|
||||
ПараметрыОшибкиМЧДРР.ОтветHTTP = ОтветHTTP;
|
||||
ПараметрыОшибкиМЧДРР.СтруктураОтвета = СтруктураОтвета;
|
||||
ПараметрыОшибкиМЧДРР.ДополнительныеФайлы = ДополнительныеФайлы;
|
||||
Результат.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -23,19 +23,7 @@
|
||||
ИмяФайлаВыгрузки, ДанныеИлиАдресВыгрузки, ДанныеИлиАдресПодписи, ТокенДоступа, НомерДоверенности);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьСтатусТранзакцииМЧДРР(ИдентификаторТранзакции, ТокенДоступа = "", НомерДоверенности = "", ЦельПолучения = "") Экспорт
|
||||
Возврат МашиночитаемыеДоверенностиФНССлужебный.ПолучитьСтатусТранзакцииМЧДРР(ИдентификаторТранзакции, ТокенДоступа, НомерДоверенности, ЦельПолучения);
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьЧастичныеДанныеДоверенностиМЧДРР(НомерДоверенности, ТокенДоступа = "", ЦельПолучения = "") Экспорт
|
||||
Возврат МашиночитаемыеДоверенностиФНССлужебный.ПолучитьЧастичныеДанныеДоверенностиМЧДРР(НомерДоверенности, ТокенДоступа, ЦельПолучения);
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа = "", ЦельПолучения = "") Экспорт
|
||||
Возврат МашиночитаемыеДоверенностиФНССлужебный.ПолучитьПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа, ЦельПолучения);
|
||||
КонецФункции
|
||||
|
||||
Функция ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ТокенДоступа = "") Экспорт
|
||||
Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ТокенДоступа);
|
||||
КонецФункции
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Результат проверки МЧДДля подписания.
|
||||
// Результат проверки МЧД для подписания.
|
||||
//
|
||||
// Параметры:
|
||||
// Доверенность - СправочникСсылка.МашиночитаемыеДоверенности
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Результат проверки МЧДДля подписания.
|
||||
// Результат проверки подписи по МЧД.
|
||||
//
|
||||
// Параметры:
|
||||
// Доверенность - СправочникСсылка.МашиночитаемыеДоверенности
|
||||
|
||||
@@ -47,6 +47,9 @@
|
||||
Элементы.ГруппаОбработкаЗагрузкаКурсовВалют.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ГруппаОбсуждения.Видимость = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Обсуждения")
|
||||
И Пользователи.ЭтоПолноправныйПользователь();
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.СклонениеПредставленийОбъектов") Тогда
|
||||
Элементы.ГруппаСклонения.Видимость =
|
||||
Не Форма.РазделениеВключено
|
||||
@@ -113,20 +116,16 @@
|
||||
КонецЕсли;
|
||||
|
||||
ВидимостьГруппыВнешниеКомпоненты = Ложь;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВнешниеКомпоненты") Тогда
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВнешниеКомпоненты")
|
||||
И Пользователи.ЭтоПолноправныйПользователь() Тогда
|
||||
|
||||
МодульВнешниеКомпонентыСлужебный = ОбщегоНазначения.ОбщийМодуль("ВнешниеКомпонентыСлужебный");
|
||||
ВидимостьГруппыВнешниеКомпоненты = МодульВнешниеКомпонентыСлужебный.ДоступнаЗагрузкаСПортала();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ГруппаВнешниеКомпоненты.Видимость = ВидимостьГруппыВнешниеКомпоненты;
|
||||
|
||||
НастройкиПрограммыПереопределяемый.ИнтернетПоддержкаИСервисыПриСозданииНаСервере(Форма);
|
||||
|
||||
Элементы.ГруппаОбсуждения.Видимость = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Обсуждения");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Сохраняет новое значение константы панели администрирования "Интернет-поддержка и сервисы" БСП и БИП.
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.1.9.179";
|
||||
Описание.Версия = "3.1.9.199";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -8503,9 +8503,17 @@
|
||||
Для Каждого ОписаниеТипа Из ОчищаемыеТипы Цикл
|
||||
Отбор = Отбор + ?(Отбор = "", "", "
|
||||
| ИЛИ ");
|
||||
Отбор = Отбор + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
"ТИПЗНАЧЕНИЯ(ТекущаяТаблица.%1) = ТИП(%2)",
|
||||
ОписаниеПоля.Ключ, ОписаниеТипа.Значение);
|
||||
Если СтрНайти(ОписаниеТипа.Значение, ".") > 0 Тогда
|
||||
Отбор = Отбор + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
"ТИПЗНАЧЕНИЯ(ТекущаяТаблица.%1) = ТИП(%2)",
|
||||
ОписаниеПоля.Ключ, ОписаниеТипа.Значение);
|
||||
Иначе
|
||||
ИмяПараметра = "Тип" + ОписаниеТипа.Значение;
|
||||
Запрос.УстановитьПараметр(ИмяПараметра, Тип(ОписаниеТипа.Значение));
|
||||
Отбор = Отбор + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
"ТИПЗНАЧЕНИЯ(ТекущаяТаблица.%1) = &%2",
|
||||
ОписаниеПоля.Ключ, ИмяПараметра);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Для Каждого ОписаниеТипа Из ОчищаемыеЗначения Цикл
|
||||
@@ -8706,6 +8714,7 @@
|
||||
Контекст.Вставить("ПорядокВидовОбъектов", ПорядокВидовОбъектов);
|
||||
Контекст.Вставить("РегистрацияИзменений", РегистрацияИзменений);
|
||||
Контекст.Вставить("ВидыРегистровДляОчистки", ВидыРегистровДляОчистки);
|
||||
Контекст.Вставить("ИменаПростыхТипов", ИменаПростыхТиповПолейТаблиц());
|
||||
|
||||
ДобавитьУдаляемыеТипыПолейРегистров(Контекст, "РегистрыСведений");
|
||||
ДобавитьУдаляемыеТипыПолейРегистров(Контекст, "РегистрыНакопления");
|
||||
@@ -8817,6 +8826,20 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИменаПростыхТиповПолейТаблиц();
|
||||
|
||||
Имена = Новый Соответствие;
|
||||
Имена.Вставить(Тип("Число"), "Число");
|
||||
Имена.Вставить(Тип("Строка"), "Строка");
|
||||
Имена.Вставить(Тип("Дата"), "Дата");
|
||||
Имена.Вставить(Тип("Булево"), "Булево");
|
||||
Имена.Вставить(Тип("ХранилищеЗначения"), "ХранилищеЗначения");
|
||||
Имена.Вставить(Тип("УникальныйИдентификатор"), "УникальныйИдентификатор");
|
||||
|
||||
Возврат Имена;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для переопределения с помощью расширения при необходимости.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -8976,7 +8999,22 @@
|
||||
Иначе
|
||||
ИмяТаблицы = ИменаТаблицПоТипам.Получить(Тип);
|
||||
Если ИмяТаблицы = Неопределено Тогда
|
||||
ИмяТаблицы = Метаданные.НайтиПоТипу(Тип).ПолноеИмя();
|
||||
ИмяТаблицы = Контекст.ИменаПростыхТипов.Получить(Тип);
|
||||
Если ИмяТаблицы = Неопределено Тогда
|
||||
МетаданныеТаблицы = Метаданные.НайтиПоТипу(Тип);
|
||||
Если МетаданныеТаблицы = Неопределено Тогда
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалость найти объект метаданных по типу ""%1"" сокращаемый в поле ""%2"".'"),
|
||||
Строка(Тип), ПолноеИмяПоля);
|
||||
ЗаписьЖурналаРегистрации(
|
||||
НСтр("ru = 'Очистка устаревших данных.Ошибка при подготовке списка очищаемых таблиц'",
|
||||
ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
|
||||
Продолжить;
|
||||
Иначе
|
||||
ИмяТаблицы = МетаданныеТаблицы.ПолноеИмя();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ИменаТаблицПоТипам.Вставить(Тип, ИмяТаблицы);
|
||||
КонецЕсли;
|
||||
Если Тип = ТипИлиЗначение Тогда
|
||||
@@ -10261,6 +10299,17 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ВыводитьПроблемыСДанными() Экспорт
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтрольВеденияУчета") Тогда
|
||||
МодульКонтрольВеденияУчета = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчета");
|
||||
Возврат МодульКонтрольВеденияУчета.ПодсистемаДоступна();
|
||||
Иначе
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КоличествоПроблемСДанными() Экспорт
|
||||
|
||||
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтрольВеденияУчета")
|
||||
@@ -11247,6 +11296,7 @@
|
||||
|
||||
ПараметрыОтметкиКОбработке.Очередь = ОписаниеОбрабатываемыхДанных.Очередь;
|
||||
ПараметрыОтметкиКОбработке.ИмяОбработчика = ОписаниеОбрабатываемыхДанных.ИмяОбработчика;
|
||||
ПараметрыОтметкиКОбработке.ВерсияПодсистемыНаНачалоОбновления = ОписаниеОбрабатываемыхДанных.ВерсияПодсистемыНаНачалоОбновления;
|
||||
ПараметрыОтметкиКОбработке.Вставить("ДанныеОбработчика", Новый Соответствие);
|
||||
МногопоточныйРежим = ЭтоОписаниеДанныхМногопоточногоОбработчика(ОписаниеОбрабатываемыхДанных);
|
||||
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
// Если псевдоним не является ключом.
|
||||
|
||||
// Поиск ошибки доступности полей.
|
||||
Результат = НайтиОшибкуДоступностиРеквизитовОбъекта(ПолноеИмяОбъектаМетаданных, Реквизиты);
|
||||
Результат = ПроверитьСуществованиеРеквизитовОбъекта(ПолноеИмяОбъектаМетаданных, Реквизиты);
|
||||
Если Результат.Ошибка Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Неверный второй параметр %1 в функции %2: %3'"),
|
||||
@@ -358,7 +358,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
// Поиск ошибки доступности полей.
|
||||
Результат = НайтиОшибкуДоступностиРеквизитовОбъекта(ПолноеИмяОбъектаМетаданных, Реквизиты);
|
||||
Результат = ПроверитьСуществованиеРеквизитовОбъекта(ПолноеИмяОбъектаМетаданных, Реквизиты);
|
||||
Если Результат.Ошибка Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Неверный второй параметр %1 в функции %2: %3'"),
|
||||
@@ -385,6 +385,8 @@
|
||||
//
|
||||
// Если необходимо зачитать реквизит независимо от прав текущего пользователя,
|
||||
// то следует использовать предварительный переход в привилегированный режим.
|
||||
//
|
||||
// Если передано имя несуществующего реквизита, то вызывается исключение "Поле объекта не существует".
|
||||
//
|
||||
// Параметры:
|
||||
// Ссылка - ЛюбаяСсылка - объект, значения реквизитов которого необходимо получить.
|
||||
@@ -424,6 +426,8 @@
|
||||
// Если необходимо зачитать реквизит независимо от прав текущего пользователя,
|
||||
// то следует использовать предварительный переход в привилегированный режим.
|
||||
//
|
||||
// Если передано имя несуществующего реквизита, то вызывается исключение "Поле объекта не существует".
|
||||
//
|
||||
// Параметры:
|
||||
// Ссылки - Массив из ЛюбаяСсылка
|
||||
// - ФиксированныйМассив из ЛюбаяСсылка - ссылки на объекты.
|
||||
@@ -599,7 +603,7 @@
|
||||
// Поиск ошибки доступности полей.
|
||||
СписокОшибок = Новый Массив;
|
||||
Для Каждого ПолноеИмяОбъектаМетаданных Из ИменаОбъектовМетаданных Цикл
|
||||
Результат = НайтиОшибкуДоступностиРеквизитовОбъекта(ПолноеИмяОбъектаМетаданных, Реквизиты);
|
||||
Результат = ПроверитьСуществованиеРеквизитовОбъекта(ПолноеИмяОбъектаМетаданных, Реквизиты);
|
||||
Если Результат.Ошибка Тогда
|
||||
СписокОшибок.Добавить(Результат.ОписаниеОшибки);
|
||||
КонецЕсли;
|
||||
@@ -633,6 +637,8 @@
|
||||
//
|
||||
// Если необходимо зачитать реквизит независимо от прав текущего пользователя,
|
||||
// то следует использовать предварительный переход в привилегированный режим.
|
||||
//
|
||||
// Если передано имя несуществующего реквизита, то вызывается исключение "Поле объекта не существует".
|
||||
//
|
||||
// Параметры:
|
||||
// МассивСсылок - Массив из ЛюбаяСсылка
|
||||
@@ -669,6 +675,8 @@
|
||||
|
||||
// Добавляет или изменяет значение реквизита в объекте.
|
||||
//
|
||||
// Если передано имя несуществующего реквизита, то вызывается исключение.
|
||||
//
|
||||
// Параметры:
|
||||
// Объект - СправочникОбъект
|
||||
// - ДокументОбъект
|
||||
@@ -684,6 +692,8 @@
|
||||
|
||||
// Добавляет или изменяет значения реквизитов в объекте.
|
||||
//
|
||||
// Если передано имя несуществующего реквизита, то вызывается исключение.
|
||||
//
|
||||
// Параметры:
|
||||
// Объект - СправочникОбъект
|
||||
// - ДокументОбъект
|
||||
@@ -6841,7 +6851,7 @@
|
||||
|
||||
#Область ЗначенияРеквизитов
|
||||
|
||||
// Выполняет поиск проверяемых выражений среди реквизитов объекта метаданных.
|
||||
// Проверяет существование указанных реквизитов у объекта метаданных.
|
||||
//
|
||||
// Параметры:
|
||||
// ПолноеИмяОбъектаМетаданных - Строка - полное имя проверяемого объекта.
|
||||
@@ -6858,13 +6868,13 @@
|
||||
// Реквизиты.Добавить("Номер");
|
||||
// Реквизиты.Добавить("Валюта.НаименованиеПолное");
|
||||
//
|
||||
// Результат = ОбщегоНазначения.НайтиОшибкуДоступностиРеквизитовОбъекта("Документ._ДемоЗаказПокупателя", Реквизиты);
|
||||
// Результат = ОбщегоНазначения.ПроверитьСуществованиеРеквизитовОбъекта("Документ._ДемоЗаказПокупателя", Реквизиты);
|
||||
//
|
||||
// Если Результат.Ошибка Тогда
|
||||
// ВызватьИсключение Результат.ОписаниеОшибки;
|
||||
// КонецЕсли;
|
||||
//
|
||||
Функция НайтиОшибкуДоступностиРеквизитовОбъекта(ПолноеИмяОбъектаМетаданных, ПроверяемыеВыражения)
|
||||
Функция ПроверитьСуществованиеРеквизитовОбъекта(ПолноеИмяОбъектаМетаданных, ПроверяемыеВыражения)
|
||||
|
||||
МетаданныеОбъекта = ОбъектМетаданныхПоПолномуИмени(ПолноеИмяОбъектаМетаданных);
|
||||
Если МетаданныеОбъекта = Неопределено Тогда
|
||||
@@ -6898,7 +6908,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Используется в НайтиОшибкуДоступностиРеквизитовОбъекта.
|
||||
// Используется в ПроверитьСуществованиеРеквизитовОбъекта.
|
||||
// Выполняет проверку доступности поля проверяемого выражения в источнике оператора схемы запроса.
|
||||
//
|
||||
Функция ПолеИсточникаСхемыЗапросаДоступно(ИсточникОператора, ПроверяемоеВыражение)
|
||||
|
||||
@@ -696,36 +696,17 @@
|
||||
|
||||
ОписаниеНастройки = ОтчетыКлиентСервер.НайтиДоступнуюНастройку(
|
||||
КомпоновщикНастроек.Настройки, ЭлементОсновнойНастройки);
|
||||
// @skip-check query-in-loop - запрос к разным таблицам.
|
||||
УстановитьДоступныеЗначенияНастроек(Форма, Отчет, КомпоновщикНастроек, ЭлементПользовательскойНастройки, ЭлементОсновнойНастройки, ОписаниеНастройки);
|
||||
|
||||
СвойстваНастройки = СвойстваЭлементаПользовательскихНастроек(
|
||||
КомпоновщикНастроек, ЭлементПользовательскойНастройки, ЭлементОсновнойНастройки, ОписаниеНастройки);
|
||||
|
||||
// Механизмы расширения.
|
||||
ИнтеграцияПодсистемБСП.ПриОпределенииПараметровВыбораВариантыОтчетов(Неопределено, СвойстваНастройки);
|
||||
|
||||
// Глобальные настройки вывода типов.
|
||||
ОтчетыПереопределяемый.ПриОпределенииПараметровВыбора(Неопределено, СвойстваНастройки);
|
||||
|
||||
// Локальное переопределение для отчета.
|
||||
Если Форма.НастройкиОтчета.События.ПриОпределенииПараметровВыбора Тогда
|
||||
Отчет.ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки);
|
||||
КонецЕсли;
|
||||
|
||||
// Автоматическое заполнение.
|
||||
Если СвойстваНастройки.ЗапросЗначенийВыбора.Текст <> "" Тогда
|
||||
// @skip-check query-in-loop - запрос к разным таблицам.
|
||||
ДобавляемыеЗначения = СвойстваНастройки.ЗапросЗначенийВыбора.Выполнить().Выгрузить().ВыгрузитьКолонку(0);
|
||||
Для Каждого Элемент Из ДобавляемыеЗначения Цикл
|
||||
ОтчетыКлиентСервер.ДобавитьУникальноеЗначениеВСписок(
|
||||
СвойстваНастройки.ЗначенияДляВыбора, Элемент, Неопределено, Ложь);
|
||||
КонецЦикла;
|
||||
СвойстваНастройки.ЗначенияДляВыбора.СортироватьПоПредставлению(НаправлениеСортировки.Возр);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(СвойстваНастройки.ЗначенияДляВыбора) = Тип("СписокЗначений")
|
||||
И СвойстваНастройки.ЗначенияДляВыбора.Количество() > 0 Тогда
|
||||
ОписаниеНастройки.ДоступныеЗначения = СвойстваНастройки.ЗначенияДляВыбора;
|
||||
Если ТипЗнч(ЭлементОсновнойНастройки) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
|
||||
ОписаниеНастройки = КомпоновщикНастроек.Настройки.ДоступныеПоляОтбораЭлементовСтруктуры.НайтиПоле(ЭлементОсновнойНастройки.ЛевоеЗначение);
|
||||
Если ОписаниеНастройки <> Неопределено Тогда
|
||||
// @skip-check query-in-loop - запрос к разным таблицам.
|
||||
УстановитьДоступныеЗначенияНастроек(Форма, Отчет, КомпоновщикНастроек, ЭлементПользовательскойНастройки, ЭлементОсновнойНастройки, ОписаниеНастройки);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
@@ -3832,4 +3813,38 @@
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьДоступныеЗначенияНастроек(Форма, Отчет, КомпоновщикНастроек, ЭлементПользовательскойНастройки, ЭлементОсновнойНастройки, ОписаниеНастройки)
|
||||
|
||||
СвойстваНастройки = СвойстваЭлементаПользовательскихНастроек(
|
||||
КомпоновщикНастроек, ЭлементПользовательскойНастройки, ЭлементОсновнойНастройки, ОписаниеНастройки);
|
||||
|
||||
// Механизмы расширения.
|
||||
ИнтеграцияПодсистемБСП.ПриОпределенииПараметровВыбораВариантыОтчетов(Неопределено, СвойстваНастройки);
|
||||
|
||||
// Глобальные настройки вывода типов.
|
||||
ОтчетыПереопределяемый.ПриОпределенииПараметровВыбора(Неопределено, СвойстваНастройки);
|
||||
|
||||
// Локальное переопределение для отчета.
|
||||
Если Форма.НастройкиОтчета.События.ПриОпределенииПараметровВыбора Тогда
|
||||
Отчет.ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки);
|
||||
КонецЕсли;
|
||||
|
||||
// Автоматическое заполнение.
|
||||
Если СвойстваНастройки.ЗапросЗначенийВыбора.Текст <> "" Тогда
|
||||
// @skip-check query-in-loop - запрос к разным таблицам.
|
||||
ДобавляемыеЗначения = СвойстваНастройки.ЗапросЗначенийВыбора.Выполнить().Выгрузить().ВыгрузитьКолонку(0);
|
||||
Для Каждого Элемент Из ДобавляемыеЗначения Цикл
|
||||
ОтчетыКлиентСервер.ДобавитьУникальноеЗначениеВСписок(
|
||||
СвойстваНастройки.ЗначенияДляВыбора, Элемент, Неопределено, Ложь);
|
||||
КонецЦикла;
|
||||
СвойстваНастройки.ЗначенияДляВыбора.СортироватьПоПредставлению(НаправлениеСортировки.Возр);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(СвойстваНастройки.ЗначенияДляВыбора) = Тип("СписокЗначений")
|
||||
И СвойстваНастройки.ЗначенияДляВыбора.Количество() > 0 Тогда
|
||||
ОписаниеНастройки.ДоступныеЗначения = СвойстваНастройки.ЗначенияДляВыбора;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -22,20 +22,15 @@
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("НаборСсылок", МассивСсылок(ОбъединяемыеЭлементы));
|
||||
|
||||
ПараметрыОткрытияФормы = Новый Структура("Владелец, Уникальность, Окно, НавигационнаяСсылка, ОписаниеОповещенияОЗакрытии, РежимОткрытияОкна");
|
||||
ПараметрыОткрытияФормы = Новый Структура("Владелец,Уникальность,Окно,НавигационнаяСсылка,ОписаниеОповещенияОЗакрытии,РежимОткрытияОкна");
|
||||
Если ДополнительныеПараметры <> Неопределено Тогда
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыОткрытияФормы, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
|
||||
ОткрытьФорму(
|
||||
"Обработка.ЗаменаИОбъединениеЭлементов.Форма.ОбъединениеЭлементов",
|
||||
ПараметрыФормы,
|
||||
ПараметрыОткрытияФормы.Владелец,
|
||||
ПараметрыОткрытияФормы.Уникальность,
|
||||
ПараметрыОткрытияФормы.Окно,
|
||||
ПараметрыОткрытияФормы.НавигационнаяСсылка,
|
||||
ПараметрыОткрытияФормы.ОписаниеОповещенияОЗакрытии,
|
||||
ПараметрыОткрытияФормы.РежимОткрытияОкна);
|
||||
ОткрытьФорму("Обработка.ЗаменаИОбъединениеЭлементов.Форма.ОбъединениеЭлементов", ПараметрыФормы,
|
||||
ПараметрыОткрытияФормы.Владелец, ПараметрыОткрытияФормы.Уникальность,
|
||||
ПараметрыОткрытияФормы.Окно, ПараметрыОткрытияФормы.НавигационнаяСсылка,
|
||||
ПараметрыОткрытияФормы.ОписаниеОповещенияОЗакрытии, ПараметрыОткрытияФормы.РежимОткрытияОкна);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -52,22 +47,17 @@
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("НаборСсылок", МассивСсылок(ЗаменяемыеЭлементы));
|
||||
ПараметрыФормы.Вставить("ОткрытаПоСценарию");
|
||||
ПараметрыФормы.Вставить("ОткрытаПоСценарию", Истина);
|
||||
|
||||
ПараметрыОткрытияФормы = Новый Структура("Владелец, Уникальность, Окно, НавигационнаяСсылка, ОписаниеОповещенияОЗакрытии, РежимОткрытияОкна");
|
||||
ПараметрыОткрытияФормы = Новый Структура("Владелец,Уникальность,Окно,НавигационнаяСсылка,ОписаниеОповещенияОЗакрытии,РежимОткрытияОкна");
|
||||
Если ДополнительныеПараметры <> Неопределено Тогда
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыОткрытияФормы, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
|
||||
ОткрытьФорму(
|
||||
"Обработка.ЗаменаИОбъединениеЭлементов.Форма.ЗаменаЭлементов",
|
||||
ПараметрыФормы,
|
||||
ПараметрыОткрытияФормы.Владелец,
|
||||
ПараметрыОткрытияФормы.Уникальность,
|
||||
ПараметрыОткрытияФормы.Окно,
|
||||
ПараметрыОткрытияФормы.НавигационнаяСсылка,
|
||||
ПараметрыОткрытияФормы.ОписаниеОповещенияОЗакрытии,
|
||||
ПараметрыОткрытияФормы.РежимОткрытияОкна);
|
||||
ОткрытьФорму("Обработка.ЗаменаИОбъединениеЭлементов.Форма.ЗаменаЭлементов",
|
||||
ПараметрыФормы, ПараметрыОткрытияФормы.Владелец, ПараметрыОткрытияФормы.Уникальность,
|
||||
ПараметрыОткрытияФормы.Окно, ПараметрыОткрытияФормы.НавигационнаяСсылка,
|
||||
ПараметрыОткрытияФормы.ОписаниеОповещенияОЗакрытии, ПараметрыОткрытияФормы.РежимОткрытияОкна);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -80,8 +70,8 @@
|
||||
// - Массив из ЛюбаяСсылка
|
||||
// - СписокЗначений - список элементов для анализа.
|
||||
// Также можно передать произвольную коллекцию элементов с реквизитом "Ссылка".
|
||||
// ПараметрыОткрытия - Структура - параметры открытия формы. Состоит из необязательных полей.
|
||||
// Владелец, Уникальность, Окно, НавигационнаяСсылка, ОписаниеОповещенияОЗакрытии, РежимОткрытияОкна,
|
||||
// ПараметрыОткрытия - Структура - параметры открытия формы. Состоит из необязательных полей Владелец,
|
||||
// Уникальность, Окно, НавигационнаяСсылка, ОписаниеОповещенияОЗакрытии, РежимОткрытияОкна,
|
||||
// соответствующих параметрам функции ОткрытьФорму.
|
||||
//
|
||||
Процедура ПоказатьМестаИспользования(Знач Элементы, Знач ПараметрыОткрытия = Неопределено) Экспорт
|
||||
@@ -90,20 +80,15 @@
|
||||
ПараметрыФормы.Вставить("Отбор", Новый Структура);
|
||||
ПараметрыФормы.Отбор.Вставить("НаборСсылок", МассивСсылок(Элементы));
|
||||
|
||||
ПараметрыОткрытияФормы = Новый Структура("Владелец, Уникальность, Окно, НавигационнаяСсылка, ОписаниеОповещенияОЗакрытии, РежимОткрытияОкна");
|
||||
ПараметрыОткрытияФормы = Новый Структура("Владелец,Уникальность,Окно,НавигационнаяСсылка,ОписаниеОповещенияОЗакрытии,РежимОткрытияОкна");
|
||||
Если ПараметрыОткрытия <> Неопределено Тогда
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыОткрытияФормы, ПараметрыОткрытия);
|
||||
КонецЕсли;
|
||||
|
||||
ОткрытьФорму(
|
||||
"Отчет.МестаИспользованияСсылок.Форма",
|
||||
ПараметрыФормы,
|
||||
ПараметрыОткрытияФормы.Владелец,
|
||||
ПараметрыОткрытияФормы.Уникальность,
|
||||
ПараметрыОткрытияФормы.Окно,
|
||||
ПараметрыОткрытияФормы.НавигационнаяСсылка,
|
||||
ПараметрыОткрытияФормы.ОписаниеОповещенияОЗакрытии,
|
||||
ПараметрыОткрытияФормы.РежимОткрытияОкна);
|
||||
ОткрытьФорму("Отчет.МестаИспользованияСсылок.Форма", ПараметрыФормы,
|
||||
ПараметрыОткрытияФормы.Владелец, ПараметрыОткрытияФормы.Уникальность,
|
||||
ПараметрыОткрытияФормы.Окно, ПараметрыОткрытияФормы.НавигационнаяСсылка,
|
||||
ПараметрыОткрытияФормы.ОписаниеОповещенияОЗакрытии, ПараметрыОткрытияФормы.РежимОткрытияОкна);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -292,7 +292,7 @@
|
||||
|Защищенное соединение: %2
|
||||
|Таймаут: %3'"),
|
||||
ТекстОшибки,
|
||||
Формат(Соединение.Защищенное, НСтр("ru = 'БЛ=Нет; БИ=Да'")),
|
||||
Формат(Соединение.ЗащищенноеСоединение, НСтр("ru = 'БЛ=Нет; БИ=Да'")),
|
||||
Формат(Соединение.Таймаут, "ЧГ=0"));
|
||||
|
||||
ЗаписатьОшибкуВЖурналРегистрации(СообщениеОбОшибке);
|
||||
@@ -491,7 +491,7 @@
|
||||
|Таймаут: %3
|
||||
|Аутентификация ОС: %4'"),
|
||||
ТекстОшибки,
|
||||
Формат(Соединение.Защищенное, НСтр("ru = 'БЛ=Нет; БИ=Да'")),
|
||||
Формат(Соединение.ЗащищенноеСоединение, НСтр("ru = 'БЛ=Нет; БИ=Да'")),
|
||||
Формат(Соединение.Таймаут, "ЧГ=0"),
|
||||
Формат(Соединение.ИспользоватьАутентификациюОС, НСтр("ru = 'БЛ=Нет; БИ=Да'")));
|
||||
|
||||
|
||||
@@ -8138,10 +8138,6 @@
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Настройки = НастройкиВхода();
|
||||
Если Не ЗначениеЗаполнено(Настройки.Пользователи.ПросрочкаРаботыВПрограммеДоЗапрещенияВхода)
|
||||
И Не ЗначениеЗаполнено(Настройки.ВнешниеПользователи.ПросрочкаРаботыВПрограммеДоЗапрещенияВхода) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("ПустаяДата", '00010101');
|
||||
|
||||
@@ -721,11 +721,10 @@
|
||||
|
||||
Муниципальный = ?(ДополнительнаяИнформацияАдреса.Свойство("Муниципальный"), Булево(ДополнительнаяИнформацияАдреса.Муниципальный), Ложь);
|
||||
|
||||
Сведения = Новый Структура();
|
||||
Сведения.Вставить("Идентификатор", ИдентификаторАдреса);
|
||||
Сведения.Вставить("Муниципальный", Муниципальный);
|
||||
|
||||
МодульАдресныйКлассификаторСлужебный = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификаторСлужебный");
|
||||
Сведения = МодульАдресныйКлассификаторСлужебный.СведенияОбАдресномОбъекта(ИдентификаторАдреса);
|
||||
Сведения.Муниципальный = Муниципальный;
|
||||
|
||||
ПолученныеАдрес = МодульАдресныйКлассификаторСлужебный.АктуальныеАдресныеСведения(Сведения);
|
||||
|
||||
Если ПолученныеАдрес.Отказ Тогда
|
||||
|
||||
@@ -65,4 +65,22 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * ЗагруженныеДанные - Булево
|
||||
// * Идентификатор - УникальныйИдентификатор
|
||||
// * Муниципальный - Булево
|
||||
// * Адрес - Структура
|
||||
//
|
||||
Функция СведенияОбАдресномОбъекта() Экспорт
|
||||
|
||||
СведенияОбАдресе = Новый Структура;
|
||||
СведенияОбАдресе.Вставить("ЗагруженныеДанные", Ложь);
|
||||
СведенияОбАдресе.Вставить("Идентификатор", Новый УникальныйИдентификатор);
|
||||
СведенияОбАдресе.Вставить("Муниципальный", Ложь);
|
||||
СведенияОбАдресе.Вставить("Адрес", Новый Структура);
|
||||
|
||||
Возврат СведенияОбАдресе;
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1532,6 +1532,14 @@
|
||||
"НастройкиСканирования/ПутьКПрограммеКонвертации",
|
||||
ИдентификаторКлиента, ""); // ImageMagick
|
||||
|
||||
НастройкиСканированияПользователя.КаталогЖурналаСканирования = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
|
||||
"НастройкиСканирования/КаталогЖурналаСканирования",
|
||||
ИдентификаторКлиента, "");
|
||||
|
||||
НастройкиСканированияПользователя.ИспользоватьКаталогЖурналаСканирования = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
|
||||
"НастройкиСканирования/ИспользоватьКаталогЖурналаСканирования",
|
||||
ИдентификаторКлиента, Ложь);
|
||||
|
||||
Возврат НастройкиСканированияПользователя;
|
||||
КонецФункции
|
||||
|
||||
@@ -1572,6 +1580,10 @@
|
||||
НастройкиСканированияПользователя.СжатиеTIFF, ИдентификаторКлиента));
|
||||
МассивСтруктур.Добавить(СформироватьНастройку("ПутьКПрограммеКонвертации",
|
||||
НастройкиСканированияПользователя.ПутьКПрограммеКонвертации, ИдентификаторКлиента));
|
||||
МассивСтруктур.Добавить(СформироватьНастройку("КаталогЖурналаСканирования",
|
||||
НастройкиСканированияПользователя.КаталогЖурналаСканирования, ИдентификаторКлиента));
|
||||
МассивСтруктур.Добавить(СформироватьНастройку("ИспользоватьКаталогЖурналаСканирования",
|
||||
НастройкиСканированияПользователя.ИспользоватьКаталогЖурналаСканирования, ИдентификаторКлиента));
|
||||
|
||||
Если ЗначениеЗаполнено(НастройкиСканированияПользователя.ФорматХраненияОдностраничный) Тогда
|
||||
ФорматХраненияОдностраничный = НастройкиСканированияПользователя.ФорматХраненияОдностраничный;
|
||||
|
||||
@@ -713,38 +713,42 @@
|
||||
// * Разрешение - Число - разрешение DPI.
|
||||
// * Цветность - Число - принимает значения 0 (черно-белое), 1 (оттенки серого), 2 (цветное).
|
||||
// * Поворот - Число - угол поворота в градусах, допустимы значения 0, 90, 180, 270. Не все сканеры поддерживают эту настройку.
|
||||
// * РазмерБумаги - Число - не все сканеры поддерживают эту настройку. Принимает значения:
|
||||
// 0 - не задано
|
||||
// 11 - А3
|
||||
// 1 - А4
|
||||
// 5 - А5
|
||||
// 6 - B4
|
||||
// 2 - B5
|
||||
// 7 - B6
|
||||
// 14 - C4
|
||||
// 15 - C5
|
||||
// 16 - C6
|
||||
// 3 - USLetter
|
||||
// 4 - USLegal
|
||||
// 10 - USExecutive
|
||||
// * РазмерБумаги - Число - не все сканеры поддерживают эту настройку. Принимает значения
|
||||
// 0 - не задано
|
||||
// 11 - А3
|
||||
// 1 - А4
|
||||
// 5 - А5
|
||||
// 6 - B4
|
||||
// 2 - B5
|
||||
// 7 - B6
|
||||
// 14 - C4
|
||||
// 15 - C5
|
||||
// 16 - C6
|
||||
// 3 - USLetter
|
||||
// 4 - USLegal
|
||||
// 10 - USExecutive
|
||||
// * КачествоJPG - Число - для формата JPG передается качество (от 1 до 100, 100 - максимальное качество и
|
||||
// максимальный размер).
|
||||
// * СжатиеTIFF - Число - сжатие, значения:
|
||||
// 2 - LZW
|
||||
// 3 - CCITT3
|
||||
// 4 - CCITT4
|
||||
// 5 - RLE
|
||||
// 6 - без сжатия
|
||||
// * ДвустороннееСканирование - Булево - использовать двустороннее сканирование
|
||||
// * СжатиеTIFF - Число - сжатие:
|
||||
// 2 - LZW
|
||||
// 3 - CCITT3
|
||||
// 4 - CCITT4
|
||||
// 5 - RLE
|
||||
// 6 - без сжатия
|
||||
// * ДвустороннееСканирование - Булево - использовать двустороннее сканирование.
|
||||
// * СохранятьВPDF - Булево
|
||||
// * ИспользоватьImageMagickДляПреобразованияВPDF - Булево
|
||||
//
|
||||
Функция ПараметрыСканирования(Заполнить = Ложь) Экспорт
|
||||
ПараметрыСканирования = РаботаСФайламиСлужебныйКлиентСервер.ПараметрыСканирования();
|
||||
|
||||
СистемнаяИнформация = Новый СистемнаяИнформация();
|
||||
ИдентификаторКлиента = СистемнаяИнформация.ИдентификаторКлиента;
|
||||
ПараметрыСканирования = РаботаСФайламиСлужебныйВызовСервера.ПараметрыСканирования(Заполнить, ИдентификаторКлиента);
|
||||
Возврат ПараметрыСканирования;
|
||||
|
||||
Если Заполнить И ИдентификаторКлиента <> Неопределено Тогда
|
||||
РаботаСФайламиСлужебныйВызовСервера.ЗаполнитьНастройкиСканирования(ПараметрыСканирования, ИдентификаторКлиента);
|
||||
КонецЕсли;
|
||||
Возврат ПараметрыСканирования;
|
||||
КонецФункции
|
||||
|
||||
// Конструктор параметров добавления со сканера.
|
||||
@@ -1223,6 +1227,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РаботаСФайламиСлужебныйКлиент.ВключитьЛогированиеКомпоненты(РезультатПроверкиИнициализации.ПодключаемыйМодуль);
|
||||
|
||||
СистемнаяИнформация = Новый СистемнаяИнформация();
|
||||
ИдентификаторКлиента = СистемнаяИнформация.ИдентификаторКлиента;
|
||||
|
||||
@@ -1365,6 +1371,7 @@
|
||||
|
||||
Процедура ДоступнаКомандаСканироватьЗавершение(РезультатПроверкиИнициализации, ОповещениеРезультата) Экспорт
|
||||
КомпонентаПроинициализирована = РезультатПроверкиИнициализации.Подключено;
|
||||
РаботаСФайламиСлужебныйКлиент.ВключитьЛогированиеКомпоненты(РезультатПроверкиИнициализации.ПодключаемыйМодуль);
|
||||
ВыполнитьОбработкуОповещения(ОповещениеРезультата, КомпонентаПроинициализирована);
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -94,6 +94,8 @@
|
||||
НастройкиСканированияПользователя.Вставить("СжатиеTIFF");
|
||||
НастройкиСканированияПользователя.Вставить("ПутьКПрограммеКонвертации", "");
|
||||
НастройкиСканированияПользователя.Вставить("ФорматХраненияОдностраничный");
|
||||
НастройкиСканированияПользователя.Вставить("КаталогЖурналаСканирования");
|
||||
НастройкиСканированияПользователя.Вставить("ИспользоватьКаталогЖурналаСканирования", Ложь);
|
||||
Возврат НастройкиСканированияПользователя;
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -2739,6 +2739,14 @@
|
||||
|
||||
МодульЦентрМониторинга.ЗаписатьСтатистикуОбъектаКонфигурации("Справочник.УчетныеЗаписиСинхронизацииФайлов", Выборка.Количество());
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
КлючиНастроек = ХранилищеОбщихНастроек.ПолучитьСписок("НастройкиСканирования/ИмяУстройства");
|
||||
Для Каждого КлючНастройки Из КлючиНастроек Цикл
|
||||
ИмяУстройства = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
|
||||
"НастройкиСканирования/ИмяУстройства",
|
||||
КлючНастройки, "");
|
||||
МодульЦентрМониторинга.ЗаписатьСтатистикуОбъектаКонфигурации("СканированиеИзображений.Сканер." + ИмяУстройства, 1);
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ПользователиПереопределяемый.ПриОпределенииНазначенияРолей
|
||||
|
||||
@@ -779,28 +779,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыСканирования(Заполнить = Ложь, ИдентификаторКлиента = Неопределено) Экспорт
|
||||
ПараметрыСканирования = Новый Структура;
|
||||
ПараметрыСканирования.Вставить("ПоказыватьДиалог", Истина);
|
||||
ПараметрыСканирования.Вставить("ВыбранноеУстройство", "");
|
||||
ПараметрыСканирования.Вставить("ФорматКартинки", "png");
|
||||
ПараметрыСканирования.Вставить("Разрешение", 200);
|
||||
ПараметрыСканирования.Вставить("Цветность", 1);
|
||||
ПараметрыСканирования.Вставить("Поворот", 0);
|
||||
ПараметрыСканирования.Вставить("РазмерБумаги", 1);
|
||||
ПараметрыСканирования.Вставить("КачествоJPG", 100);
|
||||
ПараметрыСканирования.Вставить("СжатиеTIFF", 6);
|
||||
ПараметрыСканирования.Вставить("ДвустороннееСканирование", Ложь);
|
||||
ПараметрыСканирования.Вставить("СохранятьВPDF", Ложь);
|
||||
ПараметрыСканирования.Вставить("ИспользоватьImageMagickДляПреобразованияВPDF", Ложь);
|
||||
Процедура ЗаполнитьНастройкиСканирования(ПараметрыСканирования, ИдентификаторКлиента) Экспорт
|
||||
|
||||
Если Заполнить И ИдентификаторКлиента <> Неопределено Тогда
|
||||
НастройкиСканированияПользователя = РаботаСФайлами.ПолучитьНастройкиСканированияПользователя(ИдентификаторКлиента);
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыСканирования, НастройкиСканированияПользователя);
|
||||
КонецЕсли;
|
||||
НастройкиСканированияПользователя = РаботаСФайлами.ПолучитьНастройкиСканированияПользователя(ИдентификаторКлиента);
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыСканирования, НастройкиСканированияПользователя);
|
||||
|
||||
Возврат ПараметрыСканирования;
|
||||
КонецФункции
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьНастройкиСканированияПользователя(ИдентификаторКлиента) Экспорт
|
||||
Возврат РаботаСФайлами.ПолучитьНастройкиСканированияПользователя(ИдентификаторКлиента);
|
||||
@@ -3159,9 +3143,9 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Печать табличного документа со штампом электронной подписи.
|
||||
|
||||
Функция ТабличныйДокументСоШтампом(СсылкаНаФайл, Ссылка) Экспорт
|
||||
Функция ТабличныйДокументСоШтампом(Знач Файл) Экспорт
|
||||
|
||||
ДанныеФайла = РаботаСФайлами.ДанныеФайла(СсылкаНаФайл);
|
||||
ДанныеФайла = РаботаСФайлами.ДанныеФайла(Файл);
|
||||
ВременныйФайл = ПолучитьИмяВременногоФайла(".mxl");
|
||||
ДвоичныеДанные = ПолучитьИзВременногоХранилища(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла); // ДвоичныеДанные
|
||||
ДвоичныеДанные.Записать(ВременныйФайл);
|
||||
@@ -3177,9 +3161,8 @@
|
||||
ПараметрыШтампа.Вставить("ТекстОтметки", "");
|
||||
ПараметрыШтампа.Вставить("Логотип");
|
||||
|
||||
ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Ссылка);
|
||||
|
||||
ВладелецФайла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ВладелецФайла");
|
||||
ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Файл);
|
||||
ВладелецФайла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Файл, "ВладелецФайла");
|
||||
|
||||
СведенияОФайле = Новый Структура;
|
||||
СведенияОФайле.Вставить("ВладелецФайла", ВладелецФайла);
|
||||
@@ -3203,13 +3186,12 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Печать офисного документа со штампом электронной подписи.
|
||||
|
||||
Функция ОфисныйДокументСоШтампом(СсылкаНаФайл, Ссылка) Экспорт
|
||||
Функция ОфисныйДокументСоШтампом(Знач Файл) Экспорт
|
||||
|
||||
ДанныеФайла = РаботаСФайлами.ДанныеФайла(СсылкаНаФайл);
|
||||
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
|
||||
ДанныеФайла = РаботаСФайлами.ДанныеФайла(Файл);
|
||||
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
|
||||
ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Ссылка);
|
||||
|
||||
ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Файл);
|
||||
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
|
||||
МодульУправлениеПечатью.ДобавитьШтампыВОфисныйДокумент(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла, ЭлектронныеПодписи);
|
||||
|
||||
Возврат ДанныеФайла.СсылкаНаДвоичныеДанныеФайла;
|
||||
@@ -3224,7 +3206,7 @@
|
||||
// Возвращаемое значение:
|
||||
// Булево
|
||||
//
|
||||
Функция ПрисоединенныйФайлНаходитсяНаДиске(ПрисоединенныйФайл)
|
||||
Функция ПрисоединенныйФайлНаходитсяНаДиске(Знач ПрисоединенныйФайл)
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("РаботаСФайлами.ДвоичныеДанныеФайла", "ПрисоединенныйФайл",
|
||||
ПрисоединенныйФайл, Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип);
|
||||
@@ -3258,9 +3240,94 @@
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
Функция ОбъединитьИзображенияВTifФайл(Изображения) Экспорт
|
||||
Функция ОбъединитьИзображенияВTifФайл(Знач Изображения) Экспорт
|
||||
ОбрабатываемаяКартинка = Новый ОбрабатываемаяКартинка(Изображения, ФорматКартинки.TIFF);
|
||||
Возврат ОбрабатываемаяКартинка.ПолучитьКартинку();
|
||||
КонецФункции
|
||||
|
||||
Функция НачалоТекущегоСеанса() Экспорт
|
||||
Сеанс = ПолучитьТекущийСеансИнформационнойБазы();
|
||||
Возврат Сеанс.НачалоСеанса;
|
||||
КонецФункции
|
||||
|
||||
Функция ТехническаяИнформацияОВерсияхПодсистемИРасширениях() Экспорт
|
||||
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ВерсииПодсистем.ИмяПодсистемы КАК ИмяПодсистемы,
|
||||
| ВерсииПодсистем.Версия КАК Версия
|
||||
|ИЗ
|
||||
| РегистрСведений.ВерсииПодсистем КАК ВерсииПодсистем";
|
||||
ВерсииПодсистем = Запрос.Выполнить().Выбрать();
|
||||
|
||||
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = НСтр("ru = 'Версии подсистем'") + ":" + Символы.ПС;
|
||||
Пока ВерсииПодсистем.Следующий() Цикл
|
||||
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = ТехническаяИнформацияОВерсияхПодсистемИРасширениях
|
||||
+ ВерсииПодсистем.ИмяПодсистемы + " - "
|
||||
+ ВерсииПодсистем.Версия + Символы.ПС;
|
||||
КонецЦикла;
|
||||
|
||||
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = ТехническаяИнформацияОВерсияхПодсистемИРасширениях + Символы.ПС;
|
||||
|
||||
Расширения = РасширенияКонфигурации.Получить();
|
||||
Для Каждого Расширение Из Расширения Цикл
|
||||
|
||||
ТехническаяИнформацияОВерсияхПодсистемИРасширениях = ТехническаяИнформацияОВерсияхПодсистемИРасширениях
|
||||
+ Расширение.Имя + " - " + Расширение.Синоним + " - "
|
||||
+ Формат(Расширение.Активно, НСтр("ru = 'БЛ=Отключено; БИ=Включено'")) + Символы.ПС;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ТехническаяИнформацияОВерсияхПодсистемИРасширениях;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЖурналСканированияДляТехподдержки() Экспорт
|
||||
|
||||
СобытиеЖурналаСканирования = НСтр("ru='Сканирование изображений'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
СобытияОтбора = Новый Массив;
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "ПолучитьУстройства.Старт");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "ПолучитьУстройства.Результат");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "ПолучитьУстройства");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "ПолучитьНастройку.Старт");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "ПолучитьНастройку.Результат");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "ПолучитьНастройку");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "ЕстьУстройства.Старт");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "ЕстьУстройства.Результат");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "ЕстьУстройства");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "НачатьСканирование.Старт");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "НачатьСканирование.Результат");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "НачатьСканирование");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "Версия");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера.ImageAcquired");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера.EndBatch");
|
||||
СобытияОтбора.Добавить(СобытиеЖурналаСканирования + "." + "СобытиеСканера.UserPressedCancel");
|
||||
|
||||
Отбор = Новый Структура("Событие", СобытияОтбора);
|
||||
Отбор.Вставить("ДатаНачала", ТекущаяДатаСеанса() - 600);
|
||||
|
||||
Возврат ЖурналРегистрации.ЖурналДляТехподдержки(Отбор, 200, Новый УникальныйИдентификатор);
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыЛогирования(ИдентификаторКлиента) Экспорт
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ДатаНачалаЛогированияСканирования", ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования",
|
||||
"ДатаНачалаЛогированияСканирования", Дата(1,1,1)));
|
||||
Результат.Вставить("ИмяЛогФайла", ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования",
|
||||
"ИмяЛогФайла", Неопределено));
|
||||
Результат.Вставить("КаталогЖурналаСканирования",
|
||||
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиСканирования/КаталогЖурналаСканирования",
|
||||
ИдентификаторКлиента, Неопределено));
|
||||
Результат.Вставить("ИспользоватьКаталогЖурналаСканирования",
|
||||
ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("НастройкиСканирования/ИспользоватьКаталогЖурналаСканирования",
|
||||
ИдентификаторКлиента, Ложь));
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -881,7 +881,7 @@
|
||||
ИдентификаторКлиента = СистемнаяИнформация.ИдентификаторКлиента;
|
||||
|
||||
Если ПараметрыСканирования = Неопределено Тогда
|
||||
ПараметрыСканирования = РаботаСФайламиСлужебныйВызовСервера.ПараметрыСканирования(Истина, ИдентификаторКлиента);
|
||||
ПараметрыСканирования = РаботаСФайламиКлиент.ПараметрыСканирования(Истина);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыФормы = Новый Структура("ВладелецФайла, ЭтоФайл, НеОткрыватьКарточкуПослеСозданияИзФайла, ТолькоОдинФайл, ТипРезультата");
|
||||
@@ -10623,11 +10623,10 @@
|
||||
КонецФункции
|
||||
|
||||
// Возвращает устройства сканирования (массив строк).
|
||||
Функция ПолучитьУстройства(ПодключаемыйМодуль) Экспорт
|
||||
Функция ПолучитьУстройства(Форма, ПодключаемыйМодуль) Экспорт
|
||||
|
||||
Массив = Новый Массив;
|
||||
|
||||
СтрокаУстройств = ПодключаемыйМодуль.ПолучитьУстройства();
|
||||
СтрокаУстройств = ПодключенныеУстройства(Форма, ПодключаемыйМодуль);
|
||||
|
||||
Для Индекс = 1 По СтрЧислоСтрок(СтрокаУстройств) Цикл
|
||||
Строка = СтрПолучитьСтроку(СтрокаУстройств, Индекс);
|
||||
@@ -10638,31 +10637,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает настройку сканера по имени.
|
||||
//
|
||||
// Параметры:
|
||||
// ПодключаемыйМодуль - компонента сканирования
|
||||
// ИмяУстройства - Строка - имя сканера.
|
||||
// ИмяНастройки - Строка - имя настройки,
|
||||
// например "XRESOLUTION", или "PIXELTYPE", или "ROTATION", или "SUPPORTEDSIZES".
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Число - значение настройки сканера.
|
||||
//
|
||||
Функция ПолучитьНастройку(ПодключаемыйМодуль, ИмяУстройства, ИмяНастройки) Экспорт
|
||||
|
||||
Если Не ДоступноСканирование(Истина) Тогда
|
||||
Возврат -1;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
Возврат ПодключаемыйМодуль.ПолучитьНастройку(ИмяУстройства, ИмяНастройки);
|
||||
Исключение
|
||||
Возврат -1;
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Вспомогательные процедуры для поддержки асинхронной модели.
|
||||
//
|
||||
@@ -11001,10 +10975,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ГотовностьКСканированию(ПодключаемыйМодуль) Экспорт
|
||||
Если ПодключаемыйМодуль.ЕстьУстройства() Тогда
|
||||
Функция ГотовностьКСканированию(Форма, ПодключаемыйМодуль) Экспорт
|
||||
ЕстьУстройства = ЕстьУстройства(Форма, ПодключаемыйМодуль);
|
||||
|
||||
Если ЕстьУстройства Тогда
|
||||
Попытка
|
||||
ПодключаемыйМодуль.ПолучитьУстройства();
|
||||
ПодключенныеУстройства(Форма, ПодключаемыйМодуль);
|
||||
Возврат Истина;
|
||||
Исключение
|
||||
Возврат Ложь;
|
||||
@@ -11013,6 +10989,343 @@
|
||||
Возврат Ложь;
|
||||
КонецФункции
|
||||
|
||||
Функция ПодключенныеУстройства(Форма, ПодключаемыйМодуль)
|
||||
ЗаписатьЖурналСканирования("ПолучитьУстройства.Старт");
|
||||
Попытка
|
||||
ПодключенныеУстройства = ПодключаемыйМодуль.ПолучитьУстройства();
|
||||
ЗаписатьЖурналСканирования("ПолучитьУстройства.Результат",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("ПолучитьУстройства() = %1", ПодключенныеУстройства));
|
||||
Исключение
|
||||
ПодключенныеУстройства = "";
|
||||
ПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ЗаписатьЖурналСканирования("ПолучитьУстройства", ПредставлениеОшибки, Истина);
|
||||
ПоказатьОшибкуСканирования(ПодключаемыйМодуль, Форма, НСтр("ru='Не удалось получить список устройств'"), ПредставлениеОшибки);
|
||||
КонецПопытки;
|
||||
Возврат ПодключенныеУстройства;
|
||||
КонецФункции
|
||||
|
||||
// Возвращает настройку сканера по имени.
|
||||
//
|
||||
// Параметры:
|
||||
// ПодключаемыйМодуль - компонента сканирования
|
||||
// ИмяУстройства - Строка - имя сканера.
|
||||
// ИмяНастройки - Строка - имя настройки,
|
||||
// например "XRESOLUTION", или "PIXELTYPE", или "ROTATION", или "SUPPORTEDSIZES".
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Число - значение настройки сканера.
|
||||
//
|
||||
Функция НастройкаСканера(Форма, ПодключаемыйМодуль, ИмяУстройства, ИмяНастройки) Экспорт
|
||||
|
||||
Если Не ДоступноСканирование(Истина) Тогда
|
||||
Возврат -1;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
ЗаписатьЖурналСканирования("ПолучитьНастройку.Старт",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("ПолучитьНастройку(%1, %2)",
|
||||
ИмяУстройства, ИмяНастройки));
|
||||
ЗначениеНастройки = ПодключаемыйМодуль.ПолучитьНастройку(ИмяУстройства, ИмяНастройки);
|
||||
ЗаписатьЖурналСканирования("ПолучитьНастройку.Результат",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("ПолучитьНастройку(%1, %2) = %3",
|
||||
ИмяУстройства, ИмяНастройки, ЗначениеНастройки));
|
||||
|
||||
Возврат ЗначениеНастройки;
|
||||
Исключение
|
||||
ПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ЗаписатьЖурналСканирования("ПолучитьНастройку", ПредставлениеОшибки, Истина);
|
||||
ПоказатьОшибкуСканирования(ПодключаемыйМодуль, Форма, НСтр("ru='Не удалось получить настройки устройства.'"), ПредставлениеОшибки);
|
||||
Возврат -1;
|
||||
КонецПопытки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЕстьУстройства(Форма, ПодключаемыйМодуль) Экспорт
|
||||
ЗаписатьЖурналСканирования("ЕстьУстройства.Старт");
|
||||
Попытка
|
||||
ЕстьУстройства = ПодключаемыйМодуль.ЕстьУстройства();
|
||||
ЗаписатьЖурналСканирования("ЕстьУстройства.Результат",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("ЕстьУстройства() = %1", ЕстьУстройства));
|
||||
Исключение
|
||||
ПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ЗаписатьЖурналСканирования("ЕстьУстройства", ПредставлениеОшибки, Истина);
|
||||
ПоказатьОшибкуСканирования(ПодключаемыйМодуль, Форма, НСтр("ru='Не удалось проверить наличие устройств'"), ПредставлениеОшибки);
|
||||
ЕстьУстройства = Ложь;
|
||||
КонецПопытки;
|
||||
|
||||
Возврат ЕстьУстройства;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура НачатьСканирование(Форма, ПодключаемыйМодуль, ПараметрыСканирования) Экспорт
|
||||
|
||||
ПараметрСжатие = ?(ВРег(ФорматКартинки) = "JPG", ПараметрыСканирования.КачествоJPG, ПараметрыСканирования.СжатиеTIFF);
|
||||
ТекстСобытия = "НачатьСканирование" + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("(%1, %2, %3, %4, %5, %6, %7, %8, %9)",
|
||||
ПараметрыСканирования.ПоказыватьДиалог,
|
||||
ПараметрыСканирования.ВыбранноеУстройство,
|
||||
ПараметрыСканирования.ФорматКартинки,
|
||||
ПараметрыСканирования.Разрешение,
|
||||
ПараметрыСканирования.Цветность,
|
||||
ПараметрыСканирования.Поворот,
|
||||
ПараметрыСканирования.РазмерБумаги,
|
||||
ПараметрСжатие,
|
||||
ПараметрыСканирования.ДвустороннееСканирование);
|
||||
ЗаписатьЖурналСканирования("НачатьСканирование.Старт", ТекстСобытия);
|
||||
|
||||
Попытка
|
||||
ПодключаемыйМодуль.НачатьСканирование(
|
||||
ПараметрыСканирования.ПоказыватьДиалог,
|
||||
ПараметрыСканирования.ВыбранноеУстройство,
|
||||
ПараметрыСканирования.ФорматКартинки,
|
||||
ПараметрыСканирования.Разрешение,
|
||||
ПараметрыСканирования.Цветность,
|
||||
ПараметрыСканирования.Поворот,
|
||||
ПараметрыСканирования.РазмерБумаги,
|
||||
ПараметрСжатие,
|
||||
ПараметрыСканирования.ДвустороннееСканирование);
|
||||
ЗаписатьЖурналСканирования("НачатьСканирование.Результат", ТекстСобытия);
|
||||
Исключение
|
||||
ПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ЗаписатьЖурналСканирования("НачатьСканирование", ПредставлениеОшибки, Истина);
|
||||
ПоказатьОшибкуСканирования(ПодключаемыйМодуль, Форма, НСтр("ru='Не удалось отсканировать документ'"), ПредставлениеОшибки);
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВключитьЛогированиеКомпоненты(ПодключаемыйМодуль, Знач Перезапуск = Ложь) Экспорт
|
||||
СистемнаяИнформация = Новый СистемнаяИнформация();
|
||||
ИдентификаторКлиента = СистемнаяИнформация.ИдентификаторКлиента;
|
||||
ПараметрыЛогирования = РаботаСФайламиСлужебныйВызовСервера.ПараметрыЛогирования(ИдентификаторКлиента);
|
||||
|
||||
Если Не Перезапуск Тогда
|
||||
Перезапуск = ПараметрыЛогирования.ДатаНачалаЛогированияСканирования = Дата(1,1,1);
|
||||
КонецЕсли;
|
||||
|
||||
ИмяЛогФайла = ПараметрыЛогирования.ИмяЛогФайла;
|
||||
|
||||
Если Перезапуск И ИмяЛогФайла <> Неопределено Тогда
|
||||
ПодключаемыйМодуль.LogFilePath = "";
|
||||
ФайлЛога = Новый Файл(ИмяЛогФайла);
|
||||
Если ФайлЛога.Существует() Тогда
|
||||
УдалитьФайлы(ИмяЛогФайла);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КаталогЖурналаСканирования = ПараметрыЛогирования.КаталогЖурналаСканирования;
|
||||
ИспользоватьКаталогЖурналаСканирования = ПараметрыЛогирования.ИспользоватьКаталогЖурналаСканирования;
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("ПодключаемыйМодуль", ПодключаемыйМодуль);
|
||||
|
||||
ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов = Новый ОписаниеОповещения("ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов", ЭтотОбъект, Контекст);
|
||||
|
||||
Если ИспользоватьКаталогЖурналаСканирования И КаталогЖурналаСканирования <> Неопределено Тогда
|
||||
ВыполнитьОбработкуОповещения(ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов, КаталогЖурналаСканирования);
|
||||
Иначе
|
||||
ФайловаяСистемаКлиент.СоздатьВременныйКаталог(ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОповещениеПослеСозданияВременногоКаталогаДляПодключенияЛогФайлов(КаталогЖурналаСканирования, Контекст) Экспорт
|
||||
|
||||
ИмяЛогФайла = КаталогЖурналаСканирования + ПолучитьРазделительПути() + "ImageScan.log";
|
||||
ПодключаемыйМодуль = Контекст.ПодключаемыйМодуль;
|
||||
ПодключаемыйМодуль.LogFilePath = ИмяЛогФайла;
|
||||
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранить("КомпонентаСканирования", "ИмяЛогФайла", ИмяЛогФайла);
|
||||
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранить("КомпонентаСканирования", "ДатаНачалаЛогированияСканирования",
|
||||
ОбщегоНазначенияКлиент.ДатаСеанса());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьЖурналСканирования(Событие, Комментарий = "", ЭтоОшибка = Ложь) Экспорт
|
||||
|
||||
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
|
||||
НСтр("ru='Сканирование изображений'", ОбщегоНазначенияКлиент.КодОсновногоЯзыка()) + "." + Событие,
|
||||
?(ЭтоОшибка, "Ошибка", "Информация"), Комментарий,, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПоказатьОшибкуСканирования(ПодключаемыйМодуль, Форма, Заголовок, ПодробноеПредставлениеОшибки,
|
||||
ТекстОшибки = "", РежимТребуетсяПомощь = Ложь) Экспорт
|
||||
|
||||
ПараметрыОткрытияФормы = Новый Структура("Заголовок, ПодробноеПредставлениеОшибки",
|
||||
Заголовок, ПодробноеПредставлениеОшибки);
|
||||
ПараметрыОткрытияФормы.Вставить("ТекстОшибки", ТекстОшибки);
|
||||
ПараметрыОткрытияФормы.Вставить("ИмяУстройстваСканирования", Форма.ИмяУстройстваСканирования);
|
||||
|
||||
Контекст = Новый Структура("РежимТребуетсяПомощь", РежимТребуетсяПомощь);
|
||||
ПослеЗакрытияФормыОшибки = Новый ОписаниеОповещения("ПослеЗакрытияФормыОшибки", Форма, Контекст);
|
||||
ОткрытьФорму("Обработка.Сканирование.Форма.ОшибкаСканирования", ПараметрыОткрытияФормы, Форма,,,, ПослеЗакрытияФормыОшибки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция БылаОшибкаСканирования() Экспорт
|
||||
|
||||
ПараметрыЗаданияСканирования = ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования", "ПараметрыЗаданияСканирования", Неопределено);
|
||||
Возврат ПараметрыЗаданияСканирования <> Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УдалитьОшибкуСканирования(ПодключаемыйМодуль) Экспорт
|
||||
|
||||
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранить("КомпонентаСканирования", "ПараметрыЗаданияСканирования", Неопределено);
|
||||
ВключитьЛогированиеКомпоненты(ПодключаемыйМодуль, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПолучитьТехническуюИнформацию(ПодробноеПредставлениеОшибки, ОповещениеПослеПолученияТехническойИнформации = Неопределено) Экспорт
|
||||
Режим = РежимДиалогаВыбораФайла.Сохранение;
|
||||
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
|
||||
ДиалогОткрытияФайла.ПолноеИмяФайла = НСтр("ru='Техническая информация'");
|
||||
Фильтр = НСтр("ru = 'Отчет о проблеме'") + "(*.zip)|*.zip";
|
||||
ДиалогОткрытияФайла.Фильтр = Фильтр;
|
||||
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
|
||||
ДиалогОткрытияФайла.Заголовок = НСтр("ru='Сохранение технической информации о проблеме'");
|
||||
Если Не ДиалогОткрытияФайла.Выбрать() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
МассивФайлов = ДиалогОткрытияФайла.ВыбранныеФайлы;
|
||||
Если МассивФайлов.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Новый Структура();
|
||||
Контекст.Вставить("ПодробноеПредставлениеОшибки", ПодробноеПредставлениеОшибки);
|
||||
Контекст.Вставить("ОповещениеПослеПолученияТехническойИнформации", ОповещениеПослеПолученияТехническойИнформации);
|
||||
Контекст.Вставить("ИмяФайла", МассивФайлов[0]);
|
||||
ОповещениеПослеСозданияВременногоКаталогаДляЛогФайлов = Новый ОписаниеОповещения("ПослеСозданияВременногоКаталогаДляЛогФайлов", ЭтотОбъект, Контекст);
|
||||
ФайловаяСистемаКлиент.СоздатьВременныйКаталог(ОповещениеПослеСозданияВременногоКаталогаДляЛогФайлов);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеСозданияВременногоКаталогаДляЛогФайлов(ИмяКаталога, Контекст) Экспорт
|
||||
#Если Не ВебКлиент Тогда
|
||||
ПодробноеПредставлениеОшибки = Контекст.ПодробноеПредставлениеОшибки;
|
||||
ОповещениеПослеПолученияТехническойИнформации = Контекст.ОповещениеПослеПолученияТехническойИнформации;
|
||||
ИмяФайла = Контекст.ИмяФайла;
|
||||
|
||||
КаталогВременныхФайлов = ИмяКаталога + ПолучитьРазделительПути();
|
||||
|
||||
ФайлыДляУдаления = Новый Массив;
|
||||
ЗаписьZIP = Новый ЗаписьZipФайла(ИмяФайла);
|
||||
ИмяЛогФайла = ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекЗагрузить("КомпонентаСканирования", "ИмяЛогФайла");
|
||||
Если ИмяЛогФайла = Неопределено Тогда
|
||||
ЗаписатьЖурналСканирования("ФайлКомпоненты", НСтр("ru='Не задано имя файла журнала компоненты сканирования.'"), Истина);
|
||||
Иначе
|
||||
ЛогФайл = Новый Файл(ИмяЛогФайла);
|
||||
ИмяЛогФайлаДляСохранения = "";
|
||||
|
||||
Если ЛогФайл.Существует() Тогда
|
||||
ИмяЛогФайлаДляСохранения = КаталогВременныхФайлов + "ImageScan.log";
|
||||
ПереместитьФайл(ИмяЛогФайла, ИмяЛогФайлаДляСохранения);
|
||||
ЗаписьZIP.Добавить(ИмяЛогФайлаДляСохранения);
|
||||
Иначе
|
||||
ЗаписатьЖурналСканирования("ФайлКомпоненты", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Файл журнала компоненты сканирования не существует. %1'"),
|
||||
ИмяЛогФайла), Истина);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ФайлЖурнала = КаталогВременныхФайлов + "ЖурналРегистрации.xml";
|
||||
АдресЛогов = РаботаСФайламиСлужебныйВызовСервера.ЖурналСканированияДляТехподдержки();
|
||||
ДанныеЛогов = ПолучитьИзВременногоХранилища(АдресЛогов);
|
||||
ДанныеЛогов.Записать(ФайлЖурнала);
|
||||
ФайлыДляУдаления.Добавить(ФайлЖурнала);
|
||||
ЗаписьZIP.Добавить(ФайлЖурнала);
|
||||
|
||||
КонтекстИсходящий = Новый Структура;
|
||||
Контекст.Вставить("ПослеФормированияСводнойИнформации",
|
||||
Новый ОписаниеОповещения("ПослеФормированияСводнойИнформации", ЭтотОбъект, ЗаписьZIP));
|
||||
Контекст.Вставить("ФайлыДляУдаления", ФайлыДляУдаления);
|
||||
Контекст.Вставить("ПодробноеПредставлениеОшибки", ПодробноеПредставлениеОшибки);
|
||||
Контекст.Вставить("ОповещениеПослеПолученияТехническойИнформации", ОповещениеПослеПолученияТехническойИнформации);
|
||||
Контекст.Вставить("КаталогВременныхФайлов", КаталогВременныхФайлов);
|
||||
|
||||
СводнаяИнформация(Контекст);
|
||||
#КонецЕсли
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СводнаяИнформация(Контекст)
|
||||
Текст = НСтр("ru = 'Информация о компьютере:'") + Символы.ПС;
|
||||
|
||||
СисИнфо = Новый СистемнаяИнформация;
|
||||
ПрограммаПросмотра = СисИнфо.ИнформацияПрограммыПросмотра;
|
||||
|
||||
Если Не ПустаяСтрока(ПрограммаПросмотра) Тогда
|
||||
ПрограммаПросмотра = Символы.ПС + НСтр("ru = 'Программа просмотра:'") + " " + ПрограммаПросмотра;
|
||||
КонецЕсли;
|
||||
|
||||
Текст = Текст + НСтр("ru = 'Операционная система:'") + " " + СисИнфо.ВерсияОС
|
||||
+ Символы.ПС + НСтр("ru = 'Версия приложения:'") + " " + СисИнфо.ВерсияПриложения
|
||||
+ Символы.ПС + НСтр("ru = 'Тип платформы:'") + " " + СисИнфо.ТипПлатформы
|
||||
+ ПрограммаПросмотра + Символы.ПС;
|
||||
|
||||
Контекст.Вставить("СводнаяИнформация", Текст);
|
||||
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("СводнаяИнформацияПослеПолученияКомпоненты", ЭтотОбъект, Контекст);
|
||||
ПроинициализироватьКомпоненту(ОписаниеОповещения, Истина);
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СводнаяИнформацияПослеПолученияКомпоненты(РезультатИнициализации, Контекст) Экспорт
|
||||
СводнаяИнформация = Контекст.СводнаяИнформация;
|
||||
ИнформацияОКомпоненте = "";
|
||||
ПодключаемыйМодуль = Неопределено;
|
||||
Если РезультатИнициализации.Подключено Тогда
|
||||
Попытка
|
||||
ПодключаемыйМодуль = РезультатИнициализации.ПодключаемыйМодуль;
|
||||
ВерсияКомпоненты = ПодключаемыйМодуль.Версия();
|
||||
ИнформацияОКомпоненте = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Версия компоненты %1: %2'"), "ImageScan", ВерсияКомпоненты);
|
||||
Исключение
|
||||
ЗаписатьЖурналСканирования("Версия", ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), Истина);
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
СводнаяИнформация = СводнаяИнформация + Символы.ПС + ИнформацияОКомпоненте
|
||||
+ Символы.ПС + Символы.ПС + НСтр("ru='Техническая информация'") + ":"
|
||||
+ Символы.ПС + Контекст.ПодробноеПредставлениеОшибки
|
||||
+ Символы.ПС + Символы.ПС;
|
||||
|
||||
Если ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая() Тогда
|
||||
РежимРаботы = ?(ОбщегоНазначенияКлиент.КлиентПодключенЧерезВебСервер(),
|
||||
НСтр("ru = 'Файловый через веб'"), НСтр("ru = 'Файловый'"));
|
||||
Иначе
|
||||
РежимРаботы = НСтр("ru = 'Клиент-серверный'");
|
||||
КонецЕсли;
|
||||
|
||||
СводнаяИнформация = СводнаяИнформация + НСтр("ru = 'Режим работы информационной базы'")+ " - "
|
||||
+ РежимРаботы + Символы.ПС + РаботаСФайламиСлужебныйВызовСервера.ТехническаяИнформацияОВерсияхПодсистемИРасширениях() + Символы.ПС;
|
||||
|
||||
ИмяФайлаСводнойИнформации = Контекст.КаталогВременныхФайлов + "СводнаяИнформация.txt";
|
||||
ПолучитьДвоичныеДанныеИзСтроки(СводнаяИнформация).Записать(ИмяФайлаСводнойИнформации);
|
||||
|
||||
КонтекстЗавершения = Новый Структура;
|
||||
КонтекстЗавершения.Вставить("ИмяФайлаСводнойИнформации", ИмяФайлаСводнойИнформации);
|
||||
КонтекстЗавершения.Вставить("ФайлыДляУдаления", Контекст.ФайлыДляУдаления);
|
||||
КонтекстЗавершения.Вставить("ОповещениеПослеПолученияТехническойИнформации", Контекст.ОповещениеПослеПолученияТехническойИнформации);
|
||||
|
||||
УдалитьОшибкуСканирования(ПодключаемыйМодуль);
|
||||
ВыполнитьОбработкуОповещения(Контекст.ПослеФормированияСводнойИнформации, КонтекстЗавершения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеФормированияСводнойИнформации(Контекст, ЗаписьZIP) Экспорт
|
||||
ФайлыДляУдаления = Контекст.ФайлыДляУдаления;
|
||||
ЗаписьZIP.Добавить(Контекст.ИмяФайлаСводнойИнформации);
|
||||
ФайлыДляУдаления.Добавить(Контекст.ИмяФайлаСводнойИнформации);
|
||||
|
||||
ЗаписьZIP.Записать();
|
||||
Для Каждого ФайлДляУдаления Из ФайлыДляУдаления Цикл
|
||||
УдалитьФайлы(ФайлДляУдаления);
|
||||
КонецЦикла;
|
||||
|
||||
Если Контекст.ОповещениеПослеПолученияТехническойИнформации <> Неопределено Тогда
|
||||
ВыполнитьОбработкуОповещения(Контекст.ОповещениеПослеПолученияТехническойИнформации);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область УдалениеДанныхФайловИВерсий
|
||||
|
||||
Процедура УдалитьДанные(ОбработчикЗавершения, ФайлИлиВерсия, УникальныйИдентификатор) Экспорт
|
||||
|
||||
@@ -83,4 +83,8 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НачалоТекущегоСеанса() Экспорт
|
||||
Возврат РаботаСФайламиСлужебныйВызовСервера.НачалоТекущегоСеанса();
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -929,4 +929,23 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыСканирования() Экспорт
|
||||
|
||||
ПараметрыСканирования = Новый Структура;
|
||||
ПараметрыСканирования.Вставить("ПоказыватьДиалог", Истина);
|
||||
ПараметрыСканирования.Вставить("ВыбранноеУстройство", "");
|
||||
ПараметрыСканирования.Вставить("ФорматКартинки", "png");
|
||||
ПараметрыСканирования.Вставить("Разрешение", 200);
|
||||
ПараметрыСканирования.Вставить("Цветность", 1);
|
||||
ПараметрыСканирования.Вставить("Поворот", 0);
|
||||
ПараметрыСканирования.Вставить("РазмерБумаги", 1);
|
||||
ПараметрыСканирования.Вставить("КачествоJPG", 100);
|
||||
ПараметрыСканирования.Вставить("СжатиеTIFF", 6);
|
||||
ПараметрыСканирования.Вставить("ДвустороннееСканирование", Ложь);
|
||||
ПараметрыСканирования.Вставить("СохранятьВPDF", Ложь);
|
||||
ПараметрыСканирования.Вставить("ИспользоватьImageMagickДляПреобразованияВPDF", Ложь);
|
||||
Возврат ПараметрыСканирования;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -4437,8 +4437,21 @@
|
||||
КонецФункции
|
||||
|
||||
// Возвращает шаблон тела сообщения по умолчанию для доставки по электронной почте.
|
||||
Функция ШаблонТекста() Экспорт
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
|
||||
Функция ШаблонТекста(ВсеПараметрыТекстаПисьмаИФайлов = Неопределено) Экспорт
|
||||
|
||||
Если ВсеПараметрыТекстаПисьмаИФайлов <> Неопределено Тогда
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
|
||||
"ru = 'Сформированы отчеты:
|
||||
|
|
||||
|%1'"),
|
||||
"[" + ВсеПараметрыТекстаПисьмаИФайлов.СформированныеОтчеты + "]
|
||||
|
|
||||
|[" + ВсеПараметрыТекстаПисьмаИФайлов.СпособДоставки + "]
|
||||
|
|
||||
|[" + ВсеПараметрыТекстаПисьмаИФайлов.ЗаголовокСистемы + "]
|
||||
|[" + ВсеПараметрыТекстаПисьмаИФайлов.ДатаВыполнения + "(DLF='DD')]");
|
||||
Иначе
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
|
||||
"ru = 'Сформированы отчеты:
|
||||
|
|
||||
|%1'"),
|
||||
@@ -4447,7 +4460,9 @@
|
||||
|[СпособДоставки]
|
||||
|
|
||||
|[ЗаголовокСистемы]
|
||||
|[ДатаВыполнения(ДЛФ='DD')]");
|
||||
|[ДатаВыполнения(DLF='DD')]");
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьПериодИзПользовательскихНастроек(ПользовательскиеНастройкиКД) Экспорт
|
||||
|
||||
@@ -213,17 +213,27 @@
|
||||
КонецФункции
|
||||
|
||||
// Возвращает шаблон темы по умолчанию для доставки по электронной почте.
|
||||
Функция ШаблонТемы() Экспорт
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеРассылки]", "[ДатаВыполнения(ДЛФ='D')]");
|
||||
Функция ШаблонТемы(ВсеПараметрыТекстаПисьмаИФайлов = Неопределено) Экспорт
|
||||
Если ВсеПараметрыТекстаПисьмаИФайлов <> Неопределено Тогда
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[" + ВсеПараметрыТекстаПисьмаИФайлов.НаименованиеРассылки + "]",
|
||||
"[" + ВсеПараметрыТекстаПисьмаИФайлов.ДатаВыполнения + "(DLF='D')]");
|
||||
Иначе
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеРассылки]", "[ДатаВыполнения(DLF='D')]");
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
// Возвращает шаблон наименования архива по умолчанию.
|
||||
Функция ШаблонИмениАрхива() Экспорт
|
||||
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеРассылки]", "[ДатаВыполнения(ДФ='yyyy-MM-dd')]");
|
||||
|
||||
Функция ШаблонИмениАрхива(ВсеПараметрыТекстаПисьмаИФайлов = Неопределено) Экспорт
|
||||
Если ВсеПараметрыТекстаПисьмаИФайлов <> Неопределено Тогда
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[" + ВсеПараметрыТекстаПисьмаИФайлов.НаименованиеРассылки + "]",
|
||||
"[" + ВсеПараметрыТекстаПисьмаИФайлов.ДатаВыполнения + "(DF='yyyy-MM-dd')]");
|
||||
Иначе
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеРассылки]", "[ДатаВыполнения(DF='yyyy-MM-dd')]");
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
// Конструктор для значения параметра ПараметрыДоставки функции ВыполнитьРассылку.
|
||||
|
||||
@@ -74,4 +74,24 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыТекстаПисьмаИФайлов() Экспорт
|
||||
|
||||
ПараметрыРассылки = Новый Структура;
|
||||
|
||||
ПараметрыРассылки.Вставить("Получатель", НСтр("ru = 'Получатель'"));
|
||||
ПараметрыРассылки.Вставить("ДатаВыполнения", НСтр("ru = 'Дата выполнения'"));
|
||||
ПараметрыРассылки.Вставить("Автор", НСтр("ru = 'Автор'"));
|
||||
ПараметрыРассылки.Вставить("НаименованиеРассылки", НСтр("ru = 'Наименование рассылки'"));
|
||||
ПараметрыРассылки.Вставить("СформированныеОтчеты", НСтр("ru = 'Сформированные отчеты'"));
|
||||
ПараметрыРассылки.Вставить("ЗаголовокСистемы", НСтр("ru = 'Заголовок системы'"));
|
||||
ПараметрыРассылки.Вставить("СпособДоставки", НСтр("ru = 'Способ доставки'"));
|
||||
ПараметрыРассылки.Вставить("ФорматОтчета", НСтр("ru = 'Формат отчета'"));
|
||||
ПараметрыРассылки.Вставить("Период", НСтр("ru = 'Период'"));
|
||||
ПараметрыРассылки.Вставить("ДатаРассылки", НСтр("ru = 'Дата рассылки'"));
|
||||
ПараметрыРассылки.Вставить("НаименованиеОтчета", НСтр("ru = 'Наименование отчета'"));
|
||||
|
||||
Возврат ПараметрыРассылки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1052,6 +1052,7 @@
|
||||
// Если массив пуст, то результатом будет пустое соответствие.
|
||||
// Реквизиты - Массив из Строка
|
||||
// - ФиксированныйМассив из Строка - имена реквизитов в формате требований к свойствам структуры.
|
||||
// - Строка - имена реквизитов через запятую
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие из КлючИЗначение - список объектов и значений их реквизитов:
|
||||
@@ -1067,6 +1068,10 @@
|
||||
Возврат ЗначенияРеквизитов;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Реквизиты) = Тип("Строка") Тогда
|
||||
Реквизиты = СтрРазделить(Реквизиты, ",");
|
||||
КонецЕсли;
|
||||
|
||||
РеквизитыТипов = Новый Соответствие;
|
||||
СсылкиПоТипам = Новый Соответствие;
|
||||
Для Каждого Ссылка Из Ссылки Цикл
|
||||
@@ -1095,6 +1100,8 @@
|
||||
Для каждого СтандартныйРеквизит Из ОбъектМетаданных.СтандартныеРеквизиты Цикл
|
||||
СтандартныеРеквизиты[СтандартныйРеквизит.Имя] = Истина;
|
||||
КонецЦикла;
|
||||
СтандартныеРеквизиты["ВерсияДанных"] = Истина;
|
||||
|
||||
Для каждого ИмяРеквизита Из Реквизиты Цикл
|
||||
Если СтандартныеРеквизиты[ИмяРеквизита] <> Неопределено
|
||||
Или ОбъектМетаданных.Реквизиты.Найти(ИмяРеквизита) <> Неопределено Тогда
|
||||
|
||||
@@ -5415,7 +5415,7 @@
|
||||
|
||||
Функция БазовыеСведенияКонтактнойИнформации(КонтактнаяИнформация = Неопределено) Экспорт
|
||||
|
||||
Результат = УправлениеКонтактнойИнформациейКлиентСервер.БазовыеПоляКонтактнойИнформации();
|
||||
Результат = БазовыеПоляКонтактнойИнформации();
|
||||
Если КонтактнаяИнформация = Неопределено Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
@@ -5431,6 +5431,42 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * Представление - Строка
|
||||
// * ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации
|
||||
// - Неопределено
|
||||
// * Комментарий - Строка
|
||||
//
|
||||
Функция БазовыеПоляКонтактнойИнформации()
|
||||
|
||||
ПоляКонтактнойИнформации = Новый Структура;
|
||||
ПоляКонтактнойИнформации.Вставить("Представление", "");
|
||||
ПоляКонтактнойИнформации.Вставить("ТипКонтактнойИнформации", Неопределено);
|
||||
ПоляКонтактнойИнформации.Вставить("Комментарий", "");
|
||||
|
||||
Возврат ПоляКонтактнойИнформации;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура - поля контактной информации для преобразования:
|
||||
// * ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации
|
||||
// - Неопределено
|
||||
// * ДанныеXML - Строка
|
||||
// * Представление - Строка
|
||||
//
|
||||
Функция ПоляКонтактнойИнформацииДляПреобразования() Экспорт
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ТипКонтактнойИнформации", Неопределено);
|
||||
Результат.Вставить("ДанныеXML", "");
|
||||
Результат.Вставить("Представление", "");
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СоздатьЭлементыТабличнойЧасти(Знач Форма, Знач ИмяОбъекта, ИмяЭлементаДляРазмещения,
|
||||
Знач СтрокаКонтактнойИнформации, Знач ДанныеВидаКонтактнойИнформации)
|
||||
|
||||
|
||||
@@ -791,6 +791,7 @@
|
||||
ПараметрыОбновления.Вставить("ЭтоДобавлениеКомментария", Истина);
|
||||
ПараметрыОбновления.Вставить("ИмяЭлементаДляРазмещения", ДополнительныеПараметры.ИмяЭлементаДляРазмещения);
|
||||
ПараметрыОбновления.Вставить("ИмяРеквизита", ДополнительныеПараметры.ИмяЭлемента);
|
||||
ПараметрыОбновления.Вставить("ТипКонтактнойИнформации", СтрокаКонтактнойИнформации.Тип);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -313,42 +313,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * Представление - Строка
|
||||
// * ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации
|
||||
// - Неопределено
|
||||
// * Комментарий - Строка
|
||||
//
|
||||
Функция БазовыеПоляКонтактнойИнформации() Экспорт
|
||||
|
||||
ПоляКонтактнойИнформации = Новый Структура;
|
||||
ПоляКонтактнойИнформации.Вставить("Представление", "");
|
||||
ПоляКонтактнойИнформации.Вставить("ТипКонтактнойИнформации", Неопределено);
|
||||
ПоляКонтактнойИнформации.Вставить("Комментарий", "");
|
||||
|
||||
Возврат ПоляКонтактнойИнформации;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура - поля контактной информации для преобразования:
|
||||
// * ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации
|
||||
// - Неопределено
|
||||
// * ДанныеXML - Строка
|
||||
// * Представление - Строка
|
||||
//
|
||||
Функция ПоляКонтактнойИнформацииДляПреобразования() Экспорт
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ТипКонтактнойИнформации", Неопределено);
|
||||
Результат.Вставить("ДанныеXML", "");
|
||||
Результат.Вставить("Представление", "");
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТипКонтактнойИнформацииВСтроку(Знач ТипКонтактнойИнформации)
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
|
||||
@@ -906,7 +906,7 @@
|
||||
Комментарий = Неопределено;
|
||||
ТипКонтактнойИнформации = Неопределено;
|
||||
|
||||
Результат = УправлениеКонтактнойИнформациейКлиентСервер.ПоляКонтактнойИнформацииДляПреобразования();
|
||||
Результат = УправлениеКонтактнойИнформацией.ПоляКонтактнойИнформацииДляПреобразования();
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("ОбъектXDTO") Тогда
|
||||
XMLСтрока = КонтактнаяИнформацияXDTOВXML(Данные);
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@
|
||||
//
|
||||
Функция ПривестиКонтактнуюИнформациюXML(Знач Данные) Экспорт
|
||||
|
||||
Результат = УправлениеКонтактнойИнформациейКлиентСервер.ПоляКонтактнойИнформацииДляПреобразования();
|
||||
Результат = УправлениеКонтактнойИнформацией.ПоляКонтактнойИнформацииДляПреобразования();
|
||||
|
||||
Если УправлениеКонтактнойИнформациейСлужебныйПовтИсп.ДоступенМодульЛокализации() Тогда
|
||||
МодульУправлениеКонтактнойИнформациейЛокализация = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейЛокализация");
|
||||
|
||||
@@ -2745,7 +2745,9 @@
|
||||
|
||||
ПутьКДаннымРисунков = Новый Соответствие();
|
||||
Для Каждого Рисунок Из Макет.Рисунки Цикл
|
||||
ПутьКДаннымРисунков.Вставить(Рисунок.Имя, Рисунок.ПараметрРасшифровки);
|
||||
Если Рисунок.ТипРисунка <> ТипРисункаТабличногоДокумента.Группа Тогда
|
||||
ПутьКДаннымРисунков.Вставить(Рисунок.Имя, Рисунок.ПараметрРасшифровки);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ОбластиМакета = ОбластиМакета(Макет, ДанныеПечати);
|
||||
@@ -2811,6 +2813,9 @@
|
||||
ТабличныйДокумент.Вывести(ОбластьМакета);
|
||||
Для Индекс = ВыведеноРисунков По ТабличныйДокумент.Рисунки.Количество() - 1 Цикл
|
||||
Рисунок = ТабличныйДокумент.Рисунки[Индекс];
|
||||
Если Рисунок.ТипРисунка = ТипРисункаТабличногоДокумента.Группа Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Рисунок.ПараметрРасшифровки = ПутьКДаннымРисунков[Рисунок.Имя];
|
||||
Если Не ЗначениеЗаполнено(Рисунок.ПараметрРасшифровки) Тогда
|
||||
Продолжить;
|
||||
@@ -3922,7 +3927,9 @@
|
||||
|
||||
Тексты = Новый Соответствие;
|
||||
Для Каждого Рисунок Из Макет.Рисунки Цикл
|
||||
Тексты.Вставить(Рисунок.ПараметрРасшифровки, Истина);
|
||||
Если Рисунок.ТипРисунка <> ТипРисункаТабличногоДокумента.Группа Тогда
|
||||
Тексты.Вставить(Рисунок.ПараметрРасшифровки, Истина);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Элемент Из Тексты Цикл
|
||||
@@ -3949,7 +3956,7 @@
|
||||
Объекты = ОбъектыПечати.ВыгрузитьЗначения();
|
||||
ДанныеПечати = ДанныеПечати(Объекты, Поля, КодЯзыка);
|
||||
|
||||
Результат = Новый Соответствие();
|
||||
Результат = Новый Соответствие;
|
||||
|
||||
Для Каждого ОписаниеОбласти Из ОбъектыПечати Цикл
|
||||
Объект = ОписаниеОбласти.Значение;
|
||||
@@ -3995,6 +4002,10 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Рисунок.ТипРисунка = ТипРисункаТабличногоДокумента.Группа Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Рисунок.ПараметрРасшифровки) Тогда
|
||||
Картинка = КомплектПодписейИПечатей[Рисунок.ПараметрРасшифровки];
|
||||
Иначе
|
||||
@@ -5850,7 +5861,9 @@
|
||||
Тексты.Вставить(Строка(Макет.НижнийКолонтитул.ТекстСправа), Истина);
|
||||
|
||||
Для Каждого Рисунок Из Макет.Рисунки Цикл
|
||||
Тексты.Вставить(Рисунок.ПараметрРасшифровки, Истина);
|
||||
Если Рисунок.ТипРисунка <> ТипРисункаТабличногоДокумента.Группа Тогда
|
||||
Тексты.Вставить(Рисунок.ПараметрРасшифровки, Истина);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Область Из Макет.Области Цикл
|
||||
|
||||
@@ -1853,21 +1853,16 @@
|
||||
Запрос.УстановитьПараметр("ИдентификаторСообщения", Письмо.ИдентификаторСообщения);
|
||||
|
||||
НачалоВыполненияЗапроса = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
ВремяВыполненияЗапроса = Окр((ТекущаяУниверсальнаяДатаВМиллисекундах() - НачалоВыполненияЗапроса)/1000, 2);
|
||||
|
||||
Если ВремяВыполненияЗапроса > 1 Тогда
|
||||
|
||||
ТекстЗаписиЖурнала = СтрШаблон(НСтр("ru = 'Запрос по получению данных писем основания загружаемого письма выполнялся дольше %1 сек, это дольше ожидаемого.'"),
|
||||
ВремяВыполненияЗапроса);
|
||||
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(),
|
||||
УровеньЖурналаРегистрации.Информация,
|
||||
Письмо,
|
||||
ТекстЗаписиЖурнала);
|
||||
|
||||
ТекстЗаписиЖурнала = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Запрос по получению данных писем основания загружаемого письма выполнялся дольше %1 сек, это дольше ожидаемого.'"),
|
||||
ВремяВыполненияЗапроса);
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Информация,
|
||||
Письмо, ТекстЗаписиЖурнала);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
РеквизитСписокСостояние.Заголовок = НСтр("ru='Состояние оригинала'");
|
||||
РеквизитСписокСостояние.ПутьКДанным = Список.Имя + ".СостояниеОригиналаПервичногоДокумента";
|
||||
|
||||
Если Не УчетОригиналовПервичныхДокументовВызовСервера.ПраваНаИзменениеСостояния() Тогда
|
||||
Если Не ПраваНаИзменениеСостояния() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
Ключи = СтрокиСписка.ПолучитьКлючи(); // Массив из ДокументСсылка -
|
||||
Ссылки = Новый Массив;
|
||||
Для Каждого Ключ Из Ключи Цикл
|
||||
Ссылки.Добавить(Ключ.Ссылка);
|
||||
Ссылки.Добавить(Ключ);
|
||||
КонецЦикла;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
@@ -514,7 +514,7 @@
|
||||
// См. ПодключаемыеКомандыПереопределяемый.ПриОпределенииКомандПодключенныхКОбъекту.
|
||||
Процедура ПриОпределенииКомандПодключенныхКОбъекту(НастройкиФормы, Источники, ПодключенныеОтчетыИОбработки, Команды) Экспорт
|
||||
|
||||
Если Не УчетОригиналовПервичныхДокументовВызовСервера.ПраваНаИзменениеСостояния() Тогда
|
||||
Если Не ПраваНаИзменениеСостояния() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -596,7 +596,7 @@
|
||||
Команда.Обработчик = "УчетОригиналовПервичныхДокументовКлиент.Подключаемый_УстановитьСостояниеОригинала";
|
||||
КонецЕсли;
|
||||
|
||||
Наименование = Справочники.СостоянияОригиналовПервичныхДокументов.ОригиналПолучен.Наименование;
|
||||
Наименование = Строка(Справочники.СостоянияОригиналовПервичныхДокументов.ОригиналПолучен);
|
||||
|
||||
// Команда "Установить оригинал получен" на командой панели списка
|
||||
Команда = Команды.Добавить();
|
||||
@@ -616,8 +616,12 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Записывает новое состояние оригинала документа.
|
||||
//
|
||||
Функция ПраваНаИзменениеСостояния()
|
||||
|
||||
Возврат ПравоДоступа("Редактирование", Метаданные.РегистрыСведений.СостоянияОригиналовПервичныхДокументов);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// ДанныеЗаписи - Массив из см. УстановитьНовоеСостояниеОригиналаМассив.ДанныеЗаписи.
|
||||
// ИмяСостояния - Строка - устанавливаемое состояние.
|
||||
@@ -629,22 +633,19 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
ВыполнитьПроверкуПравДоступа("Редактирование", Метаданные.РегистрыСведений.СостоянияОригиналовПервичныхДокументов);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Если ТипЗнч(ДанныеЗаписи) = Тип("Массив") Тогда
|
||||
УстановитьНовоеСостояниеОригиналаМассив(ДанныеЗаписи, ИмяСостояния, Изменено);
|
||||
Иначе
|
||||
УстановитьНовоеСостояниеОригиналаСтруктура(ДанныеЗаписи, ИмяСостояния, Изменено);
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Записывает новое состояние оригинала документа.
|
||||
//
|
||||
// Параметры:
|
||||
// ДанныеЗаписи - Массив из Структура - массив содержащий данные об изменяемом состоянии оригинала:
|
||||
// ДанныеЗаписи - Массив из Структура - данные об изменяемом состоянии оригинала:
|
||||
// * ОбщееСостояние - Булево - Истина, если текущее состояние является общим;
|
||||
// * Ссылка - ДокументСсылка - ссылка на документ, для которого необходимо изменить состояние оригинала;
|
||||
// * СостояниеОригиналаПервичногоДокумента - СправочникСсылка.СостоянияОригиналовПервичныхДокументов -
|
||||
@@ -939,8 +940,9 @@
|
||||
МассивСсылокДляПроверки = Новый Массив;
|
||||
ОбъектыЗаписи = Новый Массив;
|
||||
Для Каждого Строка Из МассивСтрок Цикл
|
||||
Если ЭтоОбъектУчета(Строка.Ссылка) Тогда
|
||||
МассивСсылокДляПроверки.Добавить(Строка.Ссылка);
|
||||
Ссылка = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Строка,"Ссылка");
|
||||
Если ЭтоОбъектУчета(Ссылка) Тогда
|
||||
МассивСсылокДляПроверки.Добавить(Ссылка);
|
||||
ОбъектыЗаписи.Добавить(Строка);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -130,22 +130,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Проверяет и возвращает признак того, есть ли у текущего пользователя права на изменение состояния
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина, если у текущего пользователя есть права на изменение состояния оригинала.
|
||||
//
|
||||
Функция ПраваНаИзменениеСостояния() Экспорт
|
||||
|
||||
Если ПравоДоступа("Редактирование",Метаданные.РегистрыСведений.СостоянияОригиналовПервичныхДокументов)
|
||||
И ПравоДоступа("Изменение",Метаданные.РегистрыСведений.СостоянияОригиналовПервичныхДокументов) Тогда
|
||||
Возврат Истина
|
||||
Иначе
|
||||
Возврат Ложь
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает ключ записи регистра общего состояния оригинала документа по ссылке.
|
||||
//
|
||||
// Параметры:
|
||||
|
||||
@@ -16,15 +16,9 @@
|
||||
//
|
||||
Процедура Подключаемый_УстановитьСостояниеОригинала(Ссылка, Параметры) Экспорт
|
||||
|
||||
Если Не УчетОригиналовПервичныхДокументовВызовСервера.ПраваНаИзменениеСостояния() Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'У пользователя недостаточно прав на изменение состояния оригинала первичного документа'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Список = Параметры.Источник;
|
||||
|
||||
Если Список.ВыделенныеСтроки.Количество() = 0 Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Не выделено ни одного документа, для которого можно установить выбранное состояние'"));
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Не выделено ни одного документа, для которого можно установить выбранное состояние.'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -73,11 +67,6 @@
|
||||
// Список - ТаблицаФормы - список формы, в котором будет происходить изменение состояния.
|
||||
//
|
||||
Процедура УстановитьСостояниеОригинала(Команда, Форма, Список) Экспорт
|
||||
|
||||
Если Не УчетОригиналовПервичныхДокументовВызовСервера.ПраваНаИзменениеСостояния() Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'У пользователя недостаточно прав на изменение состояния оригинала первичного документа'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Список.ВыделенныеСтроки.Количество() = 0 Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Не выделено ни одного документа, для которого можно установить выбранное состояние'"));
|
||||
@@ -133,11 +122,6 @@
|
||||
// Если не задан, то элемент с именем "ДекорацияСостояниеОригинала".
|
||||
//
|
||||
Процедура ОткрытьМенюВыбораСостояния(Знач Форма, Знач Источник = Неопределено) Экспорт
|
||||
|
||||
Если Не УчетОригиналовПервичныхДокументовВызовСервера.ПраваНаИзменениеСостояния() Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'У пользователя недостаточно прав на изменение состояния оригинала первичного документа'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Источник) = Неопределено Тогда
|
||||
Источник = Форма.Элементы.Найти("ДекорацияСостояниеОригинала");
|
||||
@@ -149,7 +133,7 @@
|
||||
НепроведенныеДокументы = ОбщегоНазначенияВызовСервера.ПроверитьПроведенностьДокументов(
|
||||
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ДанныеЗаписи.Ссылка));
|
||||
Если НепроведенныеДокументы.Количество() = 1 Тогда
|
||||
ПоказатьПредупреждение(,НСтр("ru = 'Для выполнения команды предварительно проведите документ.'"));
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Для выполнения команды предварительно проведите документ.'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -257,11 +241,7 @@
|
||||
|
||||
Если ИмяПоля = "СостояниеОригиналаПервичногоДокумента" Или ИмяПоля = "СостояниеОригиналПолучен" Тогда
|
||||
СтандартнаяОбработка = Ложь;
|
||||
Если Не УчетОригиналовПервичныхДокументовВызовСервера.ПраваНаИзменениеСостояния() Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'У пользователя недостаточно прав на изменение состояния оригинала первичного документа'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Если УчетОригиналовПервичныхДокументовВызовСервера.ЭтоОбъектУчета(Список.ТекущиеДанные.Ссылка) Тогда
|
||||
Если УчетОригиналовПервичныхДокументовВызовСервера.ЭтоОбъектУчета(Список.ТекущиеДанные.Ссылка) Тогда
|
||||
Если ИмяПоля = "СостояниеОригиналаПервичногоДокумента" Тогда
|
||||
ОткрытьМенюВыбораСостояния(Форма, Список);
|
||||
ИначеЕсли ИмяПоля = "СостояниеОригиналПолучен" Тогда
|
||||
@@ -486,14 +466,15 @@
|
||||
//
|
||||
Процедура ОткрытьМенюВыбораСостоянияЗавершениеМассив(ВыбранноеСостояниеИзСписка, ДополнительныеПараметры)
|
||||
|
||||
Изменено = Ложь;
|
||||
Изменено = Ложь;
|
||||
Ссылка = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеПараметры[0], "Ссылка");
|
||||
|
||||
Если ВыбранноеСостояниеИзСписка.Значение = "УточнитьПоПечатнымФормам" Тогда
|
||||
ОткрытьФормуИзмененияСостоянийПечатныхФорм(ДополнительныеПараметры[0].Ссылка);
|
||||
ОткрытьФормуИзмененияСостоянийПечатныхФорм(Ссылка);
|
||||
Иначе
|
||||
УчетОригиналовПервичныхДокументовВызовСервера.УстановитьНовоеСостояниеОригинала(ДополнительныеПараметры,ВыбранноеСостояниеИзСписка.Значение, Изменено);
|
||||
УчетОригиналовПервичныхДокументовВызовСервера.УстановитьНовоеСостояниеОригинала(ДополнительныеПараметры, ВыбранноеСостояниеИзСписка.Значение, Изменено);
|
||||
Если Изменено Тогда
|
||||
ОповеститьПользователяОбУстановкеСостояний(1,ДополнительныеПараметры[0].Ссылка,ВыбранноеСостояниеИзСписка.Значение);
|
||||
ОповеститьПользователяОбУстановкеСостояний(1, Ссылка, ВыбранноеСостояниеИзСписка.Значение);
|
||||
Оповестить("ИзменениеСостоянияОригиналаПервичногоДокумента");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
@@ -518,7 +499,7 @@
|
||||
Если Изменено Тогда
|
||||
ОповеститьПользователяОбУстановкеСостояний(1,ДополнительныеПараметры.Ссылка,ВыбранноеСостояниеИзСписка.Значение);
|
||||
Оповестить("ИзменениеСостоянияОригиналаПервичногоДокумента");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -591,12 +591,17 @@
|
||||
// ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
|
||||
// ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина;
|
||||
// ПараметрыЗапускаПрограммы.ПолучитьПотокОшибок = Истина;
|
||||
// ПараметрыЗапускаПрограммы.Оповещение = Новый ОписаниеОповещения("ПриПолученииРезультатаЗапускаПрограммы", ЭтотОбъект);
|
||||
//
|
||||
// Результат = ФайловаяСистемаКлиент.ЗапуститьПрограмму("ping 127.0.0.1 -n 5", ПараметрыЗапускаПрограммы);
|
||||
//
|
||||
// КодВозврата = Результат.КодВозврата;
|
||||
// ПотокВывода = Результат.ПотокВывода;
|
||||
// ПотокОшибок = Результат.ПотокОшибок;
|
||||
// ФайловаяСистемаКлиент.ЗапуститьПрограмму("ping 127.0.0.1 -n 5", ПараметрыЗапускаПрограммы);
|
||||
//
|
||||
// Пример:
|
||||
// &НаКлиенте
|
||||
// Процедура ПриПолученииРезультатаЗапускаПрограммы(Результат, ДополнительныеПараметры) Экспорт
|
||||
// КодВозврата = Результат.КодВозврата;
|
||||
// ПотокВывода = Результат.ПотокВывода;
|
||||
// ПотокОшибок = Результат.ПотокОшибок;
|
||||
// КонецПроцедуры
|
||||
//
|
||||
Процедура ЗапуститьПрограмму(Знач КомандаЗапуска, Знач ПараметрыЗапускаПрограммы = Неопределено) Экспорт
|
||||
|
||||
|
||||
@@ -693,42 +693,65 @@
|
||||
ДатаПредупреждения = Неопределено;
|
||||
|
||||
// Сертификаты ЮЛ и ИП, выданные коммерческими АУЦ не действуют или не будут действовать.
|
||||
Если ДатаПрекращенияДействия <> Неопределено И Не ДанныеУдостоверяющегоЦентра.Государственный И Не ЭтоФизическоеЛицо И (НаДату >= ДатаПрекращенияДействия
|
||||
Или НаДату + 30*24*60*60 >= ДатаПрекращенияДействия И Не КонтекстПроверки.ЭтоПроверкаПодписи) Тогда
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Действует = (НаДату < ДатаПрекращенияДействия);
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ВозможенПеревыпуск = Истина;
|
||||
|
||||
Если НаДату < ДатаПрекращенияДействия Тогда
|
||||
Если ЭтоИндивидуальныйПредприниматель Тогда
|
||||
ТекстОшибки = НСтр(
|
||||
"ru = 'С %1 нельзя будет подписывать документы этим сертификатом, так как не будут действовать сертификаты, выданные коммерческими аккредитованными удостоверяющими центрами индивидуальным предпринимателям.'");
|
||||
Иначе
|
||||
ТекстОшибки = НСтр(
|
||||
"ru = 'С %1 нельзя будет подписывать документы этим сертификатом, так как не будут действовать сертификаты, выданные коммерческими аккредитованными удостоверяющими центрами юридическим лицам и их сотрудникам.'");
|
||||
Если Не ДанныеУдостоверяющегоЦентра.Государственный И Не ЭтоФизическоеЛицо Тогда
|
||||
|
||||
ДатаОкончанияВыдачиСертификатовСотрудниковКоммерческимиУЦ = ДатаОкончанияВыдачиСертификатовСотрудниковКоммерческимиУЦ();
|
||||
|
||||
Если СвойстваСертификата.ДатаНачала > КонецДня(ДатаОкончанияВыдачиСертификатовСотрудниковКоммерческимиУЦ) Тогда
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Действует = Ложь;
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ВозможенПеревыпуск = Ложь;
|
||||
|
||||
ТекстОшибки = НСтр(
|
||||
"ru = 'Сертификат не действует, так как выдан коммерческим аккредитованным удостоверяющим центром после %1.'");
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ТекстОшибки, Формат(ДатаОкончанияВыдачиСертификатовСотрудниковКоммерческимиУЦ, "ДЛФ=D"));
|
||||
|
||||
Если Не КонтекстПроверки.ЭтоПроверкаПодписи Тогда
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения = РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки;
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.Решение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Подайте <a href = ""%1"">заявление</a> на новый сертификат.'"), "ПодатьЗаявлениеНаСертификат");
|
||||
|
||||
КонецЕсли;
|
||||
ДатаПредупреждения = ДатаПрекращенияДействия;
|
||||
Иначе
|
||||
Если ЭтоИндивидуальныйПредприниматель Тогда
|
||||
ТекстОшибки = НСтр(
|
||||
"ru = 'Сертификат не действует c %1, так как с этой даты не действуют сертификаты, выданные коммерческими аккредитованными удостоверяющими центрами индивидуальным предпринимателям.'");
|
||||
|
||||
ИначеЕсли ДатаПрекращенияДействия <> Неопределено И НаДату >= ДатаПрекращенияДействия
|
||||
Или НаДату + 30*24*60*60 >= ДатаПрекращенияДействия И Не КонтекстПроверки.ЭтоПроверкаПодписи Тогда
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Действует = (НаДату < ДатаПрекращенияДействия);
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ВозможенПеревыпуск = Истина;
|
||||
|
||||
Если НаДату < ДатаПрекращенияДействия Тогда
|
||||
Если ЭтоИндивидуальныйПредприниматель Тогда
|
||||
ТекстОшибки = НСтр(
|
||||
"ru = 'С %1 нельзя будет подписывать документы этим сертификатом, так как не будут действовать сертификаты, выданные коммерческими аккредитованными удостоверяющими центрами индивидуальным предпринимателям.'");
|
||||
Иначе
|
||||
ТекстОшибки = НСтр(
|
||||
"ru = 'С %1 нельзя будет подписывать документы этим сертификатом, так как не будут действовать сертификаты, выданные коммерческими аккредитованными удостоверяющими центрами юридическим лицам и их сотрудникам.'");
|
||||
КонецЕсли;
|
||||
ДатаПредупреждения = ДатаПрекращенияДействия;
|
||||
Иначе
|
||||
ТекстОшибки = НСтр(
|
||||
"ru = 'Сертификат не действует c %1, так как с этой даты не действуют сертификаты, выданные коммерческими аккредитованными удостоверяющими центрами юридическим лицам и их сотрудникам.'");
|
||||
Если ЭтоИндивидуальныйПредприниматель Тогда
|
||||
ТекстОшибки = НСтр(
|
||||
"ru = 'Сертификат не действует c %1, так как с этой даты не действуют сертификаты, выданные коммерческими аккредитованными удостоверяющими центрами индивидуальным предпринимателям.'");
|
||||
Иначе
|
||||
ТекстОшибки = НСтр(
|
||||
"ru = 'Сертификат не действует c %1, так как с этой даты не действуют сертификаты, выданные коммерческими аккредитованными удостоверяющими центрами юридическим лицам и их сотрудникам.'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ТекстОшибки, Формат(ДатаПрекращенияДействия, "ДЛФ=D"));
|
||||
|
||||
Если Не КонтекстПроверки.ЭтоПроверкаПодписи Тогда
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения = РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки;
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.Решение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Подайте <a href = ""%1"">заявление</a> на новый сертификат.'"), "ПодатьЗаявлениеНаСертификат");
|
||||
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ТекстОшибки, Формат(ДатаПрекращенияДействия, "ДЛФ=D"));
|
||||
|
||||
Если Не КонтекстПроверки.ЭтоПроверкаПодписи Тогда
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения = РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки;
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.Решение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Подайте <a href = ""%1"">заявление</a> на новый сертификат.'"), "ПодатьЗаявлениеНаСертификат");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Не РезультатПроверкиУдостоверяющегоЦентра.Действует Или КонтекстПроверки.ЭтоПроверкаПодписи Тогда
|
||||
@@ -799,6 +822,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДатаОкончанияВыдачиСертификатовСотрудниковКоммерческимиУЦ()
|
||||
|
||||
Возврат Дата(2023, 08, 31);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СсылкаНаСтатьюОбУдостоверяющихЦентрах() Экспорт
|
||||
|
||||
Возврат "https://its.1c.ru/bmk/esig_uc";
|
||||
|
||||
@@ -89,7 +89,14 @@
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения("УстановитьСписокОтзываСертификатаПослеПодключенияКомпоненты",
|
||||
ЭтотОбъект, ПараметрыУстановкиСпискаОтзыва);
|
||||
ВыполнитьПослеПроверкиРасширенияИКомпоненты(Оповещение);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
|
||||
Если ЗначениеЗаполнено(ПараметрыУстановкиСпискаОтзыва.ТекстПояснения) Тогда
|
||||
Параметры.Вставить("ТекстПояснения", ПараметрыУстановкиСпискаОтзыва.ТекстПояснения);
|
||||
КонецЕсли;
|
||||
|
||||
ВыполнитьПослеПроверкиРасширенияИКомпоненты(Оповещение, Параметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -116,6 +123,7 @@
|
||||
// ## УстановкаВыполнена - Булево
|
||||
// ## Сообщение - сообщение о результате установки
|
||||
// * Форма - ФормаКлиентскогоПриложения - владелец формы установки
|
||||
// * ТекстПояснения - Строка - текст пояснения для установки компоненты.
|
||||
//
|
||||
Функция ПараметрыУстановкиСпискаОтзыва(Сертификат) Экспорт
|
||||
|
||||
@@ -125,6 +133,7 @@
|
||||
ПараметрыУстановкиСпискаОтзыва.Вставить("АдресВнутренний");
|
||||
ПараметрыУстановкиСпискаОтзыва.Вставить("ОповещениеОЗавершении");
|
||||
ПараметрыУстановкиСпискаОтзыва.Вставить("Форма");
|
||||
ПараметрыУстановкиСпискаОтзыва.Вставить("ТекстПояснения");
|
||||
|
||||
Возврат ПараметрыУстановкиСпискаОтзыва;
|
||||
|
||||
@@ -2030,6 +2039,9 @@
|
||||
ПараметрыУстановкиСпискаОтзыва.АдресВнутренний = АдресСпискаОтзываВнутренний.АдресВнутренний;
|
||||
ПараметрыУстановкиСпискаОтзыва.ОповещениеОЗавершении = Новый ОписаниеОповещения("ПроверитьСертификатПовторно",
|
||||
ЭтотОбъект, Контекст);
|
||||
ПараметрыУстановкиСпискаОтзыва.ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для проверки сертификата требуется установка списка отзыва с помощью внешней компоненты %1.'"),
|
||||
"ExtraCryptoAPI");
|
||||
УстановитьСписокОтзываСертификата(ПараметрыУстановкиСпискаОтзыва);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -2070,6 +2082,13 @@
|
||||
|
||||
ТекстПредыдущейОшибки = Контекст.ДействияДляУстраненияОшибок.Получить("УстановитьСписокОтзываСертификата");
|
||||
ПроверитьСертификатНаКлиентеПослеОшибкиПроверки(ТекстПредыдущейОшибки, Ложь, Контекст);
|
||||
|
||||
ТекстОшибкиУстановкиСпискаОтзыва = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось установить список отзыва при проверке сертификата: %1'"), Результат.Сообщение);
|
||||
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
|
||||
НСтр("ru = 'Электронная подпись.Обновление списков отзыва'", ОбщегоНазначенияКлиент.КодОсновногоЯзыка()),
|
||||
"Предупреждение", ТекстОшибкиУстановкиСпискаОтзыва,, Истина);
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2346,6 +2365,9 @@
|
||||
// - СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования - программа
|
||||
// для которой нужно создать и вернуть менеджер криптографии.
|
||||
// - Структура - см. ЭлектроннаяПодпись.НовоеОписаниеПрограммы
|
||||
// - ДвоичныеДанные - данные подписи или сертификата в кодировке DER для определения программы.
|
||||
// - Строка - адрес двоичных данных, описанных выше, во временном хранилище.
|
||||
//
|
||||
//
|
||||
// * ИнтерактивныйРежим - Булево - если Истина, тогда менеджер криптографии будет создан
|
||||
// в режиме использования интерактивного режима криптографии
|
||||
@@ -2858,7 +2880,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Асинх Функция ОбъектВнешнейКомпонентыExtraCryptoAPI(ПредложитьУстановить = Истина)
|
||||
Асинх Функция ОбъектВнешнейКомпонентыExtraCryptoAPI(ПредложитьУстановить = Истина, ТекстПояснения = Неопределено)
|
||||
|
||||
Если Не ОбщегоНазначенияКлиент.ЭтоWindowsКлиент()
|
||||
И Не ОбщегоНазначенияКлиент.ЭтоLinuxКлиент()
|
||||
@@ -2870,9 +2892,13 @@
|
||||
|
||||
ОписаниеКомпоненты = ЭлектроннаяПодписьСлужебныйКлиентСервер.ОписаниеКомпоненты();
|
||||
ПараметрыПодключения = ОбщегоНазначенияКлиент.ПараметрыПодключенияКомпоненты();
|
||||
ПараметрыПодключения.ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для упрощения работы с криптографией требуется установка внешней компоненты %1.'"),
|
||||
ОписаниеКомпоненты.ИмяОбъекта);
|
||||
Если ТекстПояснения = Неопределено Тогда
|
||||
ПараметрыПодключения.ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для упрощения работы с криптографией требуется установка внешней компоненты %1.'"),
|
||||
ОписаниеКомпоненты.ИмяОбъекта);
|
||||
Иначе
|
||||
ПараметрыПодключения.ТекстПояснения = ТекстПояснения;
|
||||
КонецЕсли;
|
||||
ПараметрыПодключения.ПредложитьУстановить = ПредложитьУстановить;
|
||||
ПараметрыПодключения.ПредложитьЗагрузить = Ложь;
|
||||
|
||||
@@ -2918,8 +2944,13 @@
|
||||
Результат = Новый Структура("Программа, Ошибка");
|
||||
|
||||
Если ОбъектКомпоненты = Неопределено Тогда
|
||||
|
||||
ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для получения данных о программе для работы с сертификатом электронной подписи требуется установка внешней компоненты %1.'"),
|
||||
"ExtraCryptoAPI");
|
||||
|
||||
Попытка
|
||||
ОбъектКомпоненты = Ждать ОбъектВнешнейКомпонентыExtraCryptoAPI(ПредложитьУстановить);
|
||||
ОбъектКомпоненты = Ждать ОбъектВнешнейКомпонентыExtraCryptoAPI(ПредложитьУстановить, ТекстПояснения);
|
||||
Исключение
|
||||
Результат.Ошибка = ТекстОшибкиНеУстановленаКомпонента();
|
||||
Возврат Результат;
|
||||
@@ -9076,10 +9107,16 @@
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("УстанавливатьРасширение", Истина);
|
||||
Контекст.Вставить("УстанавливатьКомпоненту", Истина);
|
||||
|
||||
Контекст.Вставить("ТекстПояснения");
|
||||
|
||||
Если ТипЗнч(Параметры) = Тип("Структура") Тогда
|
||||
ЗаполнитьЗначенияСвойств(Контекст, Параметры);
|
||||
КонецЕсли;
|
||||
|
||||
Если Контекст.ТекстПояснения = Неопределено Тогда
|
||||
Контекст.ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для выполнения требуется установка компоненты %1'"), "ExtraCryptoAPI")
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Вставить("Оповещение", Оповещение);
|
||||
|
||||
@@ -9123,8 +9160,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыПодключения = ОбщегоНазначенияКлиент.ПараметрыПодключенияКомпоненты();
|
||||
ПараметрыПодключения.ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для выполнения требуется установка компоненты %1'"), "ExtraCryptoAPI");
|
||||
ПараметрыПодключения.ТекстПояснения = Контекст.ТекстПояснения;
|
||||
ПараметрыПодключения.ПредложитьУстановить = Контекст.УстанавливатьКомпоненту;
|
||||
ПараметрыПодключения.ПредложитьЗагрузить = Контекст.УстанавливатьКомпоненту;
|
||||
ОписаниеКомпоненты = ЭлектроннаяПодписьСлужебныйКлиентСервер.ОписаниеКомпоненты();
|
||||
@@ -9322,7 +9358,14 @@
|
||||
КонецЕсли;
|
||||
|
||||
// Результат выполнения фонового задания.
|
||||
Результат = ПолучитьИзВременногоХранилища(РезультатВыполнения.АдресРезультата);
|
||||
Попытка
|
||||
Результат = ПолучитьИзВременногоХранилища(РезультатВыполнения.АдресРезультата);
|
||||
Исключение
|
||||
ТекстОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ОбработатьОшибкуУстановкиСпискаОтзыва(ТекстОшибки, Контекст);
|
||||
Возврат;
|
||||
КонецПопытки;
|
||||
|
||||
УдалитьИзВременногоХранилища(РезультатВыполнения.АдресРезультата);
|
||||
|
||||
Если ЗначениеЗаполнено(Результат.СообщениеОбОшибке) И Не ЗначениеЗаполнено(Результат.ДанныеФайла) Тогда
|
||||
@@ -9742,8 +9785,13 @@
|
||||
Результат.Вставить("Ошибка", "");
|
||||
|
||||
Если ОбъектКомпоненты = Неопределено Тогда
|
||||
|
||||
ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для получения данных об установленных программах для работы с электронной подписью требуется установка внешней компоненты %1.'"),
|
||||
"ExtraCryptoAPI");
|
||||
|
||||
Попытка
|
||||
ОбъектКомпоненты = Ждать ОбъектВнешнейКомпонентыExtraCryptoAPI(ПредложитьУстановить);
|
||||
ОбъектКомпоненты = Ждать ОбъектВнешнейКомпонентыExtraCryptoAPI(ПредложитьУстановить, ТекстПояснения);
|
||||
Исключение
|
||||
Результат.Ошибка = ТекстОшибкиНеУстановленаКомпонента();
|
||||
Возврат Результат;
|
||||
|
||||
@@ -1710,8 +1710,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
ДатаПодписиИзМетки = Дата(3999, 12, 31);
|
||||
Если ЗначениеЗаполнено(Подпись.НеподтвержденноеВремяПодписи) Тогда
|
||||
ПараметрыПодписи.НеподтвержденнаяДатаПодписи = Подпись.НеподтвержденноеВремяПодписи + ДобавкаВремени;
|
||||
Если ЗначениеЗаполнено(Подпись.НеподтвержденнаяДатаПодписи) Тогда
|
||||
ПараметрыПодписи.НеподтвержденнаяДатаПодписи = Подпись.НеподтвержденнаяДатаПодписи + ДобавкаВремени;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыПодписи.ТипПодписи = ТипПодписиКриптографии(Подпись.ТипПодписи);
|
||||
@@ -2461,12 +2461,32 @@
|
||||
|
||||
Представление = "";
|
||||
ЭлектроннаяПодписьКлиентСерверЛокализация.ПриПолученииПредставленияСубъекта(Сертификат, Представление);
|
||||
|
||||
Если ПустаяСтрока(Представление) Тогда
|
||||
|
||||
Субъект = СвойстваСубъектаСертификата(Сертификат);
|
||||
Если ЗначениеЗаполнено(Субъект.ОбщееИмя) Тогда
|
||||
|
||||
Если ЗначениеЗаполнено(Субъект.Фамилия) И ЗначениеЗаполнено(Субъект.Имя) Тогда
|
||||
Представление = Субъект.Фамилия + " " + Субъект.Имя;
|
||||
ИначеЕсли ЗначениеЗаполнено(Субъект.Фамилия) Тогда
|
||||
Представление = Субъект.Фамилия;
|
||||
ИначеЕсли ЗначениеЗаполнено(Субъект.Имя) Тогда
|
||||
Представление = Субъект.Имя;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Представление) Тогда
|
||||
Если ЗначениеЗаполнено(Субъект.Организация) Тогда
|
||||
Представление = Представление + ", " + Субъект.Организация;
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(Субъект.Подразделение) Тогда
|
||||
Представление = Представление + ", " + Субъект.Подразделение;
|
||||
КонецЕсли;
|
||||
ИначеЕсли ЗначениеЗаполнено(Субъект.ОбщееИмя) Тогда
|
||||
Представление = Субъект.ОбщееИмя;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Представление;
|
||||
|
||||
КонецФункции
|
||||
@@ -2603,6 +2623,14 @@
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Свойства, РасширенныеСвойства, Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(Свойства.Фамилия) И Субъект.Свойство("SN") Тогда
|
||||
Свойства.Фамилия = ПодготовитьСтроку(Субъект.SN);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(Свойства.Имя) И Субъект.Свойство("GN") Тогда
|
||||
Свойства.Имя = ПодготовитьСтроку(Субъект.GN);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Свойства;
|
||||
|
||||
КонецФункции
|
||||
@@ -3711,9 +3739,9 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АлгоритмСформированнойПодписи(ДанныеПодписи, ВключаяOID = Ложь, ТолькоOID = Ложь) Экспорт
|
||||
Функция АлгоритмСформированнойПодписи(ДанныеПодписи, ВключаяOID = Ложь, ТолькоOID = Ложь, АлгоритмПодписиНеСоответствуетГОСТ = Неопределено) Экспорт
|
||||
|
||||
Возврат АлгоритмПодписи(ДанныеПодписи, Ложь, ВключаяOID, ТолькоOID);
|
||||
Возврат АлгоритмПодписи(ДанныеПодписи, Ложь, ВключаяOID, ТолькоOID, АлгоритмПодписиНеСоответствуетГОСТ);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -3723,12 +3751,13 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АлгоритмПодписи(Данные, ЭтоДанныеСертификата = Неопределено, ВключаяOID = Ложь, ТолькоOID = Ложь)
|
||||
Функция АлгоритмПодписи(Данные, ЭтоДанныеСертификата, ВключаяOID = Ложь, ТолькоOID = Ложь, АлгоритмПодписиНеСоответствуетГОСТ = Неопределено)
|
||||
|
||||
ДвоичныеДанные = ДвоичныеДанныеИзДанных(Данные,
|
||||
"ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписи");
|
||||
|
||||
АнализДанных = НовыйАнализДанных(ДвоичныеДанные);
|
||||
OIDАлгоритмаХеширования = "";
|
||||
|
||||
Если ЭтоДанныеСертификата Тогда
|
||||
// SEQUENCE (Certificate).
|
||||
@@ -3754,6 +3783,7 @@
|
||||
// OBJECT IDENTIFIER (algorithm).
|
||||
ПропуститьНачалоБлока(АнализДанных, 0, 6);
|
||||
Иначе
|
||||
|
||||
// SEQUENCE (PKCS #7 ContentInfo).
|
||||
ПропуститьНачалоБлока(АнализДанных, 0, 16);
|
||||
// OBJECT IDENTIFIER (contentType).
|
||||
@@ -3783,8 +3813,13 @@
|
||||
ПропуститьБлок(АнализДанных, 0, 2);
|
||||
// SEQUENCE (issuerAndSerialNumber IssuerAndSerialNumber).
|
||||
ПропуститьБлок(АнализДанных, 0, 16);
|
||||
// SEQUENCE (digestAlgorithm DigestAlgorithmIdentifier).
|
||||
ПропуститьБлок(АнализДанных, 0, 16);
|
||||
// SEQUENCE (digestAlgorithm DigestAlgorithmIdentifier).
|
||||
ПропуститьНачалоБлока(АнализДанных, 0, 16);
|
||||
// OBJECT IDENTIFIER (algorithm).
|
||||
ПропуститьНачалоБлока(АнализДанных, 0, 6);
|
||||
OIDАлгоритмаХеширования = ПрочитанныйOID(АнализДанных);
|
||||
ПропуститьРодительскийБлок(АнализДанных); // OBJECT IDENTIFIER (algorithm)
|
||||
ПропуститьРодительскийБлок(АнализДанных); // SEQUENCE (digestAlgorithm DigestAlgorithmIdentifier).
|
||||
// [0]CS (authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL).
|
||||
ПропуститьБлок(АнализДанных, 2, 0, Ложь);
|
||||
// SEQUENCE (digestEncryptionAlgorithm AlgorithmIdentifier).
|
||||
@@ -3798,6 +3833,22 @@
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
СоответствующийOIDПодписи = АлгоритмПодписиСоответствующийАлгоритмуХешированияГОСТ(OIDАлгоритмаХеширования);
|
||||
Если СоответствующийOIDПодписи <> Неопределено И OIDАлгоритмаПодписи <> СоответствующийOIDПодписи Тогда
|
||||
|
||||
ИдентификаторыАлгоритмов = ИдентификаторыАлгоритмовПодписи(Ложь);
|
||||
АлгоритмНеправильный = АлгоритмПоOID(OIDАлгоритмаПодписи, ИдентификаторыАлгоритмов, Истина);
|
||||
АлгоритмПравильный = АлгоритмПоOID(СоответствующийOIDПодписи, ИдентификаторыАлгоритмов, Истина);
|
||||
|
||||
ИдентификаторыАлгоритмов = ИдентификаторыАлгоритмовХеширования();
|
||||
АлгоритмХеширования = АлгоритмПоOID(OIDАлгоритмаХеширования, ИдентификаторыАлгоритмов, Истина);
|
||||
|
||||
АлгоритмПодписиНеСоответствуетГОСТ = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Алгоритм %1, указанный в подписи, не соответствует стандарту, так как должен быть указан %2, соответствующий алгоритму хеширования %3.'"),
|
||||
АлгоритмНеправильный, АлгоритмПравильный, АлгоритмХеширования);
|
||||
OIDАлгоритмаПодписи = СоответствующийOIDПодписи;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТолькоOID Тогда
|
||||
Возврат OIDАлгоритмаПодписи;
|
||||
КонецЕсли;
|
||||
@@ -4616,6 +4667,20 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АлгоритмПодписиСоответствующийАлгоритмуХешированияГОСТ(АлгоритмХеширования)
|
||||
|
||||
Если Не ЗначениеЗаполнено(АлгоритмХеширования) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Соответствие = Новый Соответствие;
|
||||
Соответствие.Вставить("1.2.643.7.1.1.2.2", "1.2.643.7.1.1.1.1");
|
||||
Соответствие.Вставить("1.2.643.7.1.1.2.3", "1.2.643.7.1.1.1.2");
|
||||
|
||||
Возврат Соответствие.Получить(АлгоритмХеширования);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СертификатСуществует(СертификатКриптографии) Экспорт
|
||||
|
||||
Если СертификатКриптографии = Неопределено Тогда
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonTemplate xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6f3c5b90-b030-4267-a973-33d12c2c7680">
|
||||
<name>КомпонентаСканированияДокументов_3_1_0_1014</name>
|
||||
<name>КомпонентаСканированияДокументов_3_1_0_1018</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Компонента сканирования документов</value>
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f830cc56-4e44-41a9-8b17-1b1c3877f7f9">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="4b932d5e-2cdb-4dec-9c56-c0ffeaffafd6">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="4e8ca3ec-69a4-4fa3-8e00-003bf41afe93"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="094091ea-0a0a-4268-8de5-a92e2ccc3329"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="3bca20de-914f-408c-9cdf-5f15cb91f768"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f27b525f-0973-4699-8676-e1b8a8b2a181"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="00fc955b-bd78-4a9a-bd0c-3467e02fd9ed"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="74b97582-fd3b-4c85-88c4-bfc52ad549bc"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="e4ef0130-3edf-43de-8764-1b54c88bbb90"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="0a2e600b-f69c-43e8-8343-4881abe77bc6"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="ebbbf3a2-71c6-49ea-9e41-0e8065749ecc"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="2f729347-ab29-406f-8f81-256f0065b045"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="87b8e073-59ce-430d-8b67-9a06cc7c4c51"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="54926faf-6b8a-4b0c-8828-de40555d641c"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="71f0d9ac-54bf-480e-8b12-9b0ca7c017b6"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="d898ccb7-618e-48c6-ac4d-4cd1242bc07f"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>3.1.9.179</version>
|
||||
<version>3.1.9.199</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
@@ -857,13 +857,12 @@
|
||||
<commonTemplates>CommonTemplate.КомпонентаПечатиQRКода</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.КомпонентаПечатиШтрихкодов</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.КомпонентаПоискаСтрок</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.КомпонентаСканированияДокументов_3_1_0_1014</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.КомпонентаСканированияДокументов_3_1_0_1018</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.МакетШтемпеляЭЦПOfficeOpen</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.ПолучениеДереваОбработчиковОбновления</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.ПустойМакетDOCX</commonTemplates>
|
||||
<commonTemplates>CommonTemplate.СтруктураПодчиненности</commonTemplates>
|
||||
<filterCriteria>FilterCriterion.СвязанныеДокументы</filterCriteria>
|
||||
<filterCriteria>FilterCriterion.ФайлыВТоме</filterCriteria>
|
||||
<commonModules>CommonModule.GoogleПереводчик</commonModules>
|
||||
<commonModules>CommonModule.АвтономнаяРабота</commonModules>
|
||||
<commonModules>CommonModule.АвтономнаяРаботаСлужебный</commonModules>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,e44204a0-6217-4906-8681-6e266c451894,1,077892e1-be16-48cf-b148-d977aadc7dd7,"3.1.9.179","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7613,1,0,f830cc56-4e44-41a9-8b17-1b1c3877f7f9,f830cc56-4e44-41a9-8b17-1b1c3877f7f9,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,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,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,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,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,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-6754Line truncated
|
||||
{6,1,1,98ce37ff-fa99-411e-b324-45e5458ee046,1,e7f0dc50-68f1-4dfe-b306-c90516c7ce82,"3.1.9.199","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7612,1,0,4b932d5e-2cdb-4dec-9c56-c0ffeaffafd6,4b932d5e-2cdb-4dec-9c56-c0ffeaffafd6,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,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,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,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,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,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-6754Line truncated
|
||||
@@ -1945,7 +1945,7 @@
|
||||
Строка = СопоставленныеДанные.Получить(НомерСтроки - 1);
|
||||
|
||||
Ячейка = ТаблицаОтчет.ПолучитьОбласть(НомерСтроки + 1, 1, НомерСтроки + 1, 1);
|
||||
Ячейка.ТекущаяОбласть.Текст = Строка.РезультатСопоставленияСтроки;
|
||||
Ячейка.ТекущаяОбласть.Текст = ПредставлениеСтатусаЗагрузки(Строка.РезультатСопоставленияСтроки);
|
||||
Ячейка.ТекущаяОбласть.Расшифровка = Строка.ОбъектСопоставления;
|
||||
Ячейка.ТекущаяОбласть.Примечание.Текст = Строка.ОписаниеОшибки;
|
||||
Если Строка.РезультатСопоставленияСтроки = "Создан" Тогда
|
||||
@@ -2024,6 +2024,20 @@
|
||||
ТаблицаОтчет.ФиксацияСверху = 1;
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПредставлениеСтатусаЗагрузки(Статус)
|
||||
|
||||
Если Статус = "Создан" Тогда
|
||||
Возврат НСтр("ru = 'Создан'");
|
||||
ИначеЕсли Статус = "Обновлен" Тогда
|
||||
Возврат НСтр("ru = 'Обновлен'");
|
||||
ИначеЕсли Статус = "Пропущен" Тогда
|
||||
Возврат НСтр("ru = 'Пропущен'");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат "";
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
//////////////////// Функциональные опции ///////////////////////////////////////
|
||||
|
||||
@@ -2325,6 +2325,12 @@
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ОткрытаПоСценарию</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Не Параметры.Свойство("ОткрытаПоСценарию") Тогда
|
||||
Если Не Параметры.ОткрытаПоСценарию Тогда
|
||||
ВызватьИсключение НСтр("ru = 'Обработка не предназначена для непосредственного использования.'");
|
||||
КонецЕсли;
|
||||
|
||||
@@ -743,7 +743,7 @@
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ВозможныйКодСсылки(Знач Ссылка, КэшМетаданных)
|
||||
Функция КодОбъекта(Знач Ссылка, КэшМетаданных)
|
||||
|
||||
Мета = Ссылка.Метаданные();
|
||||
ЕстьКод = КэшМетаданных[Мета];
|
||||
@@ -757,7 +757,7 @@
|
||||
КэшМетаданных[Мета] = ЕстьКод;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ?(ЕстьКод, Ссылка.Код, Неопределено);
|
||||
Возврат ?(ЕстьКод, ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Код"), Неопределено);
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
@@ -825,7 +825,7 @@
|
||||
Запрос = Новый Запрос(ТекстЗапроса);
|
||||
Запрос.УстановитьПараметр("НаборСсылок", МассивСсылок);
|
||||
Если ЕстьВладельцы Тогда
|
||||
Запрос.УстановитьПараметр("Владелец", ЦелевойЭлемент.Владелец);
|
||||
Запрос.УстановитьПараметр("Владелец", ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЦелевойЭлемент, "Владелец"));
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Запрос.ВыполнитьПакет();
|
||||
@@ -968,7 +968,7 @@
|
||||
СтрокаДерева = КорневыеСтроки.Добавить();
|
||||
СтрокаДерева.Ссылка = Ссылка;
|
||||
СтрокаДерева.Данные = Строка(Ссылка);
|
||||
СтрокаДерева.Код = Строка( ВозможныйКодСсылки(Ссылка, КэшМетаданных) );
|
||||
СтрокаДерева.Код = Строка(КодОбъекта(Ссылка, КэшМетаданных));
|
||||
СтрокаДерева.Пиктограмма = -1;
|
||||
|
||||
ОшибкиПоСсылке = СтрокаДерева.ПолучитьЭлементы();
|
||||
@@ -1001,7 +1001,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаОшибки.ПодробнаяПричина = СтрокаРезультата.ТекстОшибки;
|
||||
КонецЦикла; // результаты замены
|
||||
КонецЦикла;
|
||||
|
||||
Возврат КорневыеСтроки.Количество() > 0;
|
||||
КонецФункции
|
||||
|
||||
+9
-8
@@ -18,7 +18,7 @@
|
||||
|
||||
ИнициализироватьОбъединяемыеСсылки(Параметры.НаборСсылок);
|
||||
|
||||
МетаданныеОбъекта = ОсновнойЭлемент.Ссылка.Метаданные();
|
||||
МетаданныеОбъекта = ОсновнойЭлемент.Метаданные();
|
||||
ЕстьПравоБезвозвратногоУдаления = ПравоДоступа("АдминистрированиеДанных", Метаданные)
|
||||
Или ПравоДоступа("ИнтерактивноеУдаление", МетаданныеОбъекта);
|
||||
СобытиеОповещенияОЗамене = Обработки.ЗаменаИОбъединениеЭлементов.СобытиеОповещенияОЗамене();
|
||||
@@ -1072,24 +1072,25 @@
|
||||
|
||||
МаксСсылка = Неопределено;
|
||||
МаксМест = -1;
|
||||
ПометкиУдаления = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(
|
||||
ТаблицаИспользования.ВыгрузитьКолонку("Ссылка"), "ПометкаУдаления");
|
||||
Для Каждого Строка Из ТаблицаИспользования Цикл
|
||||
Ссылка = Строка.Ссылка;
|
||||
|
||||
СтрокаИспользования = НовыеМестаИспользования.Найти(Ссылка, "Ссылка");
|
||||
СтрокаИспользования = НовыеМестаИспользования.Найти(Строка.Ссылка, "Ссылка");
|
||||
Если СтрокаИспользования = Неопределено Тогда
|
||||
СтрокаИспользования = НовыеМестаИспользования.Добавить();
|
||||
СтрокаИспользования.Ссылка = Ссылка;
|
||||
СтрокаИспользования.Ссылка = Строка.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Мест = Строка.Вхождения;
|
||||
Если Мест > МаксМест И Не Ссылка.ПометкаУдаления Тогда
|
||||
МаксСсылка = Ссылка;
|
||||
Если Мест > МаксМест И Не ПометкиУдаления[Строка.Ссылка] Тогда
|
||||
МаксСсылка = Строка.Ссылка;
|
||||
МаксМест = Мест;
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаИспользования.МестИспользования = Мест;
|
||||
СтрокаИспользования.Код = КодОбъекта(Ссылка, КэшМетаданных);
|
||||
СтрокаИспользования.Владелец = ВладелецОбъекта(Ссылка, КэшМетаданных);
|
||||
СтрокаИспользования.Код = КодОбъекта(Строка.Ссылка, КэшМетаданных);
|
||||
СтрокаИспользования.Владелец = ВладелецОбъекта(Строка.Ссылка, КэшМетаданных);
|
||||
|
||||
СтрокаИспользования.НеИспользуется = ?(Мест = 0, НСтр("ru = 'Не используется'"), "");
|
||||
КонецЦикла;
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
Функция ВерсияКалендарей() Экспорт
|
||||
|
||||
Возврат 61;
|
||||
Возврат 63;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
|
||||
|
||||
Возврат "3.1.9.157";
|
||||
Возврат "3.1.9.191";
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+7
-4
@@ -49,6 +49,9 @@
|
||||
<Item Calendar="01" Year="2023" DayType="Воскресенье" Date="20231006" SwapDate="20231001"/>
|
||||
<Item Calendar="01" Year="2024" DayType="Предпраздничный" Date="20240409" SwapDate=""/>
|
||||
<Item Calendar="01" Year="2024" DayType="Праздник" Date="20240410" SwapDate=""/>
|
||||
<Item Calendar="01" Year="2024" DayType="Суббота" Date="20240513" SwapDate="20240518"/>
|
||||
<Item Calendar="01" Year="2024" DayType="Праздник" Date="20240514" SwapDate=""/>
|
||||
<Item Calendar="01" Year="2024" DayType="Предпраздничный" Date="20240518" SwapDate="20240513"/>
|
||||
<Item Calendar="01" Year="2024" DayType="Праздник" Date="20240616" SwapDate="20240617"/>
|
||||
<Item Calendar="01" Year="2024" DayType="Воскресенье" Date="20240617" SwapDate="20240616"/>
|
||||
<Item Calendar="01" Year="2024" DayType="Предпраздничный" Date="20241004" SwapDate=""/>
|
||||
@@ -594,8 +597,7 @@
|
||||
<Item Calendar="16" Year="2023" DayType="Праздник" Date="20231106" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2024" DayType="Предпраздничный" Date="20240409" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2024" DayType="Праздник" Date="20240410" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2024" DayType="Праздник" Date="20240616" SwapDate="20240617"/>
|
||||
<Item Calendar="16" Year="2024" DayType="Воскресенье" Date="20240617" SwapDate="20240616"/>
|
||||
<Item Calendar="16" Year="2024" DayType="Праздник" Date="20240616" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2024" DayType="Предпраздничный" Date="20240829" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2024" DayType="Праздник" Date="20240830" SwapDate=""/>
|
||||
<Item Calendar="16" Year="2024" DayType="Предпраздничный" Date="20241105" SwapDate=""/>
|
||||
@@ -867,8 +869,9 @@
|
||||
<Item Calendar="75" Year="2022" DayType="Праздник" Date="20220202" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2023" DayType="Предпраздничный" Date="20230220" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2023" DayType="Праздник" Date="20230221" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2024" DayType="Праздник" Date="20240211" SwapDate="20240212"/>
|
||||
<Item Calendar="75" Year="2024" DayType="Воскресенье" Date="20240212" SwapDate="20240211"/>
|
||||
<Item Calendar="75" Year="2024" DayType="Предпраздничный" Date="20240209" SwapDate=""/>
|
||||
<Item Calendar="75" Year="2024" DayType="Праздник" Date="20240210" SwapDate="20240212"/>
|
||||
<Item Calendar="75" Year="2024" DayType="Суббота" Date="20240212" SwapDate="20240210"/>
|
||||
<Item Calendar="85" Year="2016" DayType="Предпраздничный" Date="20160208" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2016" DayType="Праздник" Date="20160209" SwapDate=""/>
|
||||
<Item Calendar="85" Year="2017" DayType="Праздник" Date="20170227" SwapDate=""/>
|
||||
|
||||
+6
-10
@@ -242,24 +242,20 @@
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
|
||||
АдминистраторИБ.ИдентификаторПользователяИБ);
|
||||
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(АдминистраторИБ, "ИдентификаторПользователяИБ"));
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ИмяПользователяИнформационнойБазы(Знач Пользователь)
|
||||
|
||||
Если ЗначениеЗаполнено(Пользователь) Тогда
|
||||
|
||||
ИдентификаторПользователяИБ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователь, "ИдентификаторПользователяИБ");
|
||||
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ИдентификаторПользователяИБ);
|
||||
Возврат ПользовательИБ.Имя;
|
||||
|
||||
Иначе
|
||||
|
||||
Если Не ЗначениеЗаполнено(Пользователь) Тогда
|
||||
Возврат "";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИдентификаторПользователяИБ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователь, "ИдентификаторПользователяИБ");
|
||||
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ИдентификаторПользователяИБ);
|
||||
Возврат ПользовательИБ.Имя;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+1
-1
@@ -533,7 +533,6 @@
|
||||
<name>ОбработчикиСНизкимПриоритетомКоманднаяПанель</name>
|
||||
<id>37</id>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<searchStringAddition>
|
||||
<name>ОбработчикиСНизкимПриоритетомСтрокаПоиска</name>
|
||||
@@ -673,6 +672,7 @@
|
||||
<scrollOnCompress>false</scrollOnCompress>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>false</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
|
||||
@@ -877,6 +877,38 @@
|
||||
| И Изменяемые.Порядок <> ЗНАЧЕНИЕ(Перечисление.ПорядокОбработчиковОбновления.Критичный))
|
||||
| ИЛИ (Читаемые.Порядок = ЗНАЧЕНИЕ(Перечисление.ПорядокОбработчиковОбновления.Обычный)
|
||||
| И Изменяемые.Порядок = ЗНАЧЕНИЕ(Перечисление.ПорядокОбработчиковОбновления.Некритичный))
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ЧтениеНизкогоПорядка.Читатель КАК Читатель,
|
||||
| ЧтениеНизкогоПорядка.ОбъектМетаданных КАК ОбъектМетаданных,
|
||||
| ЧтениеНизкогоПорядка.ПорядокЧитатель КАК ПорядокЧитатель,
|
||||
| ЧтениеНизкогоПорядка.ПорядокПисатель КАК ПорядокПисатель,
|
||||
| ЧтениеНизкогоПорядка.ПорядокЧитатель.Порядок КАК ЧислоПорядокЧитатель,
|
||||
| ЧтениеНизкогоПорядка.ПорядокПисатель.Порядок КАК ЧислоПорядокПисатель,
|
||||
| Приоритеты.Порядок КАК ПриоритетыПорядок,
|
||||
| ЧтениеНизкогоПорядка.Писатель КАК Писатель,
|
||||
| ОбработчикиЧитатели.ИмяОбъекта КАК ОбъектЧитатель,
|
||||
| ОбработчикиПисатели.ИмяОбъекта КАК ОбъектПисатель,
|
||||
| ЧтениеНизкогоПорядка.ПроцедураЧитатель КАК ПроцедураЧитатель,
|
||||
| ЧтениеНизкогоПорядка.ПроцедураПисатель КАК ПроцедураПисатель
|
||||
|ПОМЕСТИТЬ втВтЧтениеНизкогоПорядкаСФильтромПоПриоритету
|
||||
|ИЗ
|
||||
| ВтЧтениеНизкогоПорядка КАК ЧтениеНизкогоПорядка
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ НовыеПриоритеты КАК Приоритеты
|
||||
| ПО ЧтениеНизкогоПорядка.Читатель = Приоритеты.ОбработчикПисатель
|
||||
| И ЧтениеНизкогоПорядка.Писатель = Приоритеты.ОбработчикЧитательИлиПисатель2
|
||||
|
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Обработчики КАК ОбработчикиЧитатели
|
||||
| ПО ЧтениеНизкогоПорядка.Читатель = ОбработчикиЧитатели.Ссылка
|
||||
|
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Обработчики КАК ОбработчикиПисатели
|
||||
| ПО ЧтениеНизкогоПорядка.Писатель = ОбработчикиПисатели.Ссылка
|
||||
|ГДЕ
|
||||
| НЕ (ОбработчикиЧитатели.ИмяОбъекта = ОбработчикиПисатели.ИмяОбъекта
|
||||
| И ЧтениеНизкогоПорядка.ПорядокЧитатель.Порядок < ЧтениеНизкогоПорядка.ПорядокПисатель.Порядок
|
||||
| И Приоритеты.Порядок = ""До"")
|
||||
|";
|
||||
#КонецОбласти
|
||||
|
||||
@@ -909,7 +941,7 @@
|
||||
| ИСТИНА КАК ЗаданПорядокВыполнения,
|
||||
| ИСТИНА КАК ЧтениеНизкогоПорядка
|
||||
| ИЗ
|
||||
| ВтЧтениеНизкогоПорядка КАК ЧтениеНизкогоПорядка) КАК Проблемы
|
||||
| втВтЧтениеНизкогоПорядкаСФильтромПоПриоритету КАК ЧтениеНизкогоПорядка) КАК Проблемы
|
||||
|
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| Проблемы.Обработчик
|
||||
@@ -925,11 +957,17 @@
|
||||
| ЧтениеНизкогоПорядка.ОбъектМетаданных КАК ОбъектМетаданных,
|
||||
| ЧтениеНизкогоПорядка.ПорядокЧитатель КАК ПорядокЧитатель,
|
||||
| ЧтениеНизкогоПорядка.ПорядокПисатель КАК ПорядокПисатель,
|
||||
| ЧтениеНизкогоПорядка.ПорядокЧитатель.Порядок КАК ЧислоПорядокЧитатель,
|
||||
| ЧтениеНизкогоПорядка.ПорядокПисатель.Порядок КАК ЧислоПорядокПисатель,
|
||||
| ЧтениеНизкогоПорядка.ПриоритетыПорядок КАК ПриоритетыПорядок,
|
||||
| ЧтениеНизкогоПорядка.Писатель КАК Писатель,
|
||||
| ЧтениеНизкогоПорядка.ОбъектЧитатель КАК ОбъектЧитатель,
|
||||
| ЧтениеНизкогоПорядка.ОбъектПисатель КАК ОбъектПисатель,
|
||||
| ЧтениеНизкогоПорядка.ПроцедураЧитатель КАК ПроцедураЧитатель,
|
||||
| ЧтениеНизкогоПорядка.ПроцедураПисатель КАК ПроцедураПисатель
|
||||
|
|
||||
|ИЗ ВтЧтениеНизкогоПорядка КАК ЧтениеНизкогоПорядка
|
||||
|ИЗ
|
||||
| втВтЧтениеНизкогоПорядкаСФильтромПоПриоритету КАК ЧтениеНизкогоПорядка
|
||||
|";
|
||||
#КонецОбласти
|
||||
|
||||
@@ -1010,7 +1048,7 @@
|
||||
| Процедура1,
|
||||
| Процедура2";
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
#Область ТекстОписание
|
||||
ТекстОписание =
|
||||
"ВЫБРАТЬ
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ОблачныйАрхив20") Тогда
|
||||
МодульОблачныйАрхив20 = ОбщегоНазначения.ОбщийМодуль("ОблачныйАрхив20");
|
||||
МодульОблачныйАрхив20.Обслуживание_ПриСозданииНаСервере(ЭтотОбъект);
|
||||
Иначе
|
||||
Элементы.СтраницаОблачныйАрхив.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
|
||||
|
||||
@@ -646,14 +646,16 @@
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
ЧастиИмени = СтрРазделить(РеквизитПутьКДанным, ".");
|
||||
ТерминКонстанта = "Константа";
|
||||
ЧастиИмени = СтрРазделить(РеквизитПутьКДанным, ".");
|
||||
|
||||
Если ЧастиИмени.Количество() = 2 Тогда
|
||||
КонстантаИмя = ЧастиИмени[1];
|
||||
КонстантаЗначение = НаборКонстант[КонстантаИмя];
|
||||
ИначеЕсли ЧастиИмени.Количество() = 1 И НРег(Лев(РеквизитПутьКДанным, 9)) = НРег("Константа") Тогда
|
||||
КонстантаИмя = Сред(РеквизитПутьКДанным, 10);
|
||||
КонстантаЗначение = ЭтотОбъект[РеквизитПутьКДанным];
|
||||
ИначеЕсли ЧастиИмени.Количество() = 1
|
||||
И СтрСравнить(Лев(РеквизитПутьКДанным, СтрДлина(ТерминКонстанта)), ТерминКонстанта) = 0 Тогда
|
||||
КонстантаИмя = Сред(РеквизитПутьКДанным, СтрДлина(ТерминКонстанта) + 1);
|
||||
КонстантаЗначение = ЭтотОбъект[РеквизитПутьКДанным];
|
||||
Иначе
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1266,26 +1266,30 @@
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьКомпоновщикОтбора(АдресРезультата)
|
||||
Процедура ОбновитьКомпоновщикОтбора(Знач АдресРезультата)
|
||||
|
||||
Результат = ПолучитьИзВременногоХранилища(АдресРезультата);
|
||||
УдалитьИзВременногоХранилища(АдресРезультата);
|
||||
КомпоновщикПредварительногоОтбора.ЗагрузитьНастройки(Результат);
|
||||
КомпоновщикПредварительногоОтбора.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.Полное);
|
||||
СохранитьПользовательскиеНастройки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьПравилаПоиска(АдресРезультата)
|
||||
Процедура ОбновитьПравилаПоиска(Знач АдресРезультата)
|
||||
|
||||
Результат = ПолучитьИзВременногоХранилища(АдресРезультата);
|
||||
УдалитьИзВременногоХранилища(АдресРезультата);
|
||||
УчитыватьПрикладныеПравила = Результат.УчитыватьПрикладныеПравила;
|
||||
СкрыватьНезначимыеДубли = Результат.СкрыватьНезначимыеДубли;
|
||||
ЗначениеВРеквизитФормы(Результат.ПравилаПоиска, "ПравилаПоиска");
|
||||
СохранитьПользовательскиеНастройки();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ИнициализироватьКомпоновщикОтбораИПравила(НастройкиФормы)
|
||||
Процедура ИнициализироватьКомпоновщикОтбораИПравила(Знач НастройкиФормы)
|
||||
// 1. Очистка и инициализация сведений об объекте метаданных.
|
||||
ПредставлениеПравилОтбора = "";
|
||||
ПредставлениеПравилПоиска = "";
|
||||
@@ -1326,14 +1330,10 @@
|
||||
Если ТипЗнч(НастройкиКД) = Тип("НастройкиКомпоновкиДанных") Тогда
|
||||
|
||||
Для Сч = -(НастройкиКД.Отбор.Элементы.Количество()-1) По 0 Цикл
|
||||
|
||||
Отбор = НастройкиКД.Отбор.Элементы[-Сч];
|
||||
Если СтрНайти(Отбор.Представление, ПредставлениеВыбранногоМестаИспользования()) > 0 Тогда
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(НастройкиКД.Отбор,,Отбор.Представление);
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(НастройкиКД.Отбор,, Отбор.Представление);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КомпоновщикПредварительногоОтбора.ЗагрузитьНастройки(НастройкиКД);
|
||||
@@ -1356,13 +1356,8 @@
|
||||
// 5. Установка умолчаний.
|
||||
// Отбор по пометке удаления.
|
||||
Если Не ОтборыЗагружены Тогда
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(
|
||||
КомпоновщикПредварительногоОтбора.Настройки.Отбор,
|
||||
"ПометкаУдаления",
|
||||
Ложь,
|
||||
ВидСравненияКомпоновкиДанных.Равно,
|
||||
,
|
||||
Ложь);
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора( КомпоновщикПредварительногоОтбора.Настройки.Отбор,
|
||||
"ПометкаУдаления", Ложь, ВидСравненияКомпоновкиДанных.Равно,, Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
// Отбор по обработанным местам использования (переход по механизму "Возможные дубли")
|
||||
@@ -1373,25 +1368,18 @@
|
||||
Если ВыбранныеМестаИспользования.ЗначениеОтбора.Количество() > 0 Тогда
|
||||
|
||||
ГруппаОтбора = ОбщегоНазначенияКлиентСервер.СоздатьГруппуЭлементовОтбора(
|
||||
КомпоновщикПредварительногоОтбора.Настройки.Отбор.Элементы
|
||||
,ВыбранныеМестаИспользования.ПредставлениеОтбора
|
||||
,ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли);
|
||||
КомпоновщикПредварительногоОтбора.Настройки.Отбор.Элементы,
|
||||
ВыбранныеМестаИспользования.ПредставлениеОтбора,
|
||||
ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого РеквизитЗначениеОтбора Из ВыбранныеМестаИспользования.ЗначениеОтбора Цикл
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(
|
||||
ГруппаОтбора,
|
||||
РеквизитЗначениеОтбора.Ключ,
|
||||
РеквизитЗначениеОтбора.Значение,
|
||||
ВидСравненияКомпоновкиДанных.ВСписке,
|
||||
"",
|
||||
Истина);
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(ГруппаОтбора,
|
||||
РеквизитЗначениеОтбора.Ключ, РеквизитЗначениеОтбора.Значение,
|
||||
ВидСравненияКомпоновкиДанных.ВСписке, "", Истина);
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
УдалитьИзВременногоХранилища(АдресВыбранныхМестИспользования);
|
||||
АдресВыбранныхМестИспользования = "";
|
||||
|
||||
@@ -1797,7 +1785,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ТекстПрогресса(ПараметрыПрогресса, ИсходныйТекстПрогресса)
|
||||
Функция ТекстПрогресса(Знач ПараметрыПрогресса, Знач ИсходныйТекстПрогресса)
|
||||
|
||||
ЭтоЗамена = СтрНачинаетсяС(ИсходныйТекстПрогресса, НСтр("ru = 'Замена дублей'"));
|
||||
ИмяРеквизитаПрогресса = ?(ЭтоЗамена, "КоличествоОбработанных", "КоличествоУдаленных");
|
||||
@@ -2120,6 +2108,8 @@
|
||||
ПредполагаемыеВозможныеДубли = СформироватьВозможныеДубли(МестаИспользования);
|
||||
|
||||
ОтборПоискаВозможныхДублей = СформироватьОтборВозможныхДублей(РеквизитФормыВЗначение("НайденныеДубли"));
|
||||
ТипОбрабатываемогоОбъекта = ТипЗнч(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ИдентификаторОбрабатываемогоОбъекта,
|
||||
"ЗначениеПустойСсылки"));
|
||||
|
||||
Для каждого МестоИспользования Из ПредполагаемыеВозможныеДубли Цикл
|
||||
|
||||
@@ -2129,7 +2119,7 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КлючиСвязи = КлючиСвязиМетаданных(ИдентификаторОбрабатываемогоОбъекта, МестоИспользования);
|
||||
КлючиСвязи = КлючиСвязиМетаданных(ТипОбрабатываемогоОбъекта, МестоИспользования);
|
||||
Если КлючиСвязи.Количество() > 0 Тогда
|
||||
ДобавитьВозможныйДубль(ОбрабатываемыйОбъектМетаданных, МестоИспользования, КлючиСвязи, ОтборПоискаВозможныхДублей);
|
||||
КонецЕсли;
|
||||
@@ -2253,8 +2243,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Функция - Степень родства метаданных
|
||||
//
|
||||
// Возвращает степень родства метаданных
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// - Число - как связаны объекты метаданных между собой
|
||||
@@ -2263,7 +2252,7 @@
|
||||
// 2 - связь по Родителю/Владельцу
|
||||
//
|
||||
&НаСервереБезКонтекста
|
||||
Функция КлючиСвязиМетаданных(Знач ИдентификаторОбрабатываемогоОбъекта, Знач МестоИспользования)
|
||||
Функция КлючиСвязиМетаданных(Знач ТипОбрабатываемогоОбъекта, Знач МестоИспользования)
|
||||
|
||||
Результат = Новый ТаблицаЗначений;
|
||||
Результат.Колонки.Добавить("Имя");
|
||||
@@ -2271,7 +2260,7 @@
|
||||
|
||||
Для каждого РеквизитМестаИспользования Из МестоИспользования.Реквизиты Цикл
|
||||
|
||||
Если РеквизитМестаИспользования.Тип.Типы().Найти(ТипЗнч(ИдентификаторОбрабатываемогоОбъекта.ЗначениеПустойСсылки)) <> Неопределено Тогда
|
||||
Если РеквизитМестаИспользования.Тип.Типы().Найти(ТипОбрабатываемогоОбъекта) <> Неопределено Тогда
|
||||
СвязьМетаданных = Результат.Добавить();
|
||||
СвязьМетаданных.Имя = РеквизитМестаИспользования.Имя;
|
||||
СвязьМетаданных.СтепеньРодства = 1;
|
||||
@@ -2281,7 +2270,7 @@
|
||||
|
||||
Для каждого РеквизитМестаИспользования Из МестоИспользования.СтандартныеРеквизиты Цикл
|
||||
|
||||
Если РеквизитМестаИспользования.Тип.Типы().Найти(ТипЗнч(ИдентификаторОбрабатываемогоОбъекта.ЗначениеПустойСсылки)) <> Неопределено Тогда
|
||||
Если РеквизитМестаИспользования.Тип.Типы().Найти(ТипОбрабатываемогоОбъекта) <> Неопределено Тогда
|
||||
СвязьМетаданных = Результат.Добавить();
|
||||
СвязьМетаданных.Имя = РеквизитМестаИспользования.Имя;
|
||||
СвязьМетаданных.СтепеньРодства = 2;
|
||||
@@ -2342,7 +2331,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОтобратьВыбранныеМестаИспользования(ВыбранныйТип)
|
||||
Процедура ОтобратьВыбранныеМестаИспользования(Знач ВыбранныйТип)
|
||||
|
||||
Перем АдресОтбора;
|
||||
ВыбранныеМестаИспользования = Новый Структура("ПредставлениеОтбора, ЗначениеОтбора","", Новый Структура);
|
||||
|
||||
@@ -12,20 +12,19 @@
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
ЭтоНоваяГруппа = Параметры.ЭтоНоваяГруппа;
|
||||
|
||||
Если ЭтоНоваяГруппа Тогда
|
||||
|
||||
ОбъектЗначение = Справочники[Параметры.ИмяСправочникаХранилищаФайлов].СоздатьГруппу();
|
||||
Если Параметры.Свойство("Родитель")
|
||||
И Параметры.Родитель <> Неопределено
|
||||
Если Параметры.Родитель <> Неопределено
|
||||
И ТипЗнч(Параметры.Родитель) = ТипЗнч(ОбъектЗначение.Ссылка) Тогда
|
||||
|
||||
Если Параметры.Родитель.ЭтоГруппа Тогда
|
||||
СвойстваРодителя = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Параметры.Родитель, "ЭтоГруппа,Родитель");
|
||||
Если СвойстваРодителя.ЭтоГруппа Тогда
|
||||
ОбъектЗначение.Родитель = Параметры.Родитель;
|
||||
ИначеЕсли Параметры.Родитель.Родитель <> Неопределено
|
||||
И ТипЗнч(Параметры.Родитель.Родитель) = ТипЗнч(ОбъектЗначение.Ссылка) Тогда
|
||||
ИначеЕсли СвойстваРодителя.Родитель <> Неопределено
|
||||
И ТипЗнч(СвойстваРодителя.Родитель) = ТипЗнч(ОбъектЗначение.Ссылка) Тогда
|
||||
|
||||
ОбъектЗначение.Родитель = Параметры.Родитель.Родитель; // В качестве первого родителя была передана ссылка на элемент.
|
||||
ОбъектЗначение.Родитель = СвойстваРодителя.Родитель; // В качестве первого родителя была передана ссылка на элемент.
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -603,10 +603,10 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ТекущиеДанные.Расширение = "mxl" Тогда
|
||||
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ТабличныйДокументСоШтампом(ТекущиеДанные.Ссылка, ТекущиеДанные.Ссылка);
|
||||
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ТабличныйДокументСоШтампом(ТекущиеДанные.Ссылка);
|
||||
РаботаСФайламиСлужебныйКлиент.ПечатьФайлаСоШтампом(ДокументСоШтампом);
|
||||
ИначеЕсли ТекущиеДанные.Расширение = "docx" Тогда
|
||||
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ОфисныйДокументСоШтампом(ТекущиеДанные.Ссылка, ТекущиеДанные.Ссылка);
|
||||
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ОфисныйДокументСоШтампом(ТекущиеДанные.Ссылка);
|
||||
ФайловаяСистемаКлиент.ОткрытьФайл(ДокументСоШтампом, , ТекущиеДанные.Наименование+".docx");
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -339,8 +339,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОткрытьФорму(
|
||||
"Обработка.РаботаСФайлами.Форма.ПрисоединенныйФайл",
|
||||
ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ПрисоединенныйФайл",
|
||||
Новый Структура("ЗначениеКопирования", ТекущаяСсылкаНаФайл()));
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -348,8 +347,9 @@
|
||||
&НаКлиенте
|
||||
Процедура Печать(Команда)
|
||||
|
||||
Если ЗначениеЗаполнено(ТекущаяСсылкаНаФайл()) Или ОбработатьКомандуЗаписиФайла() Тогда
|
||||
Файлы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ТекущаяСсылкаНаФайл());
|
||||
Файл = ТекущаяСсылкаНаФайл();
|
||||
Если ЗначениеЗаполнено(Файл) Или ОбработатьКомандуЗаписиФайла() Тогда
|
||||
Файлы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Файл);
|
||||
РаботаСФайламиКлиент.НапечататьФайлы(Файлы, ЭтотОбъект.УникальныйИдентификатор);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -358,14 +358,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ПечатьСоШтампом(Команда)
|
||||
|
||||
СсылкаНаТекущийОбъект = ТекущаяСсылкаНаФайл();
|
||||
Если ЗначениеЗаполнено(СсылкаНаТекущийОбъект)
|
||||
Или ОбработатьКомандуЗаписиФайла() Тогда
|
||||
|
||||
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ТабличныйДокументСоШтампом(
|
||||
СсылкаНаТекущийОбъект, СсылкаНаТекущийОбъект);
|
||||
Файл = ТекущаяСсылкаНаФайл();
|
||||
Если ЗначениеЗаполнено(Файл) Или ОбработатьКомандуЗаписиФайла() Тогда
|
||||
ДокументСоШтампом = РаботаСФайламиСлужебныйВызовСервера.ТабличныйДокументСоШтампом(Файл);
|
||||
РаботаСФайламиСлужебныйКлиент.ПечатьФайлаСоШтампом(ДокументСоШтампом);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -373,10 +369,9 @@
|
||||
&НаКлиенте
|
||||
Процедура Отправить(Команда)
|
||||
|
||||
СсылкаНаТекущийОбъект = ТекущаяСсылкаНаФайл();
|
||||
Если ЗначениеЗаполнено(СсылкаНаТекущийОбъект)
|
||||
Или ОбработатьКомандуЗаписиФайла() Тогда
|
||||
Файлы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СсылкаНаТекущийОбъект);
|
||||
Файл = ТекущаяСсылкаНаФайл();
|
||||
Если ЗначениеЗаполнено(Файл) Или ОбработатьКомандуЗаписиФайла() Тогда
|
||||
Файлы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Файл);
|
||||
ПриОтправкеФайловПочтой(ПараметрыОтправки, Файлы, ЭтотОбъект.Объект.ВладелецФайла, УникальныйИдентификатор);
|
||||
РаботаСФайламиСлужебныйКлиент.ОтправитьФайлыПоПочте(Файлы, УникальныйИдентификатор, ПараметрыОтправки);
|
||||
КонецЕсли;
|
||||
@@ -506,14 +501,12 @@
|
||||
МассивФайловВРабочемКаталогеДляУдаления,
|
||||
ИмяРабочегоКаталога);
|
||||
|
||||
СсылкаНаТекущийОбъект = ТекущаяСсылкаНаФайл();
|
||||
РаботаСФайламиСлужебныйКлиент.ИнформироватьОШифровании(
|
||||
МассивФайловВРабочемКаталогеДляУдаления,
|
||||
ПараметрыВыполнения.ДанныеФайла.Владелец,
|
||||
СсылкаНаТекущийОбъект);
|
||||
Файл = ТекущаяСсылкаНаФайл();
|
||||
РаботаСФайламиСлужебныйКлиент.ИнформироватьОШифровании(МассивФайловВРабочемКаталогеДляУдаления,
|
||||
ПараметрыВыполнения.ДанныеФайла.Владелец, Файл);
|
||||
|
||||
ОповеститьОбИзменении(СсылкаНаТекущийОбъект);
|
||||
Оповестить("Запись_Файл", Новый Структура, СсылкаНаТекущийОбъект);
|
||||
ОповеститьОбИзменении(Файл);
|
||||
Оповестить("Запись_Файл", Новый Структура, Файл);
|
||||
|
||||
УстановитьДоступностьКомандСпискаШифрования();
|
||||
|
||||
@@ -675,10 +668,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СсылкаНаТекущийОбъект = ТекущаяСсылкаНаФайл();
|
||||
Файл = ТекущаяСсылкаНаФайл();
|
||||
УдалитьИзСпискаПодписейИЗаписатьФайл();
|
||||
ОповеститьОбИзменении(СсылкаНаТекущийОбъект);
|
||||
Оповестить("Запись_Файл", Новый Структура, СсылкаНаТекущийОбъект);
|
||||
ОповеститьОбИзменении(Файл);
|
||||
Оповестить("Запись_Файл", Новый Структура, Файл);
|
||||
УстановитьДоступностьКомандСпискаЭП();
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -795,9 +788,9 @@
|
||||
|
||||
ОбновитьОбъект();
|
||||
|
||||
СсылкаНаТекущийОбъект = ТекущаяСсылкаНаФайл();
|
||||
ОповеститьОбИзменении(СсылкаНаТекущийОбъект);
|
||||
Оповестить("Запись_Файл", Новый Структура, СсылкаНаТекущийОбъект);
|
||||
Файл = ТекущаяСсылкаНаФайл();
|
||||
ОповеститьОбИзменении(Файл);
|
||||
Оповестить("Запись_Файл", Новый Структура, Файл);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -811,10 +804,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СсылкаНаТекущийОбъект = ТекущаяСсылкаНаФайл();
|
||||
Файл = ТекущаяСсылкаНаФайл();
|
||||
ОсвободитьФайл();
|
||||
ОповеститьОбИзменении(СсылкаНаТекущийОбъект);
|
||||
Оповестить("Запись_Файл", Новый Структура("Событие", "РедактированиеОтменено"), СсылкаНаТекущийОбъект);
|
||||
ОповеститьОбИзменении(Файл);
|
||||
Оповестить("Запись_Файл", Новый Структура("Событие", "РедактированиеОтменено"), Файл);
|
||||
РаботаСФайламиСлужебныйКлиент.ИзменитьКоличествоЗанятыхФайлов();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура СформироватьДеревоФайлов(ПапкаРодитель)
|
||||
Процедура СформироватьДеревоФайлов(Знач ПапкаРодитель)
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
ТекстЗапроса =
|
||||
@@ -247,18 +247,13 @@
|
||||
ОбщиеПараметры.Вставить("ЕщеНеВстретилиВыгружаемуюПапку", Истина);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыВыполнения = ПараметрыВыполнения(
|
||||
ОбработчикРезультата,
|
||||
ТаблицаФайлов,
|
||||
БазовыйКаталогСохранения,
|
||||
РодительскаяПапка,
|
||||
ОбщиеПараметры);
|
||||
ПараметрыВыполнения = ПараметрыВыполнения(ОбработчикРезультата, ТаблицаФайлов, БазовыйКаталогСохранения,
|
||||
РодительскаяПапка, ОбщиеПараметры);
|
||||
|
||||
ОбработчикЗавершения = Новый ОписаниеОповещения("ОбойтиДеревоФайлов2", ЭтотОбъект);
|
||||
РаботаСФайламиСлужебныйКлиент.ЗарегистрироватьОбработчикЗавершения(ПараметрыВыполнения, ОбработчикЗавершения);
|
||||
|
||||
// Запуск цикла.
|
||||
ОбойтиДеревоФайловЗапускЦикла(ПараметрыВыполнения);
|
||||
НачатьОбходДереваФайлов(ПараметрыВыполнения);
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращаемое значение:
|
||||
@@ -274,10 +269,11 @@
|
||||
// * ВГраница - Число
|
||||
// * Индекс - Число
|
||||
// * ТребуетсяЗапускЦикла - Булево
|
||||
// * ЗаписьФайла - СправочникСсылка.Файлы
|
||||
// * ЗаписьФайла - ДанныеФормыЭлементДерева из см. Обработка.РаботаСФайлами.Форма.ФормаЭкспортаПапки.ДеревоФайлов
|
||||
//
|
||||
&НаКлиенте
|
||||
Функция ПараметрыВыполнения(Знач ОбработчикРезультата, Знач ТаблицаФайлов, Знач БазовыйКаталогСохранения, Знач РодительскаяПапка, Знач ОбщиеПараметры)
|
||||
|
||||
ПараметрыВыполнения = Новый Структура;
|
||||
ПараметрыВыполнения.Вставить("ОбработчикРезультата", ОбработчикРезультата);
|
||||
ПараметрыВыполнения.Вставить("ТаблицаФайлов", ТаблицаФайлов);
|
||||
@@ -296,28 +292,29 @@
|
||||
|
||||
ПараметрыВыполнения.Вставить("ЗаписьФайла", Неопределено);
|
||||
|
||||
Возврат ПараметрыВыполнения
|
||||
Возврат ПараметрыВыполнения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбойтиДеревоФайловЗапускЦикла(ПараметрыВыполнения)
|
||||
Если ПараметрыВыполнения.ТребуетсяЗапускЦикла Тогда
|
||||
Если РаботаСФайламиСлужебныйКлиент.БлокирующаяФормаОткрыта(ПараметрыВыполнения) Тогда
|
||||
Возврат; // Был открыт еще один диалог - перезапуск цикла не нужен.
|
||||
КонецЕсли;
|
||||
ПараметрыВыполнения.Индекс = ПараметрыВыполнения.Индекс + 1;
|
||||
ПараметрыВыполнения.ТребуетсяЗапускЦикла = Ложь;
|
||||
Иначе
|
||||
Возврат; // Цикл уже запущен.
|
||||
Процедура НачатьОбходДереваФайлов(ПараметрыВыполнения)
|
||||
Если Не ПараметрыВыполнения.ТребуетсяЗапускЦикла Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если РаботаСФайламиСлужебныйКлиент.БлокирующаяФормаОткрыта(ПараметрыВыполнения) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыВыполнения.Индекс = ПараметрыВыполнения.Индекс + 1;
|
||||
ПараметрыВыполнения.ТребуетсяЗапускЦикла = Ложь;
|
||||
|
||||
Для Индекс = ПараметрыВыполнения.Индекс По ПараметрыВыполнения.ВГраница Цикл
|
||||
ПараметрыВыполнения.ЗаписьФайла = ПараметрыВыполнения.Элементы[Индекс];
|
||||
ПараметрыВыполнения.Индекс = Индекс;
|
||||
ОбойтиДеревоФайлов1(ПараметрыВыполнения);
|
||||
Если РаботаСФайламиСлужебныйКлиент.БлокирующаяФормаОткрыта(ПараметрыВыполнения) Тогда
|
||||
Возврат; // Пауза цикла. Стек очищается.
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -338,15 +335,11 @@
|
||||
ОбработчикЗавершения = Новый ОписаниеОповещения("ОбойтиДеревоФайлов2", ЭтотОбъект);
|
||||
РаботаСФайламиСлужебныйКлиент.ЗарегистрироватьОбработчикЗавершения(ПараметрыВыполнения, ОбработчикЗавершения);
|
||||
|
||||
ОбойтиДеревоФайлов(
|
||||
ПараметрыВыполнения,
|
||||
ПараметрыВыполнения.ЗаписьФайла,
|
||||
ПараметрыВыполнения.БазовыйКаталогСохранения,
|
||||
ПараметрыВыполнения.ЗаписьФайла.Папка,
|
||||
ПараметрыВыполнения.ОбщиеПараметры);
|
||||
ОбойтиДеревоФайлов(ПараметрыВыполнения, ПараметрыВыполнения.ЗаписьФайла, ПараметрыВыполнения.БазовыйКаталогСохранения,
|
||||
ПараметрыВыполнения.ЗаписьФайла.Папка, ПараметрыВыполнения.ОбщиеПараметры);
|
||||
|
||||
Если РаботаСФайламиСлужебныйКлиент.БлокирующаяФормаОткрыта(ПараметрыВыполнения) Тогда
|
||||
Возврат; // Пауза цикла. Стек очищается.
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбойтиДеревоФайлов2(ПараметрыВыполнения.АсинхронныйДиалог.РезультатКогдаНеОткрыт, ПараметрыВыполнения);
|
||||
@@ -370,7 +363,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбойтиДеревоФайловЗапускЦикла(ПараметрыВыполнения);
|
||||
НачатьОбходДереваФайлов(ПараметрыВыполнения);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -423,15 +416,13 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если Ответ = КодВозвратаДиалога.Прервать Тогда
|
||||
// Просто выйдем с ошибкой
|
||||
ПараметрыВыполнения.Успех = Ложь;
|
||||
ПараметрыВыполнения.ТребуетсяЗапускЦикла = Ложь; // Цикл перезапускать не требуется.
|
||||
ПараметрыВыполнения.ТребуетсяЗапускЦикла = Ложь;
|
||||
РаботаСФайламиСлужебныйКлиент.ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
|
||||
Возврат;
|
||||
ИначеЕсли Ответ = КодВозвратаДиалога.Пропустить Тогда
|
||||
// Пропустим данную ветку дерева и пойдем дальше.
|
||||
ПараметрыВыполнения.Успех = Истина;
|
||||
ПараметрыВыполнения.ТребуетсяЗапускЦикла = Ложь; // Цикл перезапускать не требуется.
|
||||
ПараметрыВыполнения.ТребуетсяЗапускЦикла = Ложь;
|
||||
РаботаСФайламиСлужебныйКлиент.ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -442,22 +433,19 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбойтиДеревоФайлов6(ПараметрыВыполнения)
|
||||
// Только в том случае, если в этой папке есть хоть один файл.
|
||||
|
||||
ДочерниеЭлементы = ПараметрыВыполнения.ЗаписьФайла.ПолучитьЭлементы();
|
||||
Если ДочерниеЭлементы.Количество() > 0 Тогда
|
||||
|
||||
ОбработчикЗавершения = Новый ОписаниеОповещения("ОбойтиДеревоФайлов7", ЭтотОбъект);
|
||||
РаботаСФайламиСлужебныйКлиент.ЗарегистрироватьОбработчикЗавершения(ПараметрыВыполнения, ОбработчикЗавершения);
|
||||
|
||||
ОбойтиДеревоФайлов(
|
||||
ПараметрыВыполнения,
|
||||
ПараметрыВыполнения.ЗаписьФайла,
|
||||
ПараметрыВыполнения.БазовыйКаталогСохраненияФайла,
|
||||
ПараметрыВыполнения.ЗаписьФайла.Папка,
|
||||
ОбойтиДеревоФайлов(ПараметрыВыполнения, ПараметрыВыполнения.ЗаписьФайла,
|
||||
ПараметрыВыполнения.БазовыйКаталогСохраненияФайла, ПараметрыВыполнения.ЗаписьФайла.Папка,
|
||||
ПараметрыВыполнения.ОбщиеПараметры);
|
||||
|
||||
Если РаботаСФайламиСлужебныйКлиент.БлокирующаяФормаОткрыта(ПараметрыВыполнения) Тогда
|
||||
Возврат; // Пауза цикла. Стек очищается.
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбойтиДеревоФайлов7(ПараметрыВыполнения.АсинхронныйДиалог.РезультатКогдаНеОткрыт, ПараметрыВыполнения);
|
||||
@@ -469,6 +457,7 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбойтиДеревоФайлов7(Результат, ПараметрыВыполнения) Экспорт
|
||||
|
||||
Если РаботаСФайламиСлужебныйКлиент.БлокирующаяФормаОткрыта(ПараметрыВыполнения) Тогда
|
||||
ПараметрыВыполнения.ТребуетсяЗапускЦикла = Истина;
|
||||
РаботаСФайламиСлужебныйКлиент.УстановитьПризнакБлокирующейФормы(ПараметрыВыполнения, Ложь);
|
||||
@@ -484,8 +473,9 @@
|
||||
// Продолжение обработки элемента.
|
||||
ОбойтиДеревоФайлов8(ПараметрыВыполнения);
|
||||
|
||||
// Перезапуск цикла если был открыт асинхронный диалог.
|
||||
ОбойтиДеревоФайловЗапускЦикла(ПараметрыВыполнения);
|
||||
// Перезапуск, если был открыт диалог.
|
||||
НачатьОбходДереваФайлов(ПараметрыВыполнения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -556,8 +546,8 @@
|
||||
ПараметрыВыполнения.Результат = КодВозвратаДиалога.Отмена;
|
||||
ОбойтиДеревоФайлов11(ПараметрыВыполнения);
|
||||
|
||||
// Перезапуск цикла если был открыт асинхронный диалог.
|
||||
ОбойтиДеревоФайловЗапускЦикла(ПараметрыВыполнения);
|
||||
// Перезапуск, если был открыт диалог.
|
||||
НачатьОбходДереваФайлов(ПараметрыВыполнения);
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры:
|
||||
@@ -637,7 +627,7 @@
|
||||
ОбойтиДеревоФайлов13(ПараметрыВыполнения);
|
||||
|
||||
// Перезапуск цикла если был открыт асинхронный диалог.
|
||||
ОбойтиДеревоФайловЗапускЦикла(ПараметрыВыполнения);
|
||||
НачатьОбходДереваФайлов(ПараметрыВыполнения);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -663,9 +653,9 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбойтиДеревоФайлов14(ПараметрыВыполнения)
|
||||
|
||||
ПараметрыВыполнения.ФайлНаДиске = Новый Файл(ПараметрыВыполнения.ПолноеИмяФайла);
|
||||
Если ПараметрыВыполнения.ФайлНаДиске.Существует() Тогда
|
||||
// Снимем флаг R|O для возможности удаления.
|
||||
ПараметрыВыполнения.ФайлНаДиске.УстановитьТолькоЧтение(Ложь);
|
||||
|
||||
// Всегда удаляем и потом создадим заново.
|
||||
|
||||
+3
-1
@@ -1225,7 +1225,9 @@
|
||||
ИдентификаторАдреса = ИдентификаторАдреса(НаселенныйПунктДетально, Истина);
|
||||
Если ЗначениеЗаполнено(ИдентификаторАдреса) Тогда
|
||||
|
||||
Результат = МодульАдресныйКлассификаторСлужебный.АктуальныеАдресныеСведения(Новый Структура("Идентификатор", ИдентификаторАдреса));
|
||||
СведенияОбАдресномОбъекта = МодульАдресныйКлассификаторСлужебный.СведенияОбАдресномОбъекта(ИдентификаторАдреса);
|
||||
Результат = МодульАдресныйКлассификаторСлужебный.АктуальныеАдресныеСведения(СведенияОбАдресномОбъекта);
|
||||
|
||||
Если Не Результат.Отказ Тогда
|
||||
ДанныеИзКлассификатора = РаботаСАдресами.ПодготовитьАдресДляВвода(Результат.Данные);
|
||||
|
||||
|
||||
Loaded 100 of 214 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user