Имя: Пароль:
1C
1С v8
Конвертация данных (Перенос из РегистраСведений в реквизит спр-ка)
0 BORG
 
14.08.13
14:53
Подскажите плз, может кто сталкивался с такой задачей:
необходимо из УТ перенести справочник номеклатуры в БУХ, среди прочих реквизитов необходимо перенести инфу по штрихкоду номенклатуры, но инфа по штрих коду хранится в УТ в РегистреСведений а в бух это просто реквизит справочника Номенклатуры, в итоге я вроде настроил все как понимаю, но видимо плохо что то понимаю, т.к. у меня не работает.

А делал я так, в правиле Номенклатура в обработчике "При выгрузке" написал запрос который выбирает значение штрих кода по параметру номенклатура, далее добавил новое ПКС, где указал что приемник это реквизит Штрихкод в бух, а источник ничего не указывал, ну и потом выбрал ПКО Номенклатура для этого реквизита.
Вот текст запроса на всякий случай:

Если (НЕ Источник.ЭтоГруппа) И (НЕ Источник.ПометкаУдаления) Тогда
    Запрос = Новый Запрос("
    |ВЫБРАТЬ ПЕРВЫЕ 1
    |    ШтрихкодыНоменклатуры.Штрихкод,
    |    ШтрихкодыНоменклатуры.Номенклатура,
    |    ШтрихкодыНоменклатуры.Характеристика,
    |    ШтрихкодыНоменклатуры.Упаковка
    |ИЗ
    |    РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
    |ГДЕ
    |    ШтрихкодыНоменклатуры.Номенклатура = &Номенклатура");
    Запрос.УстановитьПараметр("Номенклатура",Источник);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Значение = Выборка.ШтрихКод;
    КонецЦикла;
КонецЕсли;
1 Aleksey
 
14.08.13
15:07
что не работает? в файле есть штрихкод, в ручную запрос пробовал, что возвращает?
2 Naumov
 
14.08.13
15:11
(0)"А делал я так, в правиле Номенклатура в обработчике "При выгрузке" написал запрос "
Указанный текст нужно написать в событии "перед выгрузкой" для ПКС
3 Naumov
 
14.08.13
15:12
и не понял фразы "потом выбрал ПКО Номенклатура для этого реквизита. "
Для какого реквизита?
4 BORG
 
14.08.13
15:13
да, в файле штрихкод есть, только вот куда он потом загружается мне не понятно, может я что то элементарное не сделал просто при настройке конвертации, просто при загрузке создались новые элементы полностью пустые элементы в спр номенклатура в БУХ но при этом поле штрих код у этих элементов заполнено
5 BORG
 
14.08.13
15:13
(3) для реквизита в приемнике - штрихкод
6 BORG
 
14.08.13
15:15
т.е. вообще может кто может описать какой вообще принцип при такого типа обмене...
7 Naumov
 
14.08.13
15:16
(5) А с чего это этот реквизит должен конвертироваться по этому ПКО? Реквизит же строковый?
8 Naumov
 
14.08.13
15:17
(4) Пустые элементы и создались, т.к. фактически ты строку конвертируешь в СправочникНоменклатура. Система помогла, как смогла :)
9 BORG
 
14.08.13
15:19
так а как тогда вообще в реквизит штрихкод передать полученную в запросе инфу?
10 Aleksey
 
14.08.13
15:22
(7) так и Выборка.ШтрихКод тоже строка
11 Aleksey
 
14.08.13
15:23
(9) ссылку на правило кинь, чтобы не гадать что ты там делаешь
12 BORG
 
14.08.13
15:26
13 Naumov
 
14.08.13
15:31
я в (2) Уже дал правильный ответ.
14 Aleksey
 
14.08.13
15:32
(12) Собственно (2) прав, нет нужного кода в нужном месте
15 Aleksey
 
14.08.13
15:33
А твой код вообще не должен номенклутуру выгружать, ибо он элемент номенклатуры должен заменять гтрихкодом
16 Aleksey
 
14.08.13
15:34
ну или через ИсходящиеДанные, в ПКС штрихкода читаешь их из входящих данных
17 BORG
 
14.08.13
15:35
(13) ПередЗагрузкой в ПКС штрихкода?
18 BORG
 
14.08.13
15:35
(13) точнее в событии "ПередВугрузкой"
19 Naumov
 
14.08.13
15:37
20 BORG
 
14.08.13
17:02
(19) при загрузке пишет ошибку Поле объекта не обнаружено (Штрихкод)
21 Славен
 
14.08.13
17:10
в запросе поставить "как Код" тебе шк надо в код справочника записать? или у тебя есть реквизит штрихкод в справочнике номенклатуры (не доп свойство)
22 Naumov
 
14.08.13
19:01
(20) А откуда он у тебя в структуре данных взялся?
Куда ты вообще хочешь пихнуть этот штрих-код