Имя: Пароль:
1C
 
Как передавать артикул во Фронтол
0 Georg68
 
10.07.24
08:23
Обработка Загрузка ККМ off-line
Понадобилось передавать кроме кода еще артикул товара.
Вроде прописал, но не передается, где накосячил?
    ОстРозн = СоздатьОбъект("Запрос");
            
            Если ОстРозн.Выполнить(ТекстОстРозн) = 0 Тогда
                Предупреждение("Не выполнился запрос по остаткам", 60);
                Возврат;
            КонецЕсли;
            
            СписокТоваров = СоздатьОбъект("ТаблицаЗначений");
            СписокТоваров.НоваяКолонка("Код");
            СписокТоваров.НоваяКолонка("Артикул");    
            СписокТоваров.НоваяКолонка("Штрихкод");
            СписокТоваров.НоваяКолонка("Наименование");
            СписокТоваров.НоваяКолонка("Цена");
            СписокТоваров.НоваяКолонка("Количество");
            СписокТоваров.НоваяКолонка("Уровень");
            СписокТоваров.НоваяКолонка("Родитель");
            СписокТоваров.НоваяКолонка("Группа");
            
            Пока ОстРозн.Группировка("Товар") = 1 Цикл
                Если ОстРозн.Товар.ЭтоГруппа() = 1 Тогда
                    Если флГруппы = 0 Тогда
                        Продолжить;
                    Иначе
                        Товар = ОстРозн.Товар;
                        
                        СписокТоваров.НоваяСтрока();
                        СписокТоваров.Код          = СокрЛП(Товар.Код);
                        СписокТоваров.Артикул      = СокрЛП(Товар.Артикул);
                        СписокТоваров.Штрихкод     = "";
                        СписокТоваров.Наименование = СокрЛП(?(Товар.ЭтоГруппа()=1,Товар.Наименование,Товар.ПолнНаименование));
                        СписокТоваров.Цена         = "";
                        СписокТоваров.Количество   = "";
                        СписокТоваров.Уровень      = Товар.Уровень();
                        СписокТоваров.Родитель     = СокрЛП(?(Товар.Родитель.Выбран()=1,Товар.Родитель.Код,"0"));
                        СписокТоваров.Группа       = Товар.ЭтоГруппа();
                    КонецЕсли;
                КонецЕсли;
1 2S
 
10.07.24
09:10
Там же атоловский текстовый формат. Скачайте инструкцию интегратора, все поля описаны.
2 Georg68
 
10.07.24
10:41
Ой, не говорите мне за их инструкции) там самый ленивый уже потоптался на них, они написаны чтобы никто не смог в них разобраться и платили деньги инт еграторам от Фронтола.. Ну или я такой тупой.
3 Georg68
 
10.07.24
10:48
Вот файл загрузки.
Код, штрихкод есть, а артикул не встает

##@@&&
#
$$$DELETEALLWARES
00031;;_САЙТ;_САЙТ;0.00;0.0;0;0;0;0;0;0;1;1;0;0;0;1;0;;;;;;;;;;;;00031.jpg;;;;;;0;;;;;;;;;;;;;;;;;;0
37384;;ZООтовары;ZООтовары;0.00;0.0;0;0;0;0;0;0;1;1;0;00031;0;2;0;;;;;;;;;;;;37384.jpg;;;;;;0;;;;;;;;;;;;;;;;;;0
59179;;АКВАРИУМНОЕ;АКВАРИУМНОЕ;0.00;0.0;0;0;0;0;0;0;1;1;0;37384;0;3;0;;;;;;;;;;;;59179.jpg;;;;;;0;;;;;;;;;;;;;;;;;;0
33532;4620006784146;Грунт-З Кокосовая смесь 5л 00000051;Грунт-З Кокосовая смесь 5л 00000051;345.00;1.0;0;0;0;0;0;0;1;1;0;59179;1;4;0;;;;;;;;;;;;33532.jpg;;;;;;0;;;;;;;;;;;;;;;;;;0
20806;4606949021951;Растение для аквариума Тритон 13см 1333/35/38/39/41;Растение для аквариума Тритон 13см 1333/35/38/39/41;96.00;1.0;0;0;0;0;0;0;1;1;0;59179;1;4;0;;;;;;;;;;;;20806.jpg;;;;;;0;;;;;;;;;;;;;;;;;;0
4 Ёпрст
 
