Jump to content

Обмен данными (цена, остатки, номенклатура) 1С и Opencart (без опций и характеристик) [support]


Aleksandr
 Share

Go to solution Solved by Aleksandr,

Recommended Posts

  • Solution

Обмен данными (цена, остатки, номенклатура) 1С и Opencart (без опций и характеристик)

Просмотр файла

Установка:
Модуль прост в установке, как внешняя обработка 1С. Запуск либо напрямую файла из пользовательского режима, либо добавлением внешней обработки в базу 1С. Для версий до 1.2.1.3 бо'льшая часть действий выполняется на стороне Клиента 1С (Тонкий клиент). С версии 1.2.1.3 многие функции перейдут на серверную часть для обеспечения автозапуска по расписанию. Подойдет небольшим интернет-магазинам с небольшим количеством номенклатур 1000-2000 (возможно и более, зависит от производительности ПК пользователя и сервера, надо тестировать). 
Практически все настройки, которые вносятся в Обработку при работе (настройки подключения, уведомлений, шаблоны и т.п.) сохраняются на уровне Пользователя. При открытии у разных Пользователей, настройки необходимо указывать у каждого. С версии 1.2.1.3 с появлением автозапуска по расписанию, часть настроек записывается в ИБ 1С, для автозапуска используются сохраненные настройки, для пользовательского режима пользовательские.
На стороне Opencart: никаких файлов устанавливать не надо, все осуществляется через Внешнюю обработку в 1С. Все изменения происходят сразу в SQL базе сайта (поэтому на SQL базе сайта должен быть предоставлен внешний доступ по внешнему IP, у пользователя базы - права доступа внешнего соединения).


Требования: 

  • Разрабатывался под 1С: Розница + Бухгалтерия + УНФ 1.6-3.0+УТ11.5 (Основные разработки сейчас УНФ и УТ)
  • 1С 8.3
  • Опция "ДополнительныхРеквизитовИСведений" должна быть активна в настройках Администрирования базы 1С, чтобы можно было редактировать вручную в карточке номенклатуры. (Записи будут проводиться независимо от активации опции, можно не включать, чтобы случайно/специально не испортить).
  • Ведение учета номенклатур БЕЗ отдельных характеристик (типа цвет, размер и т.п., которые влияют на установку цен)
  • Драйвер ODBC для обмена с сайтом (обычно уже входит в Windows, при отсутствии, установить по ссылке указана в обработке - вкладка "Справка"). На Windows определяется автоматически, для Linux стоит указать вручную (не тестировал).  Проверялось на драйвере v 8.0.
  • ОС на стороне клиента "Тонкий клиент" - Windows. (ОС сервера желательно Windows, на Linux вопрос старта драйверов, с версии 1.2.1.3 многие операции переносятся на серверную часть 1С). 
  • Opencart 2.x 3.x 4.х (впрочем, вероятно на всех версиях с одноименными таблицами и столбцами БД mysql)
  • Активное внешнее подключение к БД MySQL сайта. (Также Пользователю MySQL должны быть предоставлены права внешнего подключения, по внешнему IP, не localhost).
  • Пс. Разработка ведется под свои нужды, поэтому вопрос совместимости будет обновляться по мере проверки и доработки. А также принимаются предложения по доработкам,  необходимому функционалу, версиям конфигураций 1С.



ВЕРСИЯ 1.2.1.6 для УТ11.5 (01.09.2024)   1.2.1.6 УНФ1.6 -3.0 (01.09.2024)  КА на основе УТ 1.2.1.6 (от 01.09.2024)


1.2.1.6 Доработки по коду 
Добавлено Отбор остатков в 1С по Группам номенклатуры.
Добавлено Ввод начальных остатков с сайта, Установка цен номенклатуры с сайта.
Добавлена загрузка Каталогов(категорий) с сайта в 1С (с распределением номенклатур по каталогам).
Добавлена возможность автоматически сопоставлять Номенклатуры по Наименованию или по Модели. 


