Интеграция магазина на VirtueMart 1.1.x\2.0.x и 1С:Предприятие 8.1,8.2

Изображение пользователя Chibiko.

Да, долго тревожил меня этот вопрос.
Да, долго я не мог нормально сделать ЭТО!
Да, это не совсем тема линукса, но 1с есть под линукс, и over 95% работы делается в линуксе.
Да, статья не совсем доделана, ибо не совсем доделана интеграция. Она не полная.
Да, хочется усовершенствовать способ и доделать модуль. Но я не 1с-программист =\
Да, много чего хочется, и в будущем думаю доделается.

Начнём с Введения:
Сначала была 1с 7.7 и всё... Я всё делал ручками раз в неделю.
Как минимум работа занимала час. Это выгрузить, переделать таблички вручную, разбить таблички на несколько штук, поочереди загружать через утилиту в MySQL....

Ура телепузикам! Спустя почти год мы перешли на 1с 8.2!
И с коллегой решили что он сможет осилить нормальную тулзу для связи.
А я сел за скриптики. Чтобы сделать всё автоматом.

В общем сначала пришло такое решение:








Ту часть, где 1С - он взял на себя. Всё остальное - мои велосипеды.

Был написан патч. Расширяющий возможности 1с. + выгрузка в табличку в xls.


Скриншоты изменений в номенклатуре:






Скриншоты выгрузки:






Картинки выгружаются в директорию Picks рядом с 1с, прайс в директорию Inet.

Дальше работает мой сервер:
по cron запускается это:

15 */2  * * *   root    mv /путь/до/подмолнтированной/1с/с/прайсом/Inet/vigruzka.xls /путь/до/фтп/сайта/anon_ftp/pub/vigruzka.xls                                                                                                                     
00 3    * * *   $USER /home/$USER/picks.sh                                                                                                                                                            
05 3    * * *   $USER cd /home/$USER/picks/ && tar -czvf picks.tgz ./*                                                                                                                                
17 3    * * *   root    mv /home/$USER/picks/picks.tgz /путь/до/ftp/httpdocs/components/com_virtuemart/shop_image/product/    

Как видно всё это запускается по ночам....
Вот скрипт /home/$USER/picks.sh:

#!/bin/bash
cp -p -R /путь/до/картинок/Pic/* ~/picks                                                                                                                                                                         

cd ~/picks
find ./* -type f -mtime +7 -exec rm {} \;

cd ~/picks/resized
find ./* -type f -mtime +7 -exec rm {} \;

Ну а теперь по порядку:
1) Картинки из директории /mnt/baza1c/Picks копируем в домашню директорию пользователя сервера.
2) Запускаем скрипт, который удаляет все картинки, старше 7 суток.
3) Пакуем в архив.
4) Кидаем архив на фтп сервер, в место, где они должны лежать на сайте.
5) Кидаем на фтп выгрузку с прайсом.

На этом сервере всё. Теперь идём на сервер где хостится сайт 8))))

Там в cron пихаем 2 строчки в удобное для нас время. Желательно после того как данные попадут на сервер:

Чтобы распаковать картинки и удалить архив:
cd /путь/до/сайта/httpdocs/components/com_virtuemart/shop_image/product/ && tar -xzvf picks.tgz && rm picks.tgz

И чтобы добавить информацию из прайса:

php /путь/до/сайта/httpdocs/administrator/components/com_csvimproved/helpers/cron.php username="login" passwd="password" template_name="CSVI Product Import_название_шаблона" filename="/путь/до/сайта/anon_ftp/pub/vigruzka.xls"
где login/password - это лог и пасс от учётки админа в Joomla.

Теперь что надо чтобы всё это работало:
Изменения в БД (Скачать тут, применять на свой страх и риск!)
Выгрузка для 1с (Не обязательна, но желательна. Ну и без дополнения выше не работает!)
Дополнение в Virtuemart CSVImproved 1.9.2 и выше.

Вопросы/дополнения? Простите, кому нтересно будет, напишу. Просто я сегодня что-то торможу =\
Да, выгрузку мы покупали, так что теперь я могу делать с ней что захочу, поэтому и выставляю.. на общее обозрение так сказать...
И не уверен что всем подойдёт.. И вообще заработает.

В планах:
Обратная синхронизация? Чтобы автоматически выгружать заказы из virtuemart в 1С...

Комментарии (2)

+1
Mike - 21 Октябрь, 2013 - 14:21
Изображение пользователя Mike.

Пост Чибико, и ВНЕЗАПНО не про игры. Уж не угнали ли у него учетку злые хакеры? =)

0
Chibiko - 21 Октябрь, 2013 - 14:24
Изображение пользователя Chibiko.

Внезапно!
1) До этого был i2p, и я думаю это как бы тоже не про игры.
2) Учётку где? В ММОРПГ? Я их забросил =\ Даже в танки не гоняю =\ Скучно там =\
3) Да, каюсь, подсел на Dragon Age: Origins. Мир спасаю.....
4) Эмн.. статья ещё в доработке. Хотя к чему это я? А ну хватит оффтопить! Чипика нэгодуэ! >__<

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры