У меня возникла следующая задача:
У клиента есть сайт на битрикс и 1с УТ 11, вся основная информация ведется в 1С и выгружается на сайт через обмен битрикс. Но инструкции по ряду товаров они сразу загружали на сайт в одно из свойств инфоблока. Возникла необходимость загрузить все занесенные инструкции с сайта битрикс в 1С, и в дальнейшем заносить всю справочную информацию в базе 1С. Чтобы через обмен она попадала на сайт.
Готовых решений по данному вопросу я не нашел. Пришлось изобрести свое.
В приложенном архиве выложены:
- Скрипт на PHP для сайта, который выводит список товаров, содержащих файлы в нужном мне свойстве.
- Excel-файл примера итоговой таблицы, полученной в результате скрипта (таблица скопирована в Excel файл нужного мне формата).
- Обработка, в которую загружается подготовленный Excel-файл и далее по нажатию кнопки "Pагрузить в базу" все строки с информацией перебираются в цикле, необходимые файлы скачиваются по ссылкам во временную папку и затем, сопоставив номенклатуру, загружаются в базу 1С.
В итоге все нужные прикрепленные файлы оказываются в базе и дальше уже можно настроить выгрузку так, чтобы на сайт файлы грузились через обмен в 1С.
Примечание: Скрипт php вытаскивает только первый файл и списка файлов в свойстве. У меня было загружено только по одному файлу на товар, так что кому надо могут переписать его по своему. Файл list-files.php достаточно поместить в корень сайта и вызвать http://ваш_сайт/list-files.php, чтобы получить нужные вам данные. Имя свойства из которого будете вытаскивать товары подставьте свое.
Тестировалось на версии: Платформа 8.3.17.1091, Конфигурация Управление торговлей, редакция 11 (11.4.6.230)