This commit is contained in:
Компания 1С committed 2019-09-13 00:18:00 +03:00
1 parent c29ba2042d
commit cc967fc2c1
27 files changed
+768 -316

No files matched your search

@@ -142,7 +142,6 @@
КонецПроцедуры
Функция ВыполняетсяФоновыйПересчетКурсов()
Возврат Истина; // TODO: удалить
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("Наименование", "РаботаСКурсамиВалют.ОбновитьКурсВалюты");
@@ -2147,7 +2147,7 @@
// Для сценария, когда в конфигурации был удален или переименован план обмена.
УдалитьНеактуальныеЗаписиВРегистреПравилДляОбменаДанными();
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьСинхронизациюДанных")
Если Не Константы.ИспользоватьСинхронизациюДанных.Получить()
И Не ОбщегоНазначения.РазделениеВключено() Тогда
Возврат;
КонецЕсли;
@@ -2635,31 +2635,18 @@
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелОбмена);
ИспользоватьПрефикс = Неопределено;
Если ОбменДаннымиПовтИсп.ЭтоПланОбменаРаспределеннойИнформационнойБазы(ИмяПланаОбмена)
Или ОбменДаннымиПовтИсп.ЭтоУзелСтандартногоОбменаДанными(ИмяПланаОбмена) Тогда
ИспользоватьПрефикс = Ложь;
ИначеЕсли Не ОбщегоНазначения.РазделениеВключено()
И Не ЭтоПланОбменаXDTO(ИмяПланаОбмена) Тогда
ИспользоватьПрефикс = Истина;
КонецЕсли;
КодУзла = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПланыОбмена[ИмяПланаОбмена].ЭтотУзел(), "Код"));
Если ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(УзелОбмена)
И ИспользоватьПрефикс <> Ложь Тогда
Если ОбменДаннымиПовтИсп.ЭтоУзелРазделенногоОбменаДаннымиБСП(УзелОбмена) Тогда
ПрефиксыУзла = РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ПрефиксыУзла(УзелОбмена);
ПрефиксЭтогоУзла = СокрЛП(ПрефиксыУзла.Префикс);
Если Не ПустаяСтрока(ПрефиксЭтогоУзла) Тогда
Если Не ПустаяСтрока(ПрефиксЭтогоУзла)
И СтрДлина(КодУзла) <= 2 Тогда
// В качестве кода для целей идентификации при обмене использует префикс,
// установленный при создании настройки подключения.
Если ИспользоватьПрефикс = Истина
Или СтрДлина(КодУзла) <= 2 Тогда
КодУзла = ПрефиксЭтогоУзла;
КонецЕсли;
КодУзла = ПрефиксЭтогоУзла;
КонецЕсли;
КонецЕсли;
@@ -3448,10 +3435,12 @@
// См. РаботаВМоделиСервисаПереопределяемый.ПриВключенииРазделенияПоОбластямДанных.
Процедура ПриВключенииРазделенияПоОбластямДанных() Экспорт
Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьСинхронизациюДанных") Тогда
Если Не Константы.ИспользоватьСинхронизациюДанных.Получить() Тогда
Константы.ИспользоватьСинхронизациюДанных.Установить(Истина);
КонецЕсли;
ВыполнитьОбновлениеПравилДляОбменаДанными();
КонецПроцедуры
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса.
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.3.82";
Описание.Версия = "3.0.3.87";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -3,7 +3,7 @@
<name>ОтправкаSMSКлиент</name>
<synonym>
<key>ru</key>
<value>Отправка SMSКлиент</value>
<value>Отправка SMS клиент</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
@@ -3,7 +3,7 @@
<name>ОтправкаSMSКлиентПереопределяемый</name>
<synonym>
<key>ru</key>
<value>Отправка SMSКлиент переопределяемый</value>
<value>Отправка SMS клиент переопределяемый</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
@@ -9,6 +9,8 @@
#Область ПрограммныйИнтерфейс
// Добавляет в справочник валют валюты из классификатора.
// При отсутствии обработки ЗагрузкаКурсовВалют валюты добавляются с наименованием "Валюта",
// символьный код соответствует цифровому.
//
// Параметры:
// Коды - Массив - цифровые коды добавляемых валют.
@@ -18,10 +20,23 @@
//
Функция ДобавитьВалютыПоКоду(Знач Коды) Экспорт
Результат = Новый Массив();
Если Метаданные.Обработки.Найти("ЗагрузкаКурсовВалют") <> Неопределено Тогда
Результат = Обработки["ЗагрузкаКурсовВалют"].ДобавитьВалютыПоКоду(Коды);
Иначе
Результат = Новый Массив();
Для Каждого Код Из Коды Цикл
ВалютаСсылка = Справочники.Валюты.НайтиПоКоду(Код);
Если ВалютаСсылка.Пустая() Тогда
ВалютаОбъект = Справочники.Валюты.СоздатьЭлемент();
ВалютаОбъект.Код = Код;
ВалютаОбъект.Наименование = Код;
ВалютаОбъект.НаименованиеПолное = НСтр("ru = 'Валюта'");
ВалютаОбъект.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод;
ВалютаОбъект.Записать();
ВалютаСсылка = ВалютаОбъект.Ссылка;
КонецЕсли;
Результат.Добавить(ВалютаСсылка);
КонецЦикла;
КонецЕсли;
Возврат Результат;
@@ -38,6 +38,7 @@
СведенияОШаблоне = Неопределено;
Если ПараметрыОтправки.Предмет <> Неопределено Тогда
СведенияОШаблоне = СведенияОШаблоне(ПараметрыШаблона);
ПараметрыОтправки.ДополнительныеПараметры.Вставить("Предмет", ПараметрыОтправки.Предмет);
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыШаблона.ПолноеИмяТипаНазначения) Тогда
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ПараметрыШаблона.ПолноеИмяТипаНазначения);
@@ -983,6 +983,23 @@
Сертификат = Результат.Сертификат;
ДатаПодписания = Результат.ДатаПодписания;
ИначеЕсли ТипЗнч(ИсходныеДанныеДляПроверки) = Тип("Структура")
И ИсходныеДанныеДляПроверки.Свойство("ПараметрыCMS") Тогда
Попытка
Результат = ЭлектроннаяПодписьСлужебный.ПроверитьПодписьCMS(
ПодписьДляПроверки,
ИсходныеДанныеДляПроверки.Данные,
ИсходныеДанныеДляПроверки.ПараметрыCMS,
МенеджерКриптографииДляПроверки);
Исключение
ОписаниеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
Возврат Ложь;
КонецПопытки;
Сертификат = Результат.Сертификат;
ДатаПодписания = Результат.ДатаПодписания;
Иначе
Сертификат = Неопределено;
@@ -1237,6 +1254,13 @@
КонецФункции
// См. ЭлектроннаяПодписьКлиент.ПараметрыCMS.
Функция ПараметрыCMS() Экспорт
Возврат ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыCMS();
КонецФункции
// Конец ЭлектронноеВзаимодействие
#КонецОбласти
@@ -122,6 +122,11 @@
// * ПараметрыXMLDSig - Структура - как возвращает функция ПараметрыXMLDSig общего
// модуля ЭлектроннаяПодписьКлиент.
// * КонвертSOAP - Строка - шаблон сообщения <soap:Envelope>.
// - Структура - со свойствами:
// * ПараметрыCMS - Структура - как возвращает функция ПараметрыCMS общего
// модуля ЭлектроннаяПодписьКлиент.
// * Данные - Строка - произвольная строка для подписания,
// - ДвоичныеДанные - двоичные данные для подписания.
// * Объект - Ссылка - (необязательный) - ссылка на объект , к которому нужно добавить подпись.
// Если не указан, то подпись не требуется добавлять.
// * -- // -- - ОписаниеОповещения - (необязательный) - обработчик добавления подписи в
@@ -1150,6 +1155,20 @@
КонецФункции
// Формирует структуру свойств для подписания данных в формате CMS.
//
// Возвращаемое значение:
// Структура - со свойствами:
// * ТипПодписи - Строка - "CAdES-BES" - остальные варианты пока не используются.
// * Открепленная - Булево - Ложь (по умолчанию) - включать данные в контейнер подписи.
// Истина - не включать данные в контейнер подписи.
//
Функция ПараметрыCMS() Экспорт
Возврат ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыCMS();
КонецФункции
#Область ДляВызоваИзДругихПодсистем
// ЭлектронноеВзаимодействие
@@ -1291,6 +1291,57 @@
КонецФункции
// Подписывает сообщение, подставляя в шаблон SOAP данные подписи.
//
// Параметры:
// Данные - Строка - произвольная строка для подписания,
// - ДвоичныеДанные - двоичные данные для подписания.
//
// ПараметрыCMS - Структура - возвращается функцией ЭлектроннаяПодпись.ПараметрыCMS.
// СертификатКриптографии - СертификатКриптографии - используемый сертификат криптографии.
// МенеджерКриптографии - МенеджерКриптографии - используемый менеджер криптографии.
//
// Возвращаемое значение:
// Строка - строка в формате Base64.
//
Функция ПодписатьCMS(Знач Данные, ПараметрыCMS, СертификатКриптографии, МенеджерКриптографии) Экспорт
Пароль = МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу;
ОбъектКомпоненты = ОбъектВнешнейКомпонентыXMLDSig();
СвойстваКриптопровайдера = СвойстваКриптопровайдера(МенеджерКриптографии);
ОбъектКомпоненты.ПутьККриптопровайдеру = СвойстваКриптопровайдера.Путь;
SignatureValue = CMSSign(
ОбъектКомпоненты,
Данные,
ПараметрыCMS,
СертификатКриптографии,
Пароль);
Возврат SignatureValue;
КонецФункции
Функция ПроверитьПодписьCMS(Подпись, Данные, ПараметрыCMS, МенеджерКриптографии) Экспорт
ОбъектКомпоненты = ОбъектВнешнейКомпонентыXMLDSig();
СвойстваКриптопровайдера = СвойстваКриптопровайдера(МенеджерКриптографии);
ОбъектКомпоненты.ПутьККриптопровайдеру = СвойстваКриптопровайдера.Путь;
SignatureValue = CMSVerifySign(
ОбъектКомпоненты,
Подпись,
Данные,
ПараметрыCMS,
СвойстваКриптопровайдера.Тип);
Возврат SignatureValue;
КонецФункции
Функция ОбъектВнешнейКомпонентыXMLDSig()
ОбъектКомпоненты = ОбщегоНазначения.ПодключитьКомпонентуИзМакета("XMLDSignAddIn",
@@ -1421,6 +1472,53 @@
КонецФункции
Функция CMSSign(ОбъектКомпоненты, ДанныеДляПодписания, ПараметрыCMS, СертификатКриптографии, ПарольДоступаКЗакрытомуКлючу)
ПараметрыКомпоненты = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыКомпонентыCMSSign(ПараметрыCMS, ДанныеДляПодписания);
Попытка
SignatureValue = ОбъектКомпоненты.CMSSign(
ПараметрыКомпоненты.Данные,
СертификатКриптографииBase64(СертификатКриптографии.Выгрузить()),
ПарольДоступаКЗакрытомуКлючу,
ПараметрыКомпоненты.ТипПодписи,
ПараметрыКомпоненты.Открепленная,
ПараметрыКомпоненты.ВключениеСертификатовВПодпись,
ПараметрыКомпоненты.ТипВходныхДанных);
Исключение
ВызватьИсключение НСтр("ru = 'Ошибка вызова метода CMSSign компоненты XMLDSig.'") + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если Не ЗначениеЗаполнено(SignatureValue) Тогда
ВызватьИсключение НСтр("ru = 'Ошибка вызова метода CMSSign компоненты XMLDSig.'") + Символы.ПС + ОбъектКомпоненты.GetLastError();
КонецЕсли;
Возврат Base64Значение(SignatureValue);
КонецФункции
Функция CMSVerifySign(ОбъектКомпоненты, Подпись, Данные, ПараметрыCMS, ТипКриптопровайдера)
ПараметрыКомпоненты = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыКомпонентыCMSSign(ПараметрыCMS, Данные);
Попытка
ПодписьВерна = ОбъектКомпоненты.CMSVerifySign(
Base64Строка(Подпись),
0,
"",
ТипКриптопровайдера);
Исключение
ВызватьИсключение НСтр("ru = 'Ошибка вызова метода CMSVerifySign компоненты XMLDSig.'") + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если ПодписьВерна = Неопределено Тогда
ВызватьИсключение НСтр("ru = 'Ошибка вызова метода CMSVerifySign компоненты XMLDSig.'") + Символы.ПС + ОбъектКомпоненты.GetLastError();
КонецЕсли;
Возврат ПодписьВерна;
КонецФункции
Процедура ПроверитьВыбратьАлгоритмПодписи(ОбъектКомпоненты, СертификатКриптографииBase64, ДанныеАлгоритмаПодписания)
OIDАлгоритмаПодписи = GetSignOIDFromCert(ОбъектКомпоненты, СертификатКриптографииBase64);
@@ -201,6 +201,9 @@
ЭтоXMLDSig = (ТипЗнч(Данные) = Тип("Структура")
И Данные.Свойство("ПараметрыXMLDSig"));
ЭтоCMS = (ТипЗнч(Данные) = Тип("Структура")
И Данные.Свойство("ПараметрыCMS"));
Если ЭтоXMLDSig Тогда
Если Параметры.Операция <> "Подписание" Тогда
@@ -221,6 +224,26 @@
ИнформацияОбОшибке = ИнформацияОбОшибке();
КонецПопытки;
ИначеЕсли ЭтоCMS Тогда
Если Параметры.Операция <> "Подписание" Тогда
ОшибкаНаСервере.Вставить("ОписаниеОшибки",
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Параметры.Операция)
+ Символы.ПС + НСтр("ru = 'Внешняя компонента XMLDSig (включающая CMS) может использоваться только для подписания.'"));
Возврат Ложь;
КонецЕсли;
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = Параметры.ЗначениеПароля;
Попытка
ДвоичныеДанныеРезультата = ЭлектроннаяПодписьСлужебный.ПодписатьCMS(
Данные.Данные,
Данные.ПараметрыCMS,
СертификатКриптографии,
МенеджерКриптографии);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
КонецПопытки;
Иначе
ОписаниеОшибки = "";
@@ -175,12 +175,11 @@
Если Ошибка.НеУказанПуть Тогда
ОбновитьЗначение(ОписаниеПрограммы.РезультатПроверкиНаКлиенте, НСтр("ru = 'Не указан путь к программе.'"));
ОбновитьЗначение(ОписаниеПрограммы.Установлена, "");
Иначе
ТекстОшибки = НСтр("ru = 'Не установлена на компьютере.'") + " " + Ошибка.Описание;
ОбновитьЗначение(ОписаниеПрограммы.РезультатПроверкиНаКлиенте, ТекстОшибки);
ОбновитьЗначение(ОписаниеПрограммы.Установлена, Ложь);
КонецЕсли;
ОбновитьЗначение(ОписаниеПрограммы.Установлена, Ложь);
НайтиУстановленныеПрограммыЦиклНачало(Контекст);
@@ -837,6 +836,10 @@
И ТипЗнч(Контекст.ИсходныеДанные) = Тип("Структура")
И Контекст.ИсходныеДанные.Свойство("ПараметрыXMLDSig"));
ЭтоCMS = (ТипЗнч(Контекст) = Тип("Структура")
И ТипЗнч(Контекст.ИсходныеДанные) = Тип("Структура")
И Контекст.ИсходныеДанные.Свойство("ПараметрыCMS"));
Если ЭтоXMLDSig Тогда
ОповещениеУспех = Новый ОписаниеОповещения(
@@ -849,12 +852,30 @@
Оповещения.Вставить("Успех", ОповещениеУспех);
Оповещения.Вставить("Ошибка", ОповещениеОшибка);
НачатьПроверкуПодписи(
НачатьИнициализациюСертификатаКриптографииДляПроверкиПодписиXMLDSig(
Оповещения,
Контекст.ИсходныеДанные.КонвертSOAP,
Контекст.ИсходныеДанные.ПараметрыXMLDSig,
Контекст.МенеджерКриптографии);
ИначеЕсли ЭтоCMS Тогда
ОповещениеУспех = Новый ОписаниеОповещения(
"ПроверитьПодписьНаКлиентеПослеПроверкиПодписиXMLDSig", ЭтотОбъект, Контекст);
ОповещениеОшибка = Новый ОписаниеОповещения(
"ПроверитьПодписьНаКлиентеПослеОшибкиПроверкиПодписиXMLDSig", ЭтотОбъект, Контекст);
Оповещения = Новый Структура;
Оповещения.Вставить("Успех", ОповещениеУспех);
Оповещения.Вставить("Ошибка", ОповещениеОшибка);
НачатьИнициализациюСертификатаКриптографииДляПроверкиПодписиCMS(
Оповещения,
Контекст.ИсходныеДанные.Данные,
Контекст.ИсходныеДанные.ПараметрыCMS,
Контекст.МенеджерКриптографии);
Иначе
Контекст.МенеджерКриптографии.НачатьПроверкуПодписи(Новый ОписаниеОповещения(
"ПроверитьПодписьНаКлиентеПослеПроверкиПодписи", ЭтотОбъект, Контекст,
@@ -3073,9 +3094,12 @@
Процедура ВыполнитьНаСторонеЦиклПослеПолученияДанных(Результат, Контекст) Экспорт
ЭтоXMLDSig = (ТипЗнч(Результат) = Тип("Структура") И Результат.Свойство("ПараметрыXMLDSig"));
ЭтоCMS = (ТипЗнч(Результат) = Тип("Структура") И Результат.Свойство("ПараметрыCMS"));
Если ТипЗнч(Результат) = Тип("Структура")
И Не ЭтоXMLDSig Тогда
И Не ЭтоXMLDSig
И Не ЭтоCMS Тогда
Ошибка = Новый Структура("ОписаниеОшибки",
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Контекст.Операция)
+ Символы.ПС + Результат.ОписаниеОшибки);
@@ -3106,12 +3130,38 @@
Оповещения.Вставить("Успех", ОповещениеУспех);
Оповещения.Вставить("Ошибка", ОповещениеОшибка);
НачатьПодписание(
НачатьВыгрузкуСертификатаКриптографииДляПодписанияXMLDSig(
Оповещения,
Результат.КонвертSOAP,
Результат.ПараметрыXMLDSig,
Контекст.СертификатКриптографии,
Контекст.МенеджерКриптографии);
ИначеЕсли ЭтоCMS Тогда
Если Контекст.Операция <> "Подписание" Тогда
Ошибка = Новый Структура("ОписаниеОшибки",
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Контекст.Операция)
+ Символы.ПС + НСтр("ru = 'Внешняя компонента XMLDSig может использоваться только для подписания.'"));
ВыполнитьНаСторонеПослеЦикла(Ошибка, Контекст);
Возврат;
КонецЕсли;
ОповещениеУспех = Новый ОписаниеОповещения(
"ВыполнитьНаСторонеЦиклПослеОперацииНаКлиентеXMLDSig", ЭтотОбъект, Контекст);
ОповещениеОшибка = Новый ОписаниеОповещения(
"ВыполнитьНаСторонеЦиклПослеОшибкиОперацииНаКлиентеXMLDSig", ЭтотОбъект, Контекст);
Оповещения = Новый Структура;
Оповещения.Вставить("Успех", ОповещениеУспех);
Оповещения.Вставить("Ошибка", ОповещениеОшибка);
НачатьВыгрузкуСертификатаКриптографииДляПодписанияCMS(
Оповещения,
Результат.Данные,
Результат.ПараметрыCMS,
Контекст.СертификатКриптографии,
Контекст.МенеджерКриптографии);
Иначе
Оповещение = Новый ОписаниеОповещения(
"ВыполнитьНаСторонеЦиклПослеОперацииНаКлиенте", ЭтотОбъект, Контекст,
@@ -3503,11 +3553,17 @@
И ТипЗнч(Результат.Данные) = Тип("Структура")
И Результат.Данные.Свойство("ПараметрыXMLDSig"));
ЭтоCMS = (ТипЗнч(Результат) = Тип("Структура")
И Результат.Свойство("Данные")
И ТипЗнч(Результат.Данные) = Тип("Структура")
И Результат.Данные.Свойство("ПараметрыCMS"));
Если ТипЗнч(Результат) <> Тип("Структура")
Или Не Результат.Свойство("Данные")
Или ТипЗнч(Результат.Данные) <> Тип("ДвоичныеДанные")
И ТипЗнч(Результат.Данные) <> Тип("Строка")
И (Не ЭтоXMLDSig) Тогда
И Не ЭтоXMLDSig
И Не ЭтоCMS Тогда
Если ТипЗнч(Результат) <> Тип("Структура") Или Не Результат.Свойство("ОписаниеОшибки") Тогда
Ошибка = Новый Структура("ОписаниеОшибки", НСтр("ru = 'Некорректный тип данных.'"));
@@ -3524,7 +3580,9 @@
// Для стороны клиента требуются двоичные данные или путь к файлу.
Если ТипЗнч(Данные) = Тип("ДвоичныеДанные")
Или ЭтоXMLDSig Тогда
Или ЭтоXMLDSig
Или ЭтоCMS Тогда
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Данные);
ИначеЕсли ЭтоАдресВременногоХранилища(Данные) Тогда
@@ -3544,7 +3602,9 @@
// Для стороны сервера требуется адрес двоичных данных во временном хранилище.
Если ТипЗнч(Данные) = Тип("ДвоичныеДанные")
Или ЭтоXMLDSig Тогда
Или ЭтоXMLDSig
Или ЭтоCMS Тогда
ВыполнитьОбработкуОповещения(Контекст.Оповещение,
ПоместитьВоВременноеХранилище(Данные, Контекст.Форма.УникальныйИдентификатор));
@@ -3613,10 +3673,11 @@
// СертификатКриптографии - СертификатКриптографии.
// МенеджерКриптографии - МенеджерКриптографии.
//
Процедура НачатьПодписание(ОповещенияПриЗавершении, КонвертSOAP, ДанныеАлгоритмаПодписания, СертификатКриптографии, МенеджерКриптографии)
Процедура НачатьВыгрузкуСертификатаКриптографииДляПодписанияXMLDSig(ОповещенияПриЗавершении, КонвертSOAP, ДанныеАлгоритмаПодписания, СертификатКриптографии, МенеджерКриптографии)
Контекст = Новый Структура;
Контекст.Вставить("Режим", "РежимПодписание");
Контекст.Вставить("ТипПодписи", "XMLDSig");
Контекст.Вставить("ОповещенияПриЗавершении", ОповещенияПриЗавершении);
Контекст.Вставить("УстанавливатьКомпоненту", Истина);
@@ -3644,13 +3705,14 @@
// ДанныеАлгоритмаПодписания - Структура со свойствами:
// МенеджерКриптографии - МенеджерКриптографии.
//
Процедура НачатьПроверкуПодписи(ОповещенияПриЗавершении, КонвертSOAP, ДанныеАлгоритмаПодписания, МенеджерКриптографии)
Процедура НачатьИнициализациюСертификатаКриптографииДляПроверкиПодписиXMLDSig(ОповещенияПриЗавершении, КонвертSOAP, ДанныеАлгоритмаПодписания, МенеджерКриптографии)
СертификатКриптографииBase64 = ЭлектроннаяПодписьСлужебныйКлиентСервер.НайтиВXML(КонвертSOAP, "wsse:BinarySecurityToken");
ДвоичныеДанные = Base64Значение(СертификатКриптографииBase64);
Контекст = Новый Структура;
Контекст.Вставить("Режим", "РежимПроверка");
Контекст.Вставить("ТипПодписи", "XMLDSig");
Контекст.Вставить("ОповещенияПриЗавершении", ОповещенияПриЗавершении);
Контекст.Вставить("УстанавливатьКомпоненту", Истина);
@@ -3671,6 +3733,52 @@
КонецПроцедуры
// Начинает подписание CMS сообщения.
//
// Параметры:
// ОповещенияПриЗавершении - ОписаниеОповещения - процедура, которая будет вызвана после подписания сообщения.
// КонвертSOAP - Строка - Шаблон подписываемого сообщения.
// СертификатКриптографии - СертификатКриптографии.
// МенеджерКриптографии - МенеджерКриптографии.
//
Процедура НачатьВыгрузкуСертификатаКриптографииДляПодписанияCMS(ОповещенияПриЗавершении, Данные, ПараметрыCMS, СертификатКриптографии, МенеджерКриптографии)
Контекст = Новый Структура;
Контекст.Вставить("Режим", "РежимПодписание");
Контекст.Вставить("ТипПодписи", "CMS");
Контекст.Вставить("ОповещенияПриЗавершении", ОповещенияПриЗавершении);
Контекст.Вставить("УстанавливатьКомпоненту", Истина);
Контекст.Вставить("Данные", Данные);
Контекст.Вставить("ПараметрыCMS", ПараметрыCMS);
Контекст.Вставить("СертификатКриптографии", СертификатКриптографии);
Контекст.Вставить("СертификатКриптографииBase64", Неопределено);
Контекст.Вставить("МенеджерКриптографии", МенеджерКриптографии);
Контекст.Вставить("ТипКриптопровайдера", Неопределено);
Контекст.Вставить("ИмяКриптопровайдера", Неопределено);
Контекст.Вставить("ПутьКриптопровайдера", Неопределено);
СертификатКриптографии.НачатьВыгрузку(
Новый ОписаниеОповещения("НачатьПодписаниеCMS_ПослеВыгрузкиСертификатаКриптографии", ЭтотОбъект, Контекст));
КонецПроцедуры
// Начинает проверку подписи CMS сообщения.
//
// Параметры:
// ОповещенияПриЗавершении - ОписаниеОповещения - процедура, которая будет вызвана после подписания сообщения.
// КонвертSOAP - Строка - Шаблон подписываемого сообщения.
// ДанныеАлгоритмаПодписания - Структура со свойствами:
// МенеджерКриптографии - МенеджерКриптографии.
//
Процедура НачатьИнициализациюСертификатаКриптографииДляПроверкиПодписиCMS(ОповещенияПриЗавершении, КонвертSOAP, ДанныеАлгоритмаПодписания, МенеджерКриптографии)
ВызватьИсключение НСтр("ru = 'Проверка подписи CMS не поддерживается в компоненте XMLDSig.'");
КонецПроцедуры
Процедура НачатьПроверкуПодписиПослеИнициализацииСертификата(СертификатКриптографии, Контекст) Экспорт
Контекст.СертификатКриптографии = СертификатКриптографии;
@@ -3700,7 +3808,7 @@
ЗавершитьОперациюСОшибкой(
Контекст,
НСтр("ru = 'Операция невозможна. Требуется установка компоненты для HTTP-запросов.'"));
НСтр("ru = 'Операция невозможна. Требуется установка компоненты XMLDSig.'"));
Иначе
@@ -3754,7 +3862,8 @@
Если ОбщегоНазначенияКлиент.ЭтоWindowsКлиент() Тогда
Контекст.ОбъектКомпоненты.НачатьУстановкуЗапретитьПользовательскийИнтерфейс(
Новый ОписаниеОповещения("ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс", ЭтотОбъект, Контекст),
Ложь);
Контекст.МенеджерКриптографии.ИспользованиеИнтерактивногоРежима
= ИспользованиеИнтерактивногоРежимаКриптографии.НеИспользовать);
Иначе
ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс(Контекст);
КонецЕсли;
@@ -3763,15 +3872,37 @@
Процедура ПослеУстановкиСвойстваЗапретитьПользовательскийИнтерфейс(Контекст) Экспорт
Если Контекст.Режим = "РежимПроверка" Тогда
НачатьПроверкуПодписиСообщенияSOAP(Контекст);
Если Контекст.ТипПодписи = "XMLDSig" Тогда
Если Контекст.Режим = "РежимПроверка" Тогда
НачатьПроверкуПодписиXMLDSig(Контекст);
ИначеЕсли Контекст.Режим = "РежимПодписание" Тогда
НачатьПодписаниеXMLDSig(Контекст);
Иначе
ЗавершитьОперациюСОшибкой(
Контекст,
НСтр("ru = 'Не установлен режим работы компоненты XMLDSig.'"));
КонецЕсли;
ИначеЕсли Контекст.ТипПодписи = "CMS" Тогда
Если Контекст.Режим = "РежимПроверка" Тогда
ЗавершитьОперациюСОшибкой(
Контекст,
НСтр("ru = 'Проверка подписи CMS не поддерживается в компоненте XMLDSig.'"));
ИначеЕсли Контекст.Режим = "РежимПодписание" Тогда
НачатьПодписаниеCMS(Контекст);
Иначе
ЗавершитьОперациюСОшибкой(
Контекст,
НСтр("ru = 'Не установлен режим работы компоненты XMLDSig.'"));
КонецЕсли;
ИначеЕсли Контекст.Режим = "РежимПодписание" Тогда
НачатьПодписаниеСообщенияSOAP(Контекст);
Иначе
ЗавершитьОперациюСОшибкой(
Контекст,
НСтр("ru = 'Не установлен режим работы компоненты XMLDSig.'"));
НСтр("ru = 'Не установлен тип подписи компоненты XMLDSig.'"));
КонецЕсли;
КонецПроцедуры
@@ -3798,7 +3929,71 @@
КонецПроцедуры
Процедура НачатьПодписаниеСообщенияSOAP(Контекст)
Процедура НачатьПодписаниеCMS_ПослеВыгрузкиСертификатаКриптографии(ДвоичныеДанныеСертификата, Контекст) Экспорт
СертификатКриптографииBase64 = ОтформатироватьСтрокуBase64(Base64Строка(ДвоичныеДанныеСертификата));
Контекст.СертификатКриптографииBase64 = СертификатКриптографииBase64;
ПараметрыПодключения = ОбщегоНазначенияКлиент.ПараметрыПодключенияКомпоненты();
ПараметрыПодключения.ТекстПояснения = НСтр("ru = 'Для подписания CMS необходима установка компоненты XMLDSig'");
ОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(
Новый ОписаниеОповещения("ПослеПодключенияКомпоненты", ЭтотОбъект, Контекст),
"XMLDSignAddIn",
"Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Макет.КомпонентаXMLDSig",
ПараметрыПодключения);
КонецПроцедуры
Процедура НачатьПодписаниеCMS(Контекст)
ОписаниеОповещения = Новый ОписаниеОповещения(
"Подписание_ПослеВыполненияCMSSign", ЭтотОбъект, Контекст,
"Подписание_ПослеВыполненияCMSSign_Ошибка", ЭтотОбъект);
ПараметрыCMSSign = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыКомпонентыCMSSign(Контекст.ПараметрыCMS, Контекст.Данные);
Попытка
Контекст.ОбъектКомпоненты.НачатьВызовCMSSign(
ОписаниеОповещения,
ПараметрыCMSSign.Данные,
Контекст.СертификатКриптографииBase64,
Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу,
ПараметрыCMSSign.ТипПодписи,
ПараметрыCMSSign.Открепленная,
ПараметрыCMSSign.ВключениеСертификатовВПодпись,
ПараметрыCMSSign.ТипВходныхДанных);
Исключение
ЗавершитьОперациюСОшибкой(
Контекст,
НСтр("ru = 'Ошибка вызова метода CMSSign компоненты XMLDSig.'") + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецПроцедуры
Процедура Подписание_ПослеВыполненияCMSSign_Ошибка(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
СтандартнаяОбработка = Ложь;
ЗавершитьОперациюСОшибкой(
Контекст,
НСтр("ru = 'Ошибка вызова метода CMSSign компоненты XMLDSig.'") + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПроцедуры
Процедура Подписание_ПослеВыполненияCMSSign(SignatureValue, Параметры, Контекст) Экспорт
Если Не ЗначениеЗаполнено(SignatureValue) Тогда
НачатьПолучениеТекстаОшибки(НСтр("ru = 'При выполнении метода CMSSign произошла ошибка:'"), Контекст);
Возврат;
КонецЕсли;
ВыполнитьОбработкуОповещения(Контекст.ОповещенияПриЗавершении.Успех, Base64Значение(SignatureValue));
КонецПроцедуры
Процедура НачатьПодписаниеXMLDSig(Контекст)
Попытка
ОписаниеОповещения = Новый ОписаниеОповещения(
@@ -4019,7 +4214,7 @@
КонецПроцедуры
Процедура НачатьПроверкуПодписиСообщенияSOAP(Контекст)
Процедура НачатьПроверкуПодписиXMLDSig(Контекст)
Попытка
ОписаниеОповещения = Новый ОписаниеОповещения(
@@ -735,6 +735,63 @@
КонецФункции
// См. ЭлектроннаяПодписьКлиент.ПараметрыCMS.
Функция ПараметрыCMS() Экспорт
Параметры = Новый Структура;
Параметры.Вставить("ТипПодписи", "CAdES-BES");
Параметры.Вставить("Открепленная", Ложь);
Возврат Параметры;
КонецФункции
Функция ПараметрыКомпонентыCMSSign(ПараметрыCMS, ОписаниеДанных) Экспорт
ПараметрыКомпоненты = Новый Структура;
Если ТипЗнч(ОписаниеДанных) = Тип("Строка")
И ЭтоАдресВременногоХранилища(ОписаниеДанных) Тогда
Данные = ПолучитьИзВременногоХранилища(ОписаниеДанных);
Иначе
Данные = ОписаниеДанных;
КонецЕсли;
Если ПараметрыCMS.ТипПодписи = "CAdES-BES" Тогда
ПараметрыКомпоненты.Вставить("ТипПодписи", 0);
Иначе
ВызватьИсключение НСтр("ru = 'Некорректный параметр ТипПодписи метода CMSSign компоненты XMLDSig.'");
КонецЕсли;
Если ТипЗнч(Данные) = Тип("Строка") Тогда
ПараметрыКомпоненты.Вставить("ТипВходныхДанных", 0);
ПараметрыКомпоненты.Вставить("Данные", Данные);
ИначеЕсли ТипЗнч(Данные) = Тип("ДвоичныеДанные") Тогда
ПараметрыКомпоненты.Вставить("ТипВходныхДанных", 128);
ПараметрыКомпоненты.Вставить("Данные",
СтрСоединить(СтрРазделить(Base64Строка(Данные), Символы.ПС + Символы.ВК, Ложь)));
Иначе
ВызватьИсключение НСтр("ru = 'Некорректный параметр ТипВходныхДанных метода CMSSign компоненты XMLDSig.'");
КонецЕсли;
Если ТипЗнч(ПараметрыCMS.Открепленная) = Тип("Булево") Тогда
ПараметрыКомпоненты.Вставить("Открепленная", ПараметрыCMS.Открепленная);
Иначе
ВызватьИсключение НСтр("ru = 'Некорректный параметр Открепленная метода CMSSign компоненты XMLDSig.'");
КонецЕсли;
// 0 - РежимВключенияСертификатовКриптографии.НеВключать.
// 1 - РежимВключенияСертификатовКриптографии.ВключатьСертификатСубъекта.
// 17 - РежимВключенияСертификатовКриптографии.ВключатьПолнуюЦепочку.
ПараметрыКомпоненты.Вставить("ВключениеСертификатовВПодпись", 1);
Возврат ПараметрыКомпоненты;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Вспомогательные процедуры и функции.
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f9d8b876-5903-4ed0-a04e-7e2db9ad6e14">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="08e48cd2-feab-45fc-810d-c6c09ea9a458">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="28377eae-11e9-4de1-bf3a-aae0fadcb69c"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="7a83344a-2096-4443-a067-e58e6850aa85"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="7eda60ac-64ff-497d-b18e-2d8e64cc7d12"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="d3842027-68ba-4d17-833a-7a776b538320"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="f5bfe1fc-9365-4f21-bffe-3d87a8e3c9f2"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="1e3dd583-a87a-48ea-a4fd-03cc3fc51e43"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="98f365e5-0f8b-41d6-ab7b-6ba67ad7d7fc"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="0c109415-16e3-4136-b431-9c87c46f4a17"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="a47017f8-76b3-4777-afbe-effa4308e52e"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="7650b652-1011-4fa7-b921-3af865390aa1"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="37dd77c1-2959-4e17-a05c-05fdcc11d051"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="560d3d04-27e1-4bac-b11f-d0746d22c396"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="0aa545dc-b07a-410b-8996-1ea0144589e0"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="ebea47e6-0cfb-4812-9825-ed73311b4005"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.3.82</version>
<version>3.0.3.87</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,6b226bc3-178e-4131-b182-b4819e628eda,1,331696d6-8c79-4306-b5fd-8625124e6452,"3.0.3.82","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6041,1,0,f9d8b876-5903-4ed0-a04e-7e2db9ad6e14,f9d8b876-5903-4ed0-a04e-7e2db9ad6e14,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-Line truncated
{6,1,1,5702d0b1-d8ca-486d-b7e0-faa2330f95fc,1,8a949e93-0e80-4276-96e0-6a85d2e7e292,"3.0.3.87","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6041,1,0,08e48cd2-feab-45fc-810d-c6c09ea9a458,08e48cd2-feab-45fc-810d-c6c09ea9a458,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-Line truncated
@@ -76,11 +76,7 @@
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
Элементы.ГруппаУстановкаОбновлений.Видимость =
Пользователи.ЭтоПолноправныйПользователь(, Истина)
И Не ОбщегоНазначения.ЭтоАвтономноеРабочееМесто()
И Не ОбщегоНазначения.РазделениеВключено()
И Не ОбщегоНазначения.КлиентПодключенЧерезВебСервер()
И ОбщегоНазначения.ЭтоWindowsКлиент();
Пользователи.ЭтоПолноправныйПользователь(, Истина);
Элементы.ГруппаУстановленныеИсправления.Видимость =
Пользователи.ЭтоПолноправныйПользователь()
@@ -1608,6 +1608,21 @@
КодЭтогоУзлаВБазе = КодЭтогоУзла;
ИначеЕсли КодЭтогоУзлаВБазе <> КодЭтогоУзла Тогда
Если Не ОбщегоНазначения.РазделениеВключено()
И Не ОбменДаннымиСервер.ЭтоПланОбменаXDTO(НастройкиПодключения.ИмяПланаОбмена)
И (НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена
Или НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента)
И ОбменДаннымиСервер.УзлыПланаОбмена(НастройкиПодключения.ИмяПланаОбмена).Количество() = 0 Тогда
ЭтотУзелОбъект = ЭтотУзел.ПолучитьОбъект();
ЭтотУзелОбъект.Код = КодЭтогоУзла;
ЭтотУзелОбъект.ДополнительныеСвойства.Вставить("ПолучениеСообщенияОбмена");
ЭтотУзелОбъект.Записать();
КодЭтогоУзлаВБазе = КодЭтогоУзла;
КонецЕсли;
КонецЕсли;
СоздаватьНовыйУзел = Ложь;
@@ -982,6 +982,25 @@
ОтборЭлемента.ПравоеЗначение = Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик;
Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
// Список вариантов отправки
Для каждого ЭлементВыбора Из Элементы.СписокПолучателейВариантОтправки.СписокВыбора Цикл
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокПолучателейВариантОтправки.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СписокПолучателей.ВариантОтправки");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = ЭлементВыбора.Значение;
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", ЭлементВыбора.Представление);
КонецЦикла;
КонецПроцедуры
@@ -1227,7 +1227,7 @@
УстановитьЗаголовокСтраницы(Элементы.СтраницаНепроведенныеДокументы, НСтр("ru= 'Непроведенные документы'"), КоличествоНепроведенныхДокументов());
УстановитьЗаголовокСтраницы(Элементы.СтраницаНезаполненныеРеквизиты, НСтр("ru= 'Незаполненные реквизиты'"), КоличествоНезаполненныхРеквизитов());
УстановитьЗаголовокСтраницы(Элементы.ОшибкиОбъектаXDTO, НСтр("ru= 'Ошибки проверки конвертируемых объектов'"), КоличествоОшибокXDTO());
УстановитьЗаголовокСтраницы(Элементы.СтраницаОшибкиXDTO, НСтр("ru= 'Ошибки проверки конвертируемых объектов'"), КоличествоОшибокXDTO());
Если ИспользуетсяВерсионирование Тогда
УстановитьЗаголовокСтраницы(Элементы.СтраницаКоллизии, НСтр("ru= 'Конфликты'"), КоличествоКоллизий());
@@ -305,7 +305,7 @@
</field>
<dataSource>ИсточникДанных1</dataSource>
<query>ВЫБРАТЬ
ВЫБОР &amp;ПереодичностьЗамеров
ВЫБОР &amp;ПериодичностьЗамеров
КОГДА 1
ТОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2015, 1, 1), СЕКУНДА, Замеры.ДатаНачалаЗамера / 1000 - 63555667200 + &amp;ПоправкаЧасовогоПояса), ЧАС)
КОГДА 2
@@ -361,7 +361,7 @@
Замеры.ВыполненСОшибкой}
СГРУППИРОВАТЬ ПО
ВЫБОР &amp;ПереодичностьЗамеров
ВЫБОР &amp;ПериодичностьЗамеров
КОГДА 1
ТОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2015, 1, 1), СЕКУНДА, Замеры.ДатаНачалаЗамера / 1000 - 63555667200 + &amp;ПоправкаЧасовогоПояса), ЧАС)
КОГДА 2
@@ -388,7 +388,7 @@
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВЫБОР &amp;ПереодичностьЗамеров
ВЫБОР &amp;ПериодичностьЗамеров
КОГДА 1
ТОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2015, 1, 1), СЕКУНДА, (Замеры.ДатаНачалаЗамера + (&amp;НачалоПериодаЧисло - &amp;НачалоПериодаСравненияЧисло)) / 1000 - 63555667200 + &amp;ПоправкаЧасовогоПояса), ЧАС)
КОГДА 2
@@ -442,7 +442,7 @@
Замеры.ВыполненСОшибкой}
СГРУППИРОВАТЬ ПО
ВЫБОР &amp;ПереодичностьЗамеров
ВЫБОР &amp;ПериодичностьЗамеров
КОГДА 1
ТОГДА НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2015, 1, 1), СЕКУНДА, (Замеры.ДатаНачалаЗамера + (&amp;НачалоПериодаЧисло - &amp;НачалоПериодаСравненияЧисло)) / 1000 - 63555667200 + &amp;ПоправкаЧасовогоПояса), ЧАС)
КОГДА 2
@@ -716,63 +716,6 @@
<denyIncompleteValues>true</denyIncompleteValues>
<use>Always</use>
</parameter>
<parameter>
<name>ПереодичностьЗамеров</name>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Периодичность замеров</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>1</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</valueType>
<value xsi:type="xs:decimal">0</value>
<useRestriction>false</useRestriction>
<availableValue>
<value xsi:type="xs:decimal">1</value>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Час</v8:content>
</v8:item>
</presentation>
</availableValue>
<availableValue>
<value xsi:type="xs:decimal">2</value>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>День</v8:content>
</v8:item>
</presentation>
</availableValue>
<availableValue>
<value xsi:type="xs:decimal">3</value>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Неделя</v8:content>
</v8:item>
</presentation>
</availableValue>
<availableValue>
<value xsi:type="xs:decimal">4</value>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Весь период</v8:content>
</v8:item>
</presentation>
</availableValue>
<denyIncompleteValues>true</denyIncompleteValues>
<use>Always</use>
</parameter>
<parameter>
<name>ВидСравнения</name>
<title xsi:type="v8:LocalStringType">
@@ -1037,6 +980,63 @@
<expression>РАЗНОСТЬДАТ(УниверсальноеВремя(&amp;Период.ДатаНачала), &amp;Период.ДатаНачала, "Секунда")</expression>
<use>Always</use>
</parameter>
<parameter>
<name>ПериодичностьЗамеров</name>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Периодичность замеров</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>0</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</valueType>
<value xsi:type="xs:decimal">0</value>
<useRestriction>false</useRestriction>
<availableValue>
<value xsi:type="xs:decimal">1</value>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Час</v8:content>
</v8:item>
</presentation>
</availableValue>
<availableValue>
<value xsi:type="xs:decimal">2</value>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>День</v8:content>
</v8:item>
</presentation>
</availableValue>
<availableValue>
<value xsi:type="xs:decimal">3</value>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Неделя</v8:content>
</v8:item>
</presentation>
</availableValue>
<availableValue>
<value xsi:type="xs:decimal">4</value>
<presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Весь период</v8:content>
</v8:item>
</presentation>
</availableValue>
<denyIncompleteValues>true</denyIncompleteValues>
<use>Always</use>
</parameter>
<template>
<name>Макет1</name>
<template xmlns:dcsat="http://v8.1c.ru/8.1/data-composition-system/area-template" xsi:type="dcsat:AreaTemplate">
@@ -1051,15 +1051,15 @@
<parameter xmlns:dcsat="http://v8.1c.ru/8.1/data-composition-system/area-template" xsi:type="dcsat:ExpressionAreaTemplateParameter">
<dcsat:name>ПериодЗамера</dcsat:name>
<dcsat:expression>ВЫБОР
КОГДА &amp;ПереодичностьЗамеров=1 ТОГДА ФОРМАТ(ПериодЗамера, "ДФ='дд.ММ.гггг''г. '' ЧЧ:мм'")+ "-" + ФОРМАТ(ДОБАВИТЬКДАТЕ(ПериодЗамера,"Минута",59), "ДФ='ЧЧ:мм'")
КОГДА &amp;ПереодичностьЗамеров=2 ТОГДА ФОРМАТ(ПериодЗамера, "ДФ='дд.ММ.гггг'") + "г."
КОГДА &amp;ПереодичностьЗамеров=3 ТОГДА
КОГДА &amp;ПериодичностьЗамеров=1 ТОГДА ФОРМАТ(ПериодЗамера, "ДФ='дд.ММ.гггг''г. '' ЧЧ:мм'")+ "-" + ФОРМАТ(ДОБАВИТЬКДАТЕ(ПериодЗамера,"Минута",59), "ДФ='ЧЧ:мм'")
КОГДА &amp;ПериодичностьЗамеров=2 ТОГДА ФОРМАТ(ПериодЗамера, "ДФ='дд.ММ.гггг'") + "г."
КОГДА &amp;ПериодичностьЗамеров=3 ТОГДА
ВЫБОР
КОГДА НАЧАЛОПЕРИОДА(ПериодЗамера, "НЕДЕЛЯ") &lt; &amp;НачалоПериода ТОГДА ФОРМАТ(&amp;НачалоПериода, "ДФ='дд.ММ.гггг''г.'''") + " - " + ФОРМАТ(КОНЕЦПЕРИОДА(ПериодЗамера,"НЕДЕЛЯ"), "ДФ='дд.ММ.гггг''г. '''")
КОГДА КОНЕЦПЕРИОДА(ПериодЗамера, "НЕДЕЛЯ") &gt; &amp;КонецПериода ТОГДА ФОРМАТ(НАЧАЛОПЕРИОДА(ПериодЗамера, "НЕДЕЛЯ"), "ДФ='дд.ММ.гггг''г.'''")+ " - " + ФОРМАТ(&amp;КонецПериода, "ДФ='дд.ММ.гггг''г. '''")
ИНАЧЕ ФОРМАТ(НАЧАЛОПЕРИОДА(ПериодЗамера, "НЕДЕЛЯ"), "ДФ='дд.ММ.гггг''г.'''")+ " - " + ФОРМАТ(КОНЕЦПЕРИОДА(ПериодЗамера,"НЕДЕЛЯ"), "ДФ='дд.ММ.гггг''г. '''")
КОНЕЦ
КОГДА &amp;ПереодичностьЗамеров=4 ТОГДА ФОРМАТ(&amp;НачалоПериода, "ДФ='дд.ММ.гггг'") + " - " + ФОРМАТ(&amp;КонецПериода, "ДФ='дд.ММ.гггг'")
КОГДА &amp;ПериодичностьЗамеров=4 ТОГДА ФОРМАТ(&amp;НачалоПериода, "ДФ='дд.ММ.гггг'") + " - " + ФОРМАТ(&amp;КонецПериода, "ДФ='дд.ММ.гггг'")
КОНЕЦ</dcsat:expression>
</parameter>
</template>
@@ -1241,11 +1241,6 @@
</dcscor:value>
<dcsset:userSettingID>62cf59f5-3187-4875-b607-31c125370421</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ПереодичностьЗамеров</dcscor:parameter>
<dcscor:value xsi:type="xs:string">День</dcscor:value>
<dcsset:userSettingID>72f8ee98-3425-49ba-ab81-37cbbb7ed01a</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ВидСравнения</dcscor:parameter>
<dcscor:value xsi:type="xs:string">Левое соединение</dcscor:value>
@@ -1271,6 +1266,11 @@
<dcscor:value xsi:nil="true"/>
<dcsset:userSettingID>2c267d2a-7d45-4193-9bc7-01ca05d143e3</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ПериодичностьЗамеров</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">2</dcscor:value>
<dcsset:userSettingID>cdfc71f0-87b5-4c73-8c9a-6d99ec96786c</dcsset:userSettingID>
</dcscor:item>
</dcsset:dataParameters>
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemField">
@@ -1731,11 +1731,6 @@
</dcscor:value>
<dcsset:userSettingID>62cf59f5-3187-4875-b607-31c125370421</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ПереодичностьЗамеров</dcscor:parameter>
<dcscor:value xsi:type="xs:string">День</dcscor:value>
<dcsset:userSettingID>72f8ee98-3425-49ba-ab81-37cbbb7ed01a</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ВидСравнения</dcscor:parameter>
<dcscor:value xsi:type="xs:string">Полное соединение</dcscor:value>
@@ -1762,6 +1757,11 @@
<dcscor:value xsi:nil="true"/>
<dcsset:userSettingID>2c267d2a-7d45-4193-9bc7-01ca05d143e3</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ПериодичностьЗамеров</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">2</dcscor:value>
<dcsset:userSettingID>62ce3feb-5de8-4c1b-8815-8612cdbe4a97</dcsset:userSettingID>
</dcscor:item>
</dcsset:dataParameters>
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemField">
@@ -2105,11 +2105,6 @@
</dcscor:value>
<dcsset:userSettingID>62cf59f5-3187-4875-b607-31c125370421</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ПереодичностьЗамеров</dcscor:parameter>
<dcscor:value xsi:type="xs:string">День</dcscor:value>
<dcsset:userSettingID>72f8ee98-3425-49ba-ab81-37cbbb7ed01a</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ВидСравнения</dcscor:parameter>
<dcscor:value xsi:type="xs:string">Левое соединение</dcscor:value>
@@ -2135,6 +2130,11 @@
<dcscor:value xsi:nil="true"/>
<dcsset:userSettingID>2c267d2a-7d45-4193-9bc7-01ca05d143e3</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ПериодичностьЗамеров</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">2</dcscor:value>
<dcsset:userSettingID>f3a71be4-b466-48b9-a4e4-3b7a879cbfb2</dcsset:userSettingID>
</dcscor:item>
</dcsset:dataParameters>
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemField">
@@ -134,7 +134,9 @@
КонецЕсли;
Если Идентификатор = "ТипОбъектаМетаданных"
И ЗначениеЗаполнено(Параметры.ИсточникДанных) Тогда
И ЗначениеЗаполнено(Параметры.ИсточникДанных)
И Параметры.ИсточникДанных.ПолучитьОбъект() <> Неопределено Тогда
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Параметры.ИсточникДанных);
ТипОбъектаМетаданных = ОбщегоНазначения.ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных);
Если ТипОбъектаМетаданных <> ФиксированныйПараметр Тогда
@@ -119,6 +119,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СообщенияОбменаДанными</name>
<right>
@@ -6210,93 +6297,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.БезопасноеХранилищеДанных</name>
<right>
@@ -14,6 +14,37 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
@@ -76,37 +107,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -176,6 +176,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.СообщенияОбменаДанными</name>
<right>
@@ -8026,45 +8065,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.БезопасноеХранилищеДанных</name>
<right>
@@ -3,24 +3,6 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации</name>
<right>
<name>Use</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -52,4 +34,22 @@
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации</name>
<right>
<name>Use</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
</Rights>