Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Завязать 1с 7.7 предприятие с интернет-магазином на опенкарт про 2,3


Recommended Posts

@Serwak вам надо только выгружать на сайт или обратная синхронизация тоже нужна, что бы заказы с сайта в 1с падали ?

Надіслати
Поділитися на інших сайтах


Если у товара в 1с и OpenCart есть одинаковый реквизит, по которому их можно связать, то для обновления цен и остатков можно использовать mysql-connector-odbc-5.3.13-win32. 

Пример кода обработки 1с:

Перем Соединение;

Процедура УстановкаСоединения()
	Драйвер = "MySQL ODBC 5.3 Unicode Driver";	
	Сервер = "";
	База = "";
    Логин = "";
    Пароль = "";
    КодСтр = "";
	КодСтр = "STMT=set character_set_results=cp1251;"    

	Соединение = СоздатьОбъект("ADODB.Connection");
	
	
	
	СтрокаСоединения = "DRIVER="+СокрЛП(Драйвер)+";SERVER="+СокрЛП(Сервер)+";DataBase="+СокрЛП(База)+";UID="+СокрЛП(Логин)+";PWD="+СокрЛП(Пароль)+";"+СокрЛП(КодСтр);
	Соединение.ConnectionString = (СтрокаСоединения);
	Попытка
		Соединение.Open();
		Conect=1;
	Исключение
		Conect=0;
		Сообщить("Не могу подключиться к базе!!!");
	КонецПопытки;
КонецПроцедуры

Процедура ВыгрузитьОстатки()
	УстановкаСоединения();
	ЗапросНоменклатура = СоздатьОбъект("Запрос");
	ТекстЗапроса = 	"//{{ЗАПРОС(ВыбратьНоменклатуру)
	|Номенклатура = Справочник.ДопРеквизиты.ТекущийЭлемент;
	|НоменклатураТМЦ = Справочник.ДопРеквизиты.ТМЦ.ТекущийЭлемент;
	|НоменклатураЦена = Справочник.ДопРеквизиты.ТМЦ.ТекущийЭлемент.Цена2;
	|Условие(Номенклатура.АйДи <> 0);
	|Условие(Номенклатура.Включить = Перечисление.ДаНет.Да);
	|Группировка Номенклатура;
	|Функция Сч = Счётчик();
	|";//}}ЗАПРОС
	Если ЗапросНоменклатура.Выполнить(ТекстЗапроса) = 0 Тогда
		Возврат;
	КонецЕсли;
	Кол = 0;
	Размер = ЗапросНоменклатура.Сч;
	Пока ЗапросНоменклатура.Группировка(1) = 1 Цикл
		Номенклатура = ЗапросНоменклатура.Номенклатура;
		НоменклатураТМЦ = ЗапросНоменклатура.НоменклатураТМЦ; 
		НоменклатураЦена = ЗапросНоменклатура.НоменклатураЦена;
		Если Номенклатура.ЭтоГруппа() = 0 тогда
			Кол = Кол+1;
			глПрогрессор("Выгружаю Остатки",Размер,Кол);
			Ид = СокрЛП(Номенклатура.АйДи);
			Остаток = Регистр.Остатки.СводныйОстаток(0,НоменклатураТМЦ,Константа.БазСклад,,"Кво");
			Запрос = "UPDATE `oc_product` SET `quantity` = "+Остаток+", `price`="+НоменклатураЦена+" WHERE `product_id` = "+Ид; 
			Соединение.Execute(Запрос);
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

 

При данном подходе, запись производится непосредственно в бд. Сам магазин модифицировать необходимости нет.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.