Создание нового объекта в приемнике при конвертации
Подскажите, может кто сталкивался.
Есть два объекта в приемнике: документ Установки цен и справочник видов цен.
Нужно при выгрузке документа Установки цен проверить существует ли определенный вид цены в приемнике и если не существует, то создать его в справочнике видов цен и ссылку на него поставить в документ установки цен. При этом в источник ничего добавлять не нужно.
В каком месте правил конвертации это можно сделать и как это лучше сделать?
При выгрузке доступен только источник данных, запросы и всевозможные манипуляции можно проводить только с ним. Мне же нужен приемник!
Есть два объекта в приемнике: документ Установки цен и справочник видов цен.
Нужно при выгрузке документа Установки цен проверить существует ли определенный вид цены в приемнике и если не существует, то создать его в справочнике видов цен и ссылку на него поставить в документ установки цен. При этом в источник ничего добавлять не нужно.
В каком месте правил конвертации это можно сделать и как это лучше сделать?
При выгрузке доступен только источник данных, запросы и всевозможные манипуляции можно проводить только с ним. Мне же нужен приемник!
По теме из базы знаний
- Про ссылки, уникальные идентификаторы, GUID и не найденные объекты
- Конвертация Данных 2: «Не создавать новый объект в приемнике, если он НЕ найден» для 7.7
- Конвертация 2.0. Перенос независимого справочника в подчиненный (пример).
- Новый подход к обмену данными EnterpriseData
- EnterpriseData – часть 3. Загрузка данных, идентификация объектов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) julma, Ну как бы так КД и работает. Найдет подставит ссылку, не найдет запишет и подставит.
Есть нюансы. В Источнике нет такого справочника, чтобы передать точное соответствие, в приемнике есть пожожие данные, но называются по другому. Все это решается на раз два.
Опиши точно, что тебе нужно
Есть нюансы. В Источнике нет такого справочника, чтобы передать точное соответствие, в приемнике есть пожожие данные, но называются по другому. Все это решается на раз два.
Опиши точно, что тебе нужно
Либо "ПередЗагрузкойДанных" в обработчике конвертации создать необходимые элементы, чтобы каждый раз при выгрузке объекта проверка не шла.
И можно при этом еще и сохранить найденный/созданный вид цен в структуре Параметры, и прямо из параметров его проставлять в документе (в ПКО ПослеЗагрузки). Чтобы при выгрузке каждого документа не искать этот вид цен по коду/наименованию.
Спасибо за ответы! В обоих случаях приемник стал доступен.
Подскажите, если не трудно, каким образом можно добавить данные?
Вот так не выходит:
НоваяЦена=Справочники.ВидыЦен.Создать();
НоваяЦена.Наименование = Параметры.ВидЦены;
НоваяЦена.Записать();
Метод объекта не обнаружен. .Добавить(); .ПолучитьОбъект(); - тоже мимо.
Подскажите, если не трудно, каким образом можно добавить данные?
Вот так не выходит:
НоваяЦена=Справочники.ВидыЦен.Создать();
НоваяЦена.Наименование = Параметры.ВидЦены;
НоваяЦена.Записать();
Метод объекта не обнаружен. .Добавить(); .ПолучитьОбъект(); - тоже мимо.
(5) julma, примерно так должно быть:
Затем в ПКО документа после загрузки Вы поставите:
Объект.ВидЦены = Параметры.НашВидЦены;
СсылкаНашВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Наш вид цены");
Если Не ЗначениеЗаполнено(СсылкаНашВидЦены) Тогда
НоваяЦена=Справочники.ВидыЦен.СоздатьЭлемент();
НоваяЦена.Наименование = "Наш вид цены";
НоваяЦена.Записать();
КонецЕсли;
Параметры.Вставить("НашВидЦены", СсылкаНашВидЦены);
ПоказатьЗатем в ПКО документа после загрузки Вы поставите:
Объект.ВидЦены = Параметры.НашВидЦены;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот