Загрузка номенклатуры из Битрикс

16.04.23

Учетные задачи - Оптовая торговля

Обработка для загрузки номенклатуры напрямую из базы данных Битрикс. Умеет загружать номенклатуру, структуру папок (секции), свойства. Есть функция определения цены номенклатуры. Есть возможность выгрузки кода создаваемой в 1С номенклатуры в Битрикс. Полезна в том числе как пример работы с MySQL через ODBC. Также полезна для понимания, какими запросами вытаскивать из Битрикс номенклатуру, ее свойства, цены и т.д. (значительную часть времени разбирались с этими вопросами).

Скачать исходный код

Наименование Файл Версия Размер
Загрузка номенклатуры из Битрикс:
.epf 24,93Kb
22
.epf 24,93Kb 22 Скачать

Разрабатывалась для УТ 10.3, но адаптируется под другие конфигурации. Тестировалось на УТ 10.3.23.3.

Варианты использования

Обработка будет полезна, если:

1. 1С внедряется при уже работающем сайте на Битрикс. И необходимо создать в 1С номенклатуру по каталогу сайта.

В этом случае обработка используется 1 раз на этапе внедрения.

2. Удобнее пополнять каталог в Битриксе - там указывать дополнительные свойства, подгружать картинки. И загружать из Битрикс в 1С только номенклатуру, без картинок, возможно и без свойств. Т.е. вариант синхронизации, обратный типовому.

В этом случае обработка используется постоянно для загрузки новой номенклатуры с сайта. Для каждой позиции номенклатуры есть возможность загружать в 1С адрес ее карточки на сайте. Имея эту информацию картинка и свойства в 1С не нужны, т.к. можно реализовать переход из карточки номенклатуры на сайт, где есть вся дополнительная информация.

Требования

1. Обработка работает через подключение к базе данных сайта. Поэтому должна быть возможность прямого подключения к базе MySQL Битрикса. В нашем случае мы настроили на хостинге внешний доступ к MySQL с ограничением по IP. Также на компьютере, с которого будет производиться подключение должен стоять ODBC-драйвер для MySQL.

2. В справочник "Номенклатура" нужно добавить следующие реквизиты:

Реквизит

Тип

Описание

ИдБитрикс

Число (11,0)

Для групп и элементов.

ИД номенклатуры или секции каталога (группы) в базе Битрикс

АдресБитрикс

Строка (150)

Страница номенклатуры на сайте

Настройки

Настройки задаются в реквизитах обработки.

Настройка

Описание

АдресСервераБД

Сервер базы Битрикс (MySQL)

ПортСервера

Порт сервера Битрикс (MySQL). По умолчанию 3306

ИмяБД

Имя базы данных на сервере (MySQL)

ПользовательБД

Имя пользователя в базе данных Битрикс (MySQL)

Пароль

Пароль пользователя (MySQL)

ПапкаЗагрузки

Папка в спр. Номенклатура, в которую будет загружаться структура папок и номенклатуры из Битрикс

ИдСвойстваКодНоменклатуры

ID свойства номенклатуры в Битрикс (в таблице "b_iblock_property"), в которое будет записываться код номенклатуры 1С после создания номенклатуры в 1С.

Это может быть удобно для последующего быстрого поиска номенклатуры в 1С.

Если параметр не задан, то передача из 1С в базу Битрикс кода номенклатуры не производится.

ВидНоменклатурыПриЗагрузке

Вид номенклатуры, устанавливаемый для загружаемой в 1С номенклатуры (напр. "Товар")

Программный интерфейс

Ниже описаны экспортные процедуры и функции в модуле объекта обработки. Общий принцип - отдельная процедура для считывания тех или иных данных, которая заполняет определенную таб. часть обработки, и отдельная функция для записи данных в базу 1С. В форме обработки выведены таб. части и кнопки для их заполнения, запускающие некоторые из перечисленных ниже процедур (для удобства тестирования).

Процедура / функция Описание
ПрочитатьНастройки() Загрузка и установка настроек обработки (см. описание настроек)
ЗаписатьНастройки() Сохранение настроек обработки
ПодключитьсяКБазе()

Подключение к базе данных Битрикс.

Возвращает объект подключения, используемый во всех последующих процедурах.

ОтключитьСоединение(Соединение)

Закрывает соединение с базой Битрикс.

Параметр - COMОбъект, возвращенный функцией ПодключитьсяКБазе()

ЗаполнитьНовыеСекции(СоединениеБитрикс)

Считывает из базы Битрикс список новых секций (групп) номенклатуры, которых нет в базе 1С.

Заполняется ТЧ НовыеСекции

ЗаполнитьСекции(СоединениеБитрикс, ТолькоНовые = Ложь)

Считывает из Битрикс секции (группы) номенклатуры и заполняет ими ТЧ ТаблицаСекции.

Возможно считывание всех секций или только новых, которых нет в 1С (параметр ТолькоНовые)

ЗаполнитьНовуюНоменклатуру(СоединениеБитрикс)

Считывает из Битрикс список новой номенклатуры, которой еще нет в базе 1С.

Заполняется ТЧ НоваяНоменклатура

ЗаполнитьНоменклатуру(СоединениеБитрикс, ТолькоНовая = Ложь)

Считывает из Битрикс номенклатуру и записывает в ТЧ ТаблицаНоменклатура

Возможно считывание всей номенклатуры или только новой, которой нет в 1С (Параметр ТолькоНовая)

ЗаполнитьТаблицуХарактеристик(СоединениеБитрикс, ТолькоНовые = Ложь)

Считывает из Битрикс характеристики номенклатуры в ТЧ ТаблицаХарактеристики.

Считывание по всей номенклатуре или только по новой (парметр ТолькоНовые)

ЗаписатьСекции()

Записывает в базу 1С секции (группы) номенклатуры, ранее считанные в ТЧ ТаблицаСекции

Папкой верхнего уровня будет ПапкаЗагрузки из настроек обработки

ЗаписатьНоменклатуру(СоединениеБитрикс)

Записывает в базу 1С номенклатуру, ранее считанную в ТЧ ТаблицаНоменклатура.

Номенклатура записывается в папки в соответствии с секцией в Битрикс.

Одновременно записывает в базу Битрикс 1С-ный код добавленной номенклатуры.

ЗаписатьХарактеристики()

Записывает в базу 1С характеристики номенклатуры, ранее считанные в ТЧ ТаблицаХарактеристики

ПолучитьЦенуНоменклатурыНаСайте(Соединение, Номенклатура)

Считывает из базы Битрикс цену одной позиции номенклатуры (параметр Номенклатура)

Возвращает цену в рублях. Если в Битрикс указана в другой валюте - пересчитывает по курсу.

Пример использования

1. Загрузка новой номенклатуры

Обработка = Обработки.ЗагрузкаНоменклатурыИзБитрикс.Создать();
Обработка.ПрочитатьНастройки();
Обработка.ТолькоНовые = Истина;
	
Сообщить("Соединяемся с сайтом...");
Соединение = Обработка.ПодключитьсяКБазе();

Сообщить("Ищем новую номенклатуру...");
Обработка.ЗаполнитьНовыеСекции(Соединение);
Обработка.ЗаполнитьНовуюНоменклатуру(Соединение);
Если Обработка.НоваяНоменклатура.Количество() = 0 Тогда
	Сообщить("Новой номенклатуры нет.");
	Обработка.ОтключитьСоединение(Соединение);
	Возврат;
Иначе
	Сообщить("Нашли " + Обработка.НоваяНоменклатура.Количество() + " позиций");
КонецЕсли;
	
Сообщить("Получаем данные с сайта...");
Обработка.ЗаполнитьСекции(Соединение, Истина);
Обработка.ЗаполнитьНоменклатуру(Соединение, Истина);
	
Сообщить("Записываем данные в 1С...");
Обработка.ЗаписатьСекции();
Обработка.ЗаписатьНоменклатуру(Соединение);
	
Обработка.ОтключитьСоединение(Соединение);
	
Сообщить("Загрузка выполнена!");

2. Получение цены для выбранной номенклатуры

Обмен = Обработки.ЗагрузкаНоменклатурыИзБитрикс.Создать();
Обмен.ПрочитатьНастройки();
Соединение = Обмен.ПодключитьсяКБазе();
Если Соединение = Неопределено Тогда
	Сообщить("Не удалось установить соединение с сайтом! Получение цены невозможно!");
	Возврат 0
КонецЕсли;
НоваяЦена = Обмен.ПолучитьЦенуНоменклатурыНаСайте(Соединение, Номенклатура);
Если ЗначениеЗаполнено(НоваяЦена) Тогда
	Возврат НоваяЦена
Иначе
	Сообщить("Не удалось прочитать цену " + Номенклатура);
	Возврат 0
КонецЕсли;
Обмен.ОтключитьСоединение(Соединение);

 

См. также

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 руб.

21.04.2017    90932    108    40    

197

ЕГАИС++. Опт, производство, импорт

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    166427    702    362    

390

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15931    13    18    

13

Обмен с системой ЦРПТ (Универсальная конфигурация ХамелеонЦРПТ + маркировка табака, обуви, одежды, лекарств, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин)

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

Данная публикация создана для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Смело задавайте нам вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, мы накопили достаточно большую базу знаний по данным темам и готовы ответить на все Ваши вопросы.

104000 руб.

18.03.2019    110655    34    114    

178

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11 / КА 2 / ERP 2. Переносятся документы, справочники и остатки

Обмен между базами 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос в продаже с 2015г., и мы постоянно работаем над его развитием. Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

50722 45650 руб.

24.04.2015    190746    270    239    

269

Обмен с системой Меркурий через Web + Ветис.API для любых конфигураций (универсальная конфигурация Хамелеон Меркурий)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Конфигурации 1cv8 Сельское хозяйство и рыболовство Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Пищевая промышленность Россия Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная конфигурация Хамелеон Меркурий для взаимодействия с системой Меркурий(тестовый+рабочий+демо контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Основное отличие от других решений - работа через веб-интерфейс и API 2.0(API 2.1). Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом Меркурий, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе Меркурий и наоборот.

104000 руб.

08.11.2017    121082    295    140    

394
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Kerim09 18 12.08.20 10:21 Сейчас в теме
{ВнешняяОбработка.ЗагрузкаНоменклатурыИзБитрикс.МодульОбъекта(183)}: Ошибка при вызове метода контекста (Open)
RS.Open(Текст);
по причине:
Произошла исключительная ситуация (ADODB.Recordset): Невозможно использование подключения для выполнения операции. Оно закрыто или не допускается в данном контексте.
+
2. wonderboy 379 12.08.20 12:04 Сейчас в теме
(1) Возможно соединение с MySQL пропадает.
+
Оставьте свое сообщение