Для запрета удаления товаров, созданных вручную при обмене сайта с 1С в 1C-Bitrix, необходимо выполнить следующие шаги:
- Настройка обработки обмена данными в 1С. В 1С необходимо настроить обработку обмена данными для передачи информации о созданных товарах на сайт. Включите передачу только новых товаров и изменений существующих товаров, но не включайте передачу на удаление.
- Настройка модуля "Торговый каталог". В административной панели 1C-Bitrix перейдите в раздел "Магазин" -> "Настройки" -> "Настройки модулей". Выберите модуль "Торговый каталог" и убедитесь, что настроена опция "Ничего не делать" для удаления товаров с сайта.
- Создание пользовательского правила события "OnBeforeIBlockElementDelete". Создайте пользовательское правило события "OnBeforeIBlockElementDelete" в 1C-Bitrix, которое будет срабатывать перед удалением товара. В этом правиле можно добавить проверку на свойство "CREATED_BY" элемента инфоблока, чтобы узнать, был ли товар создан вручную (пользователем) или импортирован из 1С. Если товар был создан вручную, отмените удаление, иначе позвольте удалить товар.
- Разработка пользовательского компонента. Если стандартные события и настройки модуля "Торговый каталог" не устраивают, можно разработать пользовательский компонент, который будет контролировать удаление товаров. Для этого создайте пользовательский компонент, добавьте в него обработку события "OnBeforeIBlockElementDelete" и определите логику проверки на удаление товара, созданного пользователем. Если товар был создан вручную, отмените удаление, иначе позвольте удалить товар.
- Тестирование. После настройки и разработки функциональности, проведите тестирование путем создания товаров, импортированных из 1С, и товаров, созданных вручную. Проверьте, что удаление товаров, созданных вручную, действительно запрещено, а удаление импортированных товаров возможно.
В результате выполнения этих действий вы успешно запретите удаление товаров, созданных вручную при обмене сайта с 1С в 1C-Bitrix.