|   |   | 
| 
 | 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; КонецЕсли; КонецФункции // глНачисляемыйНДС() | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |