Имя: Пароль:
1C
1C 7.7
v7: Не могу отключить печать НДС в чеке пробитом на фискальнике Атолл 30Ф
,
0 brenli
 
16.04.18
11:58
Доброго времени.
Вопрос по сабжу.
Значения у свойств TaxTypeNumber = 4 и Tax = 4.
Пробовал присваивать 0, он все равно указывает в чеке ставку и сумму.
Что не так? Как отключить вывод . В документации ничего не мог найти.
1 slaaay
 
16.04.18
12:00
Печатаете через драйвер?
2 brenli
 
16.04.18
12:13
(1)Всмысле через драйвер?
Подключено торговое оборудование,  и из формы документа печатаю чек.
Обработчик печати вызывает обработку из директории Equip
3 brenli
 
16.04.18
12:14
Я уже пробовал все закоментить что касается НДС. Все равно он есть.
4 slaaay
 
16.04.18
12:18
(2) Драйвер ККМ есть такая программка у АТОЛ. Сейчас Тест драйвера ККТ называется. была такая проблема пока розницу не обновил
5 brenli
 
16.04.18
12:23
(4) попробовать обновить дрова?
6 slaaay
 
16.04.18
12:28
(5) пока не ясно. нужны подробности. откуда ты печатаешь чек. какие дрова стоят? какая 1с.
7 MWWRuza
 
гуру
16.04.18
12:31
Я так понял, конфа какая-то типовая...
Не знаю, что они там в типовых "наворотили", я в одной из своих самописок вот так делаю, все работает без проблем:

    ТЧ.ВыбратьСтроки();
    Пока ТЧ.ПолучитьСтроку() = 1 Цикл
        ECR.Name        = Строка(СокрЛП(ТЧ.Номенклатура.Наименование));
        ECR.Price         = ТЧ.Цена;
        ECR.Quantity     = ТЧ.Количество;
        ECR.Department = 1;
        // TaxTypeNumber - Номер налога:
        //     0 - Налог из секции
        //     1 - НДС 0%
        //     2 - НДС 10%
        //     3 - НДС 18%
        //     4 - НДС не облагается
        //     5 - НДС с расчётной ставкой 10%
        //     6 - НДС с расчётной ставкой 18%
        ECR.TaxTypeNumber = 4;

        Если ECR.Registration() <> 0 тогда
             Сообщить("Ошибка продажи по накладной ");
                  Если ECR.OutOfPaper = 0 Тогда
                      Предупреждение("В ККМ закончилась бумага!");
                      Ошибка = 1;
                  КонецЕсли;
                  Если ECR.GetCurrentMode() <> 0 Тогда
                      Ошибка = 1;
                     Возврат;
                КонецЕсли;    
            Возврат;
        КонецЕсли;        
    КонецЦикла;
8 brenli
 
16.04.18
12:34
(6) Конфа вся не типовая.. тотально.
Я прикручивал возможность бить чеки.
Чек пробивается из расходной накладной.
(7)  в обработке печати чека frcomm.ert, все так же.
9 MWWRuza
 
гуру
16.04.18
12:41
А там у Вас точно таким методом печать чека выполняется, не "по новому", через XML случаем?
Если через XML, то там не так... Там строка передается, вот, строчка из другой моей конфы, где печать "по новому", по технологии "1С совместимо":

ДобавитьАттрибут(XML_DOM, XML_Fisk, "Tax", СтавкаНДС);        // Ставка НДС. Список значений: "18" - НДС 18 "10" - НДС 10 "0" - НДС 0 "none" - БЕЗ НДС

Там, как видите, надо "none" передавать...
10 brenli
 
16.04.18
12:43
(9) Точно не так.
Не через XML.
11 MWWRuza
 
гуру
16.04.18
12:44
Пока писал, Вы уже ответили... По "старому" печатаете... Тогда, должна четверка работать...

Может прошивка старая?
12 brenli
 
16.04.18
12:48
(11) Самого фискальника?
13 Builder
 
16.04.18
13:03
TaxTypeNumber где присваиваешь?
Оно должно быть в цикле по товарам, а не до этого.
14 brenli
 
16.04.18
13:10
(13) Да так и есть. В цикле

Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
        //Проверка наличия колонки "НДС" в таблице значений.
        НДСЕсть = "";
        Попытка
            НДС = СписокТоваров.НДС;    
            Если НДС<>0 Тогда
                НДСЕсть = 1;
            Иначе            
                НДСЕсть = 0;
            КонецЕсли;
        Исключение
            НДСЕсть = 0;
        КонецПопытки;      
        
        
        Если ПризнВозврата = 1 Тогда // Возврат продажи
            Объект.Name  = "";
            Объект.Price = Число(СписокТоваров.Цена);
        ИначеЕсли ПризнВозврата = 2 Тогда     // Анулирование продажи                  
            Объект.Name  = СокрЛП(СписокТоваров.ТовНаим);
            Объект.Price = Число(СписокТоваров.Цена);
        Иначе    
            Если СписокТоваров.РежимЧека=1 Тогда  //1-списком 0-однойстрокой
                Объект.Name  = СокрЛП(СписокТоваров.ТовНаим);
                Объект.Price = Число(СписокТоваров.Цена);
            Иначе          
                Объект.Name  = "";
                Объект.Price = Число(СписокТоваров.Цена) + Число(СписокТоваров.СуммаНДС);
            КонецЕсли;
        КонецЕсли;
        
        Объект.Quantity   = СписокТоваров.Количество;                

        Если (ПризнВозврата = 0) ИЛИ (ПризнВозврата = 2) Тогда            
            
            Если НДСЕсть = 1 Тогда//Печатаем НДС
                
                // В настройках ФР надо настроить ставки:
                // Налог 1 = 18% - НДС 18%       0
                // Налог 2 = 10% - НДС 10%       10
                // Налог 3 = 20% - НДС 20%       18
                // Налог 4 =  0% - без НДС       без ндс
                // и Тип налога = 2 (Налог на каждую продажу)
        
                Если СписокТоваров.НДС = 18 Тогда
                    Объект.Tax = 3;      
                    Объект.TaxTypeNumber = 3;
                ИначеЕсли СписокТоваров.НДС = 10 Тогда
                    Объект.Tax = 2;
                    Объект.TaxTypeNumber = 2;
                ИначеЕсли СписокТоваров.НДС = 0 Тогда
                    Объект.Tax = 0;
                    Объект.TaxTypeNumber = 0;
                Иначе
                    Объект.Tax = 4;
                    Объект.TaxTypeNumber = 4;
                КонецЕсли;
            Иначе
                Объект.Tax = 4; //4
                Объект.TaxTypeNumber =4;
            КонецЕсли;
            
            Объект.Summ = Окр(СписокТоваров.СуммаНДС , 2, 1);
            
               Объект.DiscountType  = 1;
            Объект.DiscountValue = СписокТоваров.ПроцентСкидки;
            
            Если ПризнВозврата = 0 Тогда
                                Объект.TaxTypeNumber =4; //<<---ставлю принудительну тут  
                Объект.Регистрация();
            ИначеЕсли ПризнВозврата = 2 Тогда    
                Объект.Возврат();    
            КонецЕсли;    
        Иначе
            Объект.TaxTypeNumber = 4;
            Объект.Возврат();
        КонецЕсли;

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

        
        Если Объект.Результат <> 0 Тогда
            ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
            Попытка
                Объект.CancelCheck();
            Исключение
            КонецПопытки;
            ОтключитьсяОтФР(Объект, 0);
            Возврат 0;
        КонецЕсли;
        
    КонецЦикла;
15 brenli
 
16.04.18
13:11
Модуль написан не мной, я только вносил изменения
16 Builder
 
16.04.18
13:23
(15) Версия драйвера какая?
И попробуй явно задать систему налогообложения

// Применяемая система налогооблажения в чеке:ОСН - 1;УСН доход - 2;УСН доход-расход - 4;ЕНВД - 8;ЕСН - 16;ПСН - 32;

Объект.AttrNumber=1055;
Объект.AttrValue=СистемаНалогообложения;
Объект.WriteAttribute();
17 Builder
 
16.04.18
13:28
+ к (16)
Это вставить до цикла товаров.
18 brenli
 
16.04.18
13:29
(16) 8.14.0
19 Builder
 
16.04.18
13:34
(18) Нормальная версия, значит смотри (16) и пробуй.
20 ildary
 
16.04.18
14:36
(16) я дико извиняюсь, но в файле Атола "Протокол
работы ККТ, Версия 3.1" сказано, что в атрибуте 1055 надо указывать бит, а не число, т.е. (если я правильно понял), когда нужен "Упрощенная Доход" - в 1055 надо указать 2.
Поправьте пожалуйста, если я не прав.
21 ildary
 
16.04.18
14:37
+(20) Простите, был невнимателен, глаз замылился чтением мануалов.
22 Pit0n_08
 
16.04.18
14:50
(14) А в отладчике проверяли, что возвращает СписокТоваров.НДС
Не строка ли там?
23 Pit0n_08
 
16.04.18
14:54
В таблице драйвера ККМ "Налоги" четвертая строка "Без налогов"?
24 piter3
 
16.04.18
14:56
(23) Нет же))
25 Pit0n_08
 
16.04.18
15:25
(24) А я-то думал, что там "Без налогов", а там...:)
26 Масянька
 
16.04.18
15:36
(0) У нас в Штрихе:
Тах1 = 1 - НДС 18%
Тах2 = 0 - Без НДС
27 Масянька
 
16.04.18
15:37
(26) Тьфу, блин...
Tax1 = 0 - без НДС
28 Масянька
 
16.04.18
15:37
+ (26) И в таблицах задается.
29 brenli
 
17.04.18
07:59
(22) СписокТоваров.НДС  там 0.
Да собственно оно не на что не влияет.
Расчет работает следующим образом:
Передаешь цену, указываешь tax и в зависимости от этого ФР сам вычисляет ндс.
Сказал попробуй значение 6 поставить. Типа что то изменилось.
Еще не дошли руки попробовать
30 brenli
 
17.04.18
09:23
Да значение
Тах = 6 и TaxTypeNumber  = 6 решило проблему.
31 brenli
 
17.04.18
09:24
НДС у каждой строки товара не появляется, а внизу чека пробивается :
БезНДС и дублируется сумма чека
32 brenli
 
17.04.18
09:43
Какая то странная фигня. Такой же аппарат но на другой точке отказывается работать со значением 6, а работает со значением 4
33 piter3
 
17.04.18
09:44
Видимо стоит посмотреть на таблицу налогов
34 brenli
 
17.04.18
09:45
(33) Через драйвер?
35 piter3
 
17.04.18
09:46
(34) Ну да.есть еще какой-то способ,мне так удобнее
36 brenli
 
17.04.18
09:59
(35) Можешь подсказать как найти эту таблю?
37 piter3
 
17.04.18
10:00
38 brenli
 
17.04.18
11:47
(37) От души коллега
Закон Брукера: Даже маленькая практика стоит большой теории.