Результат ОтбораКомпоновки в ТаблицуЗначений
Всем привет.
УТ11.
Синхронизация данных через Универсальный формат.
Обработка ПомощникИнтерактивногоОбменаДанными (как она называется в конфигураторе) там на форме отбор СКД, в которые засунуты произвольные объекты, к примеру пару справочников.
Мне нужно получить массив этих объектов.
В конфигураторе выглядит вот так.
Пытаюсь получить массив вот так:
получаю ругань конфигуратора:
Ошибка при вызове метода контекста (Инициализировать)
{Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(341)}:ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);
{Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(316)}:ПолучитьМассивСинхронизации();
по причине:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "ТаблицаМетаданныхСоставаУзла"
по причине:
Не найден внешний набор данных "ТаблицаМетаданныхСоставаУзла"
где ошибся?
УТ11.
Синхронизация данных через Универсальный формат.
Обработка ПомощникИнтерактивногоОбменаДанными (как она называется в конфигураторе) там на форме отбор СКД, в которые засунуты произвольные объекты, к примеру пару справочников.
Мне нужно получить массив этих объектов.
В конфигураторе выглядит вот так.
Пытаюсь получить массив вот так:
&НаСервере
Процедура ПолучитьМассивСинхронизации()
ДанныеКомпоновщика = ПолучитьИзВременногоХранилища(ДополнениеВыгрузки.АдресКомпоновщикаВсехДокументов);
Источник = Новый ИсточникДоступныхНастроекКомпоновкиДанных(ДанныеКомпоновщика.СхемаКомпоновки);
Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных;
Компоновщик.Инициализировать(Источник);
Компоновщик.ЗагрузитьНастройки(ДанныеКомпоновщика.Настройки);
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//Передаем в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(ДанныеКомпоновщика.СхемаКомпоновки ДанныеКомпоновщика.Настройки, ДанныеРасшифровки);
//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);
//Очищаем поле табличного документа
Результат = Новый ТабличныйДокумент();
//Выводим результат в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
Показатьполучаю ругань конфигуратора:
Ошибка при вызове метода контекста (Инициализировать)
{Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(341)}:ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);
{Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.Форма.Форма(316)}:ПолучитьМассивСинхронизации();
по причине:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "ТаблицаМетаданныхСоставаУзла"
по причине:
Не найден внешний набор данных "ТаблицаМетаданныхСоставаУзла"
где ошибся?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Ну вот же все написано.
Надо создать таблицу значений нужной структуры, заполнить ее, и передать во внешний набор в скд.
ПроцессорКомпоновкиДанных (DataCompositionProcessor)
Инициализировать (Initialize)
Синтаксис:
Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>, <ОграничиватьПолучениеПолейПоСсылкамПоПравуПросмотр>, <МенеджерВременныхТаблиц>)
Не найден внешний набор данных "ТаблицаМетаданныхСоставаУзла"
Ну вот же все написано.
Надо создать таблицу значений нужной структуры, заполнить ее, и передать во внешний набор в скд.
ПроцессорКомпоновкиДанных (DataCompositionProcessor)
Инициализировать (Initialize)
Синтаксис:
Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>, <ОграничиватьПолучениеПолейПоСсылкамПоПравуПросмотр>, <МенеджерВременныхТаблиц>)
(3) Документацию по СКД почитать, все такое.
Если в СКД используется набор данных - объект, то данные для этого набора данных передаются через Внешние наборы данных. См.скрин.
То есть в СКД в наборе данных объявляются колонки, а таблица с данными этого набора загружается через внешние наборы.
В ПроцессорКомпоновкиДанных.Инициализировать в параметр ВнешниеНаборыДанных надо передать структуру в ключе которой будет имя внешнего набора - в вашем случае "ТаблицаМетаданныхСоставаУзла", а в значении - таблица значений с данными.
Смотрите как эта таблица заполняется в обработке - заполняйте аналогично.
Если в СКД используется набор данных - объект, то данные для этого набора данных передаются через Внешние наборы данных. См.скрин.
То есть в СКД в наборе данных объявляются колонки, а таблица с данными этого набора загружается через внешние наборы.
В ПроцессорКомпоновкиДанных.Инициализировать в параметр ВнешниеНаборыДанных надо передать структуру в ключе которой будет имя внешнего набора - в вашем случае "ТаблицаМетаданныхСоставаУзла", а в значении - таблица значений с данными.
Смотрите как эта таблица заполняется в обработке - заполняйте аналогично.
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот