четверг, 4 февраля 2016 г.

СКД Своя обработка расшифровки


Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) 
 СтандартнаяОбработка = Ложь;
 
 ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
 
 Настройки = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы;
 Период = Настройки.Найти("Период");
 Нач = Период.Значение.ДатаНачала;
 Кон = Период.Значение.ДатаОкончания;
  
 СозданАвтоматически = Ложь; 
 
 выбДействие = неопределено;
 Отбор = КомпоновщикНастроек.Настройки.Отбор.Элементы;
 Для каждого стр Из Отбор Цикл
  Если стр.Использование = Ложь Тогда Продолжить;КонецЕсли;
  Если Найти(строка(стр.ЛевоеЗначение),"СозданАвтоматически") > 0 Тогда 
   Если стр.ПравоеЗначение = Истина Тогда 
    СозданАвтоматически = Истина;
   КонецЕсли;
  КонецЕсли;   
 КонецЦикла; 
 
    ДополнительныеДействия=Новый СписокЗначений;    
    ДополнительныеДействия.Добавить(1,"Список документов");
  
    МассивДействий = Новый Массив;
 МассивДействий.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
 МассивДействий.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить);
    Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, выбДействие, МассивДействий, ДополнительныеДействия);
 Если выбДействие = 1 Тогда
  ПоляРасшифровки = ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля();
  Для каждого ПолеРасшифровки Из ПоляРасшифровки Цикл
   Расшифровать(Нач,Кон,ПолеРасшифровки.Значение,СозданАвтоматически);
  КонецЦикла;
 КонецЕсли;
КонецПроцедуры