Имя: Пароль:
1C
 
Проблема с копейками НДС при пробитии чека на ФР
0 brenli
 
12.01.18
21:55
Доброго  времени.
Конфигурация в которой все работает есть полностью переписанный бухучет 3.6.  
Ситуация такая:
Нужно пробивать чек на фр. Модель регистратора АТОЛ Ф11. Загвоздка в том что ндс начисляется на сумму, а не на цену, а в ФР передается цена.
После манипуляций с числами которые не делятся нацело, получается разница (в документе и чеке) на копейки .
Проблема возникает при печати перечня номенклатуры. Когда все печатается одной строкой, вся проходит ровно. Но магазин торгует вет препаратами и с 1 января 18 года в чеках должен быть список номенклатуры.
Я не знаю как найти выход.
Вот пример:
В документе табличная часть состоит из 2х строк.
1) Товар1  2 шт.  ЦенаБезНДС = 46,61 руб. СуммаБезНДС = 93,22 руб. СтавкаНДС =18% НДС(в документе)= 16,78 руб. СуммаСНДС(в документе) = 110 руб.
2) Товар2  6 шт.  ЦенаБезНДС = 72,73 руб. СуммаБезНДС = 436,36 руб. СтавкаНДС =10% НДС(в документе)= 43,64 руб. СуммаСНДС(в документе) = 480 руб.

Итого сумма = 590 руб.

В обработку печати в поле объекта компоненты мы должны передать цену в данном случае с НДС и у нас передается:
ЦенаБезНДС за единицу, и НДСССуммы.
В первой строке вычисляется все корректно.
ЦенаБезНДС = 46.61 руб.
НДСССуммы  = 16,78 руб.
Чтобы вычислить цену (Price) и не искривить сумму чека разделим НДСССуммы на Количество.
Получаем 16,78 / 2 = 8,39 руб.
Накинем НДС на цену 46,61 руб. + 8,39 руб. = 55 руб.
Умножим цену с НДС на количество и получим сумму по Товару1 = 110 руб.
---------------------------------------
Во второй строке начинается опа.
ЦенаБезНДС = 72.73 руб.
НДСССуммы  = 43,64 руб.
Чтобы вычислить цену (Price) и не искривить сумму чека разделим НДСССуммы на Количество.
Получаем 43,64  / 6 = 7,273 руб.
Накинем НДС на цену 72.73 руб. + 7,273 руб. = 80.003 руб.
Умножим цену с НДС на количество и получим сумму по Товару2 = 480.018 руб.  (поле округлится до 0.2)
И получается сумма становится равна 590.02 руб.
Отклонения порой достигают > 30 копеек.

Что посоветуете?
1 mingw
 
12.01.18
21:56
Начать читать. Документацию.
2 Злопчинский
 
12.01.18
22:02
читай на Инфостарте тему victuana про 54-ФЗ - там много интересного почерпнешь
3 mingw
 
12.01.18
22:05
Это они еще не дошли до скидок. В 30%. С суммы в 1 копейку.
4 mingw
 
12.01.18
22:09
Ошибка в делении. Когда надо только умножать.

1 шт. товара всегда имеет ЦенуБезНДС и ЦенуСНДС (СуммаНДС вычисляется разницей).
Далее умножаем. Банально. На требуемое кол-во шт.

Да получим сумму с копейками. Итоговую. И что?
5 brenli
 
12.01.18
22:53
(2) не могу найти тему. Там описывается такая ситуация?
6 Злопчинский
 
12.01.18
23:09
(5) забей 54-фз 77
7 mingw
 
12.01.18
23:18
(6) Думаешь поможет? Когда плохо с математикой. Школьной.

Сумма НДС для 6 шт. (цена 1 шт без НДС 72,73 руб., с НДС 80 руб.) не 43,64 руб.
А 6 * 7,27 = 43,62 руб.
8 Ненавижу 1С
 
гуру
12.01.18
23:19
1. используйте цену с НДС, так удобнее
2. цена к сумме НДС никаким боком
9 mingw
 
12.01.18
23:21
(8) Они пытаются делать странное. Обратный расчет НДС для 1 штуки по общему кол-ву. От общей суммы с НДС.
10 Ненавижу 1С
 
гуру
12.01.18
23:22
(9) я понял, но этого в ПБУ вроде нет
11 brenli
 
12.01.18
23:27
(9) тут не все так просто. В конфе откуда бьется чек, о цене с НДС номенклатуры вообще неизвестно. Там такая хитрая опа.
Есть 2 конфы. В одной ведется складской  учет, в другой кассовый. В конфе (кассовой) откуда бьется чек, при пробитии "при нажатии на кнопку чек" , через ВК вызывается складская программа, из которой указывается документ реализации и оттуда формируется список табличной части.
12 brenli
 
