Форум русской поддержки Joomla!® CMS
07.12.2016, 20:22:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 43   Вниз
  Добавить закладку  |  Печать  
Автор

1C УТ 8.x <-> VirtueMart по протоколу CommerceML

 (Прочитано 131646 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Centoff
Давно я тут
****

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 245



« : 18.08.2011, 13:28:50 »

Данная тема является продолжением темы 1C УТ выгрузка/загрузка в VirtueMart по протоколу CommerceML

На данный момент скрипт представленный в прошлой теме больше не обновляется!

Версия сегодняшнего скрипта vmshop_1c v.2.1.0.beta

Скрипт обмена 1С УТ v8.x и магазина на базе Joomla - VirtueMart 1.1.x-2.0.6 Final выполняет следующие функции:
1С -> VirtueMart
1) Выгрузка номенклатуры
2) Выгрузка всех характеристик
3) Выгрузка изображений с последующим созданием tumbsnail
4) Выгрузка дополнительных картинок
5) Выгрузка всех ценовых групп и назначение по дефолту группы, указанной в настройке!
6) Выгрузка остатков на складе
7) Выгрузка цен на товары в соответствии с ценовой группой
Cool Выгрузка производителей

1С <- VirtueMart
1) Загрузка заказов со статусов P
2) Добавление новых клиентов (в том числе и Юр. лица)

Скрипт работает как на полную выгрузку, так и на выгрузку изменений!

В связи с тем, что скрипт магазина постоянно обновляется и тем самым постоянно меняется что-либо в структуре базы данных, то и скрипт возможно будет работать некорректно. Следите за этой веткой, возможно исправление уже есть ниже! Так же первый пост постоянно обновляется по факту выхода обновления! Так же прошу высказывать свои ошибки / пожелания / исправления в этой теме! Только убедитесь, что ваша ошибка еще не решена! Так же в случае ошибки прошу выкладывать логи выгрузки, логи ошибок сервера, важные параметры и версия скрипта! Заранее благодарю за понимание!

Основные настройки (обновлено)!
Код:
//Системные параметры
define ( 'VM_VERSION', '2.1.0.beta' ); // Версия скрипта. Будет обновляться!
define ( 'VM_HTTP_VERS', 1 ); // Использовать модуль http (через браузер) 1- да, 0- нет (в случае 0 - настройте config.php)
// Можно с начало включить, настроить, а потом выключить!

Следующие параметры теперь находятся в папке components/com_virtuemart/1cexport/system/config.php
define ( 'VM_CODING', 'UTF-8' ); // Кодировка выгрузки заказов (пока не применяется)
define ( 'VM_DB', 'yes' ); // Обнулять таблицы перед выгрузкой?
define ( 'VM_ZIP', 'yes' ); // Использование zip архивов
define ( 'VM_ZIPSIZE', 16480000 ); // максимальный размер архива в байтах
define ( 'VM_LOG', 'time' ); // вести логи по времени (time), по дате (date), один лог (one)
define ( 'VM_LANG', 'RU' ); // Язык 1С - требуется для характеристик (см adapt.php)
//Параметры изображения категории
define ( 'VM_CAT_IMG', 'yes' ); // Применять картинку к категории
define ( 'VM_CAT_RAND', 'r' ); // Выбор картинки ( r - рандомом, p - первая )
//Параметры отвечающие за налог
define ( 'VM_NDS', 'yes' ); // Учитывать в цене из 1С налог НДС?
define ( 'VM_NDS_COUNTRY', 'RUS' ); // Страна учета НДС?
//Параметры отвечающие за поставки товара
define ( 'VM_POSTAVKA_E', 'yes' ); // Использовать модуль поставки (заменяет картинку в случае отсутствия товара)
define ( 'VM_POSTAVKA', '3-5d.gif' ); // Вставляет текст или картинку (например: on-order.gif или в наличии)
define ( 'VM_POSTAVKA_TIME', '432000' ); // Ориентировачное время поставки в секундах, т.е. 5д*24ч*60м*60с = 432000
//Параметры thumbnails изображения
define ( 'VM_TBN_H', '90' ); // Высота thumbnails изображения
define ( 'VM_TBN_W', '90' ); // Ширина thumbnails изображения
define ( 'VM_TBN_RED', '255' ); // Подложка thumbnails изображения (Красный - 255) - >
define ( 'VM_TBN_GREEN', '255' ); // Подложка thumbnails изображения (Зеленый - 255) - > Все вместе - белый
define ( 'VM_TBN_BLUE', '255' ); // Подложка thumbnails изображения (Синий - 255) - >
define ( 'VM_TBN_QTY', '80' ); // Качество thumbnails изображения (максимум 100)
define ( 'VM_JPG', 'no' ); // Заменять ли JPEG на JPG
//Параметры отвечающие за каталог
define ( 'VM_LIST_CAT', '5' ); // Сколько отображать товаров в каталоге
define ( 'VM_DEF_CASHGR', 'Розничная' ); // название основной категории цен (у меня это Розничная)
$config['VM_MANUFACTURE'] = 'производитель'; // Обозначение свойства производителя
//Параметры отвечающие за выгрузку заказов
define ( 'VM_USER_SHOP', 'no' ); // Создать поля для регистрации новых клиентов (Банковские реквизиты: ИНН, КПП и т.д.)
define ( 'VM_CLIENT', 1 ); // 0 - Выгружать всех клиентов в 1С на контрагента "Физ лицо"  1- Выгружать всех клиентов в 1С как есть
define ( 'VM_NDS_SHIP', '18' ); // Ставка НДС для услуги доставки

Инструкция по установке в архиве!

Внимание! Для некоторых возможностей скрипта понадобится, чтобы было установлено дополнение к 1С, скачать можно на офф сайте!

У кого установлена версия 1.1.9 - там в коде есть ошибка, из-за которой не отображаются подкатегории, выводится сообщение "В данной категории нет товаров."

Решение:

В файле \administrator\components\com_virtuemart\html\shop.browse.php допущена ошибка в строке 86:

Код:
elseif( $num_rows == 0 && empty($product_type_id) && empty($child_list)) {
echo $VM_LANG->_('EMPTY_CATEGORY');

Нужно изменить условие, поставив перед empty($child_list) восклицательный знак:

Код:
elseif( $num_rows == 0 && empty($product_type_id) && !empty($child_list)) {
echo $VM_LANG->_('EMPTY_CATEGORY');

Внимание!
Обратите внимание на параметр:
Код:
define ( 'VM_LANG', 'RU' );


Новая версия скрипта 2.1.0.beta
Так же доступна прошла версия 2.0.9

Скачать новую версию: http://forum.fromrus.su/files/file/11-vmshop-1c/

Важно! Все параметры теперь находятся в конфигурационном файле в папке system, поэтому для настройки можно воспользоваться модулем загрузки через браузер или настроить в ручную!

Для простоты (кто не хочет держать включенным доступ через браузер) включаем параметр (в vmshop_1c.php) VM_HTTP_VERS = 1, настраиваем, а потом выключаем VM_HTTP_VERS = 0


[вложение удалено Администратором]
новая ссылка предоставлена fov -   
https://yadi.sk/d/amgOGaiyUz2Le
« Последнее редактирование: 27.11.2014, 21:32:11 от fsv » Записан
 
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #1 : 18.08.2011, 14:16:23 »

Цитировать
4) Выгрузка дополнительных картинок
А как они отображаются в магазине? Кто тестил как оно работает?
Мне нужно к ноиенклатуре прикрепить не только основное изображение, но и допустим сертификат!
Записан
Centoff
Давно я тут
****

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 245



« Ответ #2 : 18.08.2011, 15:51:55 »

Выглядит это так: http://shop.termservis.su/2011-07-08-11-37-04?page=shop.product_details&flypage=flypage.tpl&product_id=1&category_id=6
Единственное, пока файлы выгружать не совсем можно, только картинки!

Обнаружил маленький косяк с изображениями формата не jpeg, исправил! Исправления в архиве!
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #3 : 18.08.2011, 16:20:25 »

Что то как не пытаюсь, ничего не происходит.
Добавил в номенклатуре в хранилищедоп.информации (в изображение и в файл ) картинку формата jpg делаю полную выгрузку без обнуления таблиц в итоге сколько ранее картинок выгружалось, столько и выгружается, в результате в админике и на самом сайте доп изображений нет!
Записан
Centoff
Давно я тут
****

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 245



« Ответ #4 : 18.08.2011, 16:27:51 »

Есть вариант - удалите все картинки из папки /components/com_virtuemart/shop_image/product/ и /components/com_virtuemart/shop_image/product/resized/ и сделайте выгрузку еще раз!
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #5 : 18.08.2011, 16:34:53 »

Аналогично, кол-во выгруженных картинок не изменилось! И на сайте отсутствуют.
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #6 : 18.08.2011, 16:40:49 »

Быть может что то со штатным 1с-овским выгрузчиком что то не так?
Записан
Centoff
Давно я тут
****

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 245



« Ответ #7 : 18.08.2011, 17:07:00 »

Посмотрите в базе (через phpmyadmin) базу ..._vm_product_files Есть ли эти картинки?
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #8 : 18.08.2011, 17:14:11 »

Через import.xml видно что они не выгружались!
Записан
Centoff
Давно я тут
****

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 245



« Ответ #9 : 19.08.2011, 09:29:23 »

ммм, тогда Вам сюда...
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #10 : 19.08.2011, 11:49:54 »

Здесь я был.
Скачал, запустил exe-шник, установил в папку по умолчанию. После инсталяции открылась страничка с подробной инструкцией по установке. В итоге в процессе обновления конфигурации обнаружил, что отсутствуют некоторые пункты необходимые для обновления. За отсутствием таковых отметил для обновления то, что есть и в итоге результат не дал ожидаемого. Пробовал на 2-х версиях 8.1-8.2 с безуспешно.

Может кто подскажет, как это установить и получить выгрузку дополнительных изображений- оч. нужно!
Записан
MEW
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #11 : 19.08.2011, 14:55:39 »

Появилась весьма досадная сложность, а именно:
Нужна выгрузка из 1с, а кроме этого есть ещё одна категория, которая набивается вручную и с 1с не связана никак.
И вот: сейчас в скрипте выключена очистка таблиц, иначе эта моя категория удалится при очередном обновлении.
НО. Теперь и при обновлении проданные товары не удаляются, а продолжают висеть, как будто есть. Только добавляются новые.
Что можно сделать?
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #12 : 19.08.2011, 19:38:04 »

НЕ нужно ничего делать, если сегодня товар отсутствует, а к примеру через 3-7 дней он снова появится, что тогда? это раз!
Второе, если включить обнуление таблиц, то каждый раз при появлении новой номенклатуры ID товара в базе VirtueMart будут меняться, соответственно изменится постоянный адрес какого либо товара.

Все это крайне негативно скажется на поисковой выдаче, человек ищет товар, в кэше поисковика страница присутствует и он переходит на ваш сайт и ему система говорит, что товар не найден, или вместо искомого товара ему по ссылке вылетает совершенно другой.
Обнуление таблиц не выключаем, а в случае если товар полностью снят с продажи, лезем в админку и скрываем его!
У меня на отсутствующий товар стоит заглушка следующего содержания: "Нет в наличии! При заказе товара поставка осуществляется в течение 7-10 дней." и если товара больше никогда не будет, я его отключаю
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #13 : 20.08.2011, 13:12:58 »

Обновил модуль выгрузки в 1С 8, после выгрузки все цены стали вместо 6548 руб.- 6 рублей, а вместо 1245 руб- 1 руб ))))
« Последнее редактирование: 20.08.2011, 13:35:26 от sokolspec » Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #14 : 20.08.2011, 13:33:26 »

кажется понял почему, в цене offers.xml появился пробел:
Цитировать
<Цена>
                  <Представление>5 550 руб. за шт</Представление>
                  <ИдТипаЦены>3f9296fb-f6e8-11df-9731-001e5848397d</ИдТипаЦены>
                  <ЦенаЗаЕдиницу>5 550</ЦенаЗаЕдиницу>
                  <Валюта>руб</Валюта>
                  <Единица>шт</Единица>
                  <Коэффициент>1</Коэффициент>
               </Цена>
« Последнее редактирование: 20.08.2011, 13:39:47 от sokolspec » Записан
Ay49Mihas
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #15 : 21.08.2011, 23:17:44 »

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

Создалась следующая проблема: 1С:Предприятие 8.2.14.528, УТ 10.3.10.4. Реализован обмен с удалённым сайтом на хостинге (всё работает нормально, в т.ч. проверка) и с локальной копией на 127.0.0.1 (windows 7 максимальная, apache 2.0.64, php 5.3.5, mysql 5.5). Во втором случае не работает обмен, при проверке соединения пишет проверить логин-пароль. Вся фишка в том, что в скрипте проверка проходит успешно (отсылается обратно success), но 1с-ка упорно не хочет воспринимать этот результат как положительный. Вся проблема возникает только при type=catalog&mode=checkauth, ничего кроме этого не затрагивается.

В чём может быть дело? Какие-то специфичные настройки софта на локалхосте? Заранее благодарен.
Записан
Centoff
Давно я тут
****

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 245



« Ответ #16 : 22.08.2011, 09:23:57 »

