Имя: Пароль:
1C
1C 7.7
v7: Надо сообразить на 3 копейки (округление...)
, ,
0 ---Fix---
 
23.06.18
13:35
Вроде бы все делаю правильно...
//======================================================================
Функция ПолучитьНДСИзСуммыСНДС(пСуммаСНДС)
    Ставка = Константа.ОсновнаяСтавкаНДС.Ставка;
    Возврат Окр(пСуммаСНДС * Ставка / (100 + Ставка), 2, 1);
КонецФункции // ПолучитьНДСИзСуммыСНДС

Результат СНДС 0.04 => НДС 0.1
СНДС 0.03 => 0.00
Неужели свой алгоритм округления писать? проверял по калькулятору...
НДС от 0.03 = 0,00457627...
по правилам округления 0.01 должно быть?
1 Darych
 
23.06.18
13:39
пиши свой алгоритм ... 45 до 50 не дотягивает
2 palpetrovich
 
23.06.18
13:42
Окр( Окр(0.00457627, 3,1), 2, 1)
:)
3 Darych
 
23.06.18
13:46
(2) гы)
4 xenos
 
23.06.18
14:08
Ты суть проблемы опиши.

Так и выставили счёт на три копейки?

Сомневаюсь.

Если в накладной у поставщиков одна цифра, а в 1С другая - то значит поставщики криворукие арифмометры.

Если сумма получилась сложением или  разделением строк, и в результате общая сумма не совпадает, то это бухи должны руками поправить.
5 palpetrovich
 
23.06.18
14:10
(4) суть проблемы, думаю, в том что ндс - это святое, и если математически получилось 0 - копейку все-равно должен :)
6 Darych
 
23.06.18
14:18
(5) автор не понимает, что когда копейки и рубли налоговые идут в анус
7 ---Fix---
 
23.06.18
14:41
Дело не в счете, а в авансе, эта жалкая копейка должна отразиться в авансовой части книги продаж.
(6) не понимаю. Есть какой-то документ разрешающий такие допущения? Я б с радостью туда их отправил
8 NSSerg
 
23.06.18
15:18
(7) По правилам округления округляется до 0.00
Если обязательно должно быть не меньше копейки, то так и напиши
НДС=макс(НДС,0.01);
9 NSSerg
 
23.06.18
15:19
Функция ПолучитьНДСИзСуммыСНДС(пСуммаСНДС)
    Ставка = Константа.ОсновнаяСтавкаНДС.Ставка;
    Возврат Макс(Окр(пСуммаСНДС * Ставка / (100 + Ставка), 2, 1), 0.01);
КонецФункции// ПолучитьНДСИзСуммыСНДС
10 Garykom
 
гуру
23.06.18
15:19
А кто ответит если сумма с НДС 0 руб. 1 копейка то какая внутри сумма НДС?
11 NSSerg
 
23.06.18
15:20
(10) Такая же, как и если сумма с НДС 0руб. 3копейки.
12 Garykom
 
гуру
23.06.18
15:23
(11) Какой то мнимый НДС получается...
13 NSSerg
 
23.06.18
15:23
(10)(11) Думаю что ноль. Вроде нигде нет что сумма НДС должна быть не меньше копейки.
14 Garykom
 
гуру
23.06.18
15:25
(13) Да пишут что при НДС меньше 3 коп. счет-фактуры можно не выставлять.

Но в тоже время эти суммы надо накапливать и как только будет >=4 коп. то выставить.
15 NSSerg
 
23.06.18
15:27
+ (13) В  (0) почему то решил что 0.004xx должно округляться до 0.01 (и это далеко не первая такая тема на форуме), хотя вроде в школе четко учат:

Округление к ближайшему целому (англ. rounding) — наиболее часто используемое округление, при котором число округляется до целого, модуль разности с которым у этого числа минимален. В общем случае, когда число в десятичной системе округляют до N-го знака, правило может быть сформулировано следующим образом: если N+1 знак < 5, то N-й знак сохраняют, а N+1 и все последующие обнуляют;
если N+1 знак ≥ 5, то N-й знак увеличивают на единицу, а N+1 и все последующие обнуляют;
https://ru.wikipedia.org/wiki/Округление
Третий знак после точки "4", и это меньше пяти.
Все числа меньше 0.005 округляются до 0.00, все большие либо равные до 0.01
0,00457627... < 0.005
16 ---Fix---
 
23.06.18
15:38
(15) нас учили округлять с права на лево, по одному разряду, пока не дойдешь до нужного и мой Бух мне утверждает что копейка должна быть... т.е сначала округляю 0,0045 до тысячной, потом до сотой. Спасибо за ответы.
17 NSSerg
 
23.06.18
15:40
Можно по другому объяснить. Округляется до ближайшего.
Что ближе к 0,00457 - 0.00 или 0.01?
Считаем.
|0.00-0,00457|=0.00457
|0.01-0,00457|=0.00543
0.00 ближе.

(16) Не надо говорить глупости.
18 NSSerg
 
23.06.18
15:47
(16) Дай ссылку, или на учебник, или хоть куда. Это правило вы сами с бухшей только что и придумали.
Если википедия не устраивает - вот первая попавшаяся ссылка

http://examchemistry.com/content/lesson/primenenie/taskcourse/okruglenie.html
Правило №2. Если первая из отбрасываемых цифр меньше, чем 5, то усиление не делается.
Пример: Дано число 45,749, которое нужно округлить до десятых. Первая отбрасываемая цифра - 4< 5. Следовательно, последняя из сохраняемых цифр (7) не усиливается, т. е. округленное число будет - 45,7.