КД 2.0 Выгрузка по правилу, если заполнен реквизит
Задача следующая: нужно перенести справочник Номенклатура со следующим условием: если заполнен артикул в Источнике, то в приемнике ищем по правилу Артикул->Код, Иначе выгружается по обычному правилу. Сделал следующее: В ПКО Номенклатура ПередВыгрузкой написал:
Все равно загружается новая номенклатура, даже если заполнен артикул. Подскажите, в какую сторону копать?
Если ПустаяСтрока(Источник.Артикул) Тогда
ИмяПКО = "Номенклатура";
Иначе
ИмяПКО = "НоменклатураПоАртикулу";
КонецЕсли;
Все равно загружается новая номенклатура, даже если заполнен артикул. Подскажите, в какую сторону копать?
По теме из базы знаний
- Подсистема "Обмен данными по произвольным правилам КД 2.x"
- EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации
- Конвертация данных из 1С 8.3 в 7.7 (версия КД 2.1). Перенос данных из 8.3 в 7.7. Создание в современной 1С 8.3 XML в формате КД2. Инструкции и примеры переноса данных из любой современной 1С 8.3 в устаревшую конфигурацию 1С 7.7, через Конвертацию данных 2
- Заполнение дополнительных реквизитов в модуле на сервере, в правилах КД 2.0, в модуле внешней обработки
- Настройка обмена с любой устаревшей конфигурацией на базе 8.2 через обработку "Универсальный обмен данными в формате XML" и "Конвертацию данных 2.0"
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8) обычно наеборот, поиск по уиду, если не найден - по полям поиска.
Если как вам ннадо, то отключить галку поиска по внутреннему идентификатору, в ПоляПоиска вписать первым Артикул, вторым
получение ссылки из гуида, и если ссылка пустая, то объект не найден (тогда он новый элемент создаст)
Если как вам ннадо, то отключить галку поиска по внутреннему идентификатору, в ПоляПоиска вписать первым Артикул, вторым
получение ссылки из гуида, и если ссылка пустая, то объект не найден (тогда он новый элемент создаст)
Или в самом ПКО номенклатура отключить галку по внутреннему ИД, а в поля поиска писать
сделать в ПКО параметр УИД, с галкой - поиск объекта, в Перед выгрузкой
Если НомерВариантаПоиска = 1 тогда
СтрокаИменСвойствПоиска = "Артикул, ЭтоГруппа";
Иначе
//по уиду или ищем в РС, или сразу лепим ссылку как Справочники.Номенклатура.ПолучитьССылку(Новый УникальныйИдентификатор(ПараметрыОбъекта.УИД)
Запрос = Запросы.НайтиНоменклатуруПоПолямПоиска; //тут тупо текст запроса
Запрос.УстановитьПараметр("УИД",ПараметрыОбъекта["УИД"]);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ССылкаНаОбъект = Выборка.Номенклатура;
ПрекратитьПоиск = Истина;
// УстанавливатьУОбъектаВсеСвойстваПоиска =Ложь;
КонецЕсли;
КонецЕсли;
Показатьсделать в ПКО параметр УИД, с галкой - поиск объекта, в Перед выгрузкой
Если Источник.Ссылка = Источник Тогда Значение = XMLСтрока(Источник); Иначе Значение = XMLСтрока(Источник.ССылка); КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот