Как я интегрировал 1Сv8 и Virtuemart

Публикация № 57317

Администрирование - Администрирование данных 1С - Обработка справочников

Задача: создать обмен 1Сv8 управление торговлей 10.1 и Virtuemart .

Что такое Virtuemart можно почитать тут http://www.virtuemart.ru, вкратце - это компонент интернет-магазина (каталога товаров) к известному CMS-движку Joomla.
Процедура СнятиеФлагаПустыхГрупп(Кнопка)
    СтрПодключения = "DSN=mySQL_ishop;";
    СтрПодключения = СтрПодключения+"Database=joomla;";
    СтрПодключения = СтрПодключения+"Uid=Sa;";
    СтрПодключения = СтрПодключения+"Pwd=хххххххх;";
    
    Connection = Новый COMОбъект("ADODB.Connection");
    Connection.Open(СтрПодключения);
    
    RS = Новый COMОбъект("ADODB.Recordset");
    RSIDProduct= Новый COMОбъект("ADODB.Recordset");
    Command = Новый COMОбъект ("ADODB.Command");
    Command.ActiveConnection = Connection;
    
    Сообщить (Строка (ТекущаяДата()) + " обновляем флаг пустых групп");
    
    Запрос =Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ РАЗЛИЧНЫЕ
    | Номенклатура.ЭтоГруппа,
    | Номенклатура.НеОтображатьWeb,
    | Номенклатура.НеОтображатьНикогда,
    | Номенклатура.Код КАК Код,
    | Номенклатура.Артикул,
    | Номенклатура.ПустойОстаток
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.ЭтоГруппа = ИСТИНА";
    // | И (Номенклатура.ПустойОстаток = ИСТИНА
    // | ИЛИ Номенклатура.НеОтображатьWeb = ИСТИНА
    // | ИЛИ Номенклатура.НеОтображатьНикогда = ИСТИНА)";
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Если Выборка.ПустойОстаток ИЛИ Выборка.НеОтображатьНикогда ИЛИ Выборка.НеОтображатьWEB Тогда
            АпдейтГрупп = "UPD ATE jos_vm_category SET category_publish='N' WHERE category_description='"+Выборка.Код+"'" ;
        Иначе
            АпдейтГрупп = "UPD ATE jos_vm_category SET category_publish='Y' WHERE category_description='"+Выборка.Код+"'" ;
        КонецЕсли;
        Command.CommandText = АпдейтГрупп;
        Command.CommandType = 1;
        Попытка
            РекордСет = Command.Execute();
        Исключение
            Сообщить (ОписаниеОшибки());
        КонецПопытки;
        
    КонецЦикла;
    
КонецПроцедуры

Процедура КнопкаВыполнитьНажатие(Кнопка)
    СтрПодключения = "DSN=mySQL_ishop;";
    СтрПодключения = СтрПодключения+"Database=joomla;";
    СтрПодключения = СтрПодключения+"Uid=Sa;";
    СтрПодключения = СтрПодключения+"Pwd=ххххххх;";
    
    Connection = Новый COMОбъект("ADODB.Connection");
    Connection.Open(СтрПодключения);
    
    RS = Новый COMОбъект("ADODB.Recordset");
    RSIDProduct= Новый COMОбъект("ADODB.Recordset");
    Command = Новый COMОбъект ("ADODB.Command");
    Command.ActiveConnection = Connection;
    // выберем запросом все группы товаров
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Номенклатура.Ссылка,
    | Номенклатура.ПометкаУдаления,
    | Номенклатура.Предопределенный,
    | Номенклатура.Родитель,
    | Номенклатура.ЭтоГруппа,
    | Номенклатура.Код,
    | Номенклатура.Наименование,
    | Номенклатура.НеОтображатьWeb,
    | Номенклатура.НеОтображатьНикогда,
    | Номенклатура.Артикул,
    | Номенклатура.ПустойОстаток
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.ЭтоГруппа = ИСТИНА";
    // | И Номенклатура.Родитель = &Родитель";
    // Запрос.УстановитьПараметр("Родитель",Справочники.Номенклатура.ПустаяСсылка());
    
    Результат = Запрос.Выполнить();
    Выборка= Результат.Выбрать();
    ЭлементыФормы.Индикатор1.МинимальноеЗначение = 0;
    ЭлементыФормы.Индикатор1.МаксимальноеЗначение = Выборка.Количество();
    н=0;
    
    Пока Выборка.Следующий() Цикл
        
        н=н+1;
        // запрос существования товара в базе виртуемарта
        query = "
        |SEL ECT category_id
        |FR OM jos_vm_category WHERE category_description='"+Выборка.Код+"' limit 1";
        RSIDProduct.CursorType = 3;
        RSIDProduct.Open(query, Connection);
        
        Если RSIDProduct.EOF() И RSIDProduct.BOF() Тогда
            СтрН = СтрЗаменить(Строка(н)," ","");
            //пишем группы верхнего уровня
            // если группа имеет признак того что-бы ее не выгружать на web то отменим публикацию // необходимо для оптимизации добавить рекурсию по родительскому каталогу
            Если Выборка.НеОтображатьWeb или Выборка.НеОтображатьНикогда или Выборка.Родитель.НеОтображатьНикогда или Выборка.Родитель.НеОтображатьWeb или Выборка.ПустойОстаток
                Тогда
                query = "ins ert into jos_vm_category (vendor_id , category_name ,category_description, category_publish , category_browsepage , products_per_row , category_flypage, list_order )
                |values ('1' , '"+Выборка.НАИМЕНОВАНИЕ+"' ,'"+Выборка.Код+"', 'N', 'managed' , '1' , 'flypage.tpl', '1')";
                // иначе публикуем
            Иначе
                query = "ins ert into jos_vm_category (
                |vendor_id ,
                |category_name ,
                |category_description,
                |category_publish ,
                |category_browsepage ,
                |products_per_row ,
                |category_flypage,
                |list_order )
                |values ('1' , '"+Выборка.НАИМЕНОВАНИЕ+"' ,'"+Выборка.Код+"', 'Y', 'managed' , '1' , 'flypage.tpl', '1')";
                
            КонецЕсли;
            
            Command.CommandText = query;
            Command.CommandType = 1;
            Попытка
                RS = Command.Execute();
            Исключение
                Сообщить (ОписаниеОшибки());
                Сообщить (Выборка.Код);
                Сообщить (Формат (н,"ЧГ=0"));
                
            КонецПопытки;
            
            query = "
            |SEL ECT *
            |FR OM jos_vm_category WHERE category_description='"+Выборка.Код+"' limit 1";
            RS.Open(query, Connection);
            
            RS.MoveFirst();
            Пока RS.EOF() = 0 Цикл
                ИДГруппы = RS.Fields("category_id").Value;
                RS.MoveNext();
            КонецЦикла;
            RS.Close();
            
            query = "ins ert into jos_vm_category_xref ( `category_parent_id` , `category_child_id` )
            |values ( '"+0+"' , '"+Формат(ИДгруппы,"ЧГ=0")+"' )";
            
            Command.CommandText = query;
            Command.CommandType = 1;
            Попытка
                RS = Command.Execute();
            Исключение
                Сообщить (Выборка.Код);
                Сообщить(ОписаниеОшибки());
            КонецПопытки;
            ОбработкаПрерыванияПользователя();
            // Состояние("Обновляем группу товаров " + Выборка.Наименование);
            
        КонецЕсли;
        
        Индикатор1=н;
        RSIDProduct.Close();
        
    КонецЦикла;
    Сообщить ("обновлено " + н+ " групп");
    // обновим статус публикацию групп
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Номенклатура.Ссылка,
    | Номенклатура.ПометкаУдаления,
    | Номенклатура.Предопределенный,
    | Номенклатура.Родитель.Код КАК КодРодителя,
    | Номенклатура.ЭтоГруппа,
    | Номенклатура.Код,
    | Номенклатура.Наименование,
    | Номенклатура.НеОтображатьWeb,
    | Номенклатура.НеОтображатьНикогда
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.ЭтоГруппа = ИСТИНА
    | И (НЕ Номенклатура.Родитель = &Родитель)";
    
    Запрос.УстановитьПараметр("Родитель",Справочники.Номенклатура.ПустаяСсылка());
    
    Результат = Запрос.Выполнить();
    Выборка= Результат.Выбрать();
    ЭлементыФормы.Индикатор1.МинимальноеЗначение = 0;
    ЭлементыФормы.Индикатор1.МаксимальноеЗначение = Выборка.Количество();
    н=0 ;
    Сообщить ("Строим структуру...");
    
    Пока Выборка.Следующий() Цикл
        н=н+1;
        // Если не Выборка.Ссылка.Уровень=0 тогда
        
        //1 найдем айди родителя и категории в виртуамарте
        query = "
        |SEL ECT *
        |FR OM jos_vm_category WHERE category_description='"+Выборка.КодРодителя+"' limit 1";
        RS.Open(query, Connection);
        
        RS.MoveFirst();
        Пока RS.EOF() = 0 Цикл
            ИДРодителя = RS.Fields("category_id").Value;
            RS.MoveNext();
        КонецЦикла;
        RS.Close();
        
        query = "
        |SEL ECT *
        |FR OM jos_vm_category WHERE category_description='"+Выборка.Код+"' limit 1";
        RS.Open(query, Connection);
        Попытка
            RS.MoveFirst();
        Исключение
            Сообщить (Выборка.Код);
        КонецПопытки;
        Пока RS.EOF() = 0 Цикл
            ИДГруппы = RS.Fields("category_id").Value;
            RS.MoveNext();
        КонецЦикла;
        RS.Close();
        //найдем и завалим запись в категории
        query = "delete fr om jos_vm_category_xref where category_child_id='"+Формат(ИДгруппы,"ЧГ=0")+"'";
        
        Command.CommandText = query;
        Command.CommandType = 1;
        Попытка
            RS = Command.Execute();
        Исключение
            Сообщить (Выборка.Код);
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
        // добавим запись в категорию
        
        query = "ins ert into jos_vm_category_xref ( category_parent_id , category_child_id)
        |values ( '"+Формат(ИДРодителя,"ЧГ=0")+"' , '"+Формат(ИДгруппы,"ЧГ=0")+"' )";
        
        Command.CommandText = query;
        Command.CommandType = 1;
        Попытка
            RS = Command.Execute();
        Исключение
            Сообщить (Выборка.Код);
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
        Индикатор1=н;
        // КонецЕсли;
        
    КонецЦикла;
    
    Сообщить ("обновлена структура " + н+ " групп");
    
    // RS.Close();
    Connection.Close();
КонецПроцедуры

Процедура ОсновныеДействияФормыОчистьТАблицыSQL(Кнопка)
    СтрПодключения = "DSN=mySQL_ishop;";
    СтрПодключения = СтрПодключения+"Database=joomla;";
    СтрПодключения = СтрПодключения+"Uid=Sa;";
    СтрПодключения = СтрПодключения+"Pwd=ххххххх;";
    
    Connection = Новый COMОбъект("ADODB.Connection");
    Connection.Open(СтрПодключения);
    
    RS = Новый COMОбъект("ADODB.Recordset");
    Command = Новый COMОбъект ("ADODB.Command");
    Command.ActiveConnection = Connection;
    Command = Новый COMОбъект ("ADODB.Command");
    Command.ActiveConnection = Connection;
    
    query ="
    |DELETE FR OM jos_vm_category";
    Command.CommandText = query;
    Command.CommandType = 1;
    RS = Command.Execute();
    
    query ="
    |DELETE FR OM jos_vm_category_xref";
    Command.CommandText = query;
    Command.CommandType = 1;
    RS = Command.Execute();
    
    query ="
    |DELETE FR OM jos_vm_product";
    Command.CommandText = query;
    Command.CommandType = 1;
    RS = Command.Execute();
    query ="
    |DELETE FR OM jos_vm_product_category_xref";
    Command.CommandText = query;
    Command.CommandType = 1;
    RS = Command.Execute();
    
    query ="
    |DELETE FR OM jos_vm_product_price";
    Command.CommandText = query;
    Command.CommandType = 1;
    RS = Command.Execute();
    // RS.Close();
    Connection.Close();
    
КонецПроцедуры

Процедура ОсновныеДействияФормыОбновитьТовары(Кнопка)
    Сообщить (Строка (ТекущаяДата()) + " обновляем группы товаров...");
    КнопкаВыполнитьНажатие(1);
    
    СтрПодключения = "DSN=mySQL_ishop;";
    СтрПодключения = СтрПодключения+"Database=joomla;";
    СтрПодключения = СтрПодключения+"Uid=Sa;";
    СтрПодключения = СтрПодключения+"Pwd=ххххххх;";
    
    Connection = Новый COMОбъект("ADODB.Connection");
    Connection.Open(СтрПодключения);
    
    RS = Новый COMОбъект("ADODB.Recordset");
    RSIDProduct = Новый COMОбъект("ADODB.Recordset");
    Command = Новый COMОбъект ("ADODB.Command");
    Command.ActiveConnection = Connection;
    Склад = Константы.СкладРозница.Получить();
    Сообщить (Строка (ТекущаяДата()) + " распубликовываем отсутсвующие товары");
    Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
    | ОстаткиТоваровКомпанииОстатки.КоличествоОстаток КАК Остаток,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.Артикул КАК Артикул,
    | ЕСТЬNULL(ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0), 0) КАК ДоступноеКоличество,
    | ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0) КАК Заказы
    |ИЗ
    | РегистрНакопления.ОстаткиТоваровКомпании.Остатки(&КонецДня, СкладКомпании = &Склад) КАК ОстаткиТоваровКомпанииОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Остатки(&КонецДня, ) КАК ЗаказыПокупателейОстатки
    | ПО ОстаткиТоваровКомпанииОстатки.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура
    |ГДЕ
    | ОстаткиТоваровКомпанииОстатки.Заказ = &ПустойЗаказ
    | И ЕСТЬNULL(ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0), 0) > 0
    | И (НЕ ОстаткиТоваровКомпанииОстатки.Номенклатура.WebЦенаУпр = 0)
    | И (НЕ ОстаткиТоваровКомпанииОстатки.Номенклатура.WebЦенаУпр2 = 0)";
    
    Запрос.УстановитьПараметр("ПустойЗаказ", Документы.ЗаказПокупателя.ПустаяСсылка());
    
    Запрос.УстановитьПараметр("Склад",Склад );
    Запрос.УстановитьПараметр("КонецДня",КонецДня (ТекущаяДата()));
    // Запрос.УстановитьПараметр("Артикул",Артикул);
    
    ТЗостатоков = Запрос.Выполнить().Выгрузить();
    // ТЗостатоков.ВыбратьСтроку();
    query = "
    |SEL ECT product_sku, product_id
    |FR OM jos_vm_product";
    RS.Open(query, Connection);
    
    Если (НЕ RS.EOF()) И (НЕ RS.BOF()) Тогда
        RS.MoveFirst();
        Пока RS.EOF() = 0 Цикл
            Артикул = RS.Fields("product_sku").Value;
            ПродуктИД = RS.Fields("product_id").Value;
            // Если Выборка.Количество()= 0 Тогда
            Если ТЗостатоков.Найти(Артикул,"Артикул")= Неопределено Тогда
                АпдейтВиртмарта = "UPD ATE jos_vm_product SET product_in_stock= '0',product_publish='N' WHERE product_sku='"+Артикул+"'" ;
                
                Command.CommandText = АпдейтВиртмарта;
                Command.CommandType = 1;
                Попытка
                    РекордСет = Command.Execute();
                Исключение
                    Сообщить (ОписаниеОшибки());
                КонецПопытки;
            КонецЕсли;
            RS.MoveNext();
        КонецЦикла;
    КонецЕсли;
    RS.Close();
    
    //** модуль обновление цен
    Сообщить (Строка (ТекущаяДата()) + " начинаем обновление цен на сайте...");
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ОстаткиТоваровКомпанииОстатки.КоличествоОстаток КАК Остаток,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура КАК Номенклатура,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.Код КАК Код,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.Артикул КАК Артикул,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.Наименование КАК Наименование,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.Родитель.Код КАК РодительКОД,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.Родитель.Артикул КАК РодительАртикул,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.WebЦенаУпр КАК WEbЦЕнаУПР,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.WebЦенаУпр2 КАК WEbЦЕнаУПР2,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.НеВыводитьНаСайт КАК НеВыводитьНаСайт,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.Родитель.НеОтображатьWeb КАК НеОтображатьWeb,
    | ОстаткиТоваровКомпанииОстатки.Номенклатура.Родитель.НеОтображатьНикогда КАК НеОтображатьНикогда,
    | ЕСТЬNULL(ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0), 0) КАК ДоступноеКоличество,
    | ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0) КАК Заказы
    |ИЗ
    | РегистрНакопления.ОстаткиТоваровКомпании.Остатки(&КонецДня, СкладКомпании = &Склад) КАК ОстаткиТоваровКомпанииОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Остатки(&КонецДня, ) КАК ЗаказыПокупателейОстатки
    | ПО ОстаткиТоваровКомпанииОстатки.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура
    |ГДЕ
    | ОстаткиТоваровКомпанииОстатки.КоличествоОстаток > 0
    | И ОстаткиТоваровКомпанииОстатки.Заказ = &ПустойЗаказ
    | И (НЕ ОстаткиТоваровКомпанииОстатки.Номенклатура.WebЦенаУпр = 0)
    | И (НЕ ОстаткиТоваровКомпанииОстатки.Номенклатура.WebЦенаУпр2 = 0)";
    Запрос.УстановитьПараметр("ПустойЗаказ", Документы.ЗаказПокупателя.ПустаяСсылка());
    Запрос.УстановитьПараметр("Склад", Справочники.СкладыКомпании.НайтиПоКоду("00002"));
    Запрос.УстановитьПараметр("КонецДня",КонецДня(ТекущаяДата()));
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    ЭлементыФормы.Индикатор1.МинимальноеЗначение = 0;
    ЭлементыФормы.Индикатор1.МаксимальноеЗначение = Выборка.Количество();
    н=0 ;
    ЗапросКурса = Новый Запрос;
    ЗапросКурса.Текст = "ВЫБРАТЬ
    | КурсыВалютСрезПоследних.Курс
    |ИЗ
    | РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
    |ГДЕ
    | КурсыВалютСрезПоследних.Валюта = &Валюта";
    ЗапросКурса.УстановитьПараметр("Валюта", Константы.ВалютаУправленческогоУчетаКомпании.Получить());
    ЗапросКурса.УстановитьПараметр("ТекущаяДата",КонецДня(ТекущаяДата()));
    ВыборкаКурса = ЗапросКурса.Выполнить().Выбрать();
    
    Пока ВыборкаКурса.Следующий() Цикл
        Курс = ВыборкаКурса.Курс;       
    КонецЦикла;
    
    Пока Выборка.Следующий() Цикл
        н=н+1;
        
        // Если Выборка.ДоступноеКоличество < 0 Тогда ДОступноеКоличество=0; Иначе ДОступноеКоличество=Выборка.ДоступноеКоличество; КонецЕсли;
        
        ДОступноеКоличество=Выборка.ДоступноеКоличество;
        // Сообщить (Выборка.Номенклатура.Наименование + " " + ДОступноеКоличество);
        флагсуществования=Ложь;
        // убираем непорядочные символы
        Наименование = СтрЗаменить(Выборка.Наименование,"'"," "); //уберем символ '
        // запрос существования товара в базе виртуемарта
        query = "
        |SEL ECT *
        |FR OM jos_vm_product WHERE product_sku='"+Выборка.Артикул+"' limit 1";
        
        RSIDProduct.Open(query, Connection);       
        
        Если RSIDProduct.EOF() И RSIDProduct.BOF() Тогда
            
            // Если Выборка.НеОтображатьНикогда = NULL Тогда НеОтображатьНикогда=Ложь; Иначе НеОтображатьНикогда=ИСТИНА; КонецЕсли;
            // Если Выборка.НеОтображатьНикогда = NULL Тогда НеОтображатьWeb=Ложь Иначе НеОтображатьНикогда=ИСТИНА; КонецЕсли;
            Если ПРО2 Тогда Цена = ВЫборка.WEbЦЕнаУПР2; Иначе Цена = Выборка.WEbЦЕнаУПР; КонецЕсли;
            Если Выборка.НеВыводитьНаСайт Тогда
                
                // флаги отображения на сайте
                //Если Выборка.НеВыводитьНаСайт или Выборка.НеОтображатьНикогда или Выборка.НеОтображатьWeb Тогда
                query = "ins ert into jos_vm_product ( vendor_id , product_parent_id , product_sku , product_s_desc , product_publish , product_special , product_discount_id , product_name , product_unit , quantity_options, product_order_levels, product_in_stock, product_sales,product_url )
                |values ( '1', '0', '"+Выборка.Артикул+"', '"+наименование+"', 'N', 'N', '0', '"+наименование+"', 'шт.', 'none,0,0,1', '0,0','"+Формат (ДОступноеКоличество, "ЧГ=0")+"','"+Формат (Цена*Курс,"ЧГ=0")+"','http://catalog.sunrise.ru/descriptionPage.aspx?a="+Выборка.Артикул+"')";
            Иначе
                query = "ins ert into jos_vm_product ( vendor_id , product_parent_id , product_sku , product_s_desc , product_publish , product_special , product_discount_id , product_name , product_unit , quantity_options, product_order_levels, product_in_stock, product_sales, product_url )
                |values ( '1', '0', '"+Выборка.Артикул+"', '"+наименование+"', 'Y', 'N', '0', '"+наименование+"', 'шт.', 'none,0,0,1', '0,0','"+Формат (ДОступноеКоличество, "ЧГ=0")+"','"+Формат (Цена*Курс,"ЧГ=0")+"','http://catalog.sunrise.ru/descriptionPage.aspx?a="+Выборка.Артикул+"')";
            КонецЕсли;
            // запишем номенклатуру
            // Сообщить (query);
            Command.CommandText = query;
            Command.CommandType = 1;
            Попытка
                RS = Command.Execute();
            Исключение
                Сообщить (ОписаниеОшибки());
            КонецПопытки;
            RSIDProduct.Close();
            флагсуществования =Ложь;
        Иначе
            
            флагсуществования=Истина;
            
            // выполним пока не нужный запрос /// данные об изменении в номенклатуре
            //RSIDProduct.MoveFirst();
            //Пока RSIDProduct.EOF() = 0 Цикл
            // ИД = RSIDProduct.Fields("product_id").Value;
            // RSIDProduct.MoveNext();
            //КонецЦикла;
            
            // Если Выборка.НеОтображатьНикогда = NULL Тогда НеОтображатьНикогда=Ложь; Иначе НеОтображатьНикогда=ИСТИНА; КонецЕсли;
            // Если Выборка.НеОтображатьНикогда = NULL Тогда НеОтображатьWeb=Ложь Иначе НеОтображатьНикогда=ИСТИНА; КонецЕсли;
            Если ПРО2 Тогда Цена = ВЫборка.WEbЦЕнаУПР2; Иначе Цена = Выборка.WEbЦЕнаУПР; КонецЕсли;
            Если Выборка.НеВыводитьНаСайт Тогда
                
                query = "UPD ATE jos_vm_product SET product_sku='"+Выборка.Артикул+"', product_s_desc= '"+наименование+"',product_in_stock= '"+Формат (ДОступноеКоличество, "ЧГ=0")+"',product_sales='"+Формат (Цена*Курс,"ЧГ=0")+"',product_url='http://catalog.sunrise.ru/descriptionPage.aspx?a="+Выборка.Артикул+"',product_publish='N' WHERE product_sku='"+Выборка.Артикул+"'" ;
            Иначе
                query = "UPD ATE jos_vm_product SET product_sku='"+Выборка.Артикул+"', product_s_desc= '"+наименование+"',product_in_stock= '"+Формат (ДОступноеКоличество, "ЧГ=0")+"',product_sales='"+Формат (Цена*Курс,"ЧГ=0")+"',product_url='http://catalog.sunrise.ru/descriptionPage.aspx?a="+Выборка.Артикул+"',product_publish='Y' WHERE product_sku='"+Выборка.Артикул+"'" ;
            КонецЕсли;
            Command.CommandText = query;
            Command.CommandType = 1;
            Попытка
                RS = Command.Execute();
            Исключение
                Сообщить (ОписаниеОшибки());
            КонецПопытки;
            RSIDProduct.Close();
        КонецЕсли;
        // Попытка записать Данные о товаре
        Попытка
            // запрос ID родителя товара
            query = "
            |SEL ECT *
            |FR OM jos_vm_category WHERE category_description='"+Выборка.РодительКод+"' limit 1";
            RS.Open(query, Connection);
            RS.MoveFirst();
            Пока RS.EOF() = 0 Цикл
                ИДгрупы = RS.Fields("category_id").Value;
                RS.MoveNext();
            КонецЦикла;
            RS.Close();
            //Обновление группы
            // запрос айди товара в мускуле виртуемарта
            // Сообщить (Выборка.Номенклатура.Артикул);
            query = "
            |SEL ECT *
            |FR OM jos_vm_product WHERE product_sku='"+Выборка.Артикул+"' limit 1";
            RS.Open(query, Connection);
            
            RS.MoveFirst();
            Пока RS.EOF() = 0 Цикл
                ИД = RS.Fields("product_id").Value;
                RS.MoveNext();
            КонецЦикла;
            RS.Close();
            Если НЕ флагсуществования Тогда
                
                query = "ins ert into jos_vm_product_category_xref (category_id , product_id ) values ( '"+Формат(ИДгрупы,"ЧГ=0")+"' , '"+Формат(ИД,"ЧГ=0")+"' )";
                Command.CommandText = query;
                Command.CommandType = 1;
                RS = Command.Execute();
            Иначе
                query = "UPD ATE jos_vm_product_category_xref SET category_id='"+Формат(ИДгрупы,"ЧГ=0")+"' WHERE product_id='"+Формат(ИД,"ЧГ=0")+"'";
                
                
                // "UPD ATE jos_vm_product_category_xref SET category_id='"+Формат(ИДгрупы,"ЧГ=0")+"', product_id='"+Формат(ИД,"ЧГ=0")+"' WHERE product_id='"+Формат(ИД,"ЧГ=0")+"' " ;
                // Сообщить (query);
                Command.CommandText = query;
                Command.CommandType = 1;
                RS = Command.Execute();
            КонецЕсли;        
            
            // прибьем ценник товара
            query = "delete fr om jos_vm_product_price WHERE product_id='"+Формат(ИД,"ЧГ=0")+"' " ;
            Command.CommandText = query;
            Command.CommandType = 1;
            RS = Command.Execute();     
            
            // все поля важны !
            
            query = "insert into jos_vm_product_price (
            |product_id,
            |product_price,
            |product_currency,
            |product_price_vdate,
            |product_price_edate,
            |cdate,
            |mdate,
            |shopper_group_id,
            |price_quantity_start,
            |price_quantity_end )
            |values ( '"+Формат(ИД,"ЧГ=0")+"' , '"+Формат (Цена*Курс,"ЧГ=0")+"','RUB',0,0,1222792314,1222792314,'5',0,0 )";
            // Сообщить(Формат(ИД,"ЧГ=0"));
            Command.CommandText = query;
            Command.CommandType = 1;
            Попытка
                RS = Command.Execute();
            Исключение
                Сообщить(ОписаниеОшибки());
            КонецПопытки;
        Исключение
            Сообщить (ОписаниеОшибки());
            Сообщить (Выборка.Наименование);
        КонецПопытки;   
        
        ОбработкаПрерыванияПользователя();
        // Состояние("Обновляем товары " + Выборка.Номенклатура.Наименование);
        Индикатор1 = н;
    КонецЦикла;
    Сообщить ("Выгружено " + н + " объектов");
    Сообщить(Строка (ТекущаяДата()) + " обновление завершено");
КонецПроцедуры

Процедура Автомат ()
    ОсновныеДействияФормыОбновитьТовары(1);
КонецПроцедуры

Процедура ПустыеГруппы()
    СнятиеФлагаПустыхГрупп(1);
КонецПроцедуры

Процедура ОсновныеДействияФормыАвтомат(Кнопка)
    ЭтаФорма.ПодключитьОбработчикОжидания("автомат", 3600);
    ЭтаФорма.ПодключитьОбработчикОжидания("ПустыеГруппы", 5400);  
    ЭтаФорма.ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Автомат.Доступность = Ложь;
КонецПроцедуры

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Душелов 3925 09.10.08 20:24 Сейчас в теме
Но вот "НайтиПоКоду" - не красиво!..
2. d.snissarenko 10.10.08 10:35 Сейчас в теме
Согласен, надо взять из констант, просто в тек момент режим отладки, но нужно конечно делать сразу правильно.
3. ValentinV 12.10.08 08:34 Сейчас в теме
>Вооружившись книгой г-на Михайлова, ... вестись по ODBC
У Михайлова про ODBC не нашел?
4. d.snissarenko 13.10.08 10:40 Сейчас в теме
5. Ibrogim 1188 04.03.09 15:01 Сейчас в теме
Не настаиваю, но мне кажется что свойства НеОтображатьWeb и НеОтображатьНикогда лучше было реализовать механизмом категорий...
6. d.snissarenko 24.03.09 14:33 Сейчас в теме
(5) это очень древняя и лохматая конфигурация, в ней много чего надо менять - будет переезд на ут 10.3
7. Ibrogim 1188 17.05.09 17:53 Сейчас в теме
Скажите, а каким хостингом вы пользовались? Интересуюсь потому, что обычно хостеры закрывают TCP-порт и подключиться через ODBC не представляется возможным.
8. d.snissarenko 01.06.09 07:37 Сейчас в теме
У меня свои сервера, к сожалению да, либо договор с провайдером либо свой сервер, но я думаю не стоит смотреть в сторону одбц если сервер не в локале.
9. d.snissarenko 28.06.09 17:33 Сейчас в теме
ВНИМАНИЕ!
ПРИ ПОПЫТКЕ РЕДАКТИРОВАНИЯ ТЕКСТА СТАТЬИ - редактор не захотел ее сохранять!

