|
|
|
Проблема с просчетом копеек в НДС Ø |
☑ | ||
|---|---|---|---|---|
|
0
Impressing3
01.09.05
✎
06:10
|
Добрый День! У меня возникла такая проблема.
Есть расчет СУммы Без НДС - он у меня считает не совсем верно. Точнее, при просчете показывает НДС = 0.006343.....или что-нибудь подобное. Когда вот таким образом показывает, мне нужно, чтобы Сумма Без НДС было =0 , а программа вычисляет это неточно, начинает округлять, и получается 0-01 копейка, чего конечно быть не должно. Я наложил на расчет суммы Без НДС Округление для этих копеек, точнее Сумма = Окр(СуммаБезНДС,0); - теперь он мне в тех случаях, когда нужно, чтобы было 0 , он конечно 0 мне показывает (в частности, и для вышеописанного случая), но и сответственно округляет и Суммы когда реально есть СуммыБезНДС, чего делать конечно не нужно! Посоветуйте, как можно это подправить? |
|||
|
1
Impressing3
01.09.05
✎
06:25
|
Или может быть как-то сделать, чтобы отбрасывался третий знак после запятой и вообще не учитывался?
|
|||
|
2
Glide
01.09.05
✎
08:11
|
НашеЧисло=Цел(НашеЧисло*100)/100
|
|||
|
3
Impressing3
01.09.05
✎
09:33
|
Понял, подобное делал, спасибо за совет. Но оказалось, что он убирает уже Нужгные копейки у тех, у кого Есть суммы БЕЗ НДС. ((.
|
|||
|
4
Джинн
01.09.05
✎
10:07
|
C точки зрения математики задача не имеет решения. Хоть откидываейте, хоть округляйте - сумма не сойдется либо по строкам, либо по столбцам не сойдется. Выход только один - цена должна быть без НДС, НДС начислять на сумму. Тогда все сойдется.
|
|||
|
5
Uho
01.09.05
✎
10:17
|
(0) Джинн абсолютно прав - задача не имеет решения, это можно даже доказать, хотя если вникнуть - и так все понятно.
|
|||
|
6
Impressing3
01.09.05
✎
10:24
|
Спасибо за мнения.
Вообщем оказалось так! Сначала идет обращение к НДС Заказа - такое: НДСЗаказа = БИт76.СКК("С"); Вот. Насколько я понимаю, там сумма появляется при проведении Сч.Ф. Выданной. Далее смотрим насколько мы может закрыть НДС. ЗакрытьНДС = НДСЗаказа * (ОплаченоПоТмпСчетФактуре/ВсегоПоТмпСчетФактуре); И далее начинаем считать сумму Без НДС: СуммаБезНДС = ОплаченоПоТмпСчетФактуре - ЗакрытьНДС*(100 + Константа.ОсновнаяСтавкаНДС.Ставка)/(Константа.ОсновнаяСтавкаНДС.Ставка); Так вот. В последней формуле копейки и вылазят. Я нашел интересную фишку. Вообщем, если обращение НДС Заказа идет реально к 76.Н.1 - то там суммочка стоит, которая в Сч.Ф.Выданной вводится РУЧКАМИ бухгалтером при подсчете суммы НДС на калькуляторе. Соответственно, бухгалтер округляет сумму (копейки). Соотвественно, вот они копейки неровные при просчете суммы Без НДС и вылезли, потому как я взял и вместо такого обращения - НДСЗаказа = БИт76.СКК("С"); Сделал обращение следующее - НДСЗаказа = (ВсегоПоТмпСчетФактуре*Константа.ОсновнаяСтавкаНДС.Ставка)/(100 + Константа.ОсновнаяСтавкаНДС.Ставка); Корректно ли я поступил??? |
|||
|
7
Джинн
01.09.05
✎
10:31
|
Дать заключение о корректности-некорректности сложно. Лично я не понял о чем речь. Что такое НДСЗаказа для меня тайна :) Более понятными терминами можно объяснить?
|
|||
|
8
Impressing3
01.09.05
✎
10:44
|
НДСЗаказа - это сумма НДС, которая берется со счета 76.Н.1. при проведении Сч.Ф. Выданной.
|
|||
|
9
101
01.09.05
✎
12:00
|
4. Прав !
|
|||
|
10
Джинн
01.09.05
✎
12:06
|
То 8. Т.е. проблема в том, что на этом счете у тебя "хвостики" остаются?
|
|||
|
11
Impressing3
01.09.05
✎
12:33
|
2 Джинн:
Нет, хвостики появляются как непонятные копейки по суммам Без НДС после всех вышеописанных пересчетов. а На 76 Н 1 все ок, он правильно считает НДС. |
|||
|
12
Impressing3
01.09.05
✎
12:38
|
)). Тут выяснились еще более интересные подробности! Оказывается, то что я вот парился считать, возможо вообще считать не нужно (т.е. Сумму Без НДС).
Точнее, в сч.Ф. Выданной есть несколько видов услуг. Одна из них не облагается НДС - оказывается, скорее всего ее и нужно записывать в эту переменную (СуммаБезНДС) и выводить. Иначе СуммаБезНДС = 0. Вот. Эта услуга вешается на 90.1.2. И теперь я вот думаю, а как мне из этой табличной части при вот таком коде сделать обращение к данной строке и чтобы он мне суммочку эту вытягивал. А код такой изначально: Пока БИт62.ПолучитьСубконто(ВидыСубконто.СчетаФактурыВыданные)=1 Цикл ТмпСчетФактура=БИт62.Субконто(ВидыСубконто.СчетаФактурыВыданные); ВсегоПоТмпСчетФактуре = Бит62.СКД("С"); ОплаченоПоТмпСчетФактуре = Макс(Мин(ВыпискаВсего, ВсегоПоТмпСчетФактуре), 0); ВыпискаВсего = ВыпискаВсего - ОплаченоПоТмпСчетФактуре; // НДС Если (ФормироватьКнигуПродаж = Да) и (ОплаченоПоТмпСчетФактуре > 0) Тогда БИт76.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ТекущийКонтрагент, 2); БИт76.ИспользоватьСубконто(ВидыСубконто.СчетаФактурыВыданные, ТмпСчетФактура,2); БИт76.ВыполнитьЗапрос(,ТекущийДокументСвязи, "76.Н.1"); Вот. Правильно ли я думаю, что нужно сделать подобного рода обращение: Если ТмпСчетФактура.СтавкаНДС = "Без налога (НДС)" Тогда СуммаБезНДС = ТмпСчетФактура.Сумма; Иначе СуммаБезНДС = 0. Или это как то по другому решается? |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |