Компоновщикмакета выполнить синтаксическая ошибка

мозг сломал, не понимаю из-за чего появляется ошибка.

Используется набор данных, данные определяются при компоновке через таблицу значений

Концовка процедуры

   Схема = ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»);

   ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

   МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки);

    
   ВнешниеНаборыДанных = Новый Структура;

   ВнешниеНаборыДанных.Вставить(«НаборДМС», ТЗ_ДМС);

    
   //Инициализируем процессор компоновки

   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина);

    
   //Очищаем документ результата

   ДокументРезультат.Очистить();

    
   //Выводим отчет в документ

   ПроцессорВывода = Новый

   ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);    

Ошибка

Синтаксическая ошибка

{ВнешнийОтчет.ПриложениеКДоговору.МодульОбъекта(129)}:  

МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки);

по причине:

Ошибка компоновки макета

по причине:

Ошибка в выражении

по причине:

Синтаксическая ошибка

Как выцепить эту синтаксическую ошибку? В журнал ничего не пишется. Спасибо

СКД: Ошибка в СКД!

Я

  

Викуся

13.08.09 — 07:42

Ошибка получения данных

по причине:

Ошибка в выражении

по причине:

Синтаксическая ошибка «ОбщегоНазначения.ФамилияИнициалыФизЛица»

Возникает при программном формировании отчета:

СхемаКомпоновкиДанных = ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»);

Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

ЭлементыФормы.Результат.Очистить();

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

МакетКомпоновки   = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, );

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;

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

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);

ПроцессорВывода.Вывести(ПроцессорКомпоновки);

  

Викуся

1 — 13.08.09 — 07:43

+ при формировании по умолчанию ошибка не возникает!

  

Викуся

2 — 13.08.09 — 07:47

+ выражение ОбщегоНазначения.ФамилияИнициалыФизЛица(Контрагент.Наименование) используется в вычисляемых полях

  

Bugmenot

3 — 13.08.09 — 08:09

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

  

Викуся

4 — 13.08.09 — 09:55

(3)Ура! Заработало))

  

Викуся

5 — 13.08.09 — 10:08

(3)А напиши еще как 2 разные схемы устанавливать в зависимости от условий? Параметры заполняются при открытии, а когда вторую устанавливаю, как их скопировать?

  

lxs

6 — 13.08.09 — 10:12

(5)

СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

Вместо «ОсновнаяСхемаКомпоновкиДанных» ставишь название нужной..

  

Викуся

7 — 13.08.09 — 10:27

(6)это я итак написала, см(0).а параметры не заполняются

  

lxs

8 — 13.08.09 — 11:24

А ты уверена, что настройки первой схемы не вызовут конфликтов при применении их ко второй?

Если да, то вот это 

Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

для второй схемы делать уже не надо.

Но, их надо предварительно получить из первой.
Попробуй.

  

Викуся

9 — 13.08.09 — 11:42

(8)>>А ты уверена, что настройки первой схемы не вызовут конфликтов при применении их ко второй

у меня тот же запрос,только групировки по-разному расположены в этих схемах. Это не повод для конфликтов?

  

Викуся

10 — 13.08.09 — 11:44

(8)Тогда что писать вместо Настройки в:

МакетКомпоновки   = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, );

  

IronDemon

11 — 13.08.09 — 11:47

(5) Может лучше параметры установить программно?
(10)

СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки,);
СхемаКомпоновкиДанных2 = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных2");
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных2, Настройки, );

  

Викуся

12 — 13.08.09 — 11:53

(11)Не поняла. Что такое в твоем листинге Настройки? Откуда они берутся?

  

IronDemon

13 — 13.08.09 — 11:55

Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
Настройки = СхемаКомпоновкиДанных2.НастройкиПоУмолчанию;

Я думал ты догадаешься.

  

lxs

14 — 13.08.09 — 11:58

(13) для второго случая

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных2, Настройки, );

ей надо использовать тогда

Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

  

Викуся

15 — 13.08.09 — 12:04

(14)так он получит настройки по умолчанию, а не настройки с установленными параметрами?

КомпоновщикНастроекКомпоновкиДанных (DataCompositionSettingsComposer)
Свойства:

Настройки (Settings)

Методы:

Восстановить (Refresh)
ЗагрузитьНастройки (LoadSettings)
Инициализировать (Initialize)
ПолучитьНастройки (GetSettings)
РазвернутьАвтоПоля (ExpandAutoFields)

Конструкторы:

По умолчанию

Описание:
Описывает связь настроек компоновки данных и схемы компоновки данных.
См. также:
ОтчетОбъект, свойство КомпоновщикНастроек
ВнешнийОтчет, свойство КомпоновщикНастроек

Содержание

  1. КомпоновщикМакета, синтаксическая ошибка при выполнении
  2. Ошибка при программном выполнении отчета СКД
  3. Ошибка компоновки макета по причине ошибка в выражении по причине синтаксическая ошибка
  4. Несоответствие типов СхемаКомпоновкиДанных
  5. СКД, ошибка в вычисляемых полях

КомпоновщикМакета, синтаксическая ошибка при выполнении

мозг сломал, не понимаю из-за чего появляется ошибка.
Используется набор данных, данные определяются при компоновке через таблицу значений
Концовка процедуры

Схема = ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»);
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки);

ВнешниеНаборыДанных = Новый Структура;
ВнешниеНаборыДанных.Вставить(«НаборДМС», ТЗ_ДМС);

//Инициализируем процессор компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина);

//Очищаем документ результата
ДокументРезультат.Очистить();

//Выводим отчет в документ
ПроцессорВывода = Новый
ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

Ошибка
Синтаксическая ошибка
<ВнешнийОтчет.ПриложениеКДоговору.МодульОбъекта(129)>:
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки);

по причине:
Ошибка компоновки макета
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка

Как выцепить эту синтаксическую ошибку? В журнал ничего не пишется. Спасибо

Источник

Ошибка при программном выполнении отчета СКД

Платформа 8.2.19.130.
Хочу получить результат отчета в дерево значений. Выполняю код
[1c]
&НаСервере
Процедура СохранитьРезультатОтчетаСервер()

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(ТекОтчет.СхемаКомпоновкиДанных, Отчет.КомпоновщикНастроек.Настройки. Тип(«ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений»));

ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

ДЗ = Новый ДеревоЗначений;

КонецПроцедуры
[/1c]
Выходит ошибка
[1c]
<ОбщаяФорма.ФормаОтчетаУпрСКД.Форма(101)>: Ошибка при вызове метода контекста (Инициализировать)
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
по причине:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «СервисОтчетов.ПолучитьСсылочноеЗначение»
[/1c]
В схеме один из параметров отчета (справочник ссылка) определяется вызовом функции общего модуля «СервисОтчетов».
У модуля установлены флаги «Клиент», «Сервер», «Вызов сервера».
Если заменить выражение Параметра на предопределенное значение, то все работает.
Неужели при программном выполнении отчета нельзя использовать вызов функций общих модулей?

Источник

Ошибка компоновки макета по причине ошибка в выражении по причине синтаксическая ошибка

Описание ошибки:
Отчет на СКД формируется программно. При этом используется одно вычисляемое поле, в выражении которого указана экспортная функция глобального модуля. При формировании отчета возникает ошибка: <Форма.ФормаОтчета.Форма(137)>: Ошибка при вызове метода контекста (Следующий) ЭлементРезультата = ПроцессорКомпановки.Следующий(); по причине: Ошибка компоновки данных по причине: Ошибка получения данных по причине: Ошибка в выражении по причине: Синтаксическая ошибка «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»

skd vich pole 01

skd vich pole 02

Подробное изучение методической информации дало понять, что при программном выводе отчета в коде было отключено использование внешних функций. См. текст из синтаксис-помощника метода Инициализировать() процессора компоновки данных (ПроцессорКомпоновкиДанных):

Поэтому в код программного вывода отчета было добавлено отсутствующее условие (выделено жирным):

Но после этого СКД отказалсь вывести отчет, рапортуя ошибку:

skd vich pole 03

<Форма.ФормаОтчета.Форма(137)>: Ошибка при вызове метода контекста (Следующий)
ЭлементРезультата = ПроцессорКомпановки.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Функция не найдена «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»

При этом функция по всем правилам была экспортной и к этому моменту проверок размещена в глобальном модуле. Поэтому название модуля было исключено из значения выражения вычисляемого поля системы компоновки данных и отчет вывелся.

skd vich pole 04

А для случая, если функция для расчета выражения вычисляемого поля скд, размещена не в глобальном модуле, то необходимо указать и имя самого модуля, содержащего используемую функцию (пример рис. 01).

Источник

Несоответствие типов СхемаКомпоновкиДанных

Здравствуйте! Нужно изменить стандартный отчет Карточка количественно-суммового учета МЦ. Сохранил его во внешний, добился, чтобы запускалась форма. Но вот при формировании отчета постоянно ошибка. Конфигурация БГУ 2.0, платформа 8.3.8.1675. Управляемое приложение. Третий день бьюсь. Помогите пожалуйста!

Ошибка при вызове метода контекста (Выполнить)

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиДляКомпоновкиМакета, ДанныеРасшифровкиОбъект);
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиДляКомпоновкиМакета, ДанныеРасшифровкиОбъект);
по причине:
Несоответствие типов (параметр номер ‘1’)

В данном методе первый параметр должен иметь тип СхемаКомпоновкиДанных, а получается строка

СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(ПараметрыОтчета.Схема);
Вот вся процедура

Процедура СформироватьОтчет(Знач ПараметрыОтчета, Результат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт

Если ПараметрыОтчета.Свойство(«Схема») тогда
Если ЭтоАдресВременногоХранилища(ПараметрыОтчета.Схема) Тогда
//ОтчетОбъект = РеквизитФормыВЗначение(«Отчет»);
//СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»);

СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(ПараметрыОтчета.Схема);
//СхемаКомпоновкиДанных = РеквизитФормыВЗначение(«Объект»).ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»);
КонецЕсли;
КонецЕсли;

//Сгенерируем макет компоновки данных при помощи компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиДляКомпоновкиМакета, ДанныеРасшифровкиОбъект);
//МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиДляКомпоновкиМакета);

ДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиОбъект, ПараметрыОтчета.УникальныйИдентификатор);

//Создадим и инициализируем процессор вывода результата
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);

//Обозначим начало вывода
ПроцессорВывода.НачатьВывод();

Массив = Новый Массив;
//ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
Пока Истина Цикл

//ОбработкаПрерыванияПользователя();
//Получим следующий элемент результата компоновки
ЭлементРезультата = ПроцессорКомпоновки.Следующий();

Если ЭлементРезультата.Макет = «Макет3» Тогда
Массив.Добавить(Результат.ВысотаТаблицы);
КонецЕсли;

КонецЕсли;
КонецЦикла;
//вставка разрыва страниц
ЭтоПервый = Истина;
КонечнаяОбласть = Неопределено;
ОбластьСтрок = Неопределено;
Пока Истина Цикл
Если ЭтоПервый Тогда
НайденнаяОбласть = Результат.НайтиТекст(«Карточку заполнил»);
ЭтоПервый = Ложь;
Иначе
НайденнаяОбласть = Результат.НайтиТекст(«Карточку заполнил»,КонечнаяОбласть);
КонецЕсли;
Если НайденнаяОбласть = Неопределено Тогда
Прервать;
КонецЕсли;
КонечнаяОбласть = Результат.НайтиТекст(«Дата»,НайденнаяОбласть);
Если КонечнаяОбласть<>Неопределено Тогда
ОбластьСтрок = Результат.Область(Лев(КонечнаяОбласть.Имя,Найти(КонечнаяОбласть.Имя,»C»)-1));
ОбластьСтрок.КонецСтраницы = Истина;
КонецЕсли;
КонецЦикла;
//убираем последний разрыв страницы
Если НЕ ОбластьСтрок = Неопределено Тогда
ОбластьСтрок.КонецСтраницы = Ложь;
КонецЕсли;

//Исключение
// ИнформацияОбОшибке = ИнформацияОбОшибке();
// Пока ИнформацияОбОшибке.Причина <> Неопределено Цикл
// ИнформацияОбОшибке = ИнформацияОбОшибке.Причина;
// КонецЦикла;
// ТекстСообщения = НСтр(«ru = ‘Отчет не сформирован!’») + Символы.ПС + ИнформацияОбОшибке.Описание;
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
// Отказ = Истина;
//КонецПопытки;

КонецПроцедуры
Буду благодарен за любые идеи и подсказки.

Источник

СКД, ошибка в вычисляемых полях

(4) А, так у вас программный вывод? А вы его не забыли инициализировать, случаем?

по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «опМодуль.КореньКвадратный»

по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «SQRT»

(8) А это уже странно. Тупо ради интереса запилил себе в первый попавшийся отчет эту функцию, вот этот столбец:

Корень из отрицательного числа
118,82
39,01
79,81

(4) А, так у вас программный вывод? А вы его не забыли инициализировать, случаем?

В СКД можно использовать функции глобальных и неглобальных общих модулей в вычисляемых полях при условии что функция объявлена как экспортная.

Есть только маленькая тонкость при программном формировании отчета СКД.

Обычно, при инициализации процессора компоновки данных делают так:

ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
При таком формировании отчета вызова функций не произойдет. Что бы эту возможность включить нужно сделать так

по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Неверные параметры «*»

Источник

Всё работало хорошо, но вдруг перестало, после того, как я внес изменения в макет СКД:

При формировании отчета появлялась надпись «Синтаксическая ошибка» и всё.

Когда убрал некоторые секции, методом деструктивного исключения обнаружил, что глючит зеленая секция.

Благо, CTRL+Z сработал и вернул изменения назад (каюсь, рабочей версии отчета не было).

Вздохнул было, но потом опять ошибка возникла. И тут до меня дошло — проблема в пустых ячейках, где указан тип ячейки «Параметр», но не указано, значение какого параметра брать. Поменял тип на Текст — и все заработало.

Экие тонкости в 1С, однако!

Студворк — интернет-сервис помощи студентам

Доброго времени суток!
Сделал отчет при помощи СКД, который отлично работал. Теперь понадобилось сделать пост обработку отчета. Пишу так:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
КонецПроцедуры // ПриКомпоновкеРезультата

Получаю ошибку выполнения: Синтаксическая ошибка «ПредставлениеПериода». Как это можно побороть?
Заранее благодарен.

Добавлено через 5 минут
Разобрался! Нужно было в «ПроцессорКомпоновки.Инициализировать» в 4-м параметре указать Истина.
Всем спасибо за помощь!

Задаю Заголовке группировки ячейку параметр <Дата1>,но при выводе даёт ошибку {Форма.ФормаОтчета}: Ошибка при вызове метода контекста (Выполнить): Ошибка компоновки макета    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); по причине: Ошибка компоновки макета по причине: Ошибка в выражении по причине: Синтаксическая ошибка а сам код вывода таков

вопрос — как правильно организовать заполнение макета Заголовка?

жаль, что так никого и не удалось услышать

После вывода отчета можно написать следующее

нет не находит {Форма.ФормаОтчета}: Значение не является значением объектного типа (Текст)    Область.Текст = ТекущаяДата

в схеме компановки данных в макетах заполняй то что тебе надо

значение переменное зависит от параметра ДатаНач допустим

при выводе шапки Заголовка необходимо проставить значения недель

СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[0].Элементы[0].Значение и подставляй что тебе надо.

не проще ли недели задать группировку столбцов — период понеделям?

А через макет не айс, чтоли?

и вот у меня в шапке значениях таблицы ПросроченныйДолг1     ПросроченныйДолг2  .. ПросроченныйДолг41

и вместо этих значений нужно подставить значения недель

Как это? Это же Заголовок без значений, я знаю только что он выводится в макете6

Проверь. Должно находить. У меня работает.

Макеты[0] — твой макет (определить тебе его нужно или задать имя макета, что гемор) Макет[0] — первая строка твоего макета Ячейки[0] — первая ячейка первой строки макета Элементы[0] — элемент ячейки Значение — тут хранится либо параметр либо строка, если строка — то тупо текст будет.

+ ИМХО. Это очень простой способ редактирования результата.

можно полный текст кода…

Получение элемента по индексу для значения не определено

Так полный приведен. Такое сообщение об ошибке будет если текст не найден. В этом случае ЭлементыФормы.Результат.НайтиТекст возвращает Неопределено.

так оно и есть, почему не находит мне и непонятно

делать это нужно не в момент вывода результата. а до формирования макета компоновки. после этого оперировать можно только параметрами..

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); и далее по тексту без обработки процессора компоновки данных..

плюс ко всему элементрезультата может быть как Начало, Начало и Конец, Конец. обрабатывать надо только «Начало и Конец». остальные пропускать для обработки..

плюс ко всему где ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); ?

какой уровень содержит информацию по неделям?

СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[10].Элементы[0].Значение = «ТЕСТ»;

а нельзя через цикл все значения просмотреть всех уровней дерева?

СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[13].Элементы[0].Значение = «ТЕСТ»; и т.д. у меня ячейки объединены

ответа на я не увидел. уровни что у тебя получатся в выводе содержатся в МакетКомпоновки. там Тело ищи самый последний реквизит.

уровень группировки в макете? то первый

смотри СхемаКомпоновкиДанных.МакетыГруппировок, там ищи имя макета для своей группировки. потом в СхемаКомпоновкиДанных.Макеты ищи этот макет и запоминай его индекс. и его правь. если ячейки объединены, значит они объединены в макете СКД?

да, они объединены в макете

ну так разъедини.. а те что надо объединить по циклу объединишь потом

Тут в понимании проблема, почему Макеты[0]? или Макеты[0].Макет[0], как определить индекс правильно?

а здесь ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий; макет по номером Макет6

в макетах СКД у тебя какие группировки?

нет, я про основную схему компоновки данных. там макеты какие созданы?

ОсновнаяСхемаКомпановки и все

так. открываем основную схему компоновки данных. там закладка макеты. там чтонить заведено?

там макет Заголовок по первой группировке

как раз эта шапка которая должна выходить

вот, значит отладчиком смотри СхемаКомпоновкиДанных.МакетыЗаголовковГруппировок. тип макета там всегда заголовок. а полягруппировки — там массив (имя твоей группировки первой). там в реквизите Макет хранится ИмяМакета. по этому имени в СхемаКомпоновкиДанных.Макеты ищешь нужный макет. и отсюда у тебя получается Макеты[0]. Макет[0] номер строки твоего макета.

буду в дальнейшем редактировать

извините, загрузил по новой.

Ну как бы вот так получилось, спасибо Axel2009 Процедура СформироватьОтчет(Кнопка)

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Компонента v7plus ошибка инициализации xml parser
  • Компонент память источник ошибки corrected machine check
  • Компонент x 224 rdp протокола обнаружил ошибку
  • Компонент sql server код ошибки 0x84b40002

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии