Имя: Пароль:
1C
1С v8
Параметры макетов СКД и разрыв страницы
0 2083
 
27.12.11
11:41
Есть отчетс макетом, созданный на СКД. В макете несколько параметров заполняются следующим образом ОбщегоНазначения.ПолучитьФамилиюИмяОтчество(Фамилия,Имя,Отчество,Истина).
В таком виде все нормально отрабатывает.
Сейчас нужно в результат отчета вставить разрыв страницы. Это делаю в ПриКомпоновкеРезультата(). Отрабатывает правильно, но теперь отчет ругается на заполнение параметров с ФИО, говорит, что там синтаксическая ошибка, пришлось получение ФИО убрать.
Почему ругается? ЧЯДНТ?
Если нужен код ПриКомпоновкеРезультата() - покажу.
1 Axel2009
 
27.12.11
11:55
показывай. и текст ошибки показывай
2 2083
 
27.12.11
11:58
(1)
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   Настройки = КомпоновщикНастроек.ПолучитьНастройки();
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
   МакетКомпоновкиДанных =   КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,ДанныеРасшифровки);
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

   ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
   ДокументРезультат.АвтоМасштаб = Истина;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

   ПроцессорВывода.НачатьВывод();
   Пока Истина Цикл
       ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий();
       Если ЭлементРезультатаКомпоновкиДанных = Неопределено Тогда
           Прервать;
       КонецЕсли;
       
       ПроцессорВывода.ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных);
       
       //Gовнокод mode on
       Если ЭлементРезультатаКомпоновкиДанных.ЗначенияПараметров.Количество()=5 Тогда
           ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
       КонецЕсли;
       //Gовнокод mode off
   КонецЦикла;
   ПроцессорВывода.ЗакончитьВывод();
   
КонецПроцедуры

Текст ошибки:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{Отчет.бп_ОтчетПоОказаннымУслугам.МодульОбъекта(19)}: Ошибка при вызове метода контекста (Следующий)

по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка "ОбщегоНазначения.ПолучитьФамилиюИмяОтчество"
3 Axel2009
 
27.12.11
12:05
а где Истина??
4 Axel2009
 
27.12.11
12:06
ПроцессорКомпоновкиДанных (DataCompositionProcessor)
Инициализировать (Initialize)
Синтаксис:

Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)
5 2083
 
27.12.11
12:09
Огромное спасибо, работает.
6 2083
 
11.01.12
14:41
Подниму тему. При переходе с 13 на 14 релиз опять отвалилось заполнение параметров СКД с помощью внешних функций. Сейчас просматриваю изменения, но может кто сталкивался с таким...
7 2083
 
11.01.12
14:46
к (6) речь о параметре макета СКД
Основная теорема систематики: Новые системы плодят новые проблемы.