10.07.24
10:56
(0) а точно, только группы нужны??
У группы, поди и артикула то нет.
5 Ёпрст
 
10.07.24
10:58
И за такой код, стальной линейкой бы по пальчикам..а и ладно, и так сойдет
6 Georg68
 
10.07.24
11:13
А поконкретней?)
7 ЖНЕЦ
 
10.07.24
12:41
(0) Где процедура формирования строки из строки таблицы ?

20806;4606949021951;Растение для аквариума

[код][штрихкод][наименование]
8 Georg68
 
10.07.24
11:14
У Группы артикула нет, только у товара.
9 Georg68
 
10.07.24
11:16
Если ПустоеЗначение(ВыбКасса) = 1 Тогда
                Предупреждение("Не выбрана касса.", 60);
                Возврат;
            КонецЕсли;
            
            Если ПустоеЗначение(ВыбСклад) = 1 Тогда
                Предупреждение("Не выбран розничный торговый склад.", 60);
                Возврат;
            КонецЕсли;
            
            Если ПустоеЗначение(ВыбФирма) = 1 Тогда
                Предупреждение("Не выбрана Фирма.", 60);
                Возврат;
            КонецЕсли;
        
            Способ = СпособВыгрузки.ПолучитьЗначение(СпособВыгрузки.ТекущаяСтрока());
            
            ТекстОстРозн =
            "//{{ЗАПРОС(ОстаткиРозницы)
            |Фирма = Регистр.ОстаткиТМЦ.Фирма;
            |Товар = Регистр.ОстаткиТМЦ.Номенклатура;
            |Склад = Регистр.ОстаткиТМЦ.Склад;
            |Цена  = Регистр.ОстаткиТМЦ.ЦенаПрод;
            |Колво = Регистр.ОстаткиТМЦ.Количество;
            |Функция Количество = КонОст(Колво);
            |Группировка Товар"+?(Способ="вся номенклатура"," Все","")+";
            |Группировка Цена;
            |Условие(Фирма = ВыбФирма);
            |Условие(Склад = ВыбСклад);
            |"//}}ЗАПРОС
            ;
            
            ОстРозн = СоздатьОбъект("Запрос");
            
            Если ОстРозн.Выполнить(ТекстОстРозн) = 0 Тогда
                Предупреждение("Не выполнился запрос по остаткам", 60);
                Возврат;
            КонецЕсли;
            
            СписокТоваров = СоздатьОбъект("ТаблицаЗначений");
            СписокТоваров.НоваяКолонка("Код");
            СписокТоваров.НоваяКолонка("Артикул");    
            СписокТоваров.НоваяКолонка("Штрихкод");
            СписокТоваров.НоваяКолонка("Наименование");
            СписокТоваров.НоваяКолонка("Цена");
            СписокТоваров.НоваяКолонка("Количество");
            СписокТоваров.НоваяКолонка("Уровень");
            СписокТоваров.НоваяКолонка("Родитель");
            СписокТоваров.НоваяКолонка("Группа");
            
            Пока ОстРозн.Группировка("Товар") = 1 Цикл
                Если ОстРозн.Товар.ЭтоГруппа() = 1 Тогда
                    Если флГруппы = 0 Тогда
                        Продолжить;
                    Иначе
                        Товар = ОстРозн.Товар;
                        
                        СписокТоваров.НоваяСтрока();
                        СписокТоваров.Код          = СокрЛП(Товар.Код);
                        СписокТоваров.Артикул      = СокрЛП(Товар.Артикул);
                        СписокТоваров.Штрихкод     = "";
                        СписокТоваров.Наименование = СокрЛП(?(Товар.ЭтоГруппа()=1,Товар.Наименование,Товар.ПолнНаименование));
                        СписокТоваров.Цена         = "";
                        СписокТоваров.Количество   = "";
                        СписокТоваров.Уровень      = Товар.Уровень();
                        СписокТоваров.Родитель     = СокрЛП(?(Товар.Родитель.Выбран()=1,Товар.Родитель.Код,"0"));
                        СписокТоваров.Группа       = Товар.ЭтоГруппа();
                    КонецЕсли;
                КонецЕсли;
                
                КоличествоОбщее = ОстРозн.Количество;
                Пока ОстРозн.Группировка("Цена") = 1 Цикл
                    Товар = ОстРозн.Товар;
                    Если (КоличествоОбщее <> 0) и (ОстРозн.Количество = 0) Тогда
                        Продолжить;
                    КонецЕсли;
                    
                    СписокТоваров.НоваяСтрока();
                    СписокТоваров.Код          = СокрЛП(Товар.Код);
                      СписокТоваров.Артикул          = СокрЛП(Товар.Артикул);    
                    СписокТоваров.Штрихкод     = СокрЛП(Товар.БазоваяЕдиница.Штрихкод);
                    СписокТоваров.Наименование = СокрЛП(Товар.ПолнНаименование);
                    Если ОстРозн.Количество<>0 Тогда
                        СписокТоваров.Цена     = ОстРозн.Цена;
                    ИначеЕсли глВернутьЦену(Товар,Константа.РозничныйТипЦен,,ЦенаИзСправочника) = 1 Тогда
                        СписокТоваров.Цена     = ЦенаИзСправочника;
                    Иначе
                        СписокТоваров.Цена     = 0;
                    КонецЕсли;
                    СписокТоваров.Количество   = ОстРозн.Количество;
                    СписокТоваров.Уровень      = Товар.Уровень();
                    СписокТоваров.Родитель     = СокрЛП(?(Товар.Родитель.Выбран()=1,Товар.Родитель.Код,"0"));
                КонецЦикла;
            КонецЦикла;
            
            Если СписокТоваров.КоличествоСтрок() = 0 Тогда
                Предупреждение("Перечень товаров для загрузки пуст.", 60);
                Возврат;
            КонецЕсли;
            
            Если глККМЗагрузитьТовары(ВыбКасса, ВыбСклад.НомерСекции, СписокТоваров, ОписаниеОш) = 1 Тогда
                Предупреждение("Загрузка номенклатуры успешно завершена.", 3);
                Форма.Закрыть();
            Иначе
                Предупреждение(ОписаниеОш, 60);
            КонецЕсли;    
            
        КонецЦикла;
    КонецЦикла;
    
