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

16.04.23

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Загрузка номенклатуры из Битрикс:
.epf 24,93Kb
23
23 Скачать (3 SM) Купить за 2 450 руб.

Разрабатывалась для УТ 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С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

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

828 руб.

15.12.2015    172451    860    370    

405

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

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

6000 руб.

09.11.2016    241302    1107    906    

1035

SALE! 10%

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

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

55778 50200 руб.

24.04.2015    197126    157    244    

287

Оптовая торговля Розничная торговля Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Бонусная система работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    113521    103    88    

186

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

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С. Бесплатный период Техподдержки - 1 месяц.

60000 руб.

07.05.2019    34415    65    45    

26

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2413    2    0    

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