Имя: Пароль:
1C
1С v8
Конвертация данных. Перенос ШтрихКода из 77 в регистр сведений УТП 82
,
0 LeeLoo75
 
03.03.14
14:14
Добрый день!
Задача следующая - Имеется самописаная конфигурация на 77, в которой ШтрихКод может быть как реквизитом спр.Номенклатура, так и реквизитом спр.Партии (подчиненный Номенклатуре). Необходимо это добро перенести в УТП в РегистрСведений.ШтрихКоды

Что делаю -

1. Создаю ПКО ШтрихКоды. Значение Источника пусто, Приемник - РегистрСведений.ШтрихКоды. Создаю ПКС для всех реквизитов приемника с крыжем - Получить из входящих данных.

2. Создаю ПКО ХарактеристикиНоменклатуры. Источник - Справочник.Партии. Приемник - Справочник.ХарактеристикиНоменклатуры. Поиск по реквизитам - Владелец, Наименование.

3. В 2 создаю ПКС для реквизита СтранаПроисхождения (можно Комментарий какой нить, неважно, он нужен для того, чтобы значения передать). Тут в ПередВыгрузкой пишу -

Если Источник.ЭтоГруппа()=0 Тогда
    Если (ПустоеЗначение(Источник.ШтрихКод)=0) ИЛИ                (ПустоеЗначение(Источник.Владелец.ШтрихКод)=0) Тогда
        Значение = 1;
        ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
        ИсходящиеДанные.Установить("ХарактеристикаНоменклатуры",Источник);
        ИсходящиеДанные.Установить("Владелец",Источник.Владелец);
        Если ПустоеЗначение(Источник.ШтрихКод)=0 Тогда
            ИсходящиеДанные.Установить("ШтрихКод",Источник.ШтрихКод);
        Иначе
            ИсходящиеДанные.Установить("ШтрихКод",Источник.Владелец.ШтрихКод);
        КонецЕсли;
        ИсходящиеДанные.Установить("Код",Источник.Владелец.Код);
        
        ИсходящиеДанные.Установить("Активность","1");
    КонецЕсли;
КонецЕсли;

Что происходит - Выгрузка без ошибок. Загрузка без ошибок, добавляется новая строка в номенклатуре в закладке ШтрихКоды, прописана Характеристика Номенклатуры в данной строке, НООО не определе сам ШтрихКод т.е. ШтрихКод - пусто.
1 LeeLoo75
 
03.03.14
14:16
Забыла, в 3 конечно указываю правило - ПКО ШтрихКоды.
2 LeeLoo75
 
03.03.14
14:29
Может где то непонятно написала? ткните, распишу подробнее...
3 LeeLoo75
 
03.03.14
14:38
4 crazydimka
 
03.03.14
14:44
Пустые штрихкоды в 7.7 ?
5 LeeLoo75
 
03.03.14
14:47
(4) Неа, я через сообщить выводила, проверяла, ну и записывает он только в том случае, если ШК не пустой, на последнем скине видно что запись есть, но не полная...
6 LeeLoo75
 
03.03.14
14:48
Характеристику заполняет а ШтрихКод сам нет((
7 crazydimka
 
03.03.14
14:51
количество записей в регистре равно количеству заполненных ШК в 7.7?
8 LeeLoo75
 
03.03.14
14:55
(7) Да, вот пример где нет Штрих кода в 77 и нет записи в 8
http://s020.radikal.ru/i721/1403/55/da811fd38765.jpg
9 lamme
 
03.03.14
14:57
а что - обязательно КД ?
может тупо - выгрузить в файл-загрузить?
проще разобраться - быстрее написать/отладить
10 LeeLoo75
 
03.03.14
14:58
(9)  Так это только маленькая часть того, что перенести надо )))))
11 lamme
 
03.03.14
15:01
в (0) это не понятно )
12 Йохохо
 
03.03.14
15:04
(5) лучше в xml посмотреть
тип шк вроде пропущен в коде
13 LeeLoo75
 
03.03.14
15:06
(12) Да, пропущен т.к. мне его в Источнике получать не откуда.
14 Йохохо
 
03.03.14
15:10
(13) это не измерение? попробуйте выгрузить 1 товар и в файле проверить данные
15 LeeLoo75
 
03.03.14
15:27
(14) Это измерение, вы правы.
16 LeeLoo75
 
03.03.14
15:29
(14) похоже в этом и проблема, и остальные реквизиты, которые я не прописываю в коде (серияноменклатуры, качество) тоже являются измерениями.
17 LeeLoo75
 
03.03.14
15:29
(14)  не соображу как это обойти.
18 Йохохо
 
03.03.14
15:37
(17) чтоб не скучно, через Выражение, в Информация по обработчикам в КД посмотрите
Выражение - Неопределено. Может быть указано произвольное строковое выражение на встроенном языке, результат вычисления которого при загрузке будет присвоен значению свойства. Если Выражение определить в теле обработчика, то дальнейшая обработка ПКС будет прекращена. Данная возможность, используется только если конфигурация-приемник реализована на платформе V8
я не пробовал, интересно)
19 LeeLoo75
 
04.03.14
09:47
Давайте попробуем заново )) вопрос остается актуальным.
Может есть еще варианты переноса. Еще раз про задачу - Необходимо перенести ШтрихКоды из справочника Партии (подчиненному справочнику Номенклатура)из 77 в регистрсведений ШтрихКоды УТП 82.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан