Практически с первых дней, как в магазине начались заказы, я понял, что необходимо настроить синхронизацию с 1С, причем, синхронизацию именно количества, т.к. очень часто заказывают то, чего уже сто лет как нет. Основная проблема, по которой я не мог использовать встроенные методы импорта для обновления количества товаров в магазине, заключалась в том, что в структуре моего магазина очень много товаров с комбинациями, импорт которых не предусматривает обновление значений количества, а только создание новых. Кроме того, база данных моего поставщика очень плохо структурирована и при использовании типовых средств синхронизации она переносила свою уродскую структуру в структуру товаров магазина. Тогда то и родилась идея написания обработки, которую я представляю на ваш суд.
С чем это работает?
Данная обработка работает под 1С 8.1 УТ
Что она делает?
Обработка обновляет информацию о количестве выбранной группы товаров. В качестве ключевого поля используется Артикул. Если кто-то заполняет у себя EAN13, можно легко переписать код, чтобы синхронизация проходила по нему.
Внимание! Для правильной работы обработки необходимо заполнение поля Артикул в Номенклатуре 1С и поля Артикул (Reference) в админке магазина (не путать с полем Артикул поставщика). Если данные поля не заполнены, ничего страшного, но количество данного товара, разумеется, обновлено не будет.
Нынешняя версия работает
только с комбинациями и не воздействует на товары, не содержащие комбинаций.
Что она не делает?
Обработка пока не работает с товарами без комбинаций. Кроме того, пока не работает обновление всех товаров в магазине, только тех, которые Вы выбираете при выполнении. Эту изменения у буду вносить уже после сессии.
Как заставить это работать?
- Для работы синхронизации на компьютер, на котором будет запускаться обработка, необходимо установить драйвер MySQL Connector/ODBC. Обработка настроена на работу с драйвером 3.51, если вы установите версию 5.1, необходимо будет внести изменения в строке
Цитата:
param = "DRIVER={MySQL ODBC 3.51 Driver};SERVER="+host+";PORT=3306;DATABASE="+bdname+";uid="+login+";pwd="+pass+";";
заменить 3.51 на 5.1
- Если Ваша БД расположена не на Вашем же компе, в этом случае, необходимо создать пользователя, который сможет получать к ней удаленный доступ. Логин и пароль именно этого пользователя нужно будет ввести в верхней части окна обработки. О том, как это делается, писать не буду, информации об этом полно в интернете.
P.s. прошу не оценивать строго качество кода: три дня назад я не знал даже, ГДЕ писать обработки 1С, не говоря уж о том, КАК.
Сообщение отредактировано bishop2000 23-12-2011 03:59 ...