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

16.04.23

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Загрузка номенклатуры из Битрикс:
.epf 24,93Kb
24 3 400 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Разрабатывалась для УТ 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
КонецЕсли;
Обмен.ОтключитьСоединение(Соединение);

 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Оптовая торговля Розничная торговля НДС 22% 1С 8.3 1С:Управление торговлей 10 Россия Платные (руб)

Пакет обновлений и продолжения поддержки Управление торговлей, редакция 10.3.- обновление которое предоставляет пользователям новые функции, исправления ошибок и т.д.

14640 руб.

19.12.2025    5582    58    32    

57

Оптовая торговля Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

5000 руб.

18.03.2019    120494    75    115    

198

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

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта алкогольной продукции. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

15.12.2015    181602    1225    biz-intel    374    

416

SALE! 15%

Загрузка и выгрузка в Excel Оптовая торговля Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Бухгалтерия 3.0 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Комплексная автоматизация 1.х 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Забудьте о ручном вводе: загружайте документы из Excel в 1С за секунды! Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл эксель, документ 1С и нажимаете кнопку "Загрузить"

8000 руб.

09.11.2016    270327    1194    950    

1108

Оптовая торговля Рабочее место Создание на основании Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Полнофункциональное расширение для формирования и ведения учета перевозочных документов всех видов (ТН, ТТН, ЭТрН). Печать документов или отправка через ЭПД (Электронный перевозочный документооборот). Поддержка регистрации нескольких перевозок на одну финансовую реализацию (в виде УПД, например), а также одной перевозки на основании нескольких финансовых реализаций. Формирование всех сопроводительных документов из одной отгрузки. Формирование реестра грузосопроводительных документов, доверенности менеджеров для указания ответственных лиц (руководитель, главный бухгалтер, кладовщик) организации для пользователей ИБ. Гибкая настройка функциональности под потребности организации.

3150 руб.

18.04.2017    53520    287    43    

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