![]() |
|
Конвертация данных. 7.7 -> 8. Как использовать исходящие данные? | ☑ | ||
---|---|---|---|---|
0
distorter
27.01.16
✎
11:39
|
Источник - ТиС 9.2 (7.7). Переношу документ. Номенклатура из него переносится по ссылке. У этой номенклатуры есть подчиненный справочник ЕдиницыИзмерения. В котором хранится штрихкод. Штрихкод можно получить, обратившись к реквизиту Номенклатура.БазоваяЕдиница.Штрихкод.
Приемник - Розница 2.1. Требуется добавить штрихкод только для вновь созданной номенклатуры в регистр сведений Штрихкоды. Для номенклатуры добавляю ПКС Комментарий -> Описание. В модуле обработчика перед выгрузкой пишу: Если Источник.ЭтоГруппа() = 1 Тогда Отказ = 1; КонецЕсли; Значение = 1; ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.ДобавитьЗначение(Источник,"Владелец"); ИсходящиеДанные.ДобавитьЗначение(Источник.БазоваяЕдиница.Штрихкод,"Штрихкод"); Но не работает. В 7.7 вообще можно использовать исходящие данные? |
|||
1
distorter
27.01.16
✎
20:21
|
Может как-то по-другому, без входящих данных можно вызвать ПКО для штрихкодов?
|
|||
2
KoZuB
27.01.16
✎
20:45
|
(1) Ты ЕдиницыИзмерения переносишь? ПКО для них есть?
|
|||
3
KoZuB
27.01.16
✎
20:52
|
(1) Сори, невнимателен. Зачем ИсходящиеДанные? Просто используй ВыгрузитьПоПравилу(Источник,,,,"Штрихкоды"). Отчего нет?
|
|||
4
Franchiser
гуру
27.01.16
✎
22:32
|
У тебя цикличность ссылок будет, т.к. ед. измерения имею ссылку на владельца, и в то же самое время в номенклатуре ссылка на единицы измерения. В этом случае нужно добиться того чтобы единицы выгрузились раньше чем номенклатура, иначе в номенклатуре не поставится ед. измерения. Это делается несколькими способами: 1. если выгружать по гуид то ед. измерения не используй поиск по владельцу, 2. Напиши код в ед. измерениях чтобы сначала произошла выгрузка владельца (могу поискать у себя). Если вообще без вариантов, то попробуй поставить галочку "не запоминать выгруженные" у номенклатуры.
|
|||
5
Franchiser
гуру
27.01.16
✎
22:45
|
В ед. измерениях пишешь перед выгрузкой:
Если Правила.Номенклатура.Выгруженные[Источник.Владелец] = Неопределено Тогда ВыгрузитьПоПравилу(Источник.Владелец); концессии Тут же через исходящие данные или через параметры можешь передать сведения о штрихкоде. |
|||
6
Franchiser
гуру
27.01.16
✎
22:53
|
попробуй передать так:
1. ИсходящиеДанные ->ПКО Номенклатура 2. ИсходящиеДанные из ПКО Номенклатуры в ПКО Ед. Измерения 3. ИсходящиеДанные из ПКО Ед. Измерения в ПКО Номенклатуру. |
|||
7
distorter
28.01.16
✎
01:35
|
(3) Спасибо! То, что нужно.
(5) Спасибо за развернутые рекомендации. Я не переношу ЕдиницыИзмерения (которые в ТиС подчинены Номенклатуре) в новую базу. Мне от них нужен только ШК и сопоставление с общим справочником Единиц, который в Рознице. ВСе потому, что в Рознице у Номенклатуры Единица одна-единственная и она выбирается из общего классификатора, а не из подчиненного справочника. То есть У Номенклатуры реквизит Единица измерения заполняется так: Значение = Источник.БазоваяЕдиница.ОКЕИ; С использованием ПКО СправочникСсылка.ОКЕИ -> СправочникСсылка.БазовыеЕдиницыИзмерения А со штрихкодами все получилось так: в ПКО Номенклатура в обработчике перед выгрузкой я написал: ВыгрузитьПоПравилу(Источник.БазоваяЕдиница, , , , "Штрихкоды", , , ); |
|||
8
KoZuB
28.01.16
✎
02:10
|
(7) Если нужно переносить только новые можно "не замещать существующие..." в ПКО отметить.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |