Имя: Пароль:
1C
1С v8
КД + замена номенклатуры
0 first_may
 
29.11.16
06:49
Добрый день.

Есть две базы, УПП и БП. Надо из УПП перегружать документы поступления и реализации в БП. Но номенклатура была заведена раньше по времени, чем решили сделать этот обмен. Поэтому добавил новый регистр в БП - соответствие номенклатуры, в котором указали коды номенклатуры из УПП соответствующие кодам номенклатуры в БП.

Пишу правила обмена с помощью КД. Подскажите пожалуйста, в какой момент лучше проверять это соответствие и делать замену номенклатуры? В самом ПКО поступления и реализации или справочнике номенклатуры?
1 mehfk
 
29.11.16
06:54
Обработчик ПоляПоиска
2 azt-yur
 
29.11.16
06:55
(0) В обработчике ПоляПоиска номенклатуры устанавливаешь значение СсылкаНаОбъект
Проще было бы если добавили реквизит для номенклатуры КодУПП, тогда достаточно было бы установить поиск по этому реквизиту, но и так можно.
3 first_may
 
29.11.16
07:02
то естьв ПКО Номенклатура, в обработчики "Правила конвертации объектов я делаю что то типа

ЗапросТекст = "
|ВЫБРАТЬ
|    СоответствиеНоменклатуры.БПКод
|ИЗ
|    РегистрСведений.СоответствиеНоменклатуры КАК СоответствиеНоменклатуры
|ГДЕ
|    СоответствиеНоменклатуры.УППКод = &УППКод";
Запрос = Новый Запрос;
Запрос.Текст = ЗапросТекст;
Запрос.УстановитьПараметр("УППКод", СокрЛП(Объект.Код));
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
    Значение = СокрЛП(Выборка.БПКод);
Иначе
    Значение = Неопределено;
КонецЕсли;
4 first_may
 
29.11.16
07:16
(2) хотя да, "Проще было бы если добавили реквизит для номенклатуры КодУПП, тогда достаточно было бы установить поиск по этому реквизиту" - все равно конфа изменена. А если этот рнквизит не будет заполнен, можно ли сделать отмену создания номенклатуры?
5 azt-yur
 
29.11.16
07:21
(3) Почти, только это в обработчик ПоляПоиска и вместо Объект.Код надо СвойстваПоиска["Код"], а вместо Значение = надо СсылкаНаОбъект =
(4) Чтобы не создавался если не найден надо установить галку в ПКО "Не создавать новый объект в приемнике, если он не найден"
AdBlock убивает бесплатный контент. 1Сергей