УТ 1.2.1.4 (31.07.2024)
 + Добавлена возможность выбора варианта выгружаемых остатков в таблице Выгрузка из 1С  (Все, Положительные, Нулевые).
 + Добавлена возможность выбора варианта заполнения поля Модель при создании номенклатуры на сайте (Наименование номенклатуры или Артикул, по умолчанию при пустом значении - Наименование).

Только для УТ11.5 Обновление остатков и цен по расписанию с версии 1.2.1.3.

Для этого необходимо:
1. Добавить обработку в "Дополнительные отчеты и обработки"
2. Запустить в пользовательском режиме команду с формой.
3. Воспользоваться в ручном режиме, заполнить необходимые настройки (для соединения, вид цены для выгрузки и т.п.). Произвести синхронизацию проверить, что для обмена цен и остатков все настройки выполнены и обмен осуществляется. 
4. После установки настроек и выполнения синхронизации (т.е проверены настройки). На Вкладке Настройки - выполнить команду сохранения настроек в ИБ для запуска по расписанию.
5. После сохранения настроек в ИБ произвести настройку расписания выполнения синхронизации. 
6. Процесс синхронизации отражается в журнале регистрации (положительный результат - количество обновленных товаров, отрицательный - текст ошибки).



ВЕРСИЯ 1.2.1 для УНФ  (последняя версия 1.2.1.3 от 01.08.2024)

Только для УНФ. Обновление остатков и цен по расписанию с версии 1.2.1.3.


ВЕРСИЯ 1.2.1 для Розница  (последняя версия 1.2.1.2 от 29.01.2024)


Для Розницы и УНФ:
Выгрузка заказов с сайта в 1С.
1. Период отбора
- в параметрах выгрузки заказов с сайта, указываете необходимый период, за который нужно получить заказы. (Имеется быстрый выбор: за день, за неделю, за 30 дней)
2. Параметры создания заказов в 1С 
- Желаемая дата продажи (при отсутствии выбора прибавляет 2 дня к дате заказа);
- Продавец (возможность заранее проставить Продавца в заказе);
- Покупатель (по умолчанию при открытии формы проставляет Покупателя установленного для розничной продажи из настроек конфигурации, можно указать другого);
- Номенклатура доставки (если в заказе присутствует доставка, необходимо указать номенклатуру, чтобы совпала итоговая сумма. Если не указать, Заказ перейдет в статус Не согласован).
    Для УНФ:
-Данные по Налогообложению и НДС
-Состояния заказов покупателей (Можно сопоставить свои варианты, создать одноименные)
3. Для создания документа Заказ покупателя некоторые поля реквизитов обязательны к заполнению
- Данные по организации, складу ИМ, Магазину ИМ выведены в отдельную настройку вкладки "Настройки" обработки. (без заполнения выгружаться не будет). В УНФ на вкладке Настройки только Организация.
4. Данные по доставке из Заказа также переносятся в 1С. ФИО, телефон клиента в комментарий к Заказу. Адрес доставки в комментарий на вкладке Доставка. Также "Заказы на сайте" двойным щелчком по "Подробнее"  можно открыть форму с информацией по заказу на сайте. (Если Заказ перенесен в 1С, документ можно открыть по нажатию кнопки "Открыть в 1С" в верхнем левом углу формы.


Основное описание функциональности
ВЕРСИЯ 1.2 (последняя версия 1.2.0.3 от 17.09.2023)
Основной функционал еще в разработке, но в этой версии более наглядно сопоставление. + добавлено "Добавление номенклатур в 1С"

Действие модуля разбито на несколько (5) шагов.
1. Получение данных из 1С:

  • Выгружается вся номенклатура с положительным остатком. (Без учета резервов и складов и т.п.).
  • Выгрузка цены осуществляется по "Виду Цены".
  • Получение установленного ранее кода сопоставления с сайтом (ID product из БД Opencart)
  • Все выгруженные данные сводятся в таблицу (Выгрузка из 1С).
  • Данные на сайт выгружаются из этой же таблицы.

2. Получение данных с сайта

  • Выгружается вся номенклатура с сайта (независимо от остатков)
  • Получение Кодов для сопоставления номенклатур сайта и 1С.
  • Получение остатков и цен товаров (без учета Опций)
  • Все выгруженные данные сводятся в таблицу (Выгрузка с сайта).

3. Сопоставление товаров по Наименованию (для автоматического сопоставления кодов синхронизации).
Производится сопоставление по точному совпадению наименований товаров в 1С и на сайте по выгруженным таблицам.
Для сравнения 1С с сайтом команда "Сравнить с сайтом" на вкладке "Выгрузка из 1С". Для сравнения сайта с 1С команда "Сравнить с 1С" на вкладке "Выгрузка с сайта".

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

  • В результате автоматического сравнения 1С с сайтом данные сводятся в таблицу "Отсутствуют на сайте"
  • В результате автоматического сравнения Сайта с 1С данные сводятся в таблицу "Отсутствуют в 1С"

4.1 Загрузка кодов сопоставления в 1С.

  • ВАЖНО! Все действия до этого шага производились  с виртуальными таблицами. После сопоставления товаров необходимо сохранить эти данные в 1С. Команда "Сохранить сравнение" на вкладке "Выгрузка из 1С".
  • При первом запуске команды обработка создает новое свойство для Дополнительных Сведений номенклатуры, туда будет помещаться Код сопоставления.
  • Все указанные Коды сопоставления в таблице выгрузки из 1С записываются в Базу 1С к соответствующим Номенклатурам.

4.2 Добавление новых номенклатур на сайт и в 1С.
 

  • НА САЙТ: "Отсутствуют на сайте"

-Добавление номенклатур производится соответствующей командой "Добавить номенклатуру на сайт".
-Добавляется номенклатура только обозначенная галочкой выбора.
-Для добавления на этой же вкладке имеются настройки Шаблона для мета-тегов (Title, Description, +Полное описание товара). В тексте можно указать "%1" для подстановки наименования товар. Для описания товара допускается использовать форматирование html кодом.
-SEO URL. На основе Наименования номенклатуры генерируется ЧПУ ссылка. (При необходимости можно подправить в соответствующей колонке; можно указывать на русском языке, произойдет транслитерация). 
-При отсутствии заполнения шаблона, в Title и Description проставится Наименование.
ПС. Если номенклатуры одинаковые и отличаются только, например, указанием цвета в наименовании, можно отдельно выбрать их галочками и добавить на сайт с одинаковым шаблоном.

  • В БД 1С: "Отсутствуют в 1С"

-Добавление номенклатур производится соответствующей командой "Добавить номенклатуру в 1С".
-Добавляется также только номенклатура обозначенная галочкой выбора.
-Для добавления Номенклатур необходимо заполнить "Параметры создания номенклатуры в 1С". Все параметры кроме Группы, сохраняются в пользовательских настройках. Если в 1С нет групп, ее необходимо создать (в корень поместить не получится).
ПС. Это сделано, чтобы избежать ошибок. Например, всю новую номенклатуру создавать в отдельную группу и оттуда уже переносить в ваши группы. Как и для сайта, удобно выбрать галочками несколько Номенклатур с одинаковыми параметрами и добавлять партиями.
ВАЖНО! При обработке недостающих товаров в 1С, необходимо помнить, что сравнение производилось по Номенклатуре с остатками > 0!  Поэтому, прежде чем добавлять необходимо проверить эту номенклатуру. И именно поэтому предлагается её заводить сначала в отдельную группу.

5. Выгрузка цен и остатков на сайт
 

  • Для возможности выгрузки обязательно к получению данных только из 1С. Команда "1.1Получить данные (1С)".
  • Перед выгрузкой все остатки товаров на сайте обнуляются.
  • Все установленные цены и остатки номенклатур из таблицы "Выгрузка из 1С" вносятся в БД сайта.
  • Вносимые изменения цены вручную в таблицу выгрузки из 1С до запуска этой команды, также отправятся в БД сайта. Поэтому, если их необходимо внести и в БД 1С, то нужно произвести установку цен номенклатуры соответствующих позиций самостоятельно.

Бухгалтерия 3
Добавление номенклатуры в 1С. Добавление без указания Ставки НДС в Справочнике Номенклатуры.



ВЕРСИЯ 1.0 (Розница и Бухгалтерия)
Аналогична версии 1.2 с минимальным базовым функционалом. 

1. Получение данных из 1С.
2. Получение данных с сайта.
3. Сопоставление товаров по Наименованию (для автоматического сопоставления кодов синхронизации).
4. Загрузка кодов сопоставления в 1С. (Новая номенклатура не добавляется и не сводится в отдельные таблицы)
5. Выгрузка цен и остатков на сайт






Условия распространения: На один домен сайта одна лицензия. Независимо от количества сайтов обслуживаемых на одном клиенте/Базе 1С.


Цена:
Начальная стоимость по минимальной цене для определения спроса и для расширения функционала.

Важно! Во избежание негативных ситуаций, перед покупкой изучите указанный функционал, задайте сопутствующие вопросы.
Рекомендации по интеграции. Сперва произвести все действия на тестовых базах. Перед использованием произвести резервную копию БД Opencart и 1С. При обновлении версии также стоит сперва обкатать на резервной копии. В силу ограниченности ресурсов и все увеличивающемуся объему обработки, избежать багов невозможно. При выявлении таковых, прошу писать в личные сообщения.

 

Link to comment
Share on other sites

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

И обычно сразу через франчайзи, там подскажут какая нужна и т.п. Если просто посмотреть, саму 1С:Предприятие можно скачать с 1C.ru, там же поискать учебные версии конфигураций, можно даже с 8.3.23 бесплатно зарегистрироваться в качестве разработчика и использовать лицензию для тестов и разработки. Ну и собственно, в интернете можно поискать и то и другое.

Link to comment
Share on other sites

  • 5 months later...

Подскажите будет ли работать Ваш модуль с нашей версией 1С: Предприятие 8.3 (1С управление торговлей 11)?

У модуля односторонняя связь или двухсторонняя? (Можно ли будет перекинуть товары с сайта в 1С?)

Link to comment
Share on other sites

Добрый день! Подскажите, из-за чего может вылазить ошибка при подключении к сайту?

26.03.2024 20:27:58 Connection error: {ВнешняяОбработка.Обмен1СOpencart.Форма.ФормаВерсия2.Форма(1228)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [MySQL][ODBC 8.3(w) Driver]Can't connect to MySQL server on '86.102.129.223:3306' (10060)

Link to comment
Share on other sites

 

Добрый день! Вероятная ошибка либо отсутствие разрешения на внешнее подключение к базе или права пользователя базы (если все параметры для подключения указаны корректно).

  • Активное внешнее подключение к БД MySQL сайта. (Также Пользователю MySQL должны быть предоставлены права внешнего подключения, по внешнему IP, не localhost).
Link to comment
Share on other sites

В 20.03.2024 в 17:45, Lemuba сказал:

Подскажите будет ли работать Ваш модуль с нашей версией 1С: Предприятие 8.3 (1С управление торговлей 11)?

У модуля односторонняя связь или двухсторонняя? (Можно ли будет перекинуть товары с сайта в 1С?)

На УТ11 не тестировал, но не думаю, что с 11.5 там что-то кардинально изменилось. Скорее всего должно работать.

Обмен по номенклатуре (создание, без каталогов) осуществляется в обе стороны, остатки только на сайт, заказы выгружаются только с сайта.

Link to comment
Share on other sites

  • 4 months later...

УТ 11.5.18.59 - почему то не показывает цены при получении номенклатуры из 1с?

было бы неплохо - фильтровать номенклатуру из папок. 

в базе у клиента слишком много "мусорных позиций"  и тех которые не надо на сайт переносить в справочнике номенклатуры

1с_opencart.jpg

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...