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