Кому нужен текст - пишите в личку.
10. d.snissarenko 13.07.09 22:27 Сейчас в теме
11. szhukov 139 11.08.10 12:48 Сейчас в теме
(10) А подскажите пожалуйста - как решается вопрос с кодировкой?
Я правда с 1Сv7.7 борюсь.
У VirtueMart кодировка utf8,
у 1С cp1251 как побороть, а то при выгрузке через соединение с базой в наименованиях кракозябры какие-то?
12. d.snissarenko 151 23.08.10 09:38 Сейчас в теме
(11) Через конфиг файл my.cf, там можно прописать кодировку.
13. user31 21.06.11 16:14 Сейчас в теме
Есть бесплатная разработка http://softent.ru/component/option,com_jdownloads/Itemid,14/cid,2/task,view.download/. Выгружает из 1С в VirtueMart товары, категории, описания, загрузка заказов и отслеживание статусов заказов, бесплатная версия не выгружает изображения товара.
14. ilonnaa 26.09.11 10:12 Сейчас в теме
Класс очень полезно, буду пробовать! Именно этим сейчас и занимаюсь.
15. TopUP 23.11.11 11:39 Сейчас в теме
Интересное решение, перспективное и вполне реализуемое
16. Александр 20.06.12 14:52 Сейчас в теме
Интересное решение. Пригодиться в разработке. Давно искал что нибудь подобное
17. СветикК 19.07.12 18:25 Сейчас в теме
DSN=mySQL_ishop;
скажите пожалуйста,а в этой строке вот это что:
mySQL_ishop;

???
18. Ed111111 11 19.05.13 23:09 Сейчас в теме
Все работает замечательно. Спасибо.

У вас еще есть разработки? Как с ними можно ознакомиться и протестировать?
20. IvankoSusanin 23.12.13 01:19 Сейчас в теме
а файлы можете прикрепить?

21. JediG 15.08.19 05:28 Сейчас в теме
Здравствуйте! Прошло уже 5 лет. Код, вероятно уже утратил актуальность?
Насколько реально его переработать в код для УТ10 и Virtuemart 3?
А может быть уже есть новые наработки? Закрытые решения за деньги есть. Хотелось бы открытое.
Оставьте свое сообщение

См. также

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

Практика программирования WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    57026    Serginio    33    

ВИДы на жительство. Использование внешних источников данных в прикладных задачах

Внешние источники данных v8 Бесплатно (free)

На Infostart Meetup Novosibirsk выступил ведущий разработчик МКК «Ваш Инвестор» Вадим Фоминых. Он на практических примерах показал коллегам, как его команда использует внешние источники данных в прикладных задачах, призвал не отказываться от этого инструмента и объяснил – почему.

19.04.2021    1068    Shmell    4    

Правила обмена больше не нужны

Внешние источники данных Обмен через XML Перенос данных из 1C8 в 1C8 Распределенная БД (УРИБ, УРБД) WEB v8 Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    6749    Nikola23    35    

Как отправить сообщение Telegram в группу?

WEB v8 Россия Бесплатно (free)

Отправка сообщения в группу Telegram.

01.03.2021    863    kite2    2    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    26610    ruha    21    

Доступ из базы 1С к стандартному интерфейсу Odata базы 1С, в которой заведен пользователь

WEB v8 Россия Бесплатно (free)

Есть база, с пользователем/паролем, нужно подключиться к Odata из другой базы 1С, получить элементы справочника.

24.02.2021    686    user823999    6    

Интеграция с API WB (Wildberries). Создание карточки товара (спецификации)

WEB v8 1cv8.cf ИТ-компания Россия Бесплатно (free)

Опыт интеграции с API WB (Wildberries), опыт создания карточки товара, получение токенов API WB.

18.01.2021    10159    jenyavp    43    

DaJet Exchange: обмен данными с 1С (часть 1)

Внешние источники данных v8 Бесплатно (free)

Типовой механизм обмена данными 1С, основанный на планах обмена, имеет ряд существенных недостатков. Для преодоления этих недостатков предлагается рассмотреть теоретические основы использования альтернативных механизмов, а также предлагается обсудить реализацию практического решения, оптимального с точки зрения автора.