12.01.18
23:28
(7) возможно опечатался... уже голова кругом
13 mingw
 
12.01.18
23:32
(11) >о цене с НДС номенклатуры вообще неизвестно
Эээ. Нет слов.

А как покупатель узнает "Цену с НДС" ? Если ее нет в конфе.
14 mingw
 
12.01.18
23:33
Подозреваю у кого то кривой расчет НДС. Изначально в конфе.
15 Ненавижу 1С
 
гуру
12.01.18
23:35
(11) выбирайте из складской программы сразу цену с НДС

но даже не это важно, другое - сумма НДС должна считаться от суммы, а не от цены

цена это скажем так... справочные сведения
16 brenli
 
12.01.18
23:40
(13) Т.е в конфу по кассовому учету в документ ПКО, сгружаются уже свернутые суммы. Сумма общая без НДС и свернутые со всех позиций суммы НДС по разным ставкам. А уж если хочется список, то кто то хитрый реализовал его таким образом. Залазим в складскую конфу из кассовой и выбираем документ. В табличной части которого нет цены за единицу уже с НДС, а есть только цена без НДС, кол-во, и НДС от суммы.
17 brenli
 
13.01.18
00:04
Ребята подскажите пжл  есть такой код

    V7 = CreateObject("V77.Application");      //  V1СEnterprise.Application V77M.Application
        
        Открыта = V7.Initialize(V7.RMTrade, "/d" + Путь +
        
        " /N" + Пользователь+" /P"+Пароль, "");
        
        Если Открыта = 0 Тогда
            
            Предупреждение("Ошибка открытия информационной базы");
            
            Возврат 0;
        Иначе
            Если ВидДокументаОснования=1 Тогда
                Импорт = V7.CreateObject("Документ.Счет");
            ИначеЕсли ВидДокументаОснования=2 Тогда
                Импорт = V7.CreateObject("Документ.РасходнаяНакладная");
            КонецЕсли;
            Возврат 1;
        КонецЕсли;
        

Получаем в руки документ. В данном случае переменная Импорт содержит ссылку на документ РасходнаяНакладная.

Далее мы перебираем строки
            Импорт.выбратьСтроки();
            Пока Импорт.ПолучитьСтроку()=1 Цикл
                Список.НоваяСтрока();
                Список.ТовНаим    = СокрЛП(Импорт.Товар.Наименование);
                
                Список.Цена       = Импорт.Цена;
                Список.Количество = Импорт.Количество;
                Список.НДС        = Импорт.Товар.СтавкаНДС.Получить(ТекущаяДата()).Ставка;
                Список.СуммаНДС   = импорт.НДС;
            КонецЦикла;

Т.е мы обращаемся к перечню ТЧ документа, но не более того. Верно? Чтобы достать мне цену с НДС из справочника номенклатуры, нужно сделать CreateObject на Справочник Номенклатура?
18 brenli
 
13.01.18
00:07
(17) хотя тут катит Список.ТовНаим    = СокрЛП(Импорт.Товар.Наименование);
А к полю с ценой с НДС не могу обратится. Показывает 0
19 Злопчинский
 
13.01.18
00:11
(18) значит цена ноль
20 Злопчинский
 
13.01.18
00:14
Как вариант импорт.цена - агрегатный тип данных?
21 brenli
 
13.01.18
00:19
(19) Нет. В той базе к которой конектимся через OLE цена у элемента есть
22 brenli
 
13.01.18
00:20
(20) Нет. Просто числовое поле. Реквизит у элемента
23 Злопчинский
 
13.01.18
00:21
Вы тупы? Не отличает Риверу мы элементе номенклатуры и цену в строке документа?
24 Злопчинский
 
13.01.18
00:21
(23) Риверу мы = цену в
25 Злопчинский
 
13.01.18
00:27
Пичалька, да..?
26 brenli
 
13.01.18
00:28
(25) еще какая
27 Злопчинский
 
13.01.18
00:30
(26) (23) помогло?
28 brenli
 
14.01.18
20:20
(27)С этим разобрался.
Сейчас не получается со скидкой.
Передаю размер скидки в обработку печати чека на ФР, выдает ошибку.
Кто знает, как это можно решить?
Именно кто к теме как отправить процент скидки в чек?
29 Pit0n_08
 
14.01.18
21:06
(28) Советую попробовать поделку от 1С, реализованную в последних конфигурациях ТиС. Там своя интеграционная компонента FprnM1C82_54FZ.dll и обработка frATOL54_comm.ert. Со скидками и НДС она работает корректно.
30 mingw
 
14.01.18
21:28
(28) См (3)
Подумай.
31 Злопчинский
 
14.01.18
21:51
не ипи себе мозгт.
купи за копейки и поставь
http://catalog.mista.ru/public/603118/
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший