Конкретика нужна. Для начала, нужно проверить, не было ли у вас модифицировано ядро. Потом, если ядро модифицированно - устранить модификации. Накатить обновления - по крупному ничего отвалиться не должно, мелочи можно поправить (там может отвалиться обмен с 1С в некоторых случаях) Затем уже постепенно подключать тот функционал, возможность использования которого появилась в версии 12.5
Я думаю, в данном случае придется сначала назначить товарам на сайте внешние коды, соответсвующие внешним кодам товаров в 1С. После этого можно настроить, чтобы разделы на сайте не перезаписывались при импорте и спокойно вести обмен изменениями и заказами между 1С и сайтом - количество будет синхронизироваться и заказы так же будут в 1С уходить.
Я думаю, в качестве примера вам подойдет скрипт стандартного импорта из .csv - я его постоянно за основу беру, когда нужно что-то свое импортировать. Этот файл имя_нового _импорта_setup.php - он для настроек параметров импорта. Если вы не предполагаете ничего выносить в настройки - я бы взяла соответсвующий файл от стандартного импорта, и выкинула из него все настройки - оставив болванку.
Код, который вы написали выше - прокатит (если элемент привязан только к одному разделу, если к нескольким - нет). Только поместите его в перегруженный метод класса наследника, а не в исходный метод ядра системы.
Пока ковырялся, уже в в файле cml2.xml в функции init отключил crc
В этом файле ничего модифицировать нельзя - вы ядро продукта портите, и при обновлении продукта все ваши изменения затрутся. Логику работы импорта, которая вам нужна, можно дописать без модификации ядра, используя механизм кастомизации компонента импорта и наследования класса CIBlockCMLImporthttp://dev.1c-bitrix.ru/community/webdev/user/30123/blog/7252/
Роман Забродин, меня очень впечатлил ваш стройный и системный подход к управлению сотрудниками, которой был выражен в том посте и в таблице, поэтому я и запомнила. Спасибо за ссылку. Скажите, а вот сейчас, когда прошло некоторое время, вы не разочаровались в своей системе оценки рейта сотрудника? Эта система показала себя объективной или вы дополнили ее чем-то, о чем не пишите в посте и чего нет в таблице?
Роман Забродин, я помню, вы как-то даже публиковали статью, где приводили упомянутую разрядную таблицу. Чертовски хочется на нее взглянуть - на таблицу, а вот ту вашу статью - не найду.
Andrey G,а у вас стоит цель именно самому разобраться с этой проблемой или чтобы работало как надо? Я к тому - что можно, наверное, поискать кого-то, кто знает, что писать в этих файлах
Я подозреваю, что данный товар в 1С уже закончился и на тот заказ, который сделан на сайте, товара уже не хватает. До сеанса обмена сайт не знал об этом - а после узнал.
Я думаю, тот товар, к-й закончился на складах в 1с, будет деактивирован (или удален) на сайте только в ходе полной выгрузки - при выгрузке изменений - ничего не будет. И на стороне сайта должна быть включена настройка деактивации элемента, к-го нет в файле обмена.
bouton пишет: Стандартный импорт. Ничего не дописывалось. Проблема возникает только когда выгружаю полный каталог. Выгрузка только изменений проходит без проблем.
Возможно на стороне сайта висят обработчики событий добавления/апдейта элемента, и они писались не именно для импорта, но, тем не менее, влияют и на него. Возможно висит тяжелый обработчик события завершения импорта. Либо сервер не такой крутой, как вы думаете (неправильными настройками можно нивелировать любое железо). Не в порядке рекламы (к мастерхосту я не имею никакого отношения), но я беру вот этот их тарифный план (это даже не VDS, а виртуальная площадка) http://masterhost.ru/service/hosting/virtual/extra/cms-bitrix/ в качестве своеобразного эталона. И вот если там работает, а на вашем VDS - нет, то этот VDS - фуфло, по-русски говоря. А стандартный импорт 8000 элементов, при отсутствии обработчиков событий, о которых я писала выше, там должен отработать.
Создайте несколько узлов обмена. В каждом из узлов обмена поставьте на выгрузку только одной или нескольких номенклатурных групп. В каждом узле обмена задайте один и тот же внешний код каталога. Выгрузку делайте полную в каждом из узлов. На стороне сайта в настройке интеграции отключите удаление/деактивацию элементов, отсутсвующих в файле выгрузки.
Тут можно сделать только несколько предположений: - каждый раз при каждой новой выгрузке в файле import.xml приходит разный внешний код каталога. Почему? - возможно в 1С не указан внешний код каталога в настройках интеграции, а возможно 1С почему-то не берет его из настроек. Почему? - видимо, конфигурация была тоже не стандартная, а модифицированная - обновления накатили - что-то отвалилось. Потому что со стандартными конфигурациями такого не может происходить, просто не может.