Открыта возможность перехода на модули с открытым кодом! Детали

Перейти к публикации

Не работает настройка "Сопутствующие товары"


Рекомендованные сообщения

Стоит УНФ 1.6.

Не работает настройка "Сопутствующие товары"

Всё сделано согласно инструкции. Обновлять сопутствующие товары - значение «Сопутствующие товары» должно быть в свойствах товара. Задается через «;», пример «А001; 12548; СМ001»

Создан доп. реквизит "Сопутствующие товары". В файле выгрузки import.xml, заполненный в карточке товара указанный реквизит, выглядит так:

            <Свойство>
                <Ид>34a216fc-202b-11eb-b68d-002522cbc78a</Ид>
                <Наименование>Сопутствующие товары</Наименование>
                <ТипЗначений>Строка</ТипЗначений>
                <ДляТоваров>true</ДляТоваров>
            </Свойство>

...

                    <ЗначенияСвойства>
                        <Ид>34a216fc-202b-11eb-b68d-002522cbc78a</Ид>
                        <Значение>17271; 17360</Значение>
                    </ЗначенияСвойства>
 

Ожидается, что в сопутствующие товары попадут товары с артикулами 17271 и 17360.

Вместо этого, свойство появляется в списке атрибутов, т.е. свойство "Сопутствующие товары" не обрабатывается.

image.png.8fa4ac464f7bb6fbc2b078c2ce6421f8.png

Прошу объяснить механизм работы настройки и указать, что в моём случае сделано нет так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Iron Mann сказал:

Стоит УНФ 1.6.

Не работает настройка "Сопутствующие товары"

Всё сделано согласно инструкции. Обновлять сопутствующие товары - значение «Сопутствующие товары» должно быть в свойствах товара. Задается через «;», пример «А001; 12548; СМ001»

Создан доп. реквизит "Сопутствующие товары". В файле выгрузки import.xml, заполненный в карточке товара указанный реквизит, выглядит так:

            <Свойство>
                <Ид>34a216fc-202b-11eb-b68d-002522cbc78a</Ид>
                <Наименование>Сопутствующие товары</Наименование>
                <ТипЗначений>Строка</ТипЗначений>
                <ДляТоваров>true</ДляТоваров>
            </Свойство>

...

                    <ЗначенияСвойства>
                        <Ид>34a216fc-202b-11eb-b68d-002522cbc78a</Ид>
                        <Значение>17271; 17360</Значение>
                    </ЗначенияСвойства>
 

Ожидается, что в сопутствующие товары попадут товары с артикулами 17271 и 17360.

Вместо этого, свойство появляется в списке атрибутов, т.е. свойство "Сопутствующие товары" не обрабатывается.

image.png.8fa4ac464f7bb6fbc2b078c2ce6421f8.png

Прошу объяснить механизм работы настройки и указать, что в моём случае сделано нет так.

Добрый день, да, Ваш код выглядит корректно. Но у Вас присутствуют данные товары в магазине? И по какому коду Вы их ищете? Есть ли товары с таким артиклем в данном поле? Это настройка "По какому параметру выбирать товар для сопутствующих товаров"

Так же проверьте таблицу product_related - существует ли она?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разумеется, присутствуют. Я специально подставил два существующих артикула, чтобы проверить работу модуля. Таблица тоже в наличии и сейчас она пустая.

Свойство не попадает в специальную обработку модулем и воспринимается им просто как название атрибута. Может ли, к примеру, это свойство называться в модуле не так, как написано в инструкции или какая-либо закрасться ошибка в название свойства в самом коде модуля?

Или еще вариант, что модуль ищет свойство не в тегах

            <Свойство>
                <Ид>...</Ид>
                <Наименование>Сопутствующие товары</Наименование>
                <ТипЗначений>Строка</ТипЗначений>
                <ДляТоваров>true</ДляТоваров>
            </Свойство>

                    <ЗначенияСвойства>
                        <Ид>...</Ид>
                        <Значение>...</Значение>
                    </ЗначенияСвойства>

а в наборах тегов

                    <ЗначениеРеквизита>
                        <Наименование>Сопутствующие товары</Наименование>
                        <Значение>...</Значение>
                    </ЗначениеРеквизита>

?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 часов назад, Iron Mann сказал:

Разумеется, присутствуют. Я специально подставил два существующих артикула, чтобы проверить работу модуля. Таблица тоже в наличии и сейчас она пустая.

Свойство не попадает в специальную обработку модулем и воспринимается им просто как название атрибута. Может ли, к примеру, это свойство называться в модуле не так, как написано в инструкции или какая-либо закрасться ошибка в название свойства в самом коде модуля?

Или еще вариант, что модуль ищет свойство не в тегах

            <Свойство>
                <Ид>...</Ид>
                <Наименование>Сопутствующие товары</Наименование>
                <ТипЗначений>Строка</ТипЗначений>
                <ДляТоваров>true</ДляТоваров>
            </Свойство>

                    <ЗначенияСвойства>
                        <Ид>...</Ид>
                        <Значение>...</Значение>
                    </ЗначенияСвойства>

а в наборах тегов

                    <ЗначениеРеквизита>
                        <Наименование>Сопутствующие товары</Наименование>
                        <Значение>...</Значение>
                    </ЗначениеРеквизита>

?

Пришлите пример файлов синхронизации с одним товаром и доступы к админке и фтп Вашего сайта в ЛС. Проверим обновление файла. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Коллеги, если кто читает данный топик и использует данную функцию (успешно использует) не могли бы вы оказать помощь в решении вопроса? Мне нужен кусок вашего файла с тегом "Сопутствующие товары", который у вас загружается и корректно обрабатывается. На 99% проблема именно в теге.

Изменено пользователем Iron Mann

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разобрался в вопросе самостоятельно.

Проблема в следующем. При первичном полном обмене данными (первичная загрузка данных справочника номенклатуры в магазин) - данные значений "Сопутствующие товары" в таблицу product_related не попадают.

Если произвести повторный полный обмен данными, накладывая его на уже загруженные данные товаров в магазин, или изменить и сохранить в 1С товары у которых прописаны артикулы сопутствующих товаров и произвести выгрузку изменений - в этих случаях товары в таблицу product_related уже заносятся.

Предполагаю, что причиной такого поведения является то, что пока сопутствующий товар не создан в базе данных, на него еще нет ссылки в таблице product и соответственно невозможно записать ссылку в таблицу product_related. Соответственно, в рамках любой произвольной выгрузки, новые товары, ссылающиеся друг на друга (не на уже имеющиеся в магазине) попадать в таблицу product_related не будут. Особенно фатально это выглядит как раз для первичной глобальной выгрузки, когда ссылки на сопутствующие товары не создаются вообще.

Какой из этой ситуации может быть выход? Разумеется, постоянно делать глобальные выгрузки из 1С всего товарного справочника, только для того, чтобы синхронизировать сопутствующие товары - не вариант совершенно. Значит, потребуется изменить логику обработки атрибутов сопутствующих товаров.

Как вариант, можно использовать следующий алгоритм. На этапе обработки файла import.xml, создавать служебный массив связей вида "текущий артикул - артикул сопутствующего товара" (сколько перечислено артикулов сопутствующих товаров, столько и будет добавляться строк в массиве, для текущего артикула). После завершения обработки import.xml, когда все новые товары уже созданы, обрабатывать указанный служебный массив. Обработку лучше выполнять в режиме синхронизации, а не добавления, т.е. очищать product_related от старых связей по артикулу и заполнять новыми из массива.

Надеюсь, описанный недочёт в работе модуле будет устранён в ближайших версиях. Пока же напишу небольшую обработку 1С по выгрузке массива сопутствующих товаров из номенклатурного справочника и PHP скрипт синхронизации данного массива с таблицей product_related магазина, по алгоритму, который описал выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Iron Mann сказал:

Разобрался в вопросе самостоятельно.

Проблема в следующем. При первичном полном обмене данными (первичная загрузка данных справочника номенклатуры в магазин) - данные значений "Сопутствующие товары" в таблицу product_related не попадают.

Если произвести повторный полный обмен данными, накладывая его на уже загруженные данные товаров в магазин, или изменить и сохранить в 1С товары у которых прописаны артикулы сопутствующих товаров и произвести выгрузку изменений - в этих случаях товары в таблицу product_related уже заносятся.

Предполагаю, что причиной такого поведения является то, что пока сопутствующий товар не создан в базе данных, на него еще нет ссылки в таблице product и соответственно невозможно записать ссылку в таблицу product_related. Соответственно, в рамках любой произвольной выгрузки, новые товары, ссылающиеся друг на друга (не на уже имеющиеся в магазине) попадать в таблицу product_related не будут. Особенно фатально это выглядит как раз для первичной глобальной выгрузки, когда ссылки на сопутствующие товары не создаются вообще.

Какой из этой ситуации может быть выход? Разумеется, постоянно делать глобальные выгрузки из 1С всего товарного справочника, только для того, чтобы синхронизировать сопутствующие товары - не вариант совершенно. Значит, потребуется изменить логику обработки атрибутов сопутствующих товаров.

Как вариант, можно использовать следующий алгоритм. На этапе обработки файла import.xml, создавать служебный массив связей вида "текущий артикул - артикул сопутствующего товара" (сколько перечислено артикулов сопутствующих товаров, столько и будет добавляться строк в массиве, для текущего артикула). После завершения обработки import.xml, когда все новые товары уже созданы, обрабатывать указанный служебный массив. Обработку лучше выполнять в режиме синхронизации, а не добавления, т.е. очищать product_related от старых связей по артикулу и заполнять новыми из массива.

Надеюсь, описанный недочёт в работе модуле будет устранён в ближайших версиях. Пока же напишу небольшую обработку 1С по выгрузке массива сопутствующих товаров из номенклатурного справочника и PHP скрипт синхронизации данного массива с таблицей product_related магазина, по алгоритму, который описал выше.

Здравствуйте.

Свое пожелание по доработке продублируйте, пожалуйста, в теме 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

  • 5 months later...

А как скрыть характеристику "Свойство товара" с перечислением артикулов сопутствующих товаров из самого товара ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

19.04.2021 в 22:02, startkomp сказал:

А как скрыть характеристику "Свойство товара" с перечислением артикулов сопутствующих товаров из самого товара ?

 

Есть поле в настройках "пропустить атрибуты", просто вписываете туда название этого свойства

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...