|
v7: Сумма НДС | ☑ | ||
---|---|---|---|---|
0
KrutoyDron
16.05.12
✎
10:08
|
Всем доброго дня.
Неправильно счиается сумма ндс. Документ РеализацияТоваров. То больше то меньше то нормально. Подскажите куда копать если у кого-то такое было. |
|||
1
lamme
16.05.12
✎
10:10
|
в Отладчик или ЖКК еще не посылали ?
|
|||
2
Voronve
16.05.12
✎
10:10
|
пример
|
|||
3
miki
16.05.12
✎
10:10
|
"в т. ч." и "сверху"
|
|||
5
KrutoyDron
16.05.12
✎
10:13
|
3,120.40 ндс 12% сумма 228.69 а должно 334.33
|
|||
6
VladZ
16.05.12
✎
10:15
|
(0) "То больше, то меньше" - гы-гы-гы... Компьютер обрел разум и проворачивает финансовые махинации на НДСе! :)
|
|||
7
VladZ
16.05.12
✎
10:16
|
(5) Отладчик в руки и вперед!
|
|||
8
Grobik
16.05.12
✎
10:16
|
(5) Нобелевской премией здесь пахнет.
|
|||
9
Aleksey
16.05.12
✎
10:17
|
(8) Или Казахстаном
|
|||
10
BlackSeaCat
16.05.12
✎
10:22
|
(8) Не пахнет: за математику нобелевку не дают.
|
|||
11
Азазелло
16.05.12
✎
10:23
|
(10) за экономику дают, можно будет натянуть :)
|
|||
12
BlackSeaCat
16.05.12
✎
10:27
|
(11) Не, государство не допустит: смотри (5) - это ж сколько НДС оно недополучит?
|
|||
13
Азазелло
16.05.12
✎
10:29
|
(12) смотря чье государство :) может мы имеем дело с диссидентом?
|
|||
14
Grobik
16.05.12
✎
10:32
|
(10) По физике получит как Шредингер. Страшно представить наш мир если открытие KrutoyDron применят на практике. На Альфу-Центавра долетим.
|
|||
15
1Сергей
16.05.12
✎
10:32
|
а чё про конфу никто не спрашивает?
|
|||
16
miki
16.05.12
✎
10:32
|
(5)формулу-то засвети
|
|||
17
KrutoyDron
16.05.12
✎
10:39
|
Кароч по статистике ндс чаще сумма меньше но есть и больше пример : 490.10 ндс 12% 92.59 а должно 52.51.
Бывает что вообще ндс не показывает. |
|||
18
1Сергей
16.05.12
✎
10:40
|
(17) конфа поди перепаханная или вообще из разряда народного творчества?
|
|||
19
Азазелло
16.05.12
✎
10:41
|
(17) см (16) а иначе на пустом месте топчемся
|
|||
20
Hipernate
16.05.12
✎
10:42
|
НДС 12% не бывает
|
|||
21
KrutoyDron
16.05.12
✎
10:44
|
бух учет для казахстана
//****************************************************************************** // глПересчетТаблЧасти(Конт,ИмяРеквизита) // // Параметры: // Конт - контекст документа, // ИмяРеквизита - идентификатор текущей колонки табличной части, // // Возвращаемое значение: // Нет // // Описание: // Производится пересчет зависимых реквизитов при редактировании реквизита // табличной части в документах, имеющих сумму и налоги в табличной части, // однако не во всех. В некоторых документах (Например, Поступление ТМЦ Импорт) // не используется в связи со специфичностью пересчета. // Процедура глПересчетТаблЧасти(Конт,ИмяРеквизита) Экспорт Перем СуммаВклНДС, СуммаВклАкциз; Перем ЕстьЦена, ЕстьСумма, ЕстьСуммаБезНалогов; Перем ЕстьВалюта, ЕстьНДС, ЕстьАкциз, ЕстьВариантРасчетаНалогов; Перем ЦенаЦены; ДатаДок = Конт.ДатаДок; ЕстьНДС = глЕстьРеквизитТабличнойЧасти("СуммаНДС", Конт.Вид()); ЕстьКоличество = глЕстьРеквизитТабличнойЧасти("Количество", Конт.Вид()); ЕстьАкциз = глЕстьРеквизитТабличнойЧасти("СуммаАкциза", Конт.Вид()); ЕстьЦена = глЕстьРеквизитТабличнойЧасти("Цена", Конт.Вид()); ЕстьСумма = глЕстьРеквизитТабличнойЧасти("Сумма", Конт.Вид()); ЕстьСуммаБезНалогов = глЕстьРеквизитТабличнойЧасти("СуммаБезНалогов", Конт.Вид()); ЕстьВалюта = глЕстьРеквизитШапки("Валюта", Конт.Вид()); ЕстьВариантРасчетаНалогов = глЕстьРеквизитШапки("ВариантРасчетаНалогов", Конт.Вид()); Если ИмяРеквизита = "ТМЦ" Тогда ТМЦ = Конт.ТМЦ; Если ПустоеЗначение(ТМЦ) = 1 Тогда // Очистили Номенклатуру Если ЕстьКоличество <> 0 Тогда Конт.Количество = 0; КонецЕсли; Если ЕстьЦена <> 0 Тогда Конт.Цена = 0; КонецЕсли; Если ЕстьСумма <> 0 Тогда Конт.Сумма = 0; КонецЕсли; Если ЕстьСуммаБезНалогов <> 0 Тогда Конт.СуммаБезНалогов = 0; КонецЕсли; Если ЕстьНДС <> 0 Тогда Конт.СуммаНДС = 0; КонецЕсли; Если ЕстьАкциз <> 0 Тогда Конт.СуммаАкциза = 0; КонецЕсли; Возврат; КонецЕсли; // Заполним ставки НДС Если ЕстьНДС <> 0 Тогда Если ЕстьВариантРасчетаНалогов <> 0 Тогда СтавкаНДС = глВернутьПараметр(Конт.ВариантРасчетаНалогов, "СтавкаНДС"); КонецЕсли; Если ПустоеЗначение(СтавкаНДС) = 1 Тогда Если ТипЗначенияСтр(ТМЦ) = "Строка" Тогда // если ТМЦ в документе строкового типа, то выражение // ТМЦ.СтавкаНДС.Получить(Конт.ДатаДок) - выдаст ошибку. ИначеЕсли Метаданные.Справочник(ТМЦ.Вид()).Реквизит("СтавкаНДС").Выбран() = 1 Тогда СтавкаНДС = ТМЦ.СтавкаНДС.Получить(Конт.ДатаДок); КонецЕсли; КонецЕсли; Если ПустоеЗначение(СтавкаНДС) = 1 Тогда СтавкаНДС = глЗначениеПоУмолчанию("ОсновнаяСтавкаНДС"); КонецЕсли; Если ПустоеЗначение(СтавкаНДС) = 1 Тогда // если все же НДС не установлен, то сообщим об этом // и не будем считать НДС Сообщить("Не определена ставка НДС - сумма НДС не посчитана! Для расчета суммы НДС установите ставку НДС в строке документа, или укажите вариант расчета налогов!"); Возврат; КонецЕсли; Конт.СтавкаНДС = СтавкаНДС; КонецЕсли; // получим параметры цены Если ЕстьЦена = 0 Тогда Возврат; // в документе цены нет КонецЕсли; // Заполним ставки акциза Если ЕстьАкциз <> 0 Тогда СтавкаАкциза = глВернутьПараметр(Конт.ВариантРасчетаНалогов, "СтавкаАкциза"); Если ПустоеЗначение(СтавкаАкциза) = 1 Тогда Если ТипЗначенияСтр(ТМЦ) = "Строка" Тогда // если ТМЦ в документе строкового типа, то выражение // ТМЦ.СтавкаАкциза.Получить(Конт.ДатаДок) - выдаст ошибку. ИначеЕсли Метаданные.Справочник(ТМЦ.Вид()).Реквизит("СтавкаАкциза").Выбран() = 1 Тогда СтавкаАкциза = ТМЦ.СтавкаАкциза.Получить(Конт.ДатаДок); Иначе СтавкаАкциза = ПолучитьПустоеЗначение("Справочник.СтавкиАкциза"); КонецЕсли; КонецЕсли; Конт.СтавкаАкциза = СтавкаАкциза; КонецЕсли; Если ЕстьВалюта <> 0 Тогда Валюта = Конт.Валюта; Курс = Конт.Курс; Иначе Валюта = глВалютаБухУчета; Курс = глКурсДляВалюты(глВалютаБухУчета, Конт.ДатаДок); КонецЕсли; // получим параметры цены Если глВернутьЦену(Конт, ТМЦ, ДатаДок, ЕстьВалюта, ЦенаЦены) <> 1 Тогда Возврат; // для товара цены нет КонецЕсли; Конт.Цена = ЦенаЦены; Если ЕстьНДС <> 0 Тогда глРасчетНалога(Конт); КонецЕсли; ИначеЕсли ИмяРеквизита = "Количество" Тогда Если ЕстьЦена = 0 Тогда Возврат; // в документе цены нет КонецЕсли; Если ЕстьНДС <> 0 Тогда Конт.СуммаНДС = 0; глРасчетНалога(Конт); КонецЕсли; ИначеЕсли ИмяРеквизита = "Цена" Тогда Если ЕстьНДС <> 0 Тогда Конт.СуммаНДС = 0; глРасчетНалога(Конт); КонецЕсли; ИначеЕсли ИмяРеквизита = "Сумма" Тогда Если ЕстьЦена <> 0 Тогда Конт.Цена = глРассчитатьЦену(Конт); КонецЕсли; Если ЕстьНДС <> 0 Тогда Конт.СуммаНДС = 0; глРасчетНалога(Конт,1); КонецЕсли; ИначеЕсли ИмяРеквизита = "СтавкаНДС" Тогда Если ЕстьНДС <> 0 Тогда глРасчетНалога(Конт); КонецЕсли; ИначеЕсли ИмяРеквизита = "СтавкаАкциза" Тогда Если ЕстьАкциз <> 0 Тогда глРасчетНалога(Конт); КонецЕсли; КонецЕсли; // если нет налогов, то их считать не нужно Если (ЕстьВариантРасчетаНалогов = 0) или (ЕстьСуммаБезНалогов = 0) Тогда Возврат; КонецЕсли; Если ЕстьНДС <> 0 Тогда СуммаНДС = Конт.СуммаНДС; Иначе СуммаНДС = 0; КонецЕсли; Если ЕстьАкциз <> 0 Тогда СуммаАкциза = Конт.СуммаАкциза; Иначе СуммаАкциза = 0; КонецЕсли; // если редактируем сумму, то нам не нужно, // чтобы она сама пересчиталась еще раз Если (ИмяРеквизита = "Сумма") или (ИмяРеквизита = "СуммаНДС") Тогда Конт.СуммаБезНалогов = Конт.Сумма - СуммаНДС - СуммаАкциза; Возврат; КонецЕсли; СуммаВклНДС = глВернутьПараметр(Конт.ВариантРасчетаНалогов, "СуммаВключаетНДС"); СуммаВклАкциз = глВернутьПараметр(Конт.ВариантРасчетаНалогов, "СуммаВключаетАкциз"); // включен ли НДС в сумму Если ЕстьКоличество <> 0 Тогда Если СуммаВклНДС = 1 Тогда Конт.Сумма = Конт.Цена * Конт.Количество; Иначе Конт.Сумма = Конт.Цена * Конт.Количество + СуммаНДС; КонецЕсли; КонецЕсли; // включен ли акциз в сумму Если СуммаВклАкциз <> 1 Тогда Конт.Сумма = Конт.Сумма + СуммаАкциза; КонецЕсли; Конт.СуммаБезНалогов = Конт.Сумма - СуммаНДС - СуммаАкциза; КонецПроцедуры // глПересчетТаблЧасти() |
|||
22
BlackSeaCat
16.05.12
✎
10:45
|
(17) Кароч, ты же крутой - кидай компу предъяву: харош рамсить, это ж бабло в натуре!
|
|||
23
Азазелло
16.05.12
✎
10:46
|
(21) не совсем то. глРасчетНалога нужен еще
|
|||
24
KrutoyDron
16.05.12
✎
10:46
|
//******************************************************************************
// глРасчетНалога(Конт) // // Параметры: // Конт - контекст документа // ОтСуммы - признак расчета налогов от суммы // // Возвращаемое значение: // Нет // // Описание: // Рассчитываем сумму налога, подставляем ее в документ // Процедура глРасчетНалога(Конт, ОтСуммы = 0) Экспорт Если глЕстьРеквизитШапки("ВариантРасчетаНалогов", Конт.Вид()) <> 0 Тогда СуммаВклНДС = глВернутьПараметр(Конт.ВариантРасчетаНалогов, "СуммаВключаетНДС"); СуммаВклАкциз = глВернутьПараметр(Конт.ВариантРасчетаНалогов, "СуммаВключаетАкциз"); Иначе СуммаВклНДС = 1; СуммаВклАкциз = 1; КонецЕсли; СтавкаНДС = Конт.СтавкаНДС.Ставка; Если глЕстьРеквизитТабличнойЧасти("ТаможеннаяСтоимость", Конт.Вид()) <> 0 Тогда // Таможенная стоимость в Поступлении ТМЗ по импорту СуммаВклНДС = 0; БазаНалога = Конт.ТаможеннаяСтоимость; ИначеЕсли (ОтСуммы = 1) или (глЕстьРеквизитТабличнойЧасти("Количество", Конт.Вид()) = 0) Тогда СуммаВклНДС = 1; БазаНалога = Конт.Сумма; Иначе БазаНалога = Конт.Цена * Конт.Количество; КонецЕсли; СуммаАкциза = 0; Если глЕстьРеквизитТабличнойЧасти("СтавкаАкциза", Конт.Вид()) <> 0 Тогда КоэффициентПересчета = 1; Если ТипЗначенияСтр(Конт.ТМЦ) = "Справочник" Тогда Если (Конт.ТМЦ.Вид() = "Номенклатура") или (Конт.ТМЦ.Вид() = "Материалы") Тогда Если Конт.ТМЦ.КоэффициентПересчета <> 0 Тогда КоэффициентПересчета = Конт.ТМЦ.КоэффициентПересчета; КонецЕсли; КонецЕсли; КонецЕсли; Конт.СуммаАкциза = Окр(Конт.Количество * Конт.СтавкаАкциза.Ставка / КоэффициентПересчета, 2); СуммаАкциза = Окр(Конт.Количество * Конт.СтавкаАкциза.Ставка / КоэффициентПересчета, 2); КонецЕсли; Если (СуммаВклАкциз <> 1) и (ОтСуммы <> 1 ) Тогда БазаНалога = БазаНалога + СуммаАкциза; КонецЕсли; Если СуммаВклНДС = 1 Тогда Конт.СуммаНДС = Окр(БазаНалога * глВыделяемыйНДС(СтавкаНДС), 2); Иначе Конт.СуммаНДС = Окр(БазаНалога * глНачисляемыйНДС(СтавкаНДС), 2); КонецЕсли; КонецПроцедуры //глРасчетНалога() |
|||
25
1Сергей
16.05.12
✎
10:46
|
(21) смотри на каждый товар какая ставка ндс установлена
|
|||
26
KrutoyDron
16.05.12
✎
10:51
|
везде 12%
|
|||
27
1Сергей
16.05.12
✎
10:52
|
(26) на дату документа. Если перепровести, исправляется?
|
|||
28
KrutoyDron
16.05.12
✎
10:52
|
само прикольно когда в таблице перевыбор ндс сделаешь он пересчитает правильно
|
|||
29
miki
16.05.12
✎
10:52
|
а теперь ещё:
глНачисляемыйНДС() глВыделяемыйНДС() |
|||
30
1Сергей
16.05.12
✎
10:54
|
(28) ну, вот и ответ
|
|||
31
KrutoyDron
16.05.12
✎
10:56
|
(30) так там стоит 12 а я просто перевыбираю тоже самое 12
|
|||
32
KrutoyDron
16.05.12
✎
10:59
|
//******************************************************************************
// глВыделяемыйНДС(Ставка) // // Параметры: // Ставка - значение типа "Перечисление.СтавкиНДС" // // Возвращаемое значение: // Числовой коэффициент НДС. // // Описание: // По ставке НДС (Перечисление) получаем числовой коэффициент НДС, на который // необходимо умножить число при выделении НДС (если НДС включен в сумму) для // получения суммы НДС. // Функция глВыделяемыйНДС(Ставка) Экспорт Если ПустоеЗначение(Ставка)=1 Тогда Возврат 0; Иначе Возврат Ставка/(100+Ставка); КонецЕсли; КонецФункции //глВыделяемыйНДС() |
|||
33
KrutoyDron
16.05.12
✎
11:01
|
//******************************************************************************
// глНачисляемыйНДС(Ставка) // // Параметры: // Ставка - значение типа "Перечисление.СтавкиНДС". // // Возвращаемое значение: // Числовой коэффициент НДС. // // Описание: // По ставке НДС (Перечисление) получаем числовой коэффициент НДС, на который // необходимо умножить число при начислении НДС сверху для получения суммы НДС. // Функция глНачисляемыйНДС(Ставка) Экспорт Если ПустоеЗначение(Ставка) = 1 Тогда Возврат 0; Иначе Возврат Ставка/100; КонецЕсли; КонецФункции // глНачисляемыйНДС() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |