Имя: Пароль:
1C
 
Феликс РК Неверный тип чека
0 hawk1
 
06.04.15
12:28
Написал процедуру печати чека на возврат
Процедура ПечатьЧека()
    НомерЧекаККМ = 0;
    Если глФРВкл=0 Тогда
        Предупреждение("Фискальный регистратор не подключен!",60);
        Возврат;
    ИначеЕсли (УчитыватьНП=1) и (СтавкаНП.Ставка<>0) Тогда
        Предупреждение("Чтобы распечатать чек на фискальном регистраторе" + РазделительСтрок +
                       "необходимо, чтобы ставка НП была равна 0!",60);
        Возврат;
    ИначеЕсли ПометкаУдаления()=1 Тогда
        Предупреждение("Документ помечен на удаление, поэтому" + РазделительСтрок +
                       "нельзя пробить чек на фискальном регистраторе!",60);
        Возврат;
    ИначеЕсли Проведен()=0 Тогда
        Если Вопрос("Провести документ и пробить чек на фискальном регистраторе?","Да+Нет")="Нет" Тогда
            Возврат;
        КонецЕсли;
        Попытка
            Записать();
            Провести();
        Исключение
            Возврат;
        КонецПопытки;
        Если Проведен()=0 Тогда
            Возврат;
        КонецЕсли;
    ИначеЕсли Модифицированность()=1 Тогда
        Если Вопрос("Сохранить документ и пробить чек на фискальном регистраторе?","Да+Нет")="Нет" Тогда
            Возврат;
        КонецЕсли;
        Попытка
            Записать();
        Исключение
            Возврат;
        КонецПопытки;
    КонецЕсли;
    
    Список = СоздатьОбъект("ТаблицаЗначений");
    Список.НоваяКолонка("ТовНаим"   , "Строка");
    Список.НоваяКолонка("Цена"      , "Число");
    Список.НоваяКолонка("Количество", "Число");
    Список.НоваяКолонка("НДС"       , "Число");
    
    ВыбратьСтроки();              
    СуммаЧека = 0;
    Пока ПолучитьСтроку() = 1 Цикл    
        Список.НоваяСтрока();
        Список.ТовНаим = СокрЛП(Товар);
        Список.Цена = Цена;                                            
        Список.Количество = Количество;
        Список.НДС = СтавкаНДС.Ставка;
        СуммаЧека = СуммаЧека + Сумма;
    КонецЦикла;  
    
    СуммаЧека         = Сумма;
    Получено          = Сумма;
    Скидка            = 0;
    ПризнВозврата     = 1;
    НомерСекции       = 1;
    НомерЧека         = 0;            
    
    Если глФРПечататьЧек(Список, СуммаЧека, Получено, Скидка, ПризнВозврата, НомерСекции, НомерЧека, 0) = 1 Тогда
        НомерЧекаККМ = ?(НомерЧека = 0, -1, НомерЧека);
        ПриЗаписиПерепроводить(0);
        Записать();
        ПриЗаписиПерепроводить(1);
    КонецЕсли;
    
КонецПроцедуры
При попытке печати выдает ошибку Неверный тип чека
1 hawk1
 
06.04.15
16:22
Интересно что когда ПризнВозврата = 0 все работает
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.