Имя: Пароль:
1C
1С v8
СКД. Вычисляемые поля с ручным выводом СКД
0 Adept
 
29.03.16
09:45
Есть в СКД поле, вычисляемое.
ЦенообразованиеКлиентСервер.ПолучитьСтавкуНДСЧислом(СтавкаНДС)*100
СтавкаНДСЧислом. Если выводить через обычный отчет, все хорошо проходит.

Если руками сформировать

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


То сообщает о ошибке.


{Документ.КоммерческоеПредложениеКлиенту.МодульМенеджера(618)}: Ошибка при вызове метода контекста (Следующий)
        ЭлементРезультата = Процессор.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка "ЦенообразованиеКлиентСервер.ПолучитьСтавкуНДСЧислом"

В чем косяк.
1 Adept
 
29.03.16
10:22
Народ, только не все сразу!
2 LordCMEPTb
 
29.03.16
10:59
Можно попытать счастья добавить возможность использования внешних функций.

Процессор.Инициализировать(МакетКомпановки, , , Истина);

З.Ы. Всегда радуют кампановщики мокетов.
3 Adept
 
29.03.16
11:17
(2) Ага, оно самое, спасибо
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.