0
ЮлияКолегова
14.09.20
✎
10:06
|
Вот вообще не знаю СКД если честно признаться. Помогите советом, как вытащить программно значение Итого из СКД? Итог всего один))
Нужно оно для дальнейшего использования в условии, если больше 2 мл то один руководитель в подписи, если меньше, то другой.
|
|
1
ИС-2
naïve
14.09.20
✎
10:11
|
первая строка, которую верет функция будет итогом. Но структура СКД должна быть линейной
Функция СформироватьСКД_В_ТЗ(СКД,ТекНастройки) Экспорт
ТЗ = Новый ТаблицаЗначений;
// ТекНастройки.ПараметрыВывода.УстановитьЗначениеПараметра("HorizontalOverallPlacement",Ложь);
// ТекНастройки.ПараметрыВывода.УстановитьЗначениеПараметра("VerticalOverallPlacement",Ложь);
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СКД,ТекНастройки, , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
#Если сервер тогда
Для каждого Параметр из СКД.Параметры Цикл
выражение = СКД.Параметры[строка(Параметр.Имя)].Выражение;
СКД.Параметры[строка(Параметр.Имя)].Выражение = "";
Если не ЗначениеЗаполнено(Выражение) Тогда
Продолжить;
КонецЕсли;
ЗначениеВыражения = Неопределено;
выражение = "ЗначениеВыражения = "+выражение;
выполнить(выражение);
Параметр.Значение = ЗначениеВыражения;
//Параметр.Использование = Истина;
КонецЦикла;
#КонецЕсли
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,,Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТЗ);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Возврат ТЗ;
КонецФункции
|
|