Возможно, это проблема кодировки. Виндовский сервер не хочет нормально работать с UTF-8 и отсылает ответ не  в той кодировке. Та же проблема была и у меня, пока я с ней не замучился. Исправилось несколько раз сохраняя в любой другой кодировке и возврат к UTF-8 всех файлов скрипта!

Но есть вероятность, что фаервол семерки просто блокирует ответ, попробуй отрубить его вообще на время!
Записан
Centoff
Давно я тут
****

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 245



« Ответ #17 : 22.08.2011, 09:28:02 »

кажется понял почему, в цене offers.xml появился пробел:

В файле offers.php добавьте после строки 141:
Код:
$price = str_replace(",", ".", $price);

Следующее:
Код:
$price = str_replace(" ", "", $price);
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #18 : 22.08.2011, 09:37:00 »

Сделал, теперь цены стали 10 руб.)))

Вместо тысяч
Записан
Centoff
Давно я тут
****

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 245



« Ответ #19 : 22.08.2011, 09:55:21 »

хмм, интересно! Выложи пожалуйста offers.xml
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #20 : 22.08.2011, 10:08:17 »

вот

[вложение удалено Администратором]
Записан
Centoff
Давно я тут
****

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 245



« Ответ #21 : 22.08.2011, 10:08:47 »

И еще, попробуй добавить следующее после той строки, которую вставлял чуть раньше!

Код:
$price = str_replace(" ", "", $price);

if (!is_float ($price))
{
settype($price, "float");
}
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #22 : 22.08.2011, 10:15:38 »

Попробовал, аналогично!
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #23 : 22.08.2011, 10:30:11 »

Нашел в нете:
Цитировать
Там скорее всего не пробел, а спецсимвол (неразрывный пробел или что-то подобное).

Поэтому: выделить символ пробела в числе; скопировать; в окошке "найти" вставить.

Так и сделал, скопировал пробел из offers.xml и вставил его в код: $price = str_replace(" ", "", $price);
на место пробела, и ура- все работает!
« Последнее редактирование: 22.08.2011, 12:00:18 от sokolspec » Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #24 : 22.08.2011, 10:52:25 »

Centoff,
Заметил одну особенность, если дополнительных изображений 1 то оно выгружается нормально, но если их 2 то главное изображение заненяется 1-м доп изображением. Тоесть в не зависимости сколько доп изображений товара, отображается только одно. Смотрел в админке VirtueMart, исходя из import.xml их должно быть несколько для примера номенклатура: Плита газовая ПГ4 М-1464-02 "Веста люкс " с крышкой , электророзжигом.

import.xml прилагается

[вложение удалено Администратором]
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #25 : 22.08.2011, 16:47:10 »

Centoff,
Есть еще один вопрос, выгрузка происходит без обнуления таблиц. При этом в фильтре выгрузки стоит учет по складам из списка складов, статус товара не обновляется, тоесть не смотря на то, что товара нет в наличие (остаток=0) его статус on-order.gif
Записан
Alex2
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 112



« Ответ #26 : 22.08.2011, 19:26:12 »

Проверял полную выгрузку:

Выгрузка работает нормально, но при этом у покупателей и у способов оплаты обнуляется группа
Из-за этого когда покупатель оформляет заказ, стадия выбора "способа оплаты" пропускается. И покупатель не может оформить заказ.
Приходится вручную заходить в каждого покупателя и способ оплаты и пересохранять их.

И еще один вопрос, зачем во всеx товары пишется "Доступен" и вставляется картинка ON-Order (независимо в наличии товар или нет)?
Как это убрать?
Записан
sokolspec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 79


« Ответ #27 : 22.08.2011, 19:41:57 »

И еще один вопрос, зачем во всеx товары пишется "Доступен" и вставляется картинка ON-Order (независимо в наличии товар или нет)?
Как это убрать?
Настройки Virtuemart=> сайт=> Выберите шаблон для магазина => настройки => Show Availability Information? поставь "no"
Записан
Alex2
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 112



« Ответ #28 : 22.08.2011, 19:53:54 »

Настройки Virtuemart=> сайт=> Выберите шаблон для магазина => настройки => Show Availability Information? поставь "no"
Спасибо, совсем забыл. Как говориться, истина где-то рядом!
Записан
Ay49Mihas
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #29 : 22.08.2011, 20:57:21 »

Возможно, это проблема кодировки. <...>Исправилось несколько раз сохраняя в любой другой кодировке и возврат к UTF-8 всех файлов скрипта!
О, спасибо! Открывал блокнотом, немного правил, сохранял. Реально, видимо, в принудительно двухбайтную кодировку перекодирует он.
Из линукса скопировал --- всё заработало.
Записан
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 43   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet