Имя: Пароль:
1C
1С v8
Как программно установить схему компоновки данных
,
0 Алекс25501
 
08.11.17
12:18
Добрый день,
подскажите пожалуйста как программно установить схему компоновки данных в отчете !?
есть отчет , есть две схемы компоновки данных, в зависимости от условия нужно выбирать схему ???
может кто подскажет как это сделать ?)
1 Гипервизор
 
08.11.17
12:19
2 Мимохожий Однако
 
08.11.17
12:19
(0) Какие условия? Что-нибудь пытался?
3 Алекс25501
 
08.11.17
12:21
условия ....  если рольдоступна то схема 1
иначе схема 2
4 Алекс25501
 
08.11.17
12:22
надо как то программно установить схему по умолчанию в зависимости от условия
5 zladenuw
 
08.11.17
12:23
в модуле объекта.
событие прикомпоновке
Если РольДоступна("роль1") Тогда
        СКД = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных1");
    Иначе
        СКД = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных2");
    КонецЕсли;    
    
    КомпМакета = новый КомпоновщикМакетаКомпоновкиДанных;
    макетКомп = КомпМакета.Выполнить(СКД, СКД.НастройкиПоУмолчанию);
    ПроцессорКомпДанных = новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпДанных.Инициализировать(макетКомп, НаборыДанных);
    
    вывод = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    вывод.УстановитьДокумент(ДокументРезультат);
    вывод.Вывести(ПроцессорКомпДанных, истина);
6 Алекс25501
 
08.11.17
12:53
{Отчет.ОтчетОСостоянииЗаказа.Форма.Форма.Форма(210)}: Ошибка при вызове метода контекста (Выполнить)
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, ДанныеРасшифровки);
по причине:
Ошибка компоновки макета
по причине:
Поле не найдено "ДатаНачалаПроизводства"
{Отчет.ОтчетОСостоянииЗаказа.Форма.Форма.Форма(210)}: Ошибка при вызове метода контекста (Выполнить)
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, ДанныеРасшифровки);
по причине:
Ошибка компоновки макета
по причине:
Поле не найдено "ДатаНачалаПроизводства"
7 Buster007
 
08.11.17
13:04
(6) Поле не найдено "ДатаНачалаПроизводства"
найди его