Jump to content

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


Aleksandr
 Share

Go to solution Solved by Aleksandr,

Recommended Posts

  • Solution

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

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

Пролог: Изначально разрабатывается под свои нужды собственными силами. Поэтому некоторые алгоритмы построены, возможно, нестандартным способом. На настоящий момент разработка продолжается, функциональность увеличивается. Цель - к достижению наиболее полной функциональности (включая выгрузку заказов, учет с характеристиками и т.д.).

 

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



Требования: 

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


ВЕРСИЯ 1.2.1.2 для УТ11.5 тестовая (от 05.03.2024)

 

ВЕРСИЯ 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С (собственно ID product).
  • Получение остатков и цен товаров (без учета Опций)
  • Все выгруженные данные сводятся в таблицу (Выгрузка с сайта).

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

Для сравнения сайта с 1С команда "Сравнить с 1С" на вкладке "Выгрузка с сайта".

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

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

4.1 Загрузка кодов сопоставления в 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С. Предоставляется на версии 1.0 и 1.2.*.*


Цена:
Начальная стоимость по минимальной цене для определения спроса и для расширения функционала. С увеличением функционала, увеличение стоимости. Приобретая модуль, Вы вносите свой вклад в развитие проекта =)

Важно! Во избежания возможных негативных ситуаций, перед покупкой изучите указанные требования и функционал, задайте сопутствующие вопросы.
Рекомендации по интеграции. Сперва произвести все действия на тестовых базах (есть сервисы предоставляющие бесплатные БД MySQL с внешним доступом для таких целей, могу посоветовать в ЛС). Перед использованием произвести резервную копию БД 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

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...