Имя: Пароль:
1C
1С v8
Итоги из СКД
0 ЮлияКолегова
 
14.09.20
10:06
Вот вообще не знаю СКД если честно признаться. Помогите советом, как вытащить программно значение Итого из СКД? Итог всего один))
Нужно оно для дальнейшего использования в условии, если больше 2 мл то один руководитель в подписи, если меньше, то другой.
1 ИС-2
 
naïve
14.09.20
10:11
первая строка, которую верет функция будет итогом. Но структура СКД должна быть линейной

Функция СформироватьСКД_В_ТЗ(СКД,ТекНастройки) Экспорт
    ТЗ = Новый ТаблицаЗначений;
      
//    ТекНастройки.ПараметрыВывода.УстановитьЗначениеПараметра("HorizontalOverallPlacement",Ложь);
//    ТекНастройки.ПараметрыВывода.УстановитьЗначениеПараметра("VerticalOverallPlacement",Ложь);
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СКД,ТекНастройки, , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
    
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    #Если сервер тогда
        Для каждого Параметр из СКД.Параметры Цикл        
            выражение = СКД.Параметры[строка(Параметр.Имя)].Выражение;
            СКД.Параметры[строка(Параметр.Имя)].Выражение = "";
            Если не ЗначениеЗаполнено(Выражение) Тогда
                Продолжить;
            КонецЕсли;
            ЗначениеВыражения = Неопределено;
            выражение = "ЗначениеВыражения = "+выражение;
            
            выполнить(выражение);
            
            Параметр.Значение = ЗначениеВыражения;
            //Параметр.Использование = Истина;
        КонецЦикла;    
    #КонецЕсли

    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,,Истина);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    
    ПроцессорВывода.УстановитьОбъект(ТЗ);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    Возврат ТЗ;
КонецФункции
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.