Имя: Пароль:
1C
1С v8
УТ11 и Меркурий МС-К: НДС при печати чека из ПКО
0 Sj
 
19.01.14
17:38
Доброе время суток!

   Стоит 11.1.2.27. Установлен ФР Меркурий МС-К.
   Проблема: в ПКО не печатается НДС на чеке. Из 7.7 печатается без проблем.

Стал разбираться в коде. Чувствую, что собака порылась здесь:
                СтрокаТаблицыТоваров.Добавить(НСтр("ru = 'Оплата от:'") + " " + ПринятоОт + Символы.ПС
                    + НСтр("ru = 'Основание:'") + " " + Объект.Основание); //  1 - Наименование
                    СтрокаТаблицыТоваров.Добавить("");                     //  2 - Штрихкод
                    СтрокаТаблицыТоваров.Добавить("");                     //  3 - Артикул
                    СтрокаТаблицыТоваров.Добавить(НомерСекции);            //  4 - Номер отдела
                    СтрокаТаблицыТоваров.Добавить(Объект.СуммаДокумента);  //  5 - Цена за позицию без скидки
                    СтрокаТаблицыТоваров.Добавить(1);                      //  6 - Количество
                    СтрокаТаблицыТоваров.Добавить("");                     //  7 - Наименование скидки/наценки
                    СтрокаТаблицыТоваров.Добавить(0);                      //  8 - Сумма скидки/наценки
                    СтрокаТаблицыТоваров.Добавить(0);                      //  9 - Процент скидки/наценки
                    СтрокаТаблицыТоваров.Добавить(Объект.СуммаДокумента);  // 10 - Сумма позиции со скидкой
                    СтрокаТаблицыТоваров.Добавить(0);                      // 11 - Номер налога (1)
                    СтрокаТаблицыТоваров.Добавить(0);                      // 12 - Сумма налога (1)
                    СтрокаТаблицыТоваров.Добавить(0);                      // 13 - Процент налога (1)
                    СтрокаТаблицыТоваров.Добавить(0);                      // 14 - Номер налога (2)
                    СтрокаТаблицыТоваров.Добавить(0);                      // 15 - Сумма налога (2)
                    СтрокаТаблицыТоваров.Добавить(0);                      // 16 - Процент налога (2)
                    СтрокаТаблицыТоваров.Добавить("");                     // 17 - Наименование секции форматирования товарной строки

   Но что именно здесь надо поменять, чтобы в чеке стал печататься НДС18 или НДС10 ?
1 Torquader
 
19.01.14
17:50
Начнём с того, что название налога должно программироваться в самом аппарате.
А в предложенных параметрах можно указать только процент налога 1, который будет НДС.
Только я не очень понимаю, для чего сумма налога передаётся ?
Он или сам должен налог из суммы выделять, или получается профанация, когда сумма налога и процент могут быть заданы отдельно.
2 Sj
 
19.01.14
17:51
Требуется показывать либо 10% или 18%.
3 Sj
 
19.01.14
17:53
как мне сказал мастер 0 - это без налога, 1 - 10%, 2 - 20%
4 Sj
 
19.01.14
17:53
СтрокаТаблицыТоваров.Добавить(0);                      // 11 - Номер налога (1)
5 Sj
 
19.01.14
17:56
(1) Только я не очень понимаю, для чего сумма налога передаётся ?

  так это же в УТ так указано.
6 Torquader
 
19.01.14
20:15
(3) Мастеру нужно сказать, что налог 2 нужно перепрограммировать на 18% (чтобы было правильно), а дальше - указывать номер налога, который мы хотим увидеть.
Вообще, лучше смотреть саму компоненту, которая печатает чек - что и куда она передаёт, так как у ФР-а методы немного другие.
P.S. к регистратору и его драйверу можно скачать инструкцию.
7 Sj
 
19.01.14
23:07
(6) Да вроде уже перепрограммировал. Но следующий код, почему-то не прокатил ( НомерНалога - это реквизит формы ):

                    Если НомерНалога = 0 Тогда
                        СтрокаТаблицыТоваров.Добавить(0);                      // 11 - Номер налога (1)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 12 - Сумма налога (1)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 13 - Процент налога (1)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 14 - Номер налога (2)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 15 - Сумма налога (2)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 16 - Процент налога (2)
                    ИначеЕсли НомерНалога = 1 Тогда
                        СтрокаТаблицыТоваров.Добавить(1);                      // 11 - Номер налога (1)
                        СуммаНалога = Объект.СуммаДокумента * 0.1;
                        СтрокаТаблицыТоваров.Добавить(СуммаНалога);                      // 12 - Сумма налога (1)
                        СтрокаТаблицыТоваров.Добавить(10);                      // 13 - Процент налога (1)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 14 - Номер налога (2)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 15 - Сумма налога (2)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 16 - Процент налога (2)
                    Иначе    
                        СтрокаТаблицыТоваров.Добавить(0);                      // 11 - Номер налога (1)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 12 - Сумма налога (1)
                        СтрокаТаблицыТоваров.Добавить(0);                      // 13 - Процент налога (1)
                        СуммаНалога = Объект.СуммаДокумента * 0.18;
                        СтрокаТаблицыТоваров.Добавить(2);                      // 14 - Номер налога (2)
                        СтрокаТаблицыТоваров.Добавить(СуммаНалога);                      // 15 - Сумма налога (2)
                        СтрокаТаблицыТоваров.Добавить(18);                      // 16 - Процент налога (2)
                    КонецЕсли;
8 Torquader
 
20.01.14
23:31
(7) Как бы, сначала нужно налог 1 установить, налог 2, это то, что раньше было НСП.
9 Sj
 
27.01.14
20:25
Ага! Спасибо! Завтра попробую!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.