Конвертация реквизита справочника из строки в справочник
На первый взгляд, простая задача, но не получается выгрузка. Делаю выгрузку через план обмена из УТ 11 в ДО. Из УТ выгружаю справочник - Банковские счета контрагентов, у которого есть реквизиты: "Банк" (ссылка на справочник классификатор банков) и "БИКБанка" - строка. Если не заполнен Банк - то нужно искать ссылку на классификатор из БИКБанка.
Делаю через Правила конвертации объектов, в базе КД 2.
Изменяла правила следующим образом
Вариант 1.
1. в ПВД Банковские счета в обработчик "Перед выгрузкой" добавила следующее:
2. создала новое ПКО "Банковские счета без банка", у него - в ПКС вместо Банка источник - БИКБанка
3. создала новое ПКО "СтрокаВКлассификаторБанка" - по этому правилу конвертируется свойство БИКБанка в Классификатор.
ПКО - на картинке.
Вариант 2.
1. создала новое ПКО "СтрокаВКлассификаторБанка" - по этому правилу конвертируется свойство БИКБанка в Классификатор.
2. в ПКО Банковские счета добавила ПКС "БИКБанка - КлассификаторБанка", конвертация по ПКО из п.1 и в обработчике "Перед выгрузкой" указала следующее:
3. В обработчике "перед выгрузкой" ПКС "Банк - КлассификаторБанков" добавила следующее:
Выгрузка ни по одному из вариантов не получается, в файле обмена нет данных по классификатору банков.
Не могу понять, в чем проблема, что я делаю не так?
Делаю через Правила конвертации объектов, в базе КД 2.
Изменяла правила следующим образом
Вариант 1.
1. в ПВД Банковские счета в обработчик "Перед выгрузкой" добавила следующее:
Если ЗначениеЗаполнено(Объект.Банк) Тогда
ИмяПКО = "БанковскиеСчета";
Иначе
ИмяПКО = "БанковскиеСчетаБезБанка";
КонецЕсли;
2. создала новое ПКО "Банковские счета без банка", у него - в ПКС вместо Банка источник - БИКБанка
3. создала новое ПКО "СтрокаВКлассификаторБанка" - по этому правилу конвертируется свойство БИКБанка в Классификатор.
ПКО - на картинке.
Вариант 2.
1. создала новое ПКО "СтрокаВКлассификаторБанка" - по этому правилу конвертируется свойство БИКБанка в Классификатор.
2. в ПКО Банковские счета добавила ПКС "БИКБанка - КлассификаторБанка", конвертация по ПКО из п.1 и в обработчике "Перед выгрузкой" указала следующее:
Если ЗначениеЗаполнено(Банк) Тогда
Отказ = Истина;
КонецЕсли;
Значение = Источник;
3. В обработчике "перед выгрузкой" ПКС "Банк - КлассификаторБанков" добавила следующее:
Если НЕ ЗначениеЗаполнено(Банк) Тогда
Отказ = Истина;
КонецЕсли;
Выгрузка ни по одному из вариантов не получается, в файле обмена нет данных по классификатору банков.
Не могу понять, в чем проблема, что я делаю не так?
Прикрепленные файлы:
По теме из базы знаний
- Перенос справочников между ЛЮБЫМИ базами в 1С [за SM!]
- Пример переноса справочников, документов и движений через Эксель и "Конвертацию данных 2" из оптовой учетной системы 1С 7.7 Комплексной 4.2 и розничной учетной системы Рарус Торговый комплекс -> в 1С 8.3 ЕРП 2.4 (расширение и дополнительные реквизиты)
- Обмен по правилам Конвертации данных 2.1 для ERP, КА, УТ 11, БП 3, ЗУП 3, Розница 2.3
- Заметки по Конвертации данных 2.1
- Конвертация данных 3.0: приемы работы. Обзор. Часть 2
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5)БИКБанка должен заполнятся по данным Банк в БанковскийСчет базы источника.
Если Банк не заполнен, то и БИКБанка должен быть пустым.
Если я ошибаюсь, то в ПКО "БанковскийСчет", в ПКС "Банк" добавьте код в "ПередВыгрузкой":
Если Банк не заполнен, то и БИКБанка должен быть пустым.
Если я ошибаюсь, то в ПКО "БанковскийСчет", в ПКС "Банк" добавьте код в "ПередВыгрузкой":
Если НЕ ЗначениеЗаполнено(Источник.Банк) Тогда
Значение = Новый Структура("Код", Источник.БИКБанка);
КонецЕсли;
Прикрепленные файлы:
да все правильно, надо только отладить.
При выгрузке выбирается правило в зависимости от заполненности реквизитов.
Если заполнен только БИК, то ПКО будет как на картинке.
Все верно по идее. Ставишь Сообщить() на каждом этапе и смотришь, где что передается.
При выгрузке выбирается правило в зависимости от заполненности реквизитов.
Если заполнен только БИК, то ПКО будет как на картинке.
Все верно по идее. Ставишь Сообщить() на каждом этапе и смотришь, где что передается.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот