При передаче из Magento в 1С заказа с настраиваемым товаром происходит сбой «Программист пытается добавить в коллекцию объект без идентификатора»

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
  • Тема закрыта
#1 Вячеслав Некрасов
  • Группа: Клиент
  • Сообщений: 32
  • Регистрация: 05.04.2013

24.10.2013 19:57

При выгрузке заказа с сайта, в котором есть конфигурируемый (настраиваемый) товар, сервер выдает ошибку:

failure
Программист пытается добавить в коллекцию объект без идентификатора.
<br/>У добавляемых в коллекцию объектов должен быть идентификатор.

Заказ на сайте 100000038

Прикрепленные изображения

  • Прикрепленное изображение: 1.png
  • Прикрепленное изображение: 2.png


#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

03.11.2013 15:56

Нужно:
  • конфигурация
  • информационная база
  • доступы к серверу
  • пошаговая процедура гарантированного воспроизведения сбоя


#3 Вячеслав Некрасов
  • Группа: Клиент
  • Сообщений: 32
  • Регистрация: 05.04.2013

08.11.2013 15:08

Т.к. на форуме ограничение на аттач, высылаю так:
http://www.ex.ua/193440949252
паролей на базу нет

1. файл "Конфигурация"
2. файл "База"
3. в личке
4. файл "Мануал"

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

09.11.2013 23:01

Описанная Вами проблема у меня не воспроизводится на Ваших же данных.
Выполнил 2 плана тестирования:
  • Сделал полную локальную копию Вашего сайта и использовал указанные конфигурацию и информационную базу 1С:Управление торговлей.
    Имеющийся до меня в интернет-магазине заказ от 6 ноября был успешно передан в 1С: Управление торговлей.
  • Эталонной версии Magento Community Edition 1.8.0.0 + Российская сборка 2.22.7 и Ваши конфигурация и информационная база 1С:Управление торговлей.
    При первом сеансе обмена импортировал из 1С: Управление торговлей в интернет-магазин товары.
    Затем сделал в интернет-магазине заказ с обеими вариациями настраиваемого товара.
    Затем выполнил повторный сеанс обмена с 1С: Управление торговлей.
    В итоге заказ был успешно передан в 1С: Управление торговлей.

Вероятной причиной подобного отклонения поведения системы у меня и у Вас являются:
  • нестандартные правки ядра Magento в Вашем магазине
  • неряшливый стиль программирования в Вашем магазине: интерпретатор PHP выдаёт много предупреждений уровня E_NOTICE и даже E_WARNING

Оба этих пункта могут приводить к разному поведению одного и того же программного кода в отличающихся средах.
Чтобы впредь не возникало подобных недоразумений, ввёл новое правило 9 описаний отклонений поведения Российской сборки Magento от ожидаемого:
  • Интерпретатор PHP не должен выдавать предупреждений любого уровня, в том числе E_NOTICE и E_WARNING
  • В магазине должны отсутствовать правки ядра:
    • должны отсутствовать правки системных файлов папки app/code/core/Mage
    • должны отсутствовать файлы в папке app/code/local/Mage (замещение системных файлов своими с тем же именем)
    Весь нестандартный программный код должен быть разработан в виде модулей в соответствии со стандартами Magento.

Тема закрыта.
Выполните указанный пункт 9 регламента, и, если проблема останется, то создайте новую тему.

Поделиться темой: