Исходная версия компоненты (набор PHP-скриптов) доступна на форуме:
http://joomlaforum.ru/index.php/topic,175325.0.html
и имеет следующие возможности:
Из 1С:
1) Выгрузка номенклатуры
2) Выгрузка изображений с последующим созданием tumbsnail
3) Выгрузка дополнительных картинок
4) Выгрузка всех ценовых групп и назначение по дефолту группы, указанной в настройке!
5) Выгрузка остатков на складе
6) Выгрузка цен на товары в соответствии с ценовой группой
В 1С:
1) Загрузка заказов со статусов P
2) Добавление новых клиентов (в том числе и Юр. лица)
Скрипт работает как на полную выгрузку, так и на выгрузку изменений!
Внимание! Для некоторых возможностей скрипта необходимо, чтобы было установлено дополнение к 1С, скачать можно на офф сайте!
Для работы со стороны 1С используется стандартный механизм обмена с WEB-сайтом, использующий планы обмена для отслеживания изменений, что приятно 🙂
НОВЫЕ ВОЗМОЖНОСТИ И ИЗМЕНЕНИЯ В ВЕРСИИ 2.1.1.Amator
1) Исправлена проблема с дробным весом — изначально вес загружался как целое число, отсекалась дробная часть.
2) Добавлен перенос свойств — свойства должны иметь простой тип (строка, число), так как для хранения сложных типов в VM нет отдельной таблицы. Поддерживается выгрузка неограниченного количества доп. свойств!
3) Нормальная выгрузка производителя — производитель заводится так же как доп. свойство, и должен иметь тип Справочник! (Контрагенты, Значения свойств объектов и т. п.). Свойство должно называться «производитель», если хотите по-другому, нужно запустить на вашем сайте vmshop_1c.php и отредактировать параметр VM_MANUFACTURE.
4) Выгрузка двойных картинок поправлена — не правильно подставлялись пути к каталогу.
5) Выгрузка цен поправлена — менялись названия реквизитов в таблицах VM, начиная с версии 2.0.14.
6) Добавлен перенос габаритов товара — для загрузки габаритов (Длина,Ширина,Высота) в стандартные реквизиты товара VM, а не как доп. свойства, нужно добавить эти реквизиты аналогично весу в справочник Единицы измерения, и внести дополнения в код модуля обработки ОбменССайтом: (функция РИ_ЗаполнитьСписокЗначенийРеквизитовТовара):
Если ЗначениеЗаполнено(ВыборкаНоменклатуры.Вес) Тогда
ДобавитьЗначениеРеквизитаВСписок(СписокЗначенийCML, «Вес», мКоэффициентПересчетаВесаТоваровВГраммыДляОбменаССайтом * ВыборкаНоменклатуры.Вес);
КонецЕсли;
//+Аматор
Если ЗначениеЗаполнено(ВыборкаНоменклатуры.ЕдиницаХраненияОстатков.Длина) Тогда
ДобавитьЗначениеРеквизитаВСписок(СписокЗначенийCML, «Длина», ВыборкаНоменклатуры.ЕдиницаХраненияОстатков.Длина);
КонецЕсли;
Если ЗначениеЗаполнено(ВыборкаНоменклатуры.ЕдиницаХраненияОстатков.Ширина) Тогда
ДобавитьЗначениеРеквизитаВСписок(СписокЗначенийCML, «Ширина», ВыборкаНоменклатуры.ЕдиницаХраненияОстатков.Ширина);
КонецЕсли;
Если ЗначениеЗаполнено(ВыборкаНоменклатуры.ЕдиницаХраненияОстатков.Высота) Тогда
ДобавитьЗначениеРеквизитаВСписок(СписокЗначенийCML, «Высота», ВыборкаНоменклатуры.ЕдиницаХраненияОстатков.Высота);
КонецЕсли;
//-Аматор
7) Реализована выгрузка скидок номенклатуры (установленных документом «Установка скидок номенклатуры»). Сам процент скидки не хранится, Цена со скидкой расчитывается при загрузке и записывается в поле product_override_price.
8) При загрузке заказов в 1с в номер теперь подставляется Номер, а не Ид заказа, как было раньше.
9) Реализована выгрузка описаний для категорий (поле Комментарий, его необходимо сделать доступным не только для элементов, но и для групп номенклатуры в 1С). В процедуру ВыгрузитьОсновныеРеквизитыГруппыДляКлассификатора необходимо добавить:
//+Аматор
ДобавитьУзелCML(БуферCML, «Комментарий», ФорматНаименованияДляCML(Группа.НоменклатураСсылка.Комментарий));
//-Аматор
ИЗМЕНЕНИЯ В ВЕРСИИ 2.1.2.Amator
1) Исправлена ошибка с полем slug в товарах, не дающая корректно обновлять базу в магазине (когда VM_DB = нет).
2) Исправлена ошибка с загрузкой производителей (когда VM_DB = нет).
ИЗМЕНЕНИЯ В ВЕРСИИ 2.1.4.Amator
1) Исправлена проблема с авторизацией (альтернативным скриптом checkauth_2_5.php замените оригинальный checkauth.php, если у вас не проходит авторизация и ругается на 180 строку).
2) Исправлены мелкие ошибки синхронизации товаров
3) Расширенная информация о заказе в поле комментарий
Данная версия скрипта будет работать только с VM2, последних версий (думаю, начиная с 14й). VM1 — не поддерживается. VM3 — не проверял, и пока не планирую. Так же скорее всего не будет работать выгрузка характеристик номенклатуры. Тестировал обмен с УТ 10.3.24 — VM 2.0.24 (JM 2.5). Так же внедрял эту обработку для УНФ 1.4 и КА 1.1. Не исключено, что будет работать и с УПП, и УТ 11, но не проверял.
В разделе файлов вы можете скачать архив со скриптами, который нужно разместить на вашем сайте, и модифицированную обработку ОбменССайтом.
А чем данная разработка в принципе отличается от «типового» обмена с интернет магазинами который в УТ11 например есть? Формат вроде тот-же, объекты тоже, ну у вас чуть больше данных участвует в обмене, но это и в «типовом» обмене можно допилить.
Эта разработка и так использует типовой обмен, заложенный в 1С 🙂 Но вот на стороне интернет-магазина, если у вас сайт не на Битриксе, а на Joomle, по умолчанию никакого обмена с 1С не предусмотрено 🙂 Тем более бесплатного.
Понятно.
Попытался запустить в КА Ругается
{ВнешняяОбработка.ОбменССайтом.МодульОбъекта(2951,20)}: Переменная не определена (РИ_ПроцедурыОбменаССайтомБитрикс)
СтруктураДанных = <<?>>РИ_ПроцедурыОбменаССайтомБитрикс.ПолучитьЗаказыСОплатойИОтгрузкойПоКатегориям(МассивИзменений, мМассивЗагруженныхДокументов);
{ВнешняяОбработка.ОбменССайтом.МодульОбъекта(3133,2)}: Переменная не определена (РИ_ПроцедурыОбменаССайтомБитрикс)
<<?>>РИ_ПроцедурыОбменаССайтомБитрикс.ПроверитьВыполнитьОбновлениеДанныхМодуляОбменаССайтом();
{ВнешняяОбработка.ОбменССайтом.МодульОбъекта(3385,2)}: Переменная не определена (РИ_ПроцедурыОбменаССайтомБитрикс)
<<?>>РИ_ПроцедурыОбменаССайтомБитрикс.НастроитьПостроитель(ПостроительЗапроса, КлассифицироватьПоЦеновымГруппам, ВыгружатьСкидки, ВыгружатьОстаткиПоСкладам, ВыгружатьВсеХарактеристики, мУчетнаяПолитика);
Если в УТ10 идёт то в КА должно..
Внимание! Для некоторых возможностей скрипта необходимо, чтобы было установлено дополнение к 1С, скачать можно на офф сайте! Попробуйте прикрутить к КА дополнение:
http://1c.1c-bitrix.ru/ecommerce/v2.php
А демка есть , а то как
Безвозмездно, т.е. даром 🙂 весь код открыт, можно допиливать по себя сколько душе угодно
Добрый день!
Подскажите пожалуйста!
НЕ могу подключить сайт через Узлы обмена с сайтом! При проверка соединения появляется сообщение:
Не удалось установить соединение.
Авторизация не выполнена.
Не удалось установить соединение с сервером. Проверите имя пользователя и пароля.
Использую:
Демонстрационная версия типового решения 1С:Предприятие 8.2 Управление торговлей (редакция 11.1)
Joomla 2.5
Спасибо!
(*логин/ пароль введены правильно)
Такая ошибка возникает, если что-то не так в файле vmshop_1c.php
Но авторизация не проходит и когда я указываю просто адрес сайта: http://www.site.ru (без vmshop_1c.php )
Такая же ошибка:
Не удалось установить соединение.
Авторизация не выполнена.
Не удалось установить соединение с сервером. Проверите имя пользователя и пароля.
Может быть проблема в http аутентификации?
Указываете все верно. Ваш сайт при обработке скрипта vmshop_1c.php где то спотывается. Какая версия VM?
VirtueMart 2.0.10
Joomla 2.5.16
Начиная с версии 2.0.14 у ВМ поменялся формат цен немного. Но эта ошибка у вас вылезет позже. А пока, если не проходит авторизация, значит затык где то в файле vmshop_1c.php. Попробуйте этот файл посмотреть и потестить, на каком месте ошибка возникает.
у вас версия:
define ( ‘VM_VERSION’, ‘2.1.0.beta’ );
Вы ее с форума стянули?
А моя —
define ( ‘VM_VERSION’, ‘2.1.2.Amator’ );
Доброго дня VM2026d,joomla 2.5,’VM_VERSION’, ‘2.1.2.Amator’, + 6 часов пыток = нет подключения (Проверьте имя пользователя и пароль — хотя все правильно распаковал и прикрутил), куда копать? или это продается нерабочая разработка судя по отзывам в тч на форуме джумлы?
Ну, во первых, эта штука не продается, а дарится 🙂 Во вторых, с некоторых пор форма аутентификации действительно перестала работать. Проблема в файле checkauth.php.
Как мне сказали знающие люди, файл был написан под 1.5
в нем $testcrypt = JUserHelper::getCryptedPassword($password, $salt); — не будет корректно работать.
Хотя не понимаю, как раньше то все работало на 2.5 🙂
В общем, решение нашли, обновленный файл выкладываю, качайте!
Если и дальше не будет получаться, или нужно будет заточить обмен под вас индивидуально — обращайтесь!
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
xmlreader.read ]: An Error Occured while reading in Z:home********.ruwwwcomponentscom_virtuemart1cexportimport_xml.php on line 143
Обмен не выполнен
Ответ сервера:
Warning: XMLReader::read() [
<sc ript language=JavaScript src=’/denwer/errors/phperror_js.php’></sc ript><!—error—>
Warning: XMLReader::XML() [xmlreader.xml ]: Empty string supplied as input in Z:home********.ruwwwcomponentscom_virtuemart1cexportsystemproduct.php on line 24
<sc ript language=JavaScript src=’/denwer/errors/phperror_js.php’></sc ript><!—error—>
Warning: XMLReader::read() [xmlreader.read ]: Load Data before trying to read in Z:home********.ruwwwcomponentscom_virtuemart1cexportsystemproduct.php on line 58
<sc ript language=JavaScript src=’/denwer/errors/phperror_js.php’></sc ript><!—error—>
Warning: XMLReader::read() [xmlreader.read ]: An Error Occured while reading in Z:home********.ruwwwcomponentscom_virtuemart1cexportimport_xml.php on line 188
<sc ript language=JavaScript src=’/denwer/errors/phperror_js.php’></sc ript>success
Изменил параметр VM_DB == yes
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
xmlreader.read ]: An Error Occured while reading in Z:home#####.ruwwwcomponentscom_virtuemart1cexportimport_xml.php on line 143
Обмен не выполнен
Ответ сервера:
Warning: XMLReader::read() [
<sc ript language=JavaScript src=’/denwer/errors/phperror_js.php’></sc ript><!—error—>
Fatal error: Call to undefined function makecustoms() in Z:home#####.ruwwwcomponentscom_virtuemart1cexportsystemproduct.php on line 1750
<sc ript language=JavaScript src=’/denwer/errors/phperror_js.php’></sc ript>
Скрипт таки запустился… но производитель не выгружается.
Создается только список самих производителей, а именно заполняется данными только две таблицы
shop_virtuemart_manufacturers
shop_virtuemart_manufacturers_ru_ru
В карточке всех товаров производитель не указан.
Все остальные таблицы
shop_virtuemart_manufacturercategories
shop_virtuemart_manufacturercategories_ru_ru
shop_virtuemart_manufacturer_medias
shop_virtuemart_manufacturer_to_1c
пустые 🙁
Причем перепробовал все возможные варианты выгрузки…
(22) DlMOH, Какой тип значения у производителя у вас в базе 1с?
В 1С тип значений указан как: Значения свойств объектов (Классификатор)
В 1С не силен… но я так понимаю, что это «справочник».
(23) amatoravg, в XML-файле это выглядит так:
У товара данное свойство в списке свойств значений тоже присутствует.
решил присоединиться к магазинам на этой обработке
ISPConfig 3, j2.5, vm2.6.0, 2.1.2_Amator,»Управление торговлей» (10.3.29.1)
цены не хочет закачивать.
Планирует ли автор написание мини FAQ ?
В дополнение к первому посту…
с УПП (Управление производственным предприятием) работает.
Однако мои танцы с бубном пока продолжаются…
Сейчас заткнулся на этапе «Обмена заказами с 1С»
1С затыкается на ошибке:
{Обработка.ОбменССайтом.МодульОбъекта(6492)}: Поле объекта не обнаружено (Ид)
Если НЕ ПустаяСтрока(СтруктураДанныхКонтрагента.Ид) Тогда
т.е. ИД Контрагента не выгружается.
Показать
С Ид Контрагента типа справился… (вопрос снимается)
Дальше еще страшнее! Затрял на ошибке 1С
Не указан расчетный счет !
{Обработка.ОбменССайтом.МодульОбъекта(5943)}: Ошибка при вызове метода контекста (Записать): Не удалось записать: «Заказ покупателя»!
Произошла ошибка: . По причине:
Не удалось создать/обновить документы.
Не удалось обработать документы, загруженные с сервера.
Обмен не выполнен
В Virtuemart вообще не вижу, где можно расчетный счет указать!
Help please!!!
Развернул Управление торговлей для Украины, редакция 3.0
Все заработало отлично!
Буду ковырять, в чем грабли под УПП были…
прошу связаться со мной kt612@mail.ru
(18) amatoravg,
Андрей, а куда вы выложили обновленный файл? Я скачал ваш скрипт он по прежнему не работает. Очень сложно оценить его функционал, который вы описали, если он даже авторизацию не проходит. Ошибка здесь:
$parts = explode( ‘:’, $result->password );
$crypt = $parts[0]; сюда попала странная строка символа на 4;
$salt = @$parts[1];
$testcrypt = JUserHelper::getCryptedPassword($password, $salt); — этот метод для версии 1.5 (но тут есть хеш какой-то)
if( $crypt == $testcrypt ) …….. — в результате это условие ни когда не выполняется!!!
Я не силен в joomla api, и зарегистрировался только ради этого скрипта, помогите пожалуйста.
Увы, не получилось выложить обновленный файл…почему то инфостарт его никак не принимал… думаю, скоро выложу просто кусок кода, как заменить авторизацию, а может, и полностью обновленный весь скрипт, он далеко уже ушел от оригинала (в плане исправления багов, хотя и функционал немного нарастил)
Добрый день!
Вы писали выше что выложите кусок кода, либо файл обновленный.
Вопрос: что вы выложили?) Или может на форуме есть обновленное что-то?
Хочу сайт создать, нужен обмен с 1С.
(35) amatoravg, Добрый день!
Вы писали выше что выложите кусок кода, либо файл обновленный.
Вопрос: что вы выложили?) Или может на форуме есть обновленное что-то?
Хочу сайт создать, нужен обмен с 1С.
Уважаемый amatoravg а как быть если есть дочерние товары например
144 Унитазы, биде, писсуары/Унитазы 23010300 Общий Дочерний вид product_sku withParent=»0″|parentOrderable=»0″| Унитазы Лобненский Стройфарфор 0 0
23010301 23010300 Унитаз «Дачный» Лобня в упак. 0 1402
23010302 23010300 Унитаз «Дебют» (УнВКЦФ) в упак. 0 966
23010303 23010300 Унитаз «Ермак» (УнТПФ) в упак. 0 1377
23010304 23010300 Унитаз «Комфорт» (УнТКФ) в упак. 0 728
23010305 23010300 Унитаз «Нарцисс» (УнВКЦФ) новый в упак. 0 1247,5
23010306 23010300 Унитаз «Оптима» (УнВКЦФ) в упак. 0 996
23010307 23010300 Унитаз «Универсал» (УнВКЦФ) в упак. 0 996
23010308 23010300 Унитаз «Универсал» NEW (УнВКЦФ) в упак. 0 996
23010309 23010300 Унитаз «Фаворит» (УнВГЦФ) в упак. 0 1245
есть родитель 23010300 и дочерние, как при такой ситуации должны обновляться цены на сайте???
Не планируете переделывать под VM 3.x?
Добрый день!
Уважаемый amatoravg!
Огромное спасибо за работающий скрипт обмена, хоть бубен и требуется.
Я со своей стороны собираюсь допиливать его под свою конфигурацию.
На данный момент у меня УТ 10.3.30.2 и VM 2.6.17
Не будет ли возражений, если я выложу скрипт на github.com ?
(39) karapuzzzz, поддерживаю, может кто-то уже занимался адаптацией скрипта под 3-й VM?
Выложил обновление с исправленной авторизацией. На счет github.com не возражаю, только ссылку на мое мыло укажите плиз.
Ребята, если кому то нужна помощь конкретно с вашими данными и вашей ситуацией поразбираться, обращайтесь, но уже за отдельную плату.
Уважаемы amatoravg подскажите есть ли альтернативные варианты получения Вашего скрипта, нужно для VirtueMart 2.6.12.2
(44) vladsklyar, Есть. Если нужна будет моя личная помощь при установке, я к вам подключусь и сам все закачаю на ваш хостинг. А так — только качая отсюда. За огромную суммe в 1$m.
Народ помогите трабла с группами



Скрипты выставляет две группы покупателей, из за этого не зарегистрированные пользователи не видят цен
(43) amatoravg,
Уважаемы amatoravg подскажите пожалуйста, как получить вашу личную, оплачиваемую помощь, по установке, настройке скрипта?
Моя почта: tdkitg@gmail.com
(47) dimadima, Ответил вам на почту.
привет! это будет работать на virtuemart 3?
может пробовал кто?
(50) aka74u, пробовал, работает на virtuemart 3 без проблем, но только под joomla 2.5…
а вот на joomla 3 уже не пашет, начал переписывать немного, но чем дальше, тем больше спотыкается.
Может кто-то уже заморачивался переделкой под 3-ю джумлу?
Добрый день. Я новенький в данном вопросе попросите подскажите пожалуйста установил Joomla!, 2.5.28. и VirtueMart 2.6.6 1с 8.3 УТ 11.1 Пробу подключиться для обмена данных к скрипту через 1с пишет нет соединения. через веб заходит и там написана только 1 строчка [content]. Что делаю не так подскажите. Права на папку полные все есть уже и пользователя заново создал. Хостин Hostinger.ru.
Авторизацию настроил обмен с сайтом делаю запускаю а в итоге пусто. Как правильно VM настроить?
Проблема типа Only variables should be assigned by reference на некоторых хостингах — легко лечится, в главном файле уберите в ругающихся строчках символ &:
Да это уже исправил спасибо. Только почему то теперь. Соединение есть настраиваю узел обмен нажимаю начать обмен он начинается и заканчивается через 5 секунд и ничего не пишет. На сайт захожу а там как было пусто так и есть. Как это исправить? Помогите пожалуйста.
Может кому пригодиться. Внедрял этот скрипт на 1с 8.3 УТ 11.1 Успешно.
Первая проблема был с названием файлов при выгрузке с 1с поменял в обработке название файлов как в скрипте или на оборот кому как нравиться. Выгрузка пошла товаров не грузились категории т.к. была допущена ошибка при первой выгрузке. Я выгрузил все категории и удалил их, но с таблицы MySQL они не удалились. Таким образом нужно зайти в скрипт и поменять настройки чтобы при выгрузке удалялись старые таблицы.
Вопрос с товаром решен. Остатки и цена все подтягивается корректно после того, как создал Соглашение с клиентом для обмена с сайтом. Почитать про это можно в любом источнике как правильно делать обмен с сайтом.
3 этап моей работы были ошибки в скрипте т.е. стоял зна & в начале строки заходил удалил и все заработало.
4е заказы товаров с сайта в 1С.
Тут уже пришлось исправлять обработку 1С ну это уже какждому как хочется. Можно исправить или скрипт выгрузки заказов createzakaz.php или Основной модуль — Обмен с сайтом в 1С. Что исправлял вот пример: в скрипте написано так $t1_4 = $t1_3->addChild ( «Наименование», «ВидНоменклатуры» ); а в 1С Наименование = ТипНоменклатуры, таким образом выскакивает ошибка исправил в скрипте на Тип и все заработало и так полностью пересобрал модуль 1С и все работает.
Надеюсь кому-то поможет. Моя проделанная работа. #k8SjZc9Dxk-#k8SjZc9Dxk
Добрый день. Скажите пожалуйста проблема с вашим скриптом. Много ошибок исправил, но эту не могу. Выгрузка заказа. Если 1 товар в Заказе то выгружается нормально, а если несколько то скрипт не выгружает поля номенклатуры вообще пустые строчки. Как исправить эту проблему??? Очень срочно помогите плз.
Бред какой- то пробел в 1й строчке поставил и все заработало
Помогите пытаюсь добавить к скрипту еще 1 файл прикрепить добавляю в файле vm_shop elseif( $_REQUEST [‘mode’] == ‘query’)
{
$log->addEntry ( array (‘comment’ => ‘Изменение статус заказа’) );
require_once(JPATH_BASE_1C .DS.’status.php’);
if (isset($handle))
{
fclose($handle);
unset($handle);
}
}
в файле status.php
вот этот запросик
<?php
if ( !defined( ‘VM_1CEXPORT’ ) )
{
echo «<h1>Несанкционированный доступ</h1>Ваш IP уже отправлен администратору.»;
die();
}
$db->setQuery(«UPDATE hrbtc_virtuemart_orders SET order_status = ‘C’ WHERE order_status = ‘U'»)->loadObjectList();
?>
но он его как будто не видит. Пропускает строчки в скрипте VM_Shop в главном модуле и все. А без замены статуса идет задвоение заказов. что сделать?
Добрый день!
Выдает ошибки:
Strict Standards: Only variables should be assigned by reference in /home/site.ru/public_html/vmshop_1c.php on line 65 Strict Standards: Only variables should be assigned by reference in /home/site.ru/cvetochka.ru/public_html/vmshop_1c.php on line 67 Fatal error: Call to undefined method JLog::getInstance() in /home/site.ru/public_html/vmshop_1c.php on line 72
—
Подскажите. пожалуйста, как можно поправить?
Поделитесь скриптом пожалуйста, нету 1sm)) mymail.com(at)mail ru
С разрешения уважаемого Amator выложил скрипт на github
https://github.com/SirPiter/vmshop_1c
Свои изменения тоже кидаю туда.(branch: 7sound)
Давно не видно активности в этом обсуждении, но …
В связи с обновлением сайта я вплотную занялся адаптацией скрипта на под версию Joomla 3.8.
Все исправления буду класть сюда:https://github.com/SirPiter/vmshop_1c
https://github.com/SirPiter/vmshop_1c/tree/7sound.v3)
Branch: 7sound.v3
(
На данный момент у меня корректно выгружаются остатки и цены товаров.
Ошибка при обмене заказами.
(63)Похвальное начинание. Под VM3 делаете?
Да, конечно.
Скрип у меня уже работает в связке J2.5 + VM3.
Изменения основные в Joomla3.
На данный момент скрипт работает на тестовом сайте под Joomla 3.8 и Virtuemart 3.2.14.
с 1С v8.3, Торговля 10.3.45,4
В планах: установить на рабочий сайт; адаптировать к УТ v.11.4;