Вход | Регистрация


Пост обработка отчета скд, программный вывод результата пустой!

Пост обработка отчета скд, программный вывод результата пустой!
Я
   Сергей Роспатнюк
 
10.10.18 - 17:25
Помогите найти ошибку добрые люди вот процедура




Процедура СформироватьОтчётПрограммно()
    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");        // Упр. прил.

    
    //--- Инициализация СКД

    Если Истина Тогда
        
        ДанныеРасшифровки_Вр    = Новый ДанныеРасшифровкиКомпоновкиДанных;    
        СхемаКомпоновкиДанных    = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");    
        Компоновщик                = Новый КомпоновщикНастроекКомпоновкиДанных;
        Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));    
        Компоновщик.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);        
        
    КонецЕсли;
    //--- Инициализация СКД (Конец)

    
    Настройки    = Компоновщик.ПолучитьНастройки();
    
    //--- imp RSS (start) 

    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(     "Организация"                ,      Организация                         );
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(     "СотрудникиОтчета"            ,      СотрудникиОтчета                 );
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(     "КоличествоСотрудников"     ,   СотрудникиОтчета.Количество()    );
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(     "УчитыватьУволенных"        ,      УчитыватьУволенных                 );
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(     "КонецПериода"                ,      ТекущаяДата()                     );
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(     "Сотрудник_Наименование"    ,      Сотрудник_Наименование             );
    //--- imp RSS (End)

    
    
    //--- Вывод результата СКД    

    Если Истина Тогда
        
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;    
        МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Компоновщик.ПолучитьНастройки(),ДанныеРасшифровки);
        МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки_Вр);    
        
        //------------------    

        ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,ДанныеРасшифровки_Вр);
        
        //Результат = ЭлементыФормы.Результат;        // Об. прил.

        ОтчетТабличныйДокумент.Очистить();
        
        Результат_Вр    = Новый ТабличныйДокумент();
        
        ПроцессорВывода    = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(ОтчетТабличныйДокумент);
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
        
    КонецЕсли;        
    //--- Вывод результата СКД (Конец)

    
    Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния.Видимость = ложь; 
    Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
            
    //--- Пост обработка отчёта

    Если Истина Тогда
        //В СКД должна быть пустая колонка с обрабатываемым результатом

        
        ВысотаЗаголовка    = 2;
        
        //КоличествоОбъектов    = Результат.ВысотаТаблицы - ВысотаЗаголовка;    

        
        НомерПоляИсточника        = 11;
        НомерПоляПриёмника        = 11;
        НомерПоляПриёмника2        = 12;
        
        НачальныйНомерСтроки    = ВысотаЗаголовка + 1;
        
        ДокументРезультат        = ОтчетТабличныйДокумент;
        
        // ДокументРезультат.ШиринаТаблицы  Количество колонок в табличном документе

        
        //------- Обработка строк отчёта

        Для НомерСтроки = НачальныйНомерСтроки По ДокументРезультат.ВысотаТаблицы Цикл
            
            //ОбработкаПрерыванияПользователя();

            
            ВходноеЗначение    = ДокументРезультат.Область("R"+ Формат(НомерСтроки, "ЧДЦ=; ЧГ=0") + "C" + Строка(НомерПоляИсточника) ).Текст;
            
            МестоЖительства = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивСлов(ВходноеЗначение,",");
            
            МассивТолькоСлов = Новый Массив;
            
            Для Каждого Элемент Из МестоЖительства Цикл
                
                Признак = ЕстьНеЦифры(Элемент);
                
                Если Признак = Истина Тогда
                     МассивТолькоСлов.Добавить(Элемент);
                КонецЕсли;    
                
            КонецЦикла;
        
            ВыходноеЗначение = СтроковыеФункцииКлиентСервер.СтрокаИзМассиваПодстрок(МассивТолькоСлов,",");
            
            Область            = ДокументРезультат.Область("R"+ Формат(НомерСтроки, "ЧДЦ=; ЧГ=0") + "C" + Строка(НомерПоляПриёмника) );
                    
            Область2        = ДокументРезультат.Область("R"+ Формат(НомерСтроки, "ЧДЦ=; ЧГ=0") + "C" + Строка(НомерПоляПриёмника2) );
            Область2.Текст    = Строка(ВыходноеЗначение);        
            
        КонецЦикла;
        //------- Обработка строк отчёта (Конец)

        
    КонецЕсли;
    //--- Пост обработка отчёта (Конец)    

КонецПроцедуры
 
 
   cons24
 
1 - 10.10.18 - 17:53
В конце концов результат попадает в переменную ДокументРезультат. Однако не понятно, это реквизит формы или что?
В общем по-моему проблема на этапе вывода/передачи ТабДок на форму.
   vicof
 
2 - 10.10.18 - 17:54
что говорит отладчик?
   Сергей Роспатнюк
 
3 - 10.10.18 - 18:02
(1) Спасибо проблема была с выводом результата на форму как вы и предполагали, тему закрываю.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует