Имя: Пароль:
1C
1С v8
Конвертация данных. 7.7 -> 8. Переношу штрихкод. Почти получилось.
0 distorter
 
11.05.16
12:57
ТиС 9.2 -> Розница 2.2

Переношу новую номенклатуру.
В ТиС Штрихкод - реквизит подчиненного Номенклатуре справочника Единицы измерения.
В Рознице - это запись регистра сведений.

Обработчик ПКО Штрихкоды вызываю из ПКС в ПКО номенклатуры.
Владельца и штрихкод передаю через Входящие данные.

Все работает. Но только с первым элементом. У остальных как будто не вызывает ПКО.

Куда копать?
1 cojko
 
11.05.16
13:23
Поиск по каким полям в регистре сведений?
Точно такой пример есть в методичке по КД.
2 Chameleon1980
 
11.05.16
13:28
(2) в книге Бояркина и филатова, вроде, видел такое.
3 Сияющий Асинхраль
 
11.05.16
13:30
(1) В регистре сведений не может быть поиска по полям, это не справочник. Можно попытать через выгрузить по правилу, нечто вроде:

                ИсходящиеДанные            = Новый Структура("Объект, Свойство, Значение");
                
                ИсходящиеДанные.Объект        = ИсходящиеДанныеХарактеристики;
                ИсходящиеДанные.Свойство    = ОбъектКоллекции.Размер.Владелец;
                ИсходящиеДанные.Значение    = ОбъектКоллекции.Размер;

Перебирая перед выгрузкой номенклатуры все подчиненные единицы измерения, а вместе с ними штрихкоды...
                
                ВыгрузитьПоПравилу( , , ИсходящиеДанные, , "ЗначенияСвойствОбъектовОсновное");
4 Сияющий Асинхраль
 
11.05.16
13:31
+(3) Строка "Перебирая перед выгрузкой номенклатуры все подчиненные единицы измерения, а вместе с ними штрихкоды... " должна быть последней...
5 distorter
 
11.05.16
14:18
(1) Делаю как раз по примеру. Хотя случай не совсем тот. В примере Штрихкод - это реквизит, а у меня подчиненный справочник. Но проблема не в этом.

(3),(4) Мне достаточно одного штрихкода:

Если Источник.ЭтоГруппа() = 1 Тогда
    Отказ = 1;
КонецЕсли;

Значение = 1;
ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные.ДобавитьЗначение(Источник,"Владелец");
ИсходящиеДанные.ДобавитьЗначение(Источник.БазоваяЕдиница.Штрихкод,"Штрихкод");

Это я пишу в ПКС Комментарий->Описание ПКО Номенклатура. (По методичке). Правило конвертации - Штрихкоды.

В штрикходах Получаю значения из Входящих данных.

Номенклатура, в свою очередь, вызывается По ссылке из выгружаемого документа Реализация.

Работает все нормально. Кроме того, что выгружается только штрихкод первой номенклатурной позиции в документе. Остальная номенклатура выгружается, но без штрихкода.
6 distorter
 
11.05.16
15:27
Данные в фале обмена:

<Объект Нпп="4" Тип="СправочникСсылка.БазовыеЕдиницыИзмерения" ИмяПравила="БазовыеЕдиницыИзмерения">...</Объект>
<Объект Нпп="5" Тип="РегистрСведенийЗапись.Штрихкоды" ИмяПравила="Штрихкоды" НеЗамещать="true">...</Объект>
<Объект Нпп="2" Тип="СправочникСсылка.Номенклатура" ИмяПравила="Номенклатура" НеЗамещать="true">...</Объект>
<Объект Нпп="7" Тип="СправочникСсылка.Номенклатура" ИмяПравила="Номенклатура" НеЗамещать="true">...</Объект>
<Объект Нпп="8" Тип="СправочникСсылка.Номенклатура" ИмяПравила="Номенклатура" НеЗамещать="true">...</Объект>
<Объект Нпп="1" Тип="ДокументСсылка.ПоступлениеТоваров" ИмяПравила="ПоступлениеТоваровРеализацияКупляПродажа" НеЗамещать="true">...</Объект>
7 distorter
 
11.05.16
16:09
Вопрос решился до неприличия элементарно:
в ПКО штрихкоды поставил галку: "Не запоминать выгруженные объекты"
Осталось понять почему? Объекты ведь разные. Это фишка 7.7?
8 Сияющий Асинхраль
 
11.05.16
17:07
(7) Нет, такая фигня изредка и в восьмерке бывает, несколько раз натыкался на это, но общего принципа, когда глюки бывают, а когда нет не понял :-(((
9 Сияющий Асинхраль
 
11.05.16
17:09
+(8) Но чаще всего подобное наблюдалось не для регистров, а для подчиненных справочников, типа Договоры, единицы измерения и т.д.
Закон Брукера: Даже маленькая практика стоит большой теории.