Имя: Пароль:
1C
 
БП 3.0 Принцип сопоставления номенклатуры при загрузке отчета о продажах WB
0 bvb
 
14.05.26
11:51
Добрый день

Внезапно поколебались мои понятия о том, как идет сопоставление номенклатуры при загрузке из отчета о продажах WB

Дело в том что одному артикулу WB с соответствует две разные карточки номенклатуры

Т.е. сопоставление нужно осуществлять по ключу Артикул WB + Баркод


Код номенклатуры (артикул WB)  Баркод
4627150343069                  296729549    Номенклатура 1 (Россия)
4650456298429                  296729549    Номенклатура 2 (Импорт)


Настроил соответствующим образом регистр "Идентификаторы номенклатуры маркетплейсов" и Штрихкоды прописал в карточке товара

Гружу - пофиг. Берет Номенклатура 1 (более старя заведена).

Почему не идет поиск по регистру ? ЧЯДНТ ?
1 Garykom
 
гуру
14.05.26
12:02
Ты спрашиваешь про типовой код в типовой конфе?
А фуй его знает что там происходит и кто его писал
2 bvb
 
14.05.26
12:18
(1) Я спрашиваю не про код а про принцип. он вроде должен быть понятен.

В УНФ я уже механизм сопоставления переписывал.
В БП как то не хочу.
По моему там сделано все добротно.
Может я чего не допонимаю
3 d4rkmesa
 
14.05.26
13:24
(2) >>Я спрашиваю не про код а про принцип.

Ну т.е. в код вы не смотрели? Я бы все же заглянул.
зы: Тоже как то переписывал, но в БЭД (1С ЭДО) 1.9 сопоставление номенклатуры, там ужас ужасный. Нормально работает без дописок, только если изначально идентификатор совпадает.
4 bvb
 
14.05.26
13:39
(3) Я загляну на досуге (сейчас я одной ногой в отпуске).

И сюда напишу.

Я думал тема испытанная и только я не что-то не понимаю
5 d4rkmesa
 
14.05.26
13:45
(4) Тогда можно смело на время выкинуть это из головы. ) Потом уже на новом релизе поразбираться.
6 Злопчинский
 
14.05.26
13:47
(0) Точно так же, когда вы получаете заказ с сайта (1 позиция/карточка) и сопоставляете эту позицию МП с двумя своими карточками номенклатуры (наверное, по Монте-Карло)
7 eddy_n
 
14.05.26
15:15
(2) [По моему там сделано все добротно].
Что там может быть добротного, если маркетплейсы все сидят в перечислениях, а СберМегаМаркет долго и упорно игнорировался вообще как класс.
8 d4rkmesa
 
14.05.26
16:09
(7) "Вам это не нужно". )
По крайней мере, в БП интеграция есть, в ERP 2.5.22 вроде как до сих пор можно только Озон и ЯМаркет включить.
9 ptiz
 
14.05.26
16:31
Я тут начал смотреть интеграцию с WB в УТ 11.
Думал, что как по аналогии ОЗОН сделано, а вот нет: в 1С изобрели свой "сервис интеграции" со своим блэкджеком API. И теперь все данные маркетплейсов гуляют исключительно через него, и только при наличии интернет-поддержки.
А в БП 3 - по старинке, напрямую в WB стучатся. Но не факт, что в очередном релизе тоже не перепишут на "сервис интеграции".
10 eddy_n
 
14.05.26
16:55
(8) Мне точно не нужно. Мы не ждём милостей от природы.
11 eddy_n
 
14.05.26
16:56
(8) Всё в наших руках, а не в кривых ручках кого-то.
12 eddy_n
 
14.05.26
17:57
(6) Наверное, папа Карло вмешался.
13 bvb
 
28.05.26
17:41
Заглянул :

За сопоставление отвечает РС "НоменклатураКонтрагентовБЭД"
Измерение ИД - это связка Артикул+ Баркод

Вот функция по заполнению по данной номенклатуре :

&НаСервере
Процедура ЗаполнитьРегистрНоменклатураКонтрагентовБЭДНаСервере(МассивВладельцев , Номенклатура)
    Перем Идентификатор;
    
    
    
    Для КАждого Маркетплейс ИЗ  МассивВладельцев Цикл
        
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод
        |ИЗ
        |    РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
        |ГДЕ
        |    ШтрихкодыНоменклатуры.Номенклатура = &Номенклатура";
        
        Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
        
        ВЫборкаПоШтрихкоду = Запрос.Выполнить().Выбрать();
        
        пока ВЫборкаПоШтрихкоду.Следующий() Цикл
            
            РеквизитыНоменклатуры = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Номенклатура, "STR_АртикулWB, Артикул, ЕдиницаИзмерения");
            
            
            Идентификатор = РеквизитыНоменклатуры.STR_АртикулWB + "#" +ВЫборкаПоШтрихкоду.Штрихкод;
            
            НаборЗаписей = РегистрыСведений.НоменклатураКонтрагентовБЭД.СоздатьНаборЗаписей();
            
            НаборЗаписей.Отбор.Владелец.Установить(Маркетплейс);    
            НаборЗаписей.Отбор.Идентификатор.Установить(Идентификатор);
            
            НЗ = НаборЗаписей.Добавить();
            НЗ.Владелец =  Маркетплейс;
            НЗ.Идентификатор =  Идентификатор;
            НЗ.Номенклатура = Номенклатура;
            НЗ.Артикул  = РеквизитыНоменклатуры.Артикул;
            НЗ.Штрихкод  = ВЫборкаПоШтрихкоду.Штрихкод;
            НЗ.Упаковка  = РеквизитыНоменклатуры.ЕдиницаИзмерения;  
            НЗ.НаименованиеУпаковки = Строка(РеквизитыНоменклатуры.ЕдиницаИзмерения);
            НЗ.ЕдиницаИзмерения = Строка(Номенклатура.ЕдиницаИзмерения);
            НаборЗаписей.Записать();
            
            
        КонецЦикла;
    КонецЦикла;    
    
    
КонецПроцедуры // ЗаполнитьРегистрНоменклатураКонтрагентовБЭДНаСервере
14 bvb
 
28.05.26
17:40
Вызов :
МассивВладельцев = Новый Массив;
            МассивВладельцев.Добавить(справочники.Контрагенты.НайтиПоРеквизиту("ИНН","9714053621")); //ООО "РВБ"
            
            ЗаполнитьРегистрНоменклатураКонтрагентовБЭДНаСервере(МассивВладельцев , Стр.Номенклатура);

Предварительно регистр лучше зачистить :

&НаСервере
Процедура ОчиститьВладельцевРегистрНоменклатураКонтрагентовБЭДНаСервере()
    
    МассивВладельцев = Новый Массив;
    МассивВладельцев.Добавить(справочники.Контрагенты.НайтиПоРеквизиту("ИНН","7721546864")); //ООО "ВАЙЛДБЕРРИЗ"
    МассивВладельцев.Добавить(справочники.Контрагенты.НайтиПоРеквизиту("ИНН","9714053621")); //ООО "РВБ"
    
    
    
    
    Для КАждого Владелец ИЗ  МассивВладельцев Цикл
        НаборЗаписей = РегистрыСведений.НоменклатураКонтрагентовБЭД.СоздатьНаборЗаписей();
        
        НаборЗаписей.Отбор.Владелец.Установить(Владелец);    
        
        НаборЗаписей.Записать();
    КонецЦикла;
    
КонецПроцедуры
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший