КД. Подмена ссылки при выгрузке документа. #737983


#0 by Sиlьver
Коллеги, подскажите хороший вариант решения. При выгрузке документа из УТ в БП нужно в случае, если контрагент - это физ. лицо, подменять ссылку Контрагента на значение Розничный покупатель. Я сделал проверку в ПКС: если физлицо, тогда свойство не выгружать. Получается при выгрузке Контрагент пустой. А в ПКО ПослеЗагрузки я заполняю контрагента значением Розничный покупатель, если значение не заполнено. Тут минус в том, что при повторной выгрузке значение может не перезаполниться по моему правилу, т.к. реквизит уже будет заполнен ранее.
#1 by hawksib
для свойства поставить "получать значения из входящих данных" и в процедуре ПередВыгрузкой вставить проверку, если физЛицо тогда Значение = Розничный покупатель, если контрагент тогда Значение = Контрагент.
#2 by Alex S D
а зачем получать из входящих данных?
#3 by Sиlьver
А если у меня в базе-источники нет такой ссылки - Розничный покупатель? Нужно как-то через ИсходящиеДанные разруливать?
#4 by hawksib
а в источнике какая ссылка у тебя? что выгружаться должно?
#5 by hawksib
для порядку
#6 by Alex S D
Передавай через ПараметрыОбъекта признак розничного покупателя
#7 by Alex S D
какого еще порядку?)) это лишнее
#8 by Sиlьver
В источнике - док. Приходный кассовый ордер. В самом свойстве Контрагент: Вася, Петя, МарьИванна...
#9 by hawksib
ты хочешь контрагента в физлицо что ли превратить?
#10 by hawksib
у МарьиИванны тип какой?
#11 by Sиlьver
нет. В УТ есть куча контрагентов с типом: физ.лицо. Вот их мне нужно грузить в БП в виде одного контрагента Розничный покупатель. А если контрагент - юрлицо, то надо грузить как есть.
#12 by Sиlьver
речь идет только о Контрагентах
#13 by hawksib
дак это проще, В УТ создай розничного покупателя и если контрагент - это физлицо, тогда значение = ссылка на розничного покупателя
#14 by Sиlьver
Можно чуть подробней, как это делается? и можно ли будет выгружать Контрагента как есть, если это юрлицо?
#15 by Sиlьver
Придется наверно. Не хотелось бы делать поиск по наименованию в правилах, т.к. в случае задвойки в УТ, это же случится и в БП.
#16 by Godofsin
Зачем лишние элементы? делай через
#17 by Sиlьver
Можно чуть подробней, как это делается? и можно ли будет выгружать Контрагента как есть, если это юрлицо?
#18 by Alex S D
Создаешь ПКС с галкой "ПередаватьДанныеВПараметр" ПередВыгрузкой: Если физлицо Тогда Значение = Код, наименование или уид.. Иначе В ПКО после загрузки: Если ПараметрыОбъекта <> Неопределено Тогда ....
#19 by Sиlьver
А если это не физлицо, то получается не выгрузится реквизит. Тогда отдельное ПКО сделать?
#20 by Alex S D
ну ты же его будешь перезаписывать только если это физлицо. Стандартное правило же остается
#21 by Sиlьver
Т.е. мое ПКС будет идти после уже существующего. Сначала контрагент заполнится по типовым правилам, а потом, если нужно затрется моим значением. Я правильно понял? Если да, то получится, что все лишние контрагенты будут записываться в базу БП.
#22 by Godofsin
Ты не понял смысла. ПКС для контрагента оставляй как есть, ничего не меняя. Добавляешь параметр, в нем в при выгрузке анализируешь , кто там у тебя и вставляешь признак в параметр. В после загрузки ПКО читаешь параметр и если там признак физлица присваиваешь котрагенту розничного покупателя.
#23 by Godofsin
Ну тогда в ПКС напиши чонибудь типа Если физЛицо то Значение ПустаяССылка
#24 by Alex S D
в ПКС контрагента пропиши, если физлицо Тогда Отказ = Истина
#25 by Sиlьver
Спасибо, други! Все работает. Встрял правда немного на том, что ПараметрыОбъекта это соответствие и ПараметрыОбъекта["НаименованиеПараметра"] надо поправить на ПараметрыОбъекта.Получить("НаименованиеПараметра")
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С