Как я интегрировал 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. Душелов 3910 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 1130 04.03.09 15:01 Сейчас в теме
Не настаиваю, но мне кажется что свойства НеОтображатьWeb и НеОтображатьНикогда лучше было реализовать механизмом категорий...
6. d.snissarenko 24.03.09 14:33 Сейчас в теме
(5) это очень древняя и лохматая конфигурация, в ней много чего надо менять - будет переезд на ут 10.3
7. Ibrogim 1130 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 152 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?
А может быть уже есть новые наработки? Закрытые решения за деньги есть. Хотелось бы открытое.
Оставьте свое сообщение

См. также

Получение html-кода страницы. JS из 1С

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования WEB

Получение исходника страницы, выполнение произвольного js-кода. Теперь с WebKit от 1С.

18.02.2020    1488    Yashazz    1       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Отладка конфигурации в режиме веб-клиента

Статья Программист Нет файла v8 Windows Бесплатно (free) WEB

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

12.02.2020    1534    gamletspb    1       

Вариант реализации REST API для 1С-Битрикс Управление сайтом

Статья Программист Нет файла v8 Россия Бесплатно (free) WEB

В статье опишу вариант обмена 1С УТ 11.4 и 1С-Битрикс УС 18.5 с иcпользованием компонентов Symfony, в качестве примера обмен данными по складам.

28.01.2020    1200    malikov_pro    2       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Получение данных из Сигур

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Внешние источники данных

Получение данных из СКУД Сигур (без танцов с бубном)

25.12.2019    1412    skaoxy    5       

Ещё немного о ИНН и сервисе DaData

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) WEB

Об использовании сервиса dadata и немного информации о возможностях получать данные по ИНН. Возможно, кому-то будет полезным.

14.11.2019    3893    xxxAndricxxx    21       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Разбор любого JSON-объекта в соответствующую структуру

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика WEB

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

13.11.2019    3567    user665435_al.windstorm    14       

Проверка reCAPTCHA от Google на стороне HTTP-Сервиса

Статья Программист Нет файла v8 Россия Бесплатно (free) WEB

Код проверяет переданный токен reCAPTCHA от Google при вызове HTTP-Сервиса. Таким образом проверяем, отправил ли данные на наш HTTP-Сервис робот или реальный пользователь.

06.11.2019    2605    AVR    0       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Интеграция решений на 1С и сервиса обмена данными RabbitMQ через Web REST API

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Внешние источники данных

Отправка "Hello world" из 1С на сервер RabbitMQ и обратно при помощи web REST API. Проще уже некуда! Совместимо с Linux и Windows! Реализация протестирована на 1С 8.3.14.1854 (x64).

21.10.2019    6883    Eret1k    12       

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.)

Статья Системный администратор Нет файла v8 1cv8.cf Бесплатно (free) WEB Облачные сервисы, хостинг

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    6682    uno-c    25       

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

Самый примитивный HTTP-сервис в мире

Статья Программист Нет файла v8 Бесплатно (free) WEB

Пошаговый пример создания простейшего HTTP-сервиса, который генерирует HTML-страницу для поиска товара, а также реализует асинхронное получение данных из базы.

12.09.2019    12113    YPermitin    26       

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) WEB Администрирование данных 1С

Если "веб морда" расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С - это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

20.08.2019    6838    Fragster    9       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

Совсем простой обмен HTTP, 2 функции

Статья Программист Нет файла v8 Бесплатно (free) WEB

Функция для вызова рест-сервиса и функция для разбора результата. Быстро, просто, универсально.

12.08.2019    5965    Yashazz    15       

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery. Продолжение

Статья Программист Расширение (cfe) v8 1cv8.cf Бесплатно (free) WEB

Получение изображений из информационной базы и отправка файлов через "фронт" на HTML/CSS/JS.

08.08.2019    5367    Sedaiko    1       

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

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Выгрузка данных в таблицу MS SQL SERVER

Статья Программист Нет файла v8 MS SQL Бесплатно (free) Внешние источники данных

Процедура по выгрузке данных из 1C (таблица значений) в таблицу MS SQL SERVER через COM.

02.07.2019    4163    EvgenSav    17       

1С и компьютерное зрение: новый подход к контролю за ассортиментом магазина

Статья Бизнес-аналитик Нет файла v8 1С:Франчайзи, автоматизация бизнеса УУ Розничная торговля Бесплатно (free) Внешние источники данных

Машинное зрение в магазинах и 1С. Как поднять эффективность торгового предприятия (магазин. кафе, шоурум и т.д.) с совершенно неожиданной стороны? Как получить реальные демографические данные покупателей и, самое главное, как это использовать в повседневной работе магазина? Как можно расширить привычные ABC и XYZ анализ, добавив в них пласт данных о трафике и демографии покупателей? Что необходимо для 1С, чтобы использовать данные видеоанализа людского трафика?

20.06.2019    5989    osipov_cvizi    16       

​​​​​​​CorelDRAW Graphics Suite 2019 Промо

CorelDRAW – пакет профессиональных инструментов для редактирования фотографий, разработки дизайна, создания макетов страниц и векторных иллюстраций

Загрузка картинок в справочники (Универсальная загрузка из табличного документа)

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Обработка справочников Загрузка и выгрузка в Excel

Пример загрузки картинок в справочник Номенклатура (с помощью обработки универсальная загрузка данных из табличного документа). Проверялось на конфигурации УТ 11.4.7.

28.05.2019    4325    rasdag    2       

1Script.Web. Интернет-приложения на языке 1С

Статья Программист Нет файла v8 Бесплатно (free) WEB OneScript Инструментарий разработчика

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    15596    Evil Beaver    32       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Групповая обработка (Управляемая консоль отчетов)

Статья Программист Нет файла v8 v8::УФ v8::Запросы 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Бесплатно (free) Обработка документов Инструментарий разработчика Обработка справочников

Статья предназначена тем, кто понимает, зачем нужна групповая обработка в консоли запросов. Рассматривается групповая обработка в консоли Управляемая консоль отчетов.

13.05.2019    5955    Evg-Lylyk    10       

Интеграция решений на 1С и сервиса обмена данными RabbitMQ

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Внешние источники данных

"Hello world" из 1С на сервер RabbitMQ и обратно. Полностью открытый код 1С! Реализация протестирована на 1С 8.3.12.1714 (x64).

24.04.2019    12230    Eret1k    51       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Отправка файлов через SOAP. SOAP with attachments, MTOM

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) WEB

В продолжение «своеобразной» поддержки 1С протокола SOAP, описанной в https://infostart.ru/public/965259/, опишу еще одну особенность. 1С не поддерживает возможность отправки файлов-вложений. Для решения этой проблемы пришлось самостоятельно писать формирование пакетов SOAP и разбор ответов сервера.

18.04.2019    5323    mysm    2       

HTML-клиент у конфигурации 1С

Статья Программист Нет файла v8 Бесплатно (free) WEB

Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

17.04.2019    13901    Smaylukk    119       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

MS Access и 1С. Что, когда и зачем?

Статья Программист Бизнес-аналитик Нет файла v8 Бесплатно (free) Практика программирования Внешние источники данных Разработка

Об использовании MS Access в связке с 1С. Можно ли использовать продукты Office на сервере. Когда Access может быть полезен. Примеры работы и другое.

09.04.2019    20646    YPermitin    32       

Парсинг сайтов из 1С на примере ломбарды.рф с помощью XPATH для ДокументDOM

Статья Программист Нет файла v8 Бесплатно (free) WEB

На всякую хитрую гайку всегда найдется болт с резьбой (с)

01.04.2019    11108    starik-2005    33       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

RabbitMQ + Конвертация Данных 3.0

Статья Системный администратор Программист Бизнес-аналитик Руководитель проекта Нет файла v8 КД Бесплатно (free) Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8

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

21.03.2019    18434    barelpro    82       

Логируй больше! 1С + UPD + GELF + Graylog

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Практика программирования Администрирование данных 1С WEB Разработка

Наличие производительной платформы управления логами - это жизненно важный элемент в ландшафте систем с высокой активностью. Рассмотрим один из подходов логирования активности систем на платформе 1С в Graylog.

26.02.2019    8120    Lars Ulrich    15