Добрый день. Кто нибудь делал выгрузку данных из 1С 7,7 в базу Mysql. Есть наработки но не могу разобратся в структуре таблиц. Что и куда выгружать и в какую таблицу точно. Разобрался как загрузить цены, наличие, название, артикуль, категории, в какой категории показывать. А функцию отобразить в магазине ненашол. Давайте вместе напишем скрипт под 1С 7,7. Будет не уневирсальный но можно подогнать под любой 1С 7,7 вот мой код.
//*******************************************
Процедура Выполнить()
Сервер="192.168.1.1";
ПользовательСервера="root";
ПарольСервера="root";
БазаСервера="host";
Соединение = CreateObject("ADODB.Connection");
Соединение_param = "driver={MySQL ODBC 3.51 Driver}; server="+СокрЛП(Сервер)+"; uid="+СокрЛП(ПользовательСервера)+"; pwd="+СокрЛП(ПарольСервера)+"; database="+СокрЛП(БазаСервера)+";OPTION="+3+"; port=3306;STMT=SET NAMES cp1251";
Try
Соединение.open(Соединение_param);
Except
DoMessageBox("Отсутствует связь с базой!");
return;
EndTry;
Т = СоздатьОбъект("Справочник.Номенклатура");
Т.ВыбратьЭлементы();
Запрос = "TRUNCATE TABLE product_description";
Запрос1 = "TRUNCATE TABLE product";
Запрос2 = "TRUNCATE TABLE product_to_category";
Запрос3 = "TRUNCATE TABLE product_to_store";
Соединение.Execute(Запрос);
Пока Т.ПолучитьЭлемент() = 1 Цикл
Если Т.ЭтоГруппа() = 1 Тогда
Продолжить;
КонецЕсли;
остат=Регистр.ОстаткиТоваров.СводныйОстаток(Т.ТекущийЭлемент(),,,,"Количество");
Стр = "INSERT INTO `product_description` SET `language_id`="+""""+1+ """"+",`name`="+""""+Строка(Т.Наименование)+"""";
Стр1 = "INSERT INTO `product` SET `model`="+""""+Т.КаталНомер+ """"+",`sku`="+""""+Т.Код+""""+",`price`="+""""+Формат(Окр(Т.РозничнаяЦена*Т.ВалютаПродажи.Курс.Получить(Т.ДатаКурса), 0, 0),"Ч12.2.,")+""""+",`status`="+""""+1+""""+",`quantity`="+""""+остат+""""+",`weight_class_id`="+""""+1+""""+",`length_class_id`="+""""+1+"""";
Стр2 = "INSERT INTO `product_to_category` SET `category_id`="+""""+59+ """"+",`main_category`="+""""+1+"""";
Стр3 = "INSERT INTO `product_to_store` SET `store_id`="+""""+0+ """";
Соединение.Execute(Стр);
Соединение.Execute(Стр1);
Соединение.Execute(Стр2);
Соединение.Execute(Стр3);
Сообщить("Перенесли – " + Т.Код + " " + Т.Приведенный + " " + Т.Наименование);
КонецЦикла;
Сообщить("Экспорт завершон");
//Запрос = "TRUNCATE TABLE product_description";
//Стр1 = "UPDATE IGNORE `product_description` SET `user_date1` ="+""""+ТекущаяДата()+"G "+" V"+ текущеевремя()+ """";
//Соединение.Execute(Стр1);
Сообщить("Перенесли – "+ Формат(ТекущаяДата(),"D(0)DDMMMMYYYY"));
///////////////////////////////////////******************
КонецПроцедуры