КонецПроцедуры
10 Злопчинский
 
10.07.24
11:33
(9) ну так в глобальном модуле
Ну так надо смотреть глККМзагрузитьтовары и там подправлять выгрузку строк товара в файл
11 Ёпрст
 
10.07.24
12:15
(8) виден код формирования только для групп товара и не видно, где ниде код формирования для элементов, в который ты артикул запихиваешь
12 Georg68
 
10.07.24
12:32
1.33532;
2.4620006784146;
3.Грунт-З Кокосовая смесь 5л 00000051;Грунт-З Кокосовая смесь 5л 00000051;345.00;1.0;0;0;0;0;0;0;1;1;0;59179;1;4;0;;;;;;;;;;;;33532.jpg;;;;;;0;;;;;;;;;;;;;;;;;;0

         1.СписокТоваров.НоваяКолонка("Код");
            СписокТоваров.НоваяКолонка("Артикул");    
         2. СписокТоваров.НоваяКолонка("Штрихкод");
            3. СписокТоваров.НоваяКолонка("Наименование");
13 Ёпрст
 
10.07.24
12:33
(12) это ни о чем. Покажи код формирования этого текста из твоей таблички значений
14 Georg68
 
10.07.24
12:43
Ну тогда не знаю.
Потому и спрашиваю
15 Ёпрст
 
10.07.24
12:44
(14)ё..смотри (10)
16 Злопчинский
 
10.07.24
13:21
(15) там просто прокладка, которая передает параметры , вызовом обработки обслуживания. У меня ноут в ремонте, а так там неспешно поковыряться с десяток минут. Со смартфона неудобно ;-)