Добрый день. Без кастомизации как на стороне 1С так и на сайте данный вопрос не решить. Для 1С в схему XDTO необходимо будет добавить нужное свойство которое после в модуле обмена можно будет заполнить. На стороне сайта: 1. Копируем в корень сайта файл /bitrix/modules/sale/admin/1c_exchange.php 2. Копируем в свою папку в components компонент sale.export.1c 3. В файле 1c_exchange.php меняем вызов компонента sale.export.1c на свой который в дальнейшем кастомизируем 4. В sale.export.1c происходит вызов класса CSaleOrderLoader необходимо переопределить данный класс и доработать свою логику для этого надо скопировать файл bitrix/modules/sale/general/order_loader.php в папку своего компонента унаследоваться от класса CSaleOrderLoader и оставить и модернизировать нужный участок кода. Пример: http://i.prntscr.com/f53e1720ce8f46149c4d8a474210314b.png
1С создает файлы import.xml и offers.xml? попробуйте произвести выгрузку с отметкой полная выгрузка в каталог а не на сайт. посмотреть какие данные будут выгружены.
Необходимо определить целостность создаваемого архива на стороне 1с. Сам архив загружается на сервер (в папку 1c_catalog). Попробуйте его скачать и открыть(распаковать). Или выложите сюда в доступ.
Процитирую ответ из другой темы быть может Вам поможет.
Цитата
А Вы пробовали скачать данный архив и самостоятельно его распаковать. Если ошибка будет тогда проблема на стороне 1с. Если Все нормально то попробуйте написать небольшой скрипт на php по распаковке архива с использованием zlib. Если будут ошибки то это скорей связано с самим хостингом. Если это VPS то решается установкой более ранней или поздней версии zlib. Сталкивался с схожей проблемой но с другим движком(cms).
А Вы пробовали скачать данный архив и самостоятельно его распаковать. Если ошибка будет тогда проблема на стороне 1с. Если Все нормально то попробуйте написать небольшой скрипт на php по распаковке архива с использованием zlib. Если будут ошибки то это скорей связано с самим хостингом. Если это VPS то решается установкой более ранней или поздней версии zlib. Сталкивался с схожей проблемой но с другим движком(cms).
Andrey G пишет: Заметил особенность. Если выгружать 2-3 позиции, то выгрузка проходит нормально. Если больше, то на сайт заливается поврежденный архив.
Архив создает 1с. Попробуйте убрать галочку с настроек "Использовать сжатие zip, если доступно:"
Интересный подход но при удалении позиции товара на которую ссылалась скидка удаляется лишь связь между скидкой и товаром. Для удаления скидки вместе с товаром необходимо дополнительная обработка в момент события OnBeforeIBlockElementDelete .
Битрикс изначально поддерживает работу со скидками но при условии что в импорте вместе со скидкой будет выгружен параметр:
Т.е. по умолчанию если у скидки будет этот параметр обозначен как 1 то при обработке будет добавлена 2 цена на товар с условием что она активна при покупке более 1 позиции. Можно переделать данный механизм и учитывать сразу цену со скидкой но в этом случае мы теряем 2 важных момента это старая цена и значение скидки а на сайте необходимо отобразить эти данные.
Я реализовал следующим образом. При импорте создаю дополнительное свойство у товара Старая цена и скидка. И добавляю значения взятые из файл импорта. И вывожу на сайте. Но подумываю переделать как у Вас с небольшими доработками.
В данный момент скидку можно назначить группе товаров или определенному товару. Т.е. можно используя API CCatalogDiscount::Add в момент выгрузки товаров из 1с изменив файл \bitrix\modules\iblock\classes\general\cml2.php самостоятельно реализовать необходимый функционал по работе со скидками?
Добрый день. Быть может кто сможет поделиться примеров файлов выгрузки из 1С что бы там были скидки. Т.е. что бы используя последнюю версию битрикса(малый бизнес) можно было бы через этот скрипт загрузить данные на сайт и что бы скидка попала в пакет предложений. Данный "изврат" необходим что бы понимать как изменить выгружаемые 1c данные для выгрузки скидки на сайт. По тех.причинам использовать эти модули невозможно. Есть лишь вариант подогнать файлы под нужный стандарт.
В данный момент из 1с скидки выгружаются следующим образом:
Обнаружились проблемы. 1с выгружает на сайт import.xml,import1.xml,import2.xml и так же предложения offers.xml ,offers1.xml,offers2.xml. В итоге на сайт загружается лишь Пакет предложений из (offers.xml) остальные offers1.xml,offers2.xml не обрабатывает при том что import.xml,import1.xml,import2.xml полностью обрабатываются и из них создаются ИБ. В чём может быть проблема в 1с и модуле обмена с сайтом или в битриксе?