Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Не уходит код маркировки в офд

v7: Не уходит код маркировки в офд
Я
   Mafiozaa
 
23.10.20 - 05:02
Приветствую не уходит код маркировки передаю из 1с
Объект.MarkingType = 17485;
Объект.SerialNumber = "SerialNumber";
Объект.GTIN = GTIN;
Объект.FNSendItemCodeData();
Не уходит, попробывал напрямую вставить в тест драйвер ФН->КТ-> Там ручками вбил гтин серийник, при нажатие на отправить выдает 115 ошибку команда не поддерживается в данном режиме, прошивка 13.02.20 в чем проблема? смена открыта
   victuan1
 
1 - 23.10.20 - 05:27
Непосредственно перед Объект.MarkingType = 17485 какой метод использован?
FNOperation()?
   Mafiozaa
 
2 - 23.10.20 - 05:27
(1) Обработка fr_elves.ert тут нет FNOperation();
   Mafiozaa
 
3 - 23.10.20 - 05:28
(1) Щас выложу весь код обработки
   Mafiozaa
 
4 - 23.10.20 - 05:31
(1)
Перем ОписаниеРезультата;

//******************************************************************************

Функция ПолучитьОписаниеРезультата(Объект)
    Возврат Объект.ResultCodeDescription;
КонецФункции// ПолучитьОписаниеРезультата()


//********************************************************************************

Функция ПодключитьсяКФР(Объект, Пароль)
    Рез = 0;

    Объект.Password=Пароль;
    Объект.Connect();
    
    Ответ = Объект.ResultCode;
    Если Ответ=0 Тогда
        Рез=1;
    Иначе
        ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
    КонецЕсли;
    
    Возврат Рез;
КонецФункции

//********************************************************************************

Функция ОтключитьсяОтФР(Объект, Пароль, ЗапоминатьОшибку = 1)
    Рез = 0;

    // пеключим ФР в нерабочий режим

    Объект.Password=Пароль;
    Объект.Disconnect();
    
    Ответ = Объект.ResultCode;
    Если Ответ=0 Тогда
        Рез=1;
    ИначеЕсли ЗапоминатьОшибку = 1 Тогда
        ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
    КонецЕсли;
    
    Возврат Рез;
КонецФункции

//********************************************************************************

