Конвертация реквизита справочника из строки в справочник

1. user823999 22 31.05.22 11:14 Сейчас в теме
На первый взгляд, простая задача, но не получается выгрузка. Делаю выгрузку через план обмена из УТ 11 в ДО. Из УТ выгружаю справочник - Банковские счета контрагентов, у которого есть реквизиты: "Банк" (ссылка на справочник классификатор банков) и "БИКБанка" - строка. Если не заполнен Банк - то нужно искать ссылку на классификатор из БИКБанка.

Делаю через Правила конвертации объектов, в базе КД 2.

Изменяла правила следующим образом
Вариант 1.
1. в ПВД Банковские счета в обработчик "Перед выгрузкой" добавила следующее:
Если ЗначениеЗаполнено(Объект.Банк) Тогда
	ИмяПКО = "БанковскиеСчета";
Иначе 
	ИмяПКО = "БанковскиеСчетаБезБанка"; 
КонецЕсли;


2. создала новое ПКО "Банковские счета без банка", у него - в ПКС вместо Банка источник - БИКБанка
3. создала новое ПКО "СтрокаВКлассификаторБанка" - по этому правилу конвертируется свойство БИКБанка в Классификатор.
ПКО - на картинке.

Вариант 2.
1. создала новое ПКО "СтрокаВКлассификаторБанка" - по этому правилу конвертируется свойство БИКБанка в Классификатор.
2. в ПКО Банковские счета добавила ПКС "БИКБанка - КлассификаторБанка", конвертация по ПКО из п.1 и в обработчике "Перед выгрузкой" указала следующее:
Если ЗначениеЗаполнено(Банк) Тогда 
      Отказ = Истина; 
КонецЕсли; 

Значение = Источник; 

3. В обработчике "перед выгрузкой" ПКС "Банк - КлассификаторБанков" добавила следующее:
Если НЕ ЗначениеЗаполнено(Банк) Тогда 
      Отказ = Истина; 
КонецЕсли; 



Выгрузка ни по одному из вариантов не получается, в файле обмена нет данных по классификатору банков.
Не могу понять, в чем проблема, что я делаю не так?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 31.05.22 11:30 Сейчас в теме
(1)БИК - это поле Код справочника "Классификатор Банков".
Исходя из этого, абсолютно непонятны все эти извращения с ПКО и ПКС.....
3. user823999 22 31.05.22 11:32 Сейчас в теме
А как быть? у меня других вариантов нет... я не знаю, как реализовать поиск элемента по коду, когда он нужен.
4. nomad_irk 76 31.05.22 11:42 Сейчас в теме
(3)Создать ПКО "Справочник.КлассификаторБанков", в ПКС добавить поле "Код" и включить поиск по нему. Все.
Прикрепленные файлы:
5. user823999 22 31.05.22 11:47 Сейчас в теме
(4) это ПКО есть, стандартное, по которому переносится ссылка на классификатор банков: источник - классификатор банков и приемник тоже.
А мне нужно ПКО, где источником будет строка (код справочника). С ним у меня ничего и не получается.
8. nomad_irk 76 31.05.22 12:07 Сейчас в теме
(5)БИКБанка должен заполнятся по данным Банк в БанковскийСчет базы источника.
Если Банк не заполнен, то и БИКБанка должен быть пустым.

Если я ошибаюсь, то в ПКО "БанковскийСчет", в ПКС "Банк" добавьте код в "ПередВыгрузкой":

Если НЕ ЗначениеЗаполнено(Источник.Банк) Тогда
      Значение = Новый Структура("Код", Источник.БИКБанка);
КонецЕсли;
Прикрепленные файлы:
6. starjevschik 31.05.22 11:54 Сейчас в теме
да все правильно, надо только отладить.
При выгрузке выбирается правило в зависимости от заполненности реквизитов.
Если заполнен только БИК, то ПКО будет как на картинке.
Все верно по идее. Ставишь Сообщить() на каждом этапе и смотришь, где что передается.
7. user823999 22 31.05.22 11:56 Сейчас в теме
(6) Спасибо, сейчас попробую.
9. user823999 22 31.05.22 14:07 Сейчас в теме
Выгрузка прошла, когда я сделала следующим образом: в ПКС убрала источник и добавила условие в обработчик "Перед выгрузкой".

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот