Все еще не обновляются артикулы из 1с Исправлено

1

Добрый день! Вышло долгожданное обновление плагина 1С (CommerceML) и исправило 1 из 2 подтвержденных проблем, о которых я писал ранее https://support.webasyst.ru/22553/ne-obnovlyayutsy..., а именно формат артикулов при экспорте заказов в 1с теперь корректный. Но проблема изменения артикулов товаров при импорте из 1с все еще осталась. Исправьте пожалуйста. Также были замечены новые баги странности в работе плагина: 1)При экспорте физического лица в составе заказов заполняется его не указанный ИНН как "ОбъектXDTO" (до обновления такого не было).

2) Пункт "Обновление статуса товаров и артикулов при импорте товаров без указания статуса «Удален»" добавил новый баг. Теперь при изменении товара или полном обмене все скрытые товары снова становятся видимыми.

p.s. Небольшие пожелания:1) Чтобы опция "выгрузка доставки" работала, если заполнены выбранные способы доставки, иначе не выгружалась.

2) При экспорте юридического лица в составе заказов не заполняется поле "Регистрация" и все остальные поля после ИНН, такие как КПП и ОКПО, не подхватываются.


17 комментариев

  • +1
    Алексей Полторыхин Алексей Полторыхин 16 февраля 2018 21:07 #

    «Теперь при изменении товара или полном обмене все скрытые товары снова становятся видимыми.» - это не баг, если у товаров при импорте из 1С нет статуса «Удален» (в CML есть товар и у него нет <Статус>Удален</Статус>), то он будет доступным для заказа в Shop-Script. Если товар удален в 1С, то по нему должен приходить соответствующий статус (<Статус>Удален</Статус>) или этот товар вообще не должен передаваться из 1С в CML.

    При необходимости можно скрыть все товары импортируемые из 1С, есть настройка обмена «Скрывать новые товары при импорте».

    «проблема изменения артикулов товаров при импорте из 1с все еще осталась» - что под этим подразумевается? И нужны детали, сделайте лучше запрос в поддержку и пришлите файл CML, при импорте которого в Shop-Script можно воспроизвести данную проблему.

    «При экспорте физического лица в составе заказов заполняется его не указанный ИНН как "ОбъектXDTO" (до обновления такого не было).» - не можем воспроизвести, сделали заказ без заполнения ИНН — уходит в CML: <ИНН></ИНН>.

    «Чтобы опция "выгрузка доставки" работала, если заполнены выбранные способы доставки, иначе не выгружалась.» - что под этим подразумевается? Как у вас получается сделать заказ без выбранной доставки, вы отключили этап доставки в оформлении заказа? Тогда и не нужно передавать доставку в 1С. Подробное пожелание лучше сделать отдельным сообщением в разделе «Идеи и предложения».

    «При экспорте юридического лица в составе заказов не заполняется поле "Регистрация" и все остальные поля после ИНН, такие как КПП и ОКПО, не подхватываются.» - мы передаем в CML максимальный набор данных по реквизитам юридического лица в соответствии со стандартом CommerceML. Попробуйте вручную выгрузить из Shop-Script заказы в файл CML и посмотрите какие уходят данные. Скорее всего данные в CML есть, но их уже 1С не импортирует из CML.

    • +1
      Mao Mao 17 февраля 2018 22:05 #

      1)Настройка обмена «Скрывать новые товары при импорте» у нас включена, только толку от нее теперь мало. При любом изменении товаров или полном обмене (некоторые данные можно передать только при полной выгрузке), они снова становятся доступны для заказа, дальше только вручную придется менять статус. Как мне кажется, до этого логика работы была более правильной: галка включена - значит все новые товары идут со статусом "скрыт", выключена - значит доступны для заказа, статус «Удален» и так всегда скрывал товар. А теперь повторная выгрузка портит эти правила.

      2)Подразумевается, что если меняется артикул в 1с, он меняется и в магазине. Сейчас работает только первичная выгрузка, изменения артикула не перегружаются. Я уже делал запрос в поддержку в октябре, и мне сказали, что исправят. Скорее всего это так же из-за формата артикулов, только еще и при импорте в ShopScript.

      3)При экспорте физического лица в составе заказа теперь уходит <ИНН></ИНН> (пустой ИНН), вот 1с и ругается. До обновления плагина это поле вообще для физлиц не выгружалось.

      4)Есть отдельная галочка в настройках плагина CML - выгрузка доставки в виде отдельной позиции заказа. Мое пожелание в том, чтобы там же и сделать выбор при каких подключенных способах доставки ее выгружать. У нас доставка есть, значит мы ее выгружаем, но очень хотелось бы исключить выгрузку самовывоза в виде доставки с ценой 0.

      5)Все оказалось еще хуже. Сделав вручную выгрузку файла, обнаружил что все три поля:<ИНН></ИНН><КПП></КПП><ОКПО></ОКПО> имеют одинаковые данные, а именно - во всех трех встал номер ИНН, и уже в таком виде их подхватывает 1с. При этом, в карточке покупателя данные сохранены верно, поля в настройках сопоставления не перепутаны.

      • +1
        Алексей Полторыхин Алексей Полторыхин 20 февраля 2018 17:17 #

        «У нас доставка есть, значит мы ее выгружаем, но очень хотелось бы исключить выгрузку самовывоза в виде доставки с ценой 0.» - достаточно ли просто не экспортировать все доставки с ценой 0?

        Мы тогда со своей стороны попробуем сделать несколько простых вариантов настройки «Выгрузка доставки»:

        - Не экспортировать

        - Экспортировать любой вариант доставки (платную и бесплатную доставку)

        - Экспортировать только платную доставку (стоимость доставки не равна нулю).

      • +1
        Алексей Полторыхин Алексей Полторыхин 19 февраля 2018 18:15 #

        1) У нас есть требование от пользователя полностью противоположное вашему, но которое соответствует стандарту CommerceML: изменить статус товара, если по нему был импортирован новый статус. Раньше статус не обновлялся и ранее скрытый товар не становился уже доступным для заказа после импорта новых данных.

        Галка «Скрывать новые товары при импорте» действует только на новые импортированные товары.

        Попробуйте на стороне 1С ограничить выгружаемый каталог товаров, не выгружайте без статуса «Удален» товары которые уже скрыты в Shop-Script. Или на стороне 1С переведите такие товары в статус «Удален».

        2) Готовим следующее обновление плагина 1С, в котором исправим:

        • не обновляется код артикула из файла import.xml, только первоначально импортируется;
        • не обновляются значения свойств из справочника для характеристик, они только первоначально импортируется.

        3) Экспорт реквизитов юридического лица нужно предварительно настроить:


        Если соответствующий поле выбрать в настройках, но не заполнить при оформлении заказа, то в CML уйдет пустой элемент.

        Выбор типа контрагента покупателя при экспорте заказов в «1С»:

        По умолчанию плагин экспортирует информацию о покупателе как о физическом лице. Если данные некоторых покупателей необходимо экспортировать в «1С» в качестве юридического лица, для этого в настройках плагина в поле «Наименование компании клиента» выберите контактное поле покупателя, которое предназначено для ввода наименования компании. Поля ввода контактной информации, доступные для заполнения покупателями при оформлении заказа, настраиваются в разделе «Настройки → Оформление заказа».

        Если выбранное поле для настройки «Наименование компании клиента» не заполнено клиентом при оформлении заказа, то плагин экспортирует информацию о покупателе как о физическом лице.

        • +1
          Mao Mao 20 февраля 2018 14:51 #

          1. Каким образом теперь передается новый статус товара и из какой программы? Если не все учетные программы могут его передавать, то почему бы не сделать выбор опций?

          2. Наконец-то, спасибо

          3. Именно этой инструкцией я и пользовался, когда настраивал

          а)Поля для ввода настроены

          б)При оформлении заказа все поля подхватываются в карточку покупателя

          в)Настройки для экспорта реквизитов стоят

          НО имеем две проблемы: Делая ручной экспорт заказов из shopscript, наблюдаю следующее

          1. Значение поля ИНН дублируется в поля КПП и ОКПО, а их заполненные значения не подхватываются для юрлиц

          2. Сравнивая две выгрузки заказов физлиц до обновления и после, в первом случае до обновления <ИНН></ИНН> не перегружался и все было хорошо

          А после обновления <ИНН></ИНН> присутствует. Естественно для физлица поле ввода ИНН не показывалось. И тут же вопрос, зачем он здесь нужен? Такого изменения в вашем чейнджлоге нет

        • +1
          Алексей Полторыхин Алексей Полторыхин 20 февраля 2018 16:33 #

          1. Пример статуса «Удален» у товара в CML, в конце блока «Товар» или «Предложение»: <Статус>Удален</Статус>.

          Товар и предложение может прийти в CML без этого статуса (доступен для заказа в Shop-Script) или с ним (не доступен для заказа в Shop-Script).

          1С точно умеет передавать такой статус, и это стандарт CommerceML.

          Попробуйте тестовый товар в 1С поставить на удаление и потом выгрузите CML в узле обмена в файл.


          3. Спасибо за информацию, воспроизвели, исправим в следующем обновлении примерно в начале марта.

          Пустой тег <ИНН></ИНН> появился в версии 2.4.3, а проблемы с КПП и ОКПО уже были в версии 2.4.2.


          ИНН для физических лиц добавили в версии 2.4.0 по запросу от пользователя, иногда ИНН нужен и для физически лиц.

          • +1
            Mao Mao 20 февраля 2018 17:42 #

            Если статус товара регулируется только статусом "Удален", то я не нахожу это решение удобным. Я не один с такой проблемой, поэтому был бы вам очень признателен за это: "Возможно мы со своей стороны попробуем добавить дополнительную настройку, например «Не обновлять скрытые товары в Shop-Script»."

            Большое спасибо за обратную связь, будем ждать обновления)

            • +1
              Алексей Полторыхин Алексей Полторыхин 20 февраля 2018 18:25 #

              Опишите подробнее как у вас получаются скрытые товары в Shop-Script после обмена с 1С — просто изначально всегда скрываете все новые товары импортированные из 1С? И потом после их обработки в Shop-Script делаете доступными для заказа?

              Получается по новой настройке «Не обновлять скрытые товары в Shop-Script» мы будем при обмене полностью игнорировать все скрытые товары в Shop-Script, и у них не будет обновляться остатки, цены и характеристики. Хотя по этим товарам приходят данные из 1С и со статусом доступны для заказа... Подходит?

              • +1
                Mao Mao 21 февраля 2018 13:06 #

                "Получается по новой настройке «Не обновлять скрытые товары в Shop-Script» мы будем при обмене полностью игнорировать все скрытые товары в Shop-Script, и у них не будет обновляться остатки, цены и характеристики. Хотя по этим товарам приходят данные из 1С и со статусом доступны для заказа... Подходит?"
                Все-таки не подходит по причине того, что у нас показ товаров завязан на обновлении характеристики "опубликован на сайте".

                Изначально все товары у нас загружаются скрытыми, они могут быть не полностью заполнены, поэтому видеть их пользователю ни к чему. Дальнейшее обновление я решил так: при помощи стороннего плагина, раз в неделю по cron обновляется статус у тех товаров, которые имеют истину в булевой характеристике в магазине, загруженной из 1с и называющейся, скажем, "опубликован на сайте", и скрывается, если ложь.

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

                "У нас есть требование от пользователя полностью противоположное вашему, но которое соответствует стандарту CommerceML: изменить статус товара, если по нему был импортирован новый статус."
                По сути, что в 2.4.3 аналогично настройке, что была в 2.4.2 - товар со статусом "удален" скрывался. Но если снять статус "удален" - товар должен снова показываться. Я бы здесь добавил условие, что снята пометка «Скрывать новые товары при импорте». Те пользователи, которые ставят статус "опубликован" изначально, получают его обновление. Для тех пользователей, которые скрывают товары при первой загрузке, получается компромисс (они и так сами регулируют когда публиковать товар) и он, как мне кажется, приемлемее, чем форсированный показ товаров, которые должны быть скрыты. Вариант ставить товар на удаление в 1с не подходит, т.к. он может у нас продаваться в рознице, но не на сайте. Вариант исключить товар из выгрузки тоже не подходит, т.к. если товар был однажды выгружен, продавался какое-то время на сайте, а потом перестал, но остался в рознице - скрыть его уже кроме как вручную не получится.

              • +1
                Алексей Полторыхин Алексей Полторыхин 21 февраля 2018 14:58 #

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

                Попробуем сделать отдельную новую настройку «Не обновлять статус товара у ранее скрытых товаров» - при активной настройке данные по скрытым в Shop-Script товарам будут обновляться, но кроме статуса товара. В итоге скрытые в Shop-Script ранее товары останутся скрытыми при любом новом импортированном статусе.


                «У нас доставка есть, значит мы ее выгружаем, но очень хотелось бы исключить выгрузку самовывоза в виде доставки с ценой 0.» - достаточно ли просто не экспортировать все доставки с ценой 0?

                Мы тогда со своей стороны попробуем сделать несколько простых вариантов настройки «Выгрузка доставки»:

                - Не экспортировать

                - Экспортировать любой вариант доставки (платную и бесплатную доставку)

                - Экспортировать только платную доставку (стоимость доставки не равна нулю).


                • +1
                  Mao Mao 21 февраля 2018 15:55 #

                  Если будет игнорироваться только статус - это будет идеально

                  Доставку представлял себе как-то так

                  Но предложенный вами вариант тоже нам подойдет)

                • +1
                  Mao Mao 4 марта 2018 18:32 #

                  День добрый! Спасибо за оперативную реализацию пожеланий. К сожалению, есть пара проблем.

                  Код артикула из файла import.xml все еще не обновляется

                  После обновления 2.5 сломался импорт характеристики веса


                  Также, не совсем понятен пункт: "Настройка «Импорт справочника характеристик» для обновления значений характеристик товаров — с двумя вариантами:
                  • обновлять значения импортированных характеристик у всех товаров в каталоге магазина,
                  • обновлять значения импортированных характеристик только у товаров, которые участвуют в текущем обмене данными"

                  Такой функционал уже есть в 1с и характеристики исправно обновлялись при обычном и полном обмене. Есть подозрение, что вес (или не только) сломался из-за него.

                  • +1
                    Михаил Ушенин Михаил Ушенин 5 марта 2018 14:46 #
                    Код артикула из файла import.xml все еще не обновляется

                    Да, пока работаем над этим.

                    После обновления 2.5 сломался импорт характеристики веса

                    Изучаем проблему. Попробуйте пока что для настройки "Импорт справочника характеристик" выбрать вариант "Обновлять значения импортированных характеристик у всех товаров в каталоге магазина".

                  • +1

                    До версии 2.5 были проблемы с обновлением свойств у характеристик с типом «checkbox».

                    «Обновлять значения импортированных характеристик у всех товаров в каталоге магазина» - обновятся все значения всех характеристик в данном типе товаров, и соответственно обновятся все товары данного типа.


                    «Обновлять значения импортированных характеристик только у товаров, которые участвуют в текущем обмене данными» - старые значения характеристик в типе товара не изменяются, а только добавляются новые значения (не должно быть совпадений по GUID или самому тексту у нескольких значений характеристики), также обновляются только импортированное товары, а не все товары данного типа как в первом варианте.


                    Вес не ломался в версии 2.5, проверили, вес импортируется и через отдельный специальный реквизит товара «Вес» и через свойство характеристики товара, которую только необходимо сопоставить при анализе с характеристикой Shop-Script кодом «weight».


                    В анализе для новой характеристики с именем «Вес» по умолчанию предлагает создать новую характеристику с типом Вес (в разделе списка «Добавить в качестве новой характеристики»), но если характеристика с кодом weight уже была в Shop-Script, то ее нужно найти в разделе списка «Добавить к существующей» через пункт «Найти характеристику...». Для веса нужно выбрать характеристику именно с кодом «weight», в подсказке выводится код характеристики:


                    • +1
                      Mao Mao 6 марта 2018 14:47 #

                      Стоит вариант «Обновлять значения импортированных характеристик у всех товаров в каталоге магазина», хотя пробовали и другой вариант.

                      С самого начала у нас была сопоставлена характеристика "Вес" с кодом weight и все импортировалось

                      После обновления получаем вот это:

                      где-то вес обнулился, где-то вовсе исчез, а где-то остался как был

                      Повторный полный обмен проблему не решает

                      Пункта «Найти характеристику...» в списке нет

                    • +1

                      Если Вес у товаров обновляется, то значит правильно настрое обмен (по вашим картинкам вроде все правильно).

                      Выгрузите из 1С файлы CML и посмотрите в них какой Вес уходит из 1С по этим товарам.

                      Если в файле Вес у товара правильный, а в Shop-Script неправильный, то сделайте запрос в поддержку, и прикрепите обязательно ваши файлы CML, нужна диагностика.


                      У себя не можем воспроизвести проблемы с обновлением веса.

                      • +1
                        Mao Mao 6 марта 2018 17:52 #

                        Выше, в первом упоминании проблемы, прикреплял скриншот, где в import.xml у свойства с guid Веса значение "20", а в магазине "0"
                        Замечена особенность, если были изменения в 1с по весу, то они корректно импортируются при обычном обмене данными. Но если сделать полный обмен, то возникает описанная проблема.
                        Проведя анализ файлов import.xml обычного и полного обмена, обнаружил, что различается порядок следования характеристик.
                        После обновления 2.5 плагин почему-то импортирует значения характеристик только в определенном порядке.

                        p.s. Запрос в поддержку сделал.

                        Добавление новых комментариев к этой теме отключено.