Функция Подключить(Компонента, ПрогИд, Объект, Пароль)
    Рез = 0;
    
    Если ЗагрузитьВнешнююКомпоненту(Компонента) = 0  Тогда
        ОписаниеРезультата = "не удалось загрузить внешнюю компоненту """ + Компонента + """";
    Иначе
        Попытка
            Объект = СоздатьОбъект("AddIn." + ПрогИд);  // Создание объекта внешней компоненты

        Исключение
        КонецПопытки;
        
        Если ПустоеЗначение(Объект) = 1 Тогда
            ОписаниеРезультата = "не удалось создать объект внешней компоненты с программым идентификатром AddIn." + ПрогИд;
        Иначе
            Рез = 1;
        КонецЕсли;
    КонецЕсли;
    
    Возврат Рез;
КонецФункции

//********************************************************************************

Функция Отключить(Объект, Пароль)
    Рез = 0;
    
    Если ПустоеЗначение(Объект) = 1 Тогда
        Рез = 1;// нет объекта, ничего не нужно отключать

    Иначе
        Рез = ОтключитьсяОтФР(Объект, Пароль);
    КонецЕсли;

    Возврат Рез;    
КонецФункции

//********************************************************************************

Процедура ОтрезатьЧек(Объект, Пароль)
    Ошибка=80;    //Идет печать предыдущей команды

    
    Пока Ошибка=80 Цикл
        Попытка
            Объект.Password = Пароль;
            Объект.CutType  = 1;
            Объект.CutCheck();
    
            Ошибка=Объект.ResultCode;
        Исключение
            Ошибка=-1;
        КонецПопытки;
    КонецЦикла;
    
КонецПроцедуры

//********************************************************************************

Процедура АннулированиеЧека(Объект, Пароль)
    Попытка
        Объект.Password=Пароль;
        Объект.CancelCheck();
    Исключение
    КонецПопытки;
КонецПроцедуры

//********************************************************************************  

Функция ПечататьТекст(Объект, Пароль, Текст)
    Если ПустоеЗначение(Объект) = 1 Тогда
        ОписаниеРезультата = "устройство не подключено";
        Возврат 0;
    ИначеЕсли ПодключитьсяКФР(Объект, Пароль) = 0 Тогда
        Возврат 0;
    КонецЕсли;

    КолСтр=СтрКоличествоСтрок(Текст);
    Для ц = 1 По КолСтр Цикл
        Стр=СтрПолучитьСтроку(Текст,ц);
      Объект.StringForPrinting=Стр ;
      Объект.PrintString();
КонецЦикла;
    ОтрезатьЧек(Объект, Пароль);
    Возврат ОтключитьсяОтФР(Объект, Пароль);
КонецФункции
//******************************************************************************** 

Функция ПечататьТекстСпасибо(Объект, Пароль, Текст)
    Если ПустоеЗначение(Объект) = 1 Тогда
        ОписаниеРезультата = "устройство не подключено";
        Возврат 0;
    ИначеЕсли ПодключитьсяКФР(Объект, Пароль) = 0 Тогда
        Возврат 0;
    КонецЕсли;

    КолСтр=СтрКоличествоСтрок(Текст);
    Для ц = 1 По КолСтр*1.5 Цикл
        Стр=СтрПолучитьСтроку(Текст,ц);
      Объект.StringForPrinting=Стр;
      Объект.PrintString();
      Объект.StringForPrinting=" ";
      Объект.PrintString();
    КонецЦикла;    
    
    ОтрезатьЧек(Объект, Пароль);
    Возврат ОтключитьсяОтФР(Объект, Пароль);
КонецФункции

//******************************************************************************** 

Функция ПечататьЧек(Объект, Пароль, СписокТоваров, Получено, ПолучСерт, ПолучКарт, Скидка, ПризнВозврата, НомерСекции, НомерЧека,СкидкаСуммой,НомерДок)
    Если ПустоеЗначение(Объект) = 1 Тогда
        ОписаниеРезультата = "устройство не подключено";
        Возврат 0;
    ИначеЕсли ПодключитьсяКФР(Объект, Пароль) = 0 Тогда
        Возврат 0;
    КонецЕсли;
    // регистрация товаров

    РезРегистрация = 1;
    СписокТоваров.ВыбратьСтроки();
     
    Объект.StringForPrinting = "          Товарный чек";     
    Объект.PrintString();                    
    Объект.StringForPrinting = "     "+    НомерДок+" от "+ТекущаяДата();
    Объект.PrintString();  
    
    Если (Нрег(глПользователь.Наименование))="кассир1"  Тогда
        пробел ="                                 " ;
        Объект.StringForPrinting = Лев("Продавец:"+прав(пробел,32-(9+СтрДлина(Константа.Кассир1)))+(Константа.Кассир1),32);    
        Объект.PrintString();  
    КонецЕсли;       
    
    
    Если (Нрег(глПользователь.Наименование))="кассир2"  Тогда
        пробел ="                                 " ;
        Объект.StringForPrinting = Лев("Продавец:"+прав(пробел,32-(9+СтрДлина(Константа.Кассир2)))+(Константа.Кассир2),32);    
        Объект.PrintString();  
    КонецЕсли;       
    
    Если (Нрег(глПользователь.Наименование))="кассир3"  Тогда
        пробел ="                                 " ;
        Объект.StringForPrinting = Лев("Продавец:"+прав(пробел,32-(9+СтрДлина(Константа.Кассир3)))+(Константа.Кассир3),32);    
        Объект.PrintString();  
    КонецЕсли;       
    
    Если (Нрег(глПользователь.Наименование))="кассир4"  Тогда
        пробел ="                                 " ;
        Объект.StringForPrinting = Лев("Продавец:"+прав(пробел,32-(9+СтрДлина(Константа.Кассир4)))+(Константа.Кассир4),32);    
        Объект.PrintString();                                                                 
    КонецЕсли;       
    
    Если (Нрег(глПользователь.Наименование))="кассир5"  Тогда
        пробел ="                                 " ;
        Объект.StringForPrinting = Лев("Продавец:"+прав(пробел,32-(9+СтрДлина(Константа.Кассир5)))+(Константа.Кассир5),32);    
        Объект.PrintString();  
    КонецЕсли;       
    
    Если (Нрег(глПользователь.Наименование))="кассир6"  Тогда
        пробел ="                                 " ;
        Объект.StringForPrinting = Лев("Продавец:"+прав(пробел,32-(9+СтрДлина(Константа.Кассир6)))+(Константа.Кассир6),32);    
        Объект.PrintString();  
    КонецЕсли;       
    
    Если (Нрег(глПользователь.Наименование))="кассир7"  Тогда
        пробел ="                                 " ;
        Объект.StringForPrinting = Лев("Продавец:"+прав(пробел,32-(9+СтрДлина(Константа.Кассир7)))+(Константа.Кассир7),32);    
        Объект.PrintString();  
    КонецЕсли;       
    
    Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
        
        СтрокаДляПечати = СокрЛП(СписокТоваров.ТовНаим);
        ДлинаСтроки = 32;
        
        //Пока СтрДлина(СтрокаДляПечати)>0 Цикл

            //Объект.StringForPrinting = Лев(СтрокаДляПечати,ДлинаСтроки);

            //Объект.PrintString();

            //СтрокаДляПечати = СокрЛП(Сред(СтрокаДляПечати,ДлинаСтроки+1));

        //КонецЦикла;

        
        Объект.Password          = Пароль;
        Объект.StringForPrinting = Лев(СтрокаДляПечати,ДлинаСтроки);
    //    Объект.Price             = СписокТоваров.Цена;   

    Если  СписокТоваров.Количество=0 тогда      
        Объект.Price             = СписокТоваров.Цена;   
    иначе
        Объект.Price             = СписокТоваров.Сумма/СписокТоваров.Количество;
    КонецЕсли;
        Объект.Quantity          = СписокТоваров.Количество;
        Объект.Department        = НомерСекции;
        
        //Проверка наличия колонки "НДС" в таблице значений.

        НДСЕсть = "";
        Попытка
            НДС = СписокТоваров.НДС;
            НДСЕсть = 1;
        Исключение
            НДСЕсть = 0;
        КонецПопытки;
        
        Если НДСЕсть = 1 Тогд//Печатаем НДС

            
            // В настройках ФР надо настроить ставки:

            // Налог 1 = 18% - НДС 18%

            // Налог 2 = 10% - НДС 10%

            // Налог 3 = 20% - НДС 20%            

    
            Если СписокТоваров.НДС = 18 Тогда
                Объект.Tax1 = 1;
            ИначеЕсли СписокТоваров.НДС = 10 Тогда
                Объект.Tax1 = 2;
            ИначеЕсли СписокТоваров.НДС = 20 Тогда
                Объект.Tax1 = 3;
            Иначе
                Объект.Tax1 = 0;
            КонецЕсли;
            Объект.Tax2 = 0;
            Объект.Tax3 = 0;
            Объект.Tax4 = 0;
        КонецЕсли;                

        Если ПризнВозврата = 0 Тогда
            Объект.Sale();
        Иначе
            Объект.ReturnSale();
        КонецЕсли;                            
        
        Если Объект.ResultCode <> 0 Тогда
            ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
            АннулированиеЧека(Объект, Пароль);
            ОтключитьсяОтФР(Объект, Пароль, 0);
            Возврат 0;
        КонецЕсли;   
        Если ПустоеЗначение(СписокТОваров.СкидкаПоСтроке) = 0 Тогда
            пробел ="................................" ;
            Объект.StringForPrinting = Лев("Стоимость"+прав(пробел,32-(9+СтрДлина(Формат(СписокТоваров.Цена*СписокТоваров.Количество,"Ч.2"))))+Формат(СписокТоваров.Цена*СписокТоваров.Количество,"Ч.2"),32);
            Объект.PrintString()//                                                  СписокТоваров.СкидкаПоСтроке

            Объект.StringForPrinting = "Скидка "+СписокТоваров.СкидкаПоСтроке+"%"+прав(пробел,32-(5+СтрДлина(СписокТоваров.СкидкаПоСтроке-СписокТоваров.СкидкаСпасибо)+СтрДлина(Формат((СписокТоваров.Цена*СписокТоваров.Количество-СписокТоваров.Сумма-СписокТоваров.СкидкаСпасибо),"Ч.2"))))+Формат(((СписокТоваров.Цена*СписокТоваров.Количество)-СписокТоваров.Сумма-СписокТоваров.СкидкаСпасибо),"Ч.2");
            Объект.PrintString();  
        //доб.скидка СПАСИБО

            Если пустоезначение(СписокТоваров.СкидкаСпасибо)=0 тогда
                Объект.StringForPrinting = "Скидка СПАСИБО"+прав(пробел,32-(10+СтрДлина(СписокТоваров.СкидкаСпасибо)+СтрДлина(Формат((СписокТоваров.СкидкаСпасибо),"Ч.2"))))+Формат(((СписокТоваров.СкидкаСпасибо)),"Ч.2");
                Объект.PrintString();
        
                Объект.StringForPrinting = "Общая скидка "+прав(пробел,32-(11+СтрДлина(СписокТоваров.СкидкаПоСтроке)+СтрДлина(Формат((СписокТоваров.Цена*СписокТоваров.Количество-СписокТоваров.Сумма),"Ч.2"))))+Формат(((СписокТоваров.Цена*СписокТоваров.Количество)-СписокТоваров.Сумма),"Ч.2");
                Объект.PrintString();  
            КонецЕсли;
            Объект.StringForPrinting     = Лев("Всего"+прав(пробел,32-(5+СтрДлина(Формат(СписокТоваров.Сумма,"Ч.2"))))+Формат(СписокТоваров.Сумма,"Ч.2"),32);
            Объект.PrintString();  
        ИначеЕсли ПустоеЗначение(СписокТОваров.СкидкаСпасибо) = 0 тогда
            пробел ="................................" ;
            Объект.StringForPrinting = Лев("Стоимость"+прав(пробел,32-(9+СтрДлина(Формат(СписокТоваров.Цена*СписокТоваров.Количество,"Ч.2"))))+Формат(СписокТоваров.Цена*СписокТоваров.Количество,"Ч.2"),32);
            Объект.PrintString()// 

            Объект.StringForPrinting = "Скидка СПАСИБО"+прав(пробел,32-(10+СтрДлина(СписокТоваров.СкидкаСпасибо)+СтрДлина(Формат((СписокТоваров.СкидкаСпасибо),"Ч.2"))))+Формат(((СписокТоваров.СкидкаСпасибо)),"Ч.2");
            Объект.PrintString();
            Объект.StringForPrinting     = Лев("Всего"+прав(пробел,32-(5+СтрДлина(Формат(СписокТоваров.Сумма,"Ч.2"))))+Формат(СписокТоваров.Сумма,"Ч.2"),32);
            Объект.PrintString();        
        //конец скидка СПАСИБО

        КонецЕсли;
        //

                   
//         Если ПустоеЗначение(СписокТОваров.СкидкаПоСтроке) = 0 Тогда

//             
//                Объект.Password          = Пароль;

//        Объект.StringForPrinting = Лев(СтрокаДляПечати,ДлинаСтроки);
//    //    Объект.Price             = СписокТоваров.Цена; 

//        Объект.Price             = СписокТоваров.Сумма/СписокТоваров.Количество;
//        Объект.Quantity          = СписокТоваров.Количество;

//        Объект.Department        = НомерСекции;
//        

//        //Проверка наличия колонки "НДС" в таблице значений.

//        НДСЕсть = "";
//        Попытка

//            НДС = СписокТоваров.НДС;
//            НДСЕсть = 1;

//        Исключение
//            НДСЕсть = 0;

//        КонецПопытки;
//        

//        Если НДСЕсть = 1 Тогд//Печатаем НДС

//            
//            // В настройках ФР надо настроить ставки:

//            // Налог 1 = 18% - НДС 18%

//            // Налог 2 = 10% - НДС 10%

//            // Налог 3 = 20% - НДС 20%            

//    
//            Если СписокТоваров.НДС = 18 Тогда

//                Объект.Tax1 = 1;
//            ИначеЕсли СписокТоваров.НДС = 10 Тогда

//                Объект.Tax1 = 2;
//            ИначеЕсли СписокТоваров.НДС = 20 Тогда

//                Объект.Tax1 = 3;
//            Иначе

//                Объект.Tax1 = 0;
//            КонецЕсли;

//            Объект.Tax2 = 0;
//            Объект.Tax3 = 0;

//            Объект.Tax4 = 0;
//        КонецЕсли;                

//
//        Если ПризнВозврата = 0 Тогда

//            Объект.Sale();
//        Иначе

//            Объект.ReturnSale();
//        КонецЕсли;                            

//        
//        Если Объект.ResultCode <> 0 Тогда

//            ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
//            АннулированиеЧека(Объект, Пароль);

//            ОтключитьсяОтФР(Объект, Пароль, 0);
//            Возврат 0;

//        КонецЕсли;
//        

//    
//

//
//

//    КонецЕсли;
//        

        
        
        
        
        
        
        
    КонецЦикла;
       
    //Если СкидкаСуммой <> 0 тогда  

    //        Объект.StringForPrinting="        Спасибо за покупку";

    //        Объект.Summ1    = СкидкаСуммой; 

    //        Объект.Discount();

    //КонецЕсли;      

    //    

    Объект.Password = Пароль;
    Объект.Summ1    = Получено; 
    Объект.Summ2    = ПолучСерт; 
    Объект.Summ3    = 0; 
    Объект.Summ4    = ПолучКарт;   
        Объект.StringForPrinting=" ";


    Объект.StringForPrinting="        Спасибо за покупку";
    
    
 
    
    //    Объект.StringForPrinting=" ";

//    Сообщить("ывпаыв");
    Объект.DiscountOnCheck=Скидка; 
    Объект.DiscountOnCheck=0;  
    
    
    
    
        
        
    Объект.CloseCheck();  
    
            
        

    Если Объект.ResultCode <> 0 Тогда
        ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
        АннулированиеЧека(Объект, Пароль);
        ОтрезатьЧек(Объект, Пароль);
        ОтключитьсяОтФР(Объект, Пароль, 0);
        Возврат 0;
    КонецЕсли;     
    
    Объект.Password = Пароль;
    Объект.GetECRStatus();
    
    Если Объект.ResultCode <> 0 Тогда
        ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
        ОтключитьсяОтФР(Объект, Пароль, 0);
        Возврат 0;
    КонецЕсли;

    НомерЧека = Объект.OpenDocumentNumber+?(Объект.ECRAdvancedMode=5,1,0);
    
//    ОтрезатьЧек(Объект, Пароль);       



   



    Возврат ОтключитьсяОтФР(Объект, Пароль);
    
КонецФункции

//********************************************************************************

Функция ЗакрытьСмену(Объект, Пароль, НомерЛенты)
    Рез = 0;
    
    Если ПустоеЗначение(Объект) = 1 Тогда
        ОписаниеРезультата = "устройство не подключено";
    ИначеЕсли ПодключитьсяКФР(Объект, Пароль) = 1 Тогда
        // переключение в режим снятия отчета (нужен пароль администратора)

        Объект.Password = Пароль;
        Объект.PrintReportWithCleaning();

        Если Объект.ResultCode <> 0 Тогда
            ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
            ОтключитьсяОтФР(Объект, Пароль, 0);
            Возврат 0;
        КонецЕсли;

        Объект.Password = Пароль;
        Объект.GetECRStatus();
            
        Если Объект.ResultCode <> 0 Тогда
            ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
            ОтключитьсяОтФР(Объект, Пароль, 0);
            Возврат 0;
        КонецЕсли;
        
        НомерЛенты = Объект.SessionNumber+?(Объект.ECRAdvancedMode=5,1,0);

        ОтрезатьЧек(Объект, Пароль);

        Рез = ОтключитьсяОтФР(Объект, Пароль); 
    КонецЕсли;
    
    Возврат Рез;
КонецФункции
                                       

  ///////////////////////////////////////////////

  
Функция ОткрытьСмену(Объект, Пароль, НомерЛенты)
    Рез = 0;
    
    Если ПустоеЗначение(Объект) = 1 Тогда
        ОписаниеРезультата = "устройство не подключено";
    ИначеЕсли ПодключитьсяКФР(Объект, Пароль) = 1 Тогда
        // переключение в режим снятия отчета (нужен пароль администратора)

        Объект.Password = Пароль;
    Объект.OpenSession();
    КонецЕсли;
    
    Возврат Рез;
КонецФункции           


Функция СнятьХотчет(Объект, Пароль, НомерЛенты)
    Рез = 0;
    
    Если ПустоеЗначение(Объект) = 1 Тогда
        ОписаниеРезультата = "устройство не подключено";
    ИначеЕсли ПодключитьсяКФР(Объект, Пароль) = 1 Тогда
        // переключение в режим снятия отчета (нужен пароль администратора)

        Объект.Password = Пароль;
    //    Объект.PrintReportWithCleaning();  

        Объект.PrintReportWithoutCleaning(); 
    КонецЕсли;
    
    Возврат Рез;
КонецФункции

//********************************************************************************

Функция ПроверкаПароля (Пароль) 
    Если ПустаяСтрока(Пароль) = 1 Тогда
        Ответ = "неправильно указан пароль пользователя";
        Возврат Ответ;
    Иначе
        Попытка
            ПарольЧислом = Число(Пароль);
        Исключение
            Ответ = "неправильно указан пароль пользователя";
            Возврат Ответ;
        КонецПопытки;
    КонецЕсли;

    Возврат "";
КонецФункции

//********************************************************************************

Процедура ПриОткрытии()
    Перем Объект, НомерЧека, НомерЛенты, Парам;
    СтатусВозврата(0);
    Форма.Параметр.Выгрузить(Парам);
    Форма.Параметр.УдалитьВсе();
    
    Если Парам.РазмерСписка() = 0 Тогда
        Рез = 0;
        ОписаниеРезультата = "в обработку не переданы параметры";
    Иначе
        
        Процесс = НРег(Парам.Получить("Процесс"));
        
        Если Процесс = "подключить" Тогда            
            
            Компонента = Парам.Получить("Компонента");
            ПрогИд     = Парам.Получить("ПрогИд");
            Пароль     = Парам.Получить("ПарольПользователя");
            
            ОписаниеРезультата = ПроверкаПароля (Пароль);
            Если ОписаниеРезультата <> "" Тогда                
                Рез = 0;
            Иначе
                Рез = Подключить(Компонента, ПрогИд, Объект, Пароль);
                Форма.Параметр.Установить("Объект", Объект);
            КонецЕсли;
            
        ИначеЕсли Процесс = "отключить" Тогда
            
            Рез = Отключить(Объект, Пароль); 
        ИначеЕсли Процесс = "печатать_текст" Тогда
            Объект        = Парам.Получить("Объект");
            Пароль        = Парам.Получить("ПарольПользователя");
            Текст = Парам.Получить("Текст");
            ОписаниеРезультата = ПроверкаПароля (Пароль);
            Если ОписаниеРезультата <> "" Тогда                
                Рез = 0;
            Иначе
                Рез = ПечататьТекст(Объект, Пароль, Текст);
            КонецЕсли;
        ИначеЕсли Процесс = "печатать_текст_спасибо" Тогда
            Объект        = Парам.Получить("Объект");
            Пароль        = Парам.Получить("ПарольПользователя");
            Текст = Парам.Получить("Текст");
            ОписаниеРезультата = ПроверкаПароля (Пароль);
            Если ОписаниеРезультата <> "" Тогда                
                Рез = 0;
            Иначе
                Рез = ПечататьТекстСпасибо(Объект, Пароль, Текст);
            КонецЕсли;
            

        ИначеЕсли Процесс = "печатать_чек" Тогда

            Объект        = Парам.Получить("Объект");
            Пароль        = Парам.Получить("ПарольПользователя");
            СписокТоваров = Парам.Получить("СписокТоваров");
            Получено      = Парам.Получить("Получено");
            ПолучСерт     = Парам.Получить("ПолучСерт");
            ПолучКарт     = Парам.Получить("ПолучКарт");
            ЧекНаВозврат  = Парам.Получить("Возврат");
            НомерСекции   = Парам.Получить("НомерСекции");
            Скидка        = Парам.Получить("Скидка");
            СкидкаСуммой  = Парам.Получить("СкидкаСуммой");
            НомерДок1     = Парам.Получить("НомерДок1");
            
            
        
            ОписаниеРезультата = ПроверкаПароля (Пароль);
            Если ОписаниеРезультата <> "" Тогда                
                Рез = 0;
            Иначе;
                Рез = ПечататьЧек(Объект, Пароль, СписокТоваров, Получено, ПолучСерт, ПолучКарт, Скидка, ЧекНаВозврат, НомерСекции, НомерЧека,СкидкаСуммой,НомерДок1);
                Форма.Параметр.Установить("НомерЧека", НомерЧека);
                Объект.MarkingType = 17485;
                Объект.GTIN = GTIN;
                Объект.SerialNumber = SerialNumber;
                Объект.FNSendItemCodeData();
            КонецЕсли;
            
            
        ИначеЕсли Процесс = "закрыть_смену" Тогда
            Объект  = Парам.Получить("Объект");
            Пароль  = Парам.Получить("ПарольАдминистратора");
            
            Если Число(Пароль)=0 Тогда
                Рез = 0;
                ОписаниеРезультата = "неправильно указан пароль администратора";
            Иначе
                Рез = ЗакрытьСмену(Объект, Пароль, НомерЛенты);
                Форма.Параметр.Установить("НомерЛенты", НомерЛенты);
            КонецЕсли;   
            
        ИначеЕсли Процесс = "открыть_смену" Тогда
            
        ///    Сообщить("Мытут");                               

            
            Объект  = Парам.Получить("Объект");
            Пароль  = Парам.Получить("ПарольАдминистратора");
            
            Рез = ОткрытьСмену(Объект, Пароль, НомерЛенты);
            
            ИначеЕсли Процесс = "снятьхотчет" Тогда
            
        ///    Сообщить("Мытут");                               

            
            Объект  = Парам.Получить("Объект");
            Пароль  = Парам.Получить("ПарольАдминистратора");
            
            Рез = СнятьХотчет(Объект, Пароль, НомерЛенты);
                
            //Если Число(Пароль)=0 Тогда

            //    Рез = 0;

            //    ОписаниеРезультата = "неправильно указан пароль администратора";

            //Иначе

            //    Рез = ОткрытьСмену(Объект, Пароль, НомерЛенты);

            //    Форма.Параметр.Установить("НомерЛенты", НомерЛенты);

            //КонецЕсли;   

            //

        
        Иначе
            ОписаниеРезультата = "неизвестная команда";
            Рез = 0;
            
        КонецЕсли;
    КонецЕсли;
 
    Форма.Параметр.Установить("Результат"         , Рез);
    Форма.Параметр.Установить("ОписаниеРезультата", ОписаниеРезультата);
    
КонецПроцедуры

//********************************************************************************

ОписаниеРезультата = "";
   Mafiozaa
 
5 - 23.10.20 - 05:38
(1) Или мне самому можно добавить этот FNOperation и после него прописать передачу?
   victuan1
 
6 - 23.10.20 - 06:11
В коде используются устаревшие методы:
Если ПризнВозврата = 0 Тогда
    Объект.Sale();
Иначе
    Объект.ReturnSale();
КонецЕсли;           

С ними передача тега 1162 невозможна.

Надо полностью переписывать код обработки под новые принципы работы, в частности для регистрации позиции в чеке использовать FNOperation вместо Sale / ReturnSale
   Mafiozaa
 
7 - 23.10.20 - 06:55
(6) Хорошо,предположим, тогда почему я не могу напрямки с тест драйвера послать код, 115 ошибку выдает
   Kigo_Kigo
 
8 - 23.10.20 - 08:14
Серьезно?

ИначеЕсли Процесс = "печатать_чек" Тогда

            Объект        = Парам.Получить("Объект");
            Пароль        = Парам.Получить("ПарольПользователя");
            СписокТоваров = Парам.Получить("СписокТоваров");
            Получено      = Парам.Получить("Получено");
            ПолучСерт     = Парам.Получить("ПолучСерт");
            ПолучКарт     = Парам.Получить("ПолучКарт");
            ЧекНаВозврат  = Парам.Получить("Возврат");
            НомерСекции   = Парам.Получить("НомерСекции");
            Скидка        = Парам.Получить("Скидка");
            СкидкаСуммой  = Парам.Получить("СкидкаСуммой");
            НомерДок1     = Парам.Получить("НомерДок1");
            
            
        
            ОписаниеРезультата = ПроверкаПароля (Пароль);
            Если ОписаниеРезультата <> "" Тогда                
                Рез = 0;
            Иначе;
                Рез = ПечататьЧек(Объект, Пароль, СписокТоваров, Получено, ПолучСерт, ПолучКарт, Скидка, ЧекНаВозврат, НомерСекции, НомерЧека,СкидкаСуммой,НомерДок1);
                Форма.Параметр.Установить("НомерЧека", НомерЧека);
                Объект.MarkingType = 17485;
                Объект.GTIN = GTIN;
                Объект.SerialNumber = SerialNumber;
                Объект.FNSendItemCodeData();
            КонецЕсли;
   Mafiozaa
 
9 - 23.10.20 - 08:16
(8) Не совсем догнал, о чем вы, обработка стандартная, мною добавлено лишь
                Объект.MarkingType = 17485;
                Объект.GTIN = GTIN;
                Объект.SerialNumber = SerialNumber;
                Объект.FNSendItemCodeData();
Так как вся инфа ставить после FNOperation, я попробывал затолкнуть сюда, я сделал что то не то? подсказка?
   Kigo_Kigo
 
10 - 23.10.20 - 08:17
(6) Покажи как надо, у меня сча такая же проблема, драйвер маркировку хавает, а нигде она не появляется
(9) Маркировка передается для каждой позиции отдельно
после
Если НДСЕсть = 1 Тогд//Печатаем НДС


            
            // В настройках ФР надо настроить ставки:


            // Налог 1 = 18% - НДС 18%


            // Налог 2 = 10% - НДС 10%


            // Налог 3 = 20% - НДС 20%            


    
            Если СписокТоваров.НДС = 18 Тогда
                Объект.Tax1 = 1;
            ИначеЕсли СписокТоваров.НДС = 10 Тогда
                Объект.Tax1 = 2;
            ИначеЕсли СписокТоваров.НДС = 20 Тогда
                Объект.Tax1 = 3;
            Иначе
                Объект.Tax1 = 0;
            КонецЕсли;
            Объект.Tax2 = 0;
            Объект.Tax3 = 0;
            Объект.Tax4 = 0;
        КонецЕсли; 

Объект.MarkingType = 17485;
                Объект.GTIN = GTIN;
                Объект.SerialNumber = SerialNumber;
                Объект.FNSendItemCodeData();
   Mafiozaa
 
11 - 23.10.20 - 08:28
(10) Брат, подскинь всю обработку, полистаю гляну может еще что не так, у тебя так же fr_elves?
   Kigo_Kigo
 
12 - 23.10.20 - 08:34
(11) Там все тоже самое что и у тебя только добавлено
        Если НДСЕсть = 1 Тогд//Печатаем НДС

            
            // В настройках ФР надо настроить ставки:

            // Налог 1 = 18% - НДС 18%

            // Налог 2 = 10% - НДС 10%

            // Налог 3 = 20% - НДС 20%            

    
            Если СписокТоваров.НДС = 18 Тогда
                Объект.Tax1 = 1;
            ИначеЕсли СписокТоваров.НДС = 10 Тогда
                Объект.Tax1 = 2;
            ИначеЕсли СписокТоваров.НДС = 20 Тогда
                Объект.Tax1 = 3;
            Иначе
                Объект.Tax1 = 0;
            КонецЕсли;
            Объект.Tax2 = 0;
            Объект.Tax3 = 0;
            Объект.Tax4 = 0;
            
            ДлинаСтроки = 36;
        Иначе
            ДлинаСтроки = 0;
        КонецЕсли;                

        Если ПризнВозврата = 0 Тогда
            Объект.Sale();
        Иначе
            Объект.ReturnSale();
        КонецЕсли; 
        
        Если ПустоеЗначение(СокрЛП(СписотТоваров.Маркировка)) = 0 Тогда
            КМ = СокрЛП(СписотТоваров.Маркировка);
            GTIN = Сред(КМ, 3, 14);                            
            SerialNumber = Сред(КМ, 19, 13);
            
            Объект.Пароль = Пароль;  
            Объект.MarkingType         = 17485//  Это "444D"    

            Объект.GTIN             = GTIN;
            Объект.SerialNumber     = SerialNumber;
            Объект.FNSendItemCodeData();// отправка тега маркировки

        КонецЕсли;
   Kigo_Kigo
 
13 - 23.10.20 - 08:34
СписотТоваров = СписокТоваров
   Mafiozaa
 
14 - 23.10.20 - 08:43
(13) А пробывал через тест драйвера напрямую отправить код?
   Kigo_Kigo
 
15 - 23.10.20 - 08:48
(14) там как то надо открыть чек, загнать туда товар цену количество, только после этого можно попробовать загнать туда маркировку - в лоб, тоже самое что и у тебя - "команда не поддерживается"
   Mafiozaa
 
16 - 23.10.20 - 08:51
(15) Теперь и этот вариант откидываю, читал что действительно
Если ПризнВозврата = 0 Тогда
    Объект.Sale();
Иначе
    Объект.ReturnSale();
КонецЕсли;
Что это устаревшая конструкция, и при нем якобы отправка тега не возможна, но при этом нигде не нашел обработки с FNOperation
А пробывал отправлять xehom?
   Kigo_Kigo
 
17 - 23.10.20 - 09:10
Вот что надыбал
FNOperation()
убираем из конструкции

Если ПризнВозврата = 0 Тогда
    Объект.Sale();
Иначе
    Объект.ReturnSale();
КонецЕсли;

вместо в начале чека вставляем
Если ПризнВозврата = 0 Тогда
Объект.CheckType= 0;// «0» - продажа, «1» - покупка, «2» - возврат продажи, «3» - возврат покупки.

Иначе
Объект.CheckType= 2;
КонецЕсли;
рез=Объект.OpenCheck();    

Если рез<>0 Тогда
    Сообщить("НапечататьЧек, ошибка открытия нового чека: "+Объект.ResultCodeDescription);
    рКодОшибки=Объект.ResultCode;
        
КонецЕсли;

потом

 Если ПустоеЗначение(СокрЛП(СписотТоваров.Маркировка)) = 0 Тогда
            КМ = СокрЛП(СписотТоваров.Маркировка);
            GTIN = Сред(КМ, 3, 14);                            
            SerialNumber = Сред(КМ, 19, 13);
            
            Объект.Пароль = Пароль;  
            Объект.MarkingType         = 1748//  Это "444D"    


            Объект.GTIN             = GTIN;
            Объект.SerialNumber     = SerialNumber;
            Объект.FNSendItemCodeData()// отправка тега маркировки


        КонецЕсли;
Объект.FNOperation();
   Mafiozaa
 
18 - 23.10.20 - 09:18
(17) Хорошо, щас буду пробовать, вперед сделаю, отпишусь, но если вдруг ты скорее, отпишись, будь любезен)
   Kigo_Kigo
 
19 - 23.10.20 - 09:28
(18) у меня точка только в 11 откроется, тоже буду пробовать
   Mafiozaa
 
20 - 23.10.20 - 09:31
(19) А скинь ссылку где вычитал, пошарю
   Mafiozaa
 
21 - 23.10.20 - 09:32
(19) У меня в ваши 11, моя уже закрывается))
   Mafiozaa
 
22 - 23.10.20 - 09:35
(19) Нашел вот такую ссылку Поделитесь кодом печати чеков на ШТРИХ-М
вы там скидываете код, и у вас закоменченный FNOperation там есть
   Kigo_Kigo
 
23 - 23.10.20 - 09:44
(22) уже все перерабатываю, там я пишу что у меня нигде этот код не появляется, но та ветка в основном о получении и подготовки маркировки, так как у меня не горит, по этому разбираюсь по ходу и не спеша, вот и ваша ветка стала мне полезна

про Объект.FNOperation();
тут http://catalog.mista.ru/1c/articles/617491/
код из 17 можете смело пробовать, только в таблицу СписокТоваров не забудьте добавить "Маркировка", в Чеке в ТЧ колонку "Маркировку", куда загоняйте данные с СканераШК, как разобрать код вы знаете
   Kigo_Kigo
 
24 - 23.10.20 - 09:45
А вот еще по теме

Отправка кода через ККТ
   Mafiozaa
 
25 - 23.10.20 - 09:50
(23) Ну у меня как, когда оформляю чекккм есть реквизит тч кодмаркировки, в него залетает весь код со сканера и там же обрезается все лишнее, в обработку печати приходят уже готовые данные для отправки
   Kigo_Kigo
 
26 - 23.10.20 - 09:53
код из 17 сам подготавливает и обрезает, ну как хотите, тогда в печать чека надо передававть 2 параметра плюсом GTIN;  и SerialNumber;
   Mafiozaa
 
27 - 23.10.20 - 09:55
(26) Это я вижу что он у вас в обработке уже режет, но почему FNOperation после всех процедур, хотя везде пишут что он должен быть до
   Kigo_Kigo
 
28 - 23.10.20 - 10:03
(27) FNOperation() это операция регистрации одной строки одного товара чека

вначале чека

Если ПризнВозврата = 0 Тогда
Объект.CheckType= 0// «0» - продажа, «1» - покупка, «2» - возврат продажи, «3» - возврат покупки.


Иначе
Объект.CheckType= 2;
КонецЕсли;
рез=Объект.OpenCheck();    

Если рез<>0 Тогда
    Сообщить("НапечататьЧек, ошибка открытия нового чека: "+Объект.ResultCodeDescription);
    рКодОшибки=Объект.ResultCode;
        
КонецЕсли;
//*************************************

 код регистрации товара
//************************************


Если НДСЕсть = 1 Тогд//Печатаем НДС


            
            // В настройках ФР надо настроить ставки:


            // Налог 1 = 18% - НДС 18%


            // Налог 2 = 10% - НДС 10%


            // Налог 3 = 20% - НДС 20%            


    
            Если СписокТоваров.НДС = 18 Тогда
                Объект.Tax1 = 1;
            ИначеЕсли СписокТоваров.НДС = 10 Тогда
                Объект.Tax1 = 2;
            ИначеЕсли СписокТоваров.НДС = 20 Тогда
                Объект.Tax1 = 3;
            Иначе
                Объект.Tax1 = 0;
            КонецЕсли;
            Объект.Tax2 = 0;
            Объект.Tax3 = 0;
            Объект.Tax4 = 0;
            
            ДлинаСтроки = 36;
        Иначе
            ДлинаСтроки = 0;
        КонецЕсли;  

 Если ПустоеЗначение(СокрЛП(СписотТоваров.Маркировка)) = 0 Тогда
            КМ = СокрЛП(СписотТоваров.Маркировка);
            GTIN = Сред(КМ, 3, 14);                            
            SerialNumber = Сред(КМ, 19, 13);
            
            Объект.Пароль = Пароль;  
            Объект.MarkingType         = 174//  Это "444D"    



            Объект.GTIN             = GTIN;
            Объект.SerialNumber     = SerialNumber;
            Объект.FNSendItemCodeData(// отправка тега маркировки



        КонецЕсли;
Объект.FNOperation();

потом конец цикла
потоом закрываем чек

 Объект.FNCloseCheckEx();
    Объект.CloseCheck();
   Kigo_Kigo
 
29 - 23.10.20 - 10:06
(27) в 23 посмотрите там код выкладывали, где он должен быть

Процедура ФнОперация(ТипЧека,Цена,Количество,Налог,Сумма, ПризнакСпособаРасчета, ПризнакПредметаРасчета, Наименование)
    FR2.CheckType = ТипЧека;
    FR2.Price = Цена;
    FR2.Quantity = Количество;
    FR2.Tax1 = Налог;
    FR2.Department = 1;
    FR2.Summ1 = Сумма;
    FR2.PaymentTypeSign = ПризнакСпособаРасчета;
    FR2.PaymentItemSign = ПризнакПредметаРасчета;
    FR2.StringForPrinting = Наименование;  
    FR2.FNOperation();  
КонецПроцедуры
   Kigo_Kigo
 
30 - 23.10.20 - 10:36
Попробовал с FR2.FNOperation(); не прокатилов в ОФД маркировка не появилась, грусть печаль
 
 Рекламное место пустует
   Mafiozaa
 
31 - 23.10.20 - 10:43
(30) Я не смог до конца проверить, точка работает, не могу свободно поиграться, а скажи пожалуйста, какая версия драйвера у тебя 4.15 ... 829?
Если вдруг добьешь,чирикни
   Kigo_Kigo
 
32 - 23.10.20 - 10:54
не, драйвер DrvFR_4_15_821, что то я не нашел 829 на офф сайте штриха
   Mafiozaa
 
33 - 23.10.20 - 10:56
   Kigo_Kigo
 
34 - 23.10.20 - 11:03
(33) Посмотрел на точке 829 стоит, ссори, эт у меня на лок машине для тестов 821
   lodger
 
35 - 23.10.20 - 11:11
(28) а где FNSendItemCodeData()?
   Kigo_Kigo
 
36 - 23.10.20 - 11:27
(35) А повнимательнее посмотреть?
   Kigo_Kigo
 
37 - 23.10.20 - 11:34
Вот полный код, что я делаю не так?


Функция ПечататьЧек(Объект, Пароль, СписокТоваров, Получено1, Скидка, ПризнВозврата, НомерСекции, НомерЧека,ТипНалогов)
    
    Если ПризнВозврата = 0 Тогда
        Объект.CheckType= // «0» - продажа, «1» - покупка, «2» - возврат продажи, «3» - возврат покупки.

        
        
    Иначе
        Объект.CheckType= 2;
    КонецЕсли;
    рез=Объект.OpenCheck();    
    
    Если рез<>0 Тогда
        Сообщить("НапечататьЧек, ошибка открытия нового чека: "+Объект.ResultCodeDescription);
        рКодОшибки=Объект.ResultCode;
        
    КонецЕсли;
    
    
    // регистрация товаров

    Объект.TaxType = ТипНалогов;
    РезРегистрация = 1;
    Получено1 = 0;  
    КорректноКудаОтправитьЧек = -1//-1 не ввден, 1- корректно,0 не корректно

    
    Если ПустоеЗначение(КудаОтправитьЧек) = 0 Тогда 
        Если Найти(СокрЛП(КудаОтправитьЧек),"@") <> 0 Тогда
            КорректноКудаОтправитьЧек = 1;
        ИначеЕсли Лев(СокрЛП(КудаОтправитьЧек),2) = "+7" Тогда
            КорректноКудаОтправитьЧек = 1;
        Иначе
            КорректноКудаОтправитьЧек = 0;
            Если Вопрос("Не корректно введен email или номер телефона клиента, пробить обычный чек?",4) = 6 Тогда
                КорректноКудаОтправитьЧек = -1;
            Иначе
                Предупреждение("Проверте  email или номер телефона клиента, номер телефона должен начинаться на +7");
                Возврат 0;    
            КонецЕсли;
            
        КонецЕсли;
    КонецЕсли; 
    Объект.Password          = Пароль;
    Если СокрЛП(Продавец.ИНН) <> "" Тогда
        Объект.TagNumber  = 1203;
        Объект.TagType = 7;
        
        Объект.TagValueStr = СокрЛП(Продавец.ИНН);
        Объект.FNSendTag();
    КонецЕсли;
    СуммаСкидкиНаЧек = 0;
    
    СписокТоваров.ВыбратьСтроки();
    
    Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
        СтрокаДляПечати = СписокТоваров.ТовНаим;
        Объект.Password          = Пароль;
        Объект.StringForPrinting = Лев(СтрокаДляПечати,48);
        
        Если СуммаСкидки = 0 Тогда
            Объект.Price       = СписокТоваров.Цена;
            Получено1 = Получено1+ СписокТоваров.Цена * СписокТоваров.Количество;
            
        Иначе 
            СуммаСкидкиНаЧек  =СуммаСкидкиНаЧек +(СписокТоваров.Цена * СписокТоваров.Количество - СписокТоваров.Сумма); 
            ЦенаЦены =Окр(СписокТоваров.Сумма/СписокТоваров.Количество,2);
            Объект.Price             = ЦенаЦены;
            Получено1 = Получено1+ ЦенаЦены * СписокТоваров.Количество;
        КонецЕсли;
        Объект.Quantity          = СписокТоваров.Количество;
        Объект.Department        = НомерСекции;
        НДСЕсть = "";
        Попытка
            НДС = СписокТоваров.НДС;
            НДСЕсть = 1;
        Исключение
            НДСЕсть = 0;
        КонецПопытки;
        
        Если НДСЕсть = 1 Тогд//Печатаем НДС

            
            // В настройках ФР надо настроить ставки:

            // Налог 1 = 18% - НДС 18%

            // Налог 2 = 10% - НДС 10%

            // Налог 3 = 20% - НДС 20%            

            
            Если СписокТоваров.НДС = 18 Тогда
                Объект.Tax1 = 1;
            ИначеЕсли СписокТоваров.НДС = 10 Тогда
                Объект.Tax1 = 2;
            ИначеЕсли СписокТоваров.НДС = 20 Тогда
                Объект.Tax1 = 3;
            Иначе
                Объект.Tax1 = 0;
            КонецЕсли;
            Объект.Tax2 = 0;
            Объект.Tax3 = 0;
            Объект.Tax4 = 0;
            ДлинаСтроки = 36;
        Иначе
            ДлинаСтроки = 0;
        КонецЕсли;
        Если ПустоеЗначение(СокрЛП(СписокТоваров.Маркировка)) = 0 Тогда
            КМ = СокрЛП(СписокТоваров.Маркировка);
            GTIN = Сред(КМ, 3, 14);                            
            SerialNumber = Сред(КМ, 19, 13);
            
            Объект.Пароль = Пароль;  
            Объект.MarkingType         = 17485//  Это "444D"    

            Объект.GTIN             = GTIN;
            Объект.SerialNumber     = SerialNumber;
            Объект.FNSendItemCodeData();// отправка тега маркировки

        КонецЕсли; 
        Объект.FNOperation();
        Если Объект.ResultCode <> 0 Тогда
            ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
            АннулированиеЧека(Объект, Пароль);
            Сообщить(ОписаниеРезультата);
            Возврат 0;
        КонецЕсли;
        
    КонецЦикла; 
    Если константа.ПисатьСуммуСкидкиВЧеке = 1 тогда 
        
        СтрокаДляПечати = "Сумма скидки на чек:" + Строка(глФРМ(СуммаСкидкиНаЧек,Валюта,1));
        Объект.Password          = Пароль;
        Объект.StringForPrinting = Лев(СтрокаДляПечати,48);
    Иначе 
        СтрокаДляПечати = "__________________________";//+ Строка(глФРМ(СуммаСкидки,Валюта,1));

        Объект.Password          = Пароль;
        Объект.StringForPrinting = Лев(СтрокаДляПечати,48);
        
    КонецЕсли;
    
    Объект.Password = Пароль;
    Если ВидПлатежа = перечисление.ВидыПлатежа.Нал тогда
        Объект.Summ1    = Получено1;
        Объект.Summ2 = 0;
    Иначе 
        Объект.Summ1    = 0;
        Объект.Summ2    = Получено1; 
        
        
    КонецЕсли;
    Объект.Summ3    = 0; 
    Объект.Summ4    = 0; 
    Объект.FNCloseCheckEx();
    Объект.CloseCheck();
    
    Если Объект.ResultCode <> 0 Тогда 
        ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
        АннулированиеЧека(Объект, Пароль);
        ОтрезатьЧек(Объект, Пароль);
        Сообщить(ОписаниеРезультата);
        Возврат 0;
    КонецЕсли;
    
    Объект.Password = Пароль;
    Объект.GetECRStatus();
    
    Если Объект.ResultCode <> 0 Тогда
        ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
        Сообщить(ОписаниеРезультата);
        Возврат 0;
    КонецЕсли;
    
    НомерЧека = Объект.OpenDocumentNumber+?(Объект.ECRAdvancedMode=5,1,0);
КонецФункции
   lodger
 
38 - 23.10.20 - 11:43
(37) а. я его после FNOperation искал.
   Kigo_Kigo
 
39 - 23.10.20 - 13:07
подниму тему, может кто то что то подскажет?
   victuan1
 
40 - 23.10.20 - 17:59
(39) Сколько времени уже потеряно, может проще готовое решение взять?
http://catalog.mista.ru/public/603118/
   lodger
 
41 - 24.10.20 - 11:23
(39) из Руководство программиста:
FNSendItemCodeData
ФНОтправитьКТН
Отправляет тег 1162 (Код товарной номенклатуры), привязанный к операции.
Метод должен вызываться только после метода FNOperation.
   Kigo_Kigo
 
42 - 24.10.20 - 15:29
(41) ТО есть вот так?
Если ПустоеЗначение(СокрЛП(СписокТоваров.Маркировка)) = 0 Тогда
            КМ = СокрЛП(СписокТоваров.Маркировка);
            GTIN = Сред(КМ, 3, 14);                            
            SerialNumber = Сред(КМ, 19, 13);
            
            Объект.Пароль = Пароль;  
            Объект.MarkingType         = 1748//  Это "444D"    


            Объект.GTIN             = GTIN;
            Объект.SerialNumber     = SerialNumber;
            Объект.FNOperation();
            Объект.FNSendItemCodeData()// отправка тега маркировки


        КонецЕсли;
   lodger
 
43 - 24.10.20 - 15:41
Объект.FNOperation();

перед

Если ПустоеЗначение(СокрЛП(СписокТоваров.Маркировка)) = 0 Тогда
   Mafiozaa
 
44 - 26.10.20 - 04:55
(42) Приветствую, ну что разобрался? Сижу кручу верчу обработку, у тебя не получилось?
   Mafiozaa
 
45 - 26.10.20 - 05:26
(42) Вот нашел такое 
Заменить Sale() на FNOperation()
Заменить CloseCheck() на CloseCheckEX()
После этих манипуляций стало ругаться на Неверное значение свойства GTIN. возможно в типах данных что то не то, попробую,отпишусь
   victuan1
 
46 - 26.10.20 - 05:48
(45) Ну-ну. Про FNOperation написано еще в (6).
Заменять CloseCheck() на CloseCheckEX() необязательно.
PS. Побежал за покорном))
   Mafiozaa
 
47 - 26.10.20 - 05:49
(46) (42)  Привет, было написано да, вот только куда толкать его пришлось искать, ну вручную строкой вбил код, все ушло все четко, щас передам переменную текстом, и все, домучаю)
   Mafiozaa
 
48 - 26.10.20 - 05:50
(46) И за твое содействие спасибо, я сегодня думал если не добью, буду тебе в личку строчить, но слава богу не дошло)
   victuan1
 
49 - 26.10.20 - 22:19
(48) Ну и отлично, что решилось. Удачи!


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.