Имя: Пароль:
1C
1С v8
Проблема с передачей параметра в СКД при СтандартнаяОбработка=Ложь
0 НачинающийВ1С
 
20.03.19
11:36
Доброе утро. Уже который час бьюсь над следующей проблемой: не могу никак в СКД программно передать параметр. Передаю, но настройками по умолчанию он затирается. Как передать параметр после настроек по умолчанию? Или как скопировать все настройки по умолчанию кроме параметров?


Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
//////////////////////
ВЫБИРАЕМ ДАННЫЕ
//////////////////////

// Вывод данных в СКД    
    
    СКД = СхемаКомпоновкиДанных;

    НашПараметр = СКД.Параметры.Найти("Параметр1");
    НашПараметр.Значение = ЗначениеПараметра;   //Устанавливается значение в отладчике!
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД,СКД.НастройкиПоУмолчанию);  //Здесь наш параметр затирается

    
    ПроцессорКомпДанных = новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпДанных.Инициализировать(МакетКомпоновки, ДанныеПолученныеВыше);
    
    Вывод = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    Вывод.УстановитьДокумент(ЭтотОбъект.ПолучитьФорму("ФормаОтчета").ЭлементыФормы.Результат);
        Вывод.Вывести(ПроцессорКомпДанных, истина);
1 LordCMEPTb
 
20.03.19
11:39
Вместо "СКД.НастройкиПоУмолчанию" следует написать "КомпоновщикНастроек.ПолучитьНастройки()"
2 НачинающийВ1С
 
20.03.19
11:52
(1) КомпоновщикНастроек.ПолучитьНастройки() - такого нет.
Но зато КомпоновщикНастроек.Настройки сработало)

Спасибо!
3 LordCMEPTb
 
20.03.19
11:55
(2) Просто "Настройки" - это лишь обычные настройки, пользовательские не будут включены, а "ПолучитьНастройки()" как раз соберет все в одно.
З.Ы. Если искать через синтакс-помощник, то путь следующий: "Общие объекты/Система компоновки данных/Настройки компоновки данных/КомпоновщикНастроекКомпоновкиДанных/Методы/ПолучитьНастройки"
4 НачинающийВ1С
 
20.03.19
11:58
(3) Спасибо, сделал.


Непонятно как я смотрел 3 минуты назад - сейчас через точку ПолучитьНастроки() появилось.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший