Вход | Регистрация
 
Информационные технологии :: Администрирование

Проблема с модулем обмена 1с с сайтом Битрикс

Проблема с модулем обмена 1с с сайтом Битрикс
Я
   h_d_d
 
09.02.21 - 09:33
Есть модуль обмена с интернет магазином "Модуль интеграции 1С Битрикс"..
с переездом на новую версию 1с пришлось и его обновить.. в старой версии  старый модуль работал корректно, выгружал номенклатуру согласно настройкам "Дерева групп"..
после обновления, с помочью переноса настроек и экспорта выгрузки не получилось перенести, насколько понял, изменилась структура данных, соответственно, и файл выгрузки..

Перенес дерево групп вручную, все настройки выгрузки проставил, как и в старой версии, все вроде ок, но...

Проблема в том, что само "Дерево групп", которое прописывается вручную ВООБЩЕ никак не выгружается!(((

Выгружается либо по виду номенклатуры (группы создаются с названием вида номенклатуры в 1с и в них выгружаются товары общим списком), либо если убираю галочку "Классификация по видам номенклатуры", выгружается дерево из 1С! (что тоже меня не устраивает!)

Прошу помощи по поиску нюанса, который упустил или изменился в новой версии модуля...
   Asmody
 
1 - 09.02.21 - 09:37
(0) Битрикс купленный? Чего бы в поддержку не написать?
   seevkik
 
2 - 09.02.21 - 09:38
Розница, УТ, БП, КА?
   h_d_d
 
3 - 09.02.21 - 09:38
>>Розница, УТ, БП, КА?
УТ
   seevkik
 
4 - 09.02.21 - 09:40
(3) 10.3, 11.1?
   h_d_d
 
5 - 09.02.21 - 09:41
11.4.13.103

а работало корректно на 11.1
   seevkik
 
6 - 09.02.21 - 09:42
(5) Модуль обмена 7.0.1.18?
   h_d_d
 
7 - 09.02.21 - 09:43
7.0.1.34
   seevkik
 
8 - 09.02.21 - 09:46
Иди в отладку, нужно смотреть на процедуру "ВыгрузитьГруппы" в общем модуле "Б_ОбменССайтомСерверВыгрузкаДанных", там достаточно понятный код, да и условие элементарное
   seevkik
 
9 - 09.02.21 - 09:46
Другой вопрос - со стороны битрикса создаются ли каталоги
   h_d_d
 
10 - 09.02.21 - 09:48
>>Другой вопрос - со стороны битрикса создаются ли каталоги
создаются.. если индификатор новый указываю, создается новый каталог, если старый, то выгружает в старый...
   seevkik
 
11 - 09.02.21 - 09:49
(10) То есть проблема не та, что указана в теме?)
   seevkik
 
12 - 09.02.21 - 09:50
"Проблема в том, что само "Дерево групп", которое прописывается вручную ВООБЩЕ никак не выгружается!((("
   seevkik
 
13 - 09.02.21 - 09:50
(10) Или я не правильно понял и создаются инфоблоки...
В инфоблоках есть папки?
   h_d_d
 
14 - 09.02.21 - 09:55
Каталог товаров создается новый либо выгружается в старый (если индификатор указываю старым)

Но дерево в нем не создается, которое указываю в модуле "Дерево групп", а создается либо вид номенклатуры - товары лепрома, услуги, и тд
либо создается дерево из номенклатуры 1с (в том же каталоге)..
   h_d_d
 
15 - 09.02.21 - 09:57
в новом модуле в "Настройке дерева групп" да, указываем "Разделы инфоблока" и именно они не создаются
   seevkik
 
16 - 09.02.21 - 10:06
(8) .
   h_d_d
 
17 - 09.02.21 - 11:15
?
   h_d_d
 
18 - 09.02.21 - 11:50
Процедура ВыгрузитьГруппы(ПараметрыОбмена, Владелец, ВладелецТип, СтрокаТаблицыКаталогов)
    
    Б_ОбменССайтомСервер.СообщитьПодробно("Выгрузка групп в XML.", ПараметрыОбмена);
    
    XDTOГруппыТип     = Б_ОбменССайтомСервер.ПолучениеТипОбъектаXDTO(ПараметрыОбмена,  "Группы", Истина, ВладелецТип);
    XDTOГруппы         = ПараметрыОбмена.МояФабрикаXDTO.Создать(XDTOГруппыТип);
Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("ДеревоГрупп", ДеревоГрупп);
        
        Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    Б_ПользовательскиеГруппыТоваров.Ссылка КАК Группа,
        |    Б_ПользовательскиеГруппыТоваров.ИдентификаторРаздела,
        |    Б_ПользовательскиеГруппыТоваров.Инфоблок,
        |    Б_ПользовательскиеГруппыТоваров.Наименование,
        |    Б_ПользовательскиеГруппыТоваров.ПометкаУдаления,
        |    Б_ПользовательскиеГруппыТоваров.ВерсияДанных
        |ИЗ
        |    Справочник.Б_ПользовательскиеГруппыТоваров КАК Б_ПользовательскиеГруппыТоваров
        |ГДЕ
        |    Б_ПользовательскиеГруппыТоваров.Ссылка В ИЕРАРХИИ(&ДеревоГрупп)
        |ИТОГИ ПО
        |    Группа ИЕРАРХИЯ
        |АВТОУПОРЯДОЧИВАНИЕ";
        
        ДеревоГрупп = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
        
        ВыгрузитьГруппыРекурсивноПоДеревуГруппXDTO(ПараметрыОбмена, XDTOГруппы, ДеревоГрупп.Строки, Итератор);
        
    Иначе
        
        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("Узел",ПараметрыОбмена.Ссылка);
        Запрос.УстановитьПараметр("Каталог",СтрокаТаблицыКаталогов.ИдентификаторКаталога);
        Запрос.УстановитьПараметр("ТипОбъекта","ТоварДляГруппы");
        
        ТекстЗапроса = "ВЫБРАТЬ
        |    Б_ПакетныйОбмен.Объект,
        |    ВЫРАЗИТЬ(Б_ПакетныйОбмен.Объект КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры,
        |    ВЫРАЗИТЬ(Б_ПакетныйОбмен.Объект КАК Справочник.Номенклатура).Наименование КАК Наименование
        |ПОМЕСТИТЬ ВремНоменклатура
        |ИЗ
        |    РегистрСведений.Б_ПакетныйОбмен КАК Б_ПакетныйОбмен
        |ГДЕ
        |    Б_ПакетныйОбмен.НастройкаОбмена = &Узел
        |    И Б_ПакетныйОбмен.Каталог = &Каталог
        |    И Б_ПакетныйОбмен.ТипОбъекта = &ТипОбъекта ;";
        
        ТекстЗапросаГруппыНоменклатуры =
        "ВЫБРАТЬ
        |    ВремНоменклатура.Объект КАК Объект,
        |    ВремНоменклатура.Наименование КАК Наименование,
        |    ВремНоменклатура.Объект.ЭтоГруппа КАК ЭтоГруппа
        |ИЗ
        |    ВремНоменклатура КАК ВремНоменклатура
        |ИТОГИ ПО
        |    Объект ТОЛЬКО ИЕРАРХИЯ
        |АВТОУПОРЯДОЧИВАНИЕ";
        
        ТекстЗапросаВидыНоменклатуры =
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ВремНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры
        |ИЗ
        |    ВремНоменклатура КАК ВремНоменклатура
        |ИТОГИ ПО
        |    ВидНоменклатуры ИЕРАРХИЯ
        |АВТОУПОРЯДОЧИВАНИЕ";
        
        Если ПараметрыОбмена.КлассифицироватьПоВидамНоменклатуры тогда
            ТекстЗапроса = ТекстЗапроса + ТекстЗапросаВидыНоменклатуры;    
        Иначе
            ТекстЗапроса = ТекстЗапроса + ТекстЗапросаГруппыНоменклатуры;    
        КонецЕсли;
        
        Запрос.Текст = ТекстЗапроса;
        
        ДеревоГрупп = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
        
        Если ПараметрыОбмена.КлассифицироватьПоВидамНоменклатуры Тогда
            
            ВыгрузитьГруппыРекурсивноПоВидамНоменклатурыXDTO(ПараметрыОбмена, XDTOГруппы, ДеревоГрупп.Строки, СтрокаТаблицыКаталогов.Группы, Итератор);
            
        Иначе
            
            ВыгрузитьГруппыРекурсивноXDTO(ПараметрыОбмена, XDTOГруппы, ДеревоГрупп.Строки, СтрокаТаблицыКаталогов.Группы, Итератор);
            
        КонецЕсли;
        
    КонецЕсли;
    
    Б_ОбменССайтомСервер.СообщитьПодробно("Выгрузка групп в XML завершено. Выгружено " + Строка(Итератор) + " элементов.", ПараметрыОбмена);
    
    Если XDTOГруппы.Группа.количество() > 0 тогда
        Владелец.Группы = XDTOГруппы;
    КонецЕсли;
    
КонецПроцедуры
   h_d_d
 
19 - 11.02.21 - 12:15
Кто столкнется с подобной проблемой - в самом модуле править ничего не нужно! по крайней мере я не правил))
нужно удалить "Каталог товара" из настроек модуля.. а потом создать новый с таким же идентификатором (правки уже созданного каталога и его идентификатора НЕ ПОМОГАЕТ!), получилось только после полного сноса и создания нового каталога.. перед этим можно экспортировать настройки дерева в файл, если уже что-то успели сделать (или из прежней версии).. и после создания нового каталога просто перейти в настройки дерева и загрузить файл

и все пойдет как надо!

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.