11.01.2021    2888    zhichkin    14    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    42347    YPermitin    41    

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

WEB Интеграция v8 v8::УФ 1cv8.cf Бесплатно (free)

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020    2215    SizovE    23    

Выгрузка HTML описаний с картинками (Base64) товаров на сайт/интернет-магазин/B2B, разберем регулярное выражение получения тега body, ПолучитьHTML, ФорматированныйДокумент

Практика программирования WEB Универсальные функции v8 v8::УФ 1cv8.cf Бесплатно (free)

Редактор HTML платформы 1С простой и очень удобный для небольших задач, однако ПолучитьHTML возвращает отдельно картинки и отдельно целиком HTML страницу со ссылкой на имена этих картинок, что неудобно для отправки в базу данных сайта/интернет-магазина/веб-приложения/B2B. Разберем на открытом коде, как решить эту проблему, напишем универсальную функцию получения значения любого тега HTML на регулярных выражениях. Бонусом - возможность редактировать теги HTML в текстовом режиме.

24.11.2020    826    SizovE    4    

Как сделать интеграцию (обмен) с интернет-магазином? Пошаговый план действий (Часть 1)

WEB v8 1cv8.cf УУ Бесплатно (free)

C 2011 года я занимаюсь интеграцией с интернет-магазинами и за это время, наверное, повидал все. Делал интеграцию как «культурными», так и «экзотическими» способами. Количество магазинов исчисляется сотнями. В этой серии статей я буду делиться своим опытом, а также выкладывать какие-то полезные наработки.

19.11.2020    4624    markbraer    11    

Заготовка для загрузки файлов по ftp Промо

WEB Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    30914    anig99    6    

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

Практика программирования WEB Интеграция Универсальные функции v8 Бесплатно (free)

JSON: {user.device.type} - как получить значение {type}? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020    1800    SizovE    2    

Web Dashboard (мобильная и десктопная версия): оптимальная схема организации взаимодействия с зоопарком систем

WEB v8 Бесплатно (free)

Задача: из множества систем (1С:ERP, 1C:CRM, Кронос:WMS, 1С:Розница, 1С:УПП...) оперативно и онлайн осуществлять мониторинг на телефоне/десктопе/планшете/телевизоре бизнес-аналитику в дашборде для директора. Рассмотрим в статье, как правильно интегрировать между собой все базы, какие для этого инструменты использовать.

10.11.2020    7105    SizovE    2    

Отладка модуля ДиадокПро

WEB v8 1cv8.cf Бесплатно (free)

В обработке ДиадокПро все дополнительные модули встроены во внешние обработки, которые хранятся в макетах. Это усложняет процесс самостоятельной интеграции, так как теряется возможность попасть в них в режиме отладки. Но не всё так страшно, поэтому ниже инструкция)

30.10.2020    2266    Максим-777    14    

Перенос данных из учетных программ Парус в конфигурации 1С Промо

Внешние источники данных v7.7 v8 БП2.0 ЗУП2.5 ЗКБУ БГУ 1С7:Бух 1С7:ЗиК 1С7:ББУ Россия БУ Госбюджет Бесплатно (free)

Статья посвящена анализу процессов переноса данных из учетных программ Парус в конфигурации 1С.

05.11.2012    52998    sklowsky    16    

Обмен с сайтом посредством Post-запроса, json

WEB v8 1cv8.cf Бесплатно (free)

Задача - передавать на сайт объекты с наименованием и уникальным идентификатором (УИ), которые изменяются в 1С. Также нужно сохранять историю отправленных пакетов.

29.10.2020    4454    John_d    26    

Структура обработки загрузки номенклатуры поставщика с примерами и комментариями (часть 1)

Внешние источники данных v8 УНФ Бесплатно (free)

В статье опишу вариант обработки для загрузки номенклатуры поставщика, блок загрузки групп и их состыковки.

12.10.2020    916    malikov_pro    0    

Организация HTTP публикации каталога товаров используя PostgREST

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу порядок установки настройки и использования PostgREST на примере организации каталога товаров.

05.10.2020    1160    malikov_pro    2    

Сканируем без сканера или MXL to JPG Промо

Внешние источники данных Универсальные функции Печатные формы документов v8 1cv8.cf Бесплатно (free)

Хотите конвертировать документы в формат изображения менее чем за минуту, не имея сканера? Тогда эта статья для вас.

24.05.2012    34499    shakmaev    47    

Интеграционная прослойка(middleware) на Golang. Часть 5 - Обмен с 1С через HTTP-сервисы платформы

WEB v8 Бесплатно (free)

В этой статье научим прослойку отправлять данные в 1С, для этого используем HTTP-сервисы платформы. Обменяемся данными с новым справочником Клиенты. Но главное создадим HTTP-сервис для получения сообщений из очереди RabbitMQ.

28.09.2020    1850    dmitry-irk38    4    

Отладка http сервиса

WEB v8 Бесплатно (free)

При разработке http сервиса возникает ситуация, а как протестировать http сервис? Создали мы сервис, настроили шаблоны, передали, если нужно параметры, открываем браузер заполняем строку подключения и БАХ, ошибка. Что делать?

23.09.2020    3041    hpi    10    

Учимся создавать http сервисы (часть вторая). Передача параметра в http сервис

WEB v8 1cv8.cf Бесплатно (free)

Пошаговое руководство по созданию http-сервиса (часть вторая). Передача параметра в http сервис.

22.09.2020    6184    hpi    7    

Организация данных и вариант обработки для организации обмена с сайтом

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант организации данных и обработки для обмена с сайтом.

22.09.2020    1564    malikov_pro    4    

Формирование списка документов и скачивание печатной формы документа через веб-сайт с использованием HTTP-сервиса, плюс особенности авторизации

Практика программирования Обмен данными 1С WEB v8 1cv8.cf Бесплатно (free)

В статье показан пример, как реализовать формирование списка документов клиента/пользователя по коду, а затем скачать его (документа) печатную форму по ссылке

18.09.2020    1178    R_o_n_n_y    3    

Формирование HTTP запроса формата multipart/form-data с двоичными данными, используя ПотокВПамяти

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант формирования запроса

11.09.2020    3582    malikov_pro    11    

Ферма приложений на Kubernetes

WEB v8 Бесплатно (free)

При эксплуатации большого количества информационных систем 1С, предоставляющих интернет-сервисы, возникают проблемы, связанные с зависимостью от производительности и стабильности веб-сервера. Как объединить отдельно стоящие веб-сервера с помощью платформы Kubernetes для централизованного мониторинга всех опубликованных интернет-сервисов на конференции Infostart Event 2019 Inception рассказал программист компании BIA Technologies Владимир Кирбаба.

24.08.2020    1814    ComboBoy    1    

Использование шаблонного процессора для формирования HTML страниц

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу использование шаблонного процессора Handlebars запущенного на Node.js

24.08.2020    1753    malikov_pro    26    

Загрузка или обновление файла на яндекс диске через rest-api

Практика программирования Файловые протоколы обмена, FTP WEB v8 Бесплатно (free)

Коллеги, в данной публикации я хочу поделиться кодом, с помощью которого можно загрузить файл на яндекс диск или обновить существующий.

12.08.2020    2997    pavelpribytkin96    10    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    7847    YPermitin    22    

Загрузка или обновление файла на гугл диске

Практика программирования Файловые протоколы обмена, FTP WEB v8 1cv8.cf Бесплатно (free)

Коллеги, в данной публикации я хочу поделиться кодом, с помощью которого можно загрузить файл на гугл диск или обновить существующий.

06.08.2020    2099    pavelpribytkin96    6    

Загрузка данных из Algoritm-S в конфигурацию "Бухгалтерия предприятия 3.0 (3.0.79.21) "

Розничная торговля Внешние источники данных v8 БП3.0 Розничная и сетевая торговля (FMCG) Фармацевтика, аптеки Россия Бесплатно (free)

В статье представлен шаблон обработки для загрузки некоторых данных из программы Algoritm-S в конфигурацию "Бухгалтерия предприятия 3.0 (3.0.79.21)

04.08.2020    1511    RPGrigorev    0    

Использование Yandex Translate (Яндекс.Переводчик)

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант подключения и использования Yandex Translate.

08.07.2020    5091    malikov_pro    8    

Интеграции с сервером SQL. Быстро и просто

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Решаем вопросы экспорта/импорта данных в базы отличного от 1С происхождения.

06.07.2020    2973    Infector    4    

Когда хотим знать IP клиента...

WEB v8 Бесплатно (free)

В процессе разработки web приложения на 1С, и это не шутка))), а пожелание заказчика, возникла ситуации когда понадобилось знать, с какого IP подключался клиент.

03.07.2020    7187    IMihalev    10    

Ограничение доступа к HTTP публикациям 1С сервера используя NGINX

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант ограничения доступа к HTTP публикациям 1С сервера используя NGINX.

02.07.2020    7821    malikov_pro    7    

Структура обработки загрузки цен и остатков поставщика с примерами и комментариями

Внешние источники данных WEB v8 1cv8.cf Россия Бесплатно (free)

В статье опишу структуру обработки по загрузке цен и остатков от поставщика с примерами.

27.06.2020    1961    malikov_pro    0    

Работа с AliExpress через API

WEB v8 Бесплатно (free)

В публикации опишу подход работы с API AliExpress и примеры кода.

23.06.2020    6799    malikov_pro    24    

Диадок. Подключаемый модуль. Отладка

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Небольшой пример, как работать с подключаемым модулем Диадок (для изменения УПД перед выгрузкой на сайт Диадок.). Отладка подключаемого модуля, если не смогли подключить стандартную отладку.

17.06.2020    7757    John_d    10    

История создания успешной системы чат-ботов на 1С

WEB v8 Бесплатно (free)

Использование чат-ботов в мессенджерах позволяет автоматизировать многие сложные бизнес-процессы путем диалога с системой через виртуального собеседника. О том, как создать универсальную систему ботов с бэкендом на 1С, работающую в Telegram, Viber и Facebook Messenger одновременно, на конференции Infostart Event 2019 Inception рассказал программист-фрилансер Константин Гейнрих.

21.05.2020    8689    CyberCerber    15    

Парсинг html страниц с выводом информации через JavaScript с использованием Selenium

WEB v8 1cv8.cf Бесплатно (free)

Есть девочки как девочки, есть мальчики как мальчики, есть сайтики как сайтики, но странички их обманщики. В целях сохранить информацию, от автоматизированного сбора, многие ресурсы пытаются защитить ее. Один из таких способов - вывод информации на странице через JavaScript. При получении такой страницы в 1С, JavaScript не успевает вывести необходимые данные, и в 1с получаем практически пустую страницу. В статье приведу пример разработки, для парсинга таких страниц, без регистрации и смс.

20.05.2020    6662    platonov.e    25    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг третий, WooCommerce, публикация категорий товаров

WEB v8 1cv8.cf Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции публикации категорий товаров в магазин WooCommerce, с комментариями внутри.

13.05.2020    3927    osivv    3    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг второй, публикация картинок

WEB v8 Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции передачи фото из 1С, с комментариями внутри.

13.05.2020    2580    osivv    0    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    5027    zhichkin    30    

Как мы загружаем данные в "Центр управления кассами Магнита"

Внешние источники данных Интеграция v8 1cv8.cf Бесплатно (free)

Статья о том, как мы делали механизм загрузки больших объемов данных в "Центр управления кассами Магнита"

08.05.2020    5474    chernenko_vv    25