Часто используемые и часто же забываемые функции для расчетов с НДС.
Модуль УчетНДСУПКлиентСервер:
Модуль УчетНДСКлиентСервер
Модуль УчетНДСУПКлиентСервер:
// Функция возвращает процент ставки НДС.
//
// Параметры:
// СтавкаНДС - ПеречислениеСсылка.СтавкиНДС - Ставка НДС.
//
// Возвращаемое значение:
// Число - Процент ставки НДС.
//
Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт
//
// Параметры:
// СтавкаНДС - ПеречислениеСсылка.СтавкиНДС - Ставка НДС.
//
// Возвращаемое значение:
// Число - Процент ставки НДС.
//
Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт
// Рассчитывает сумму НДС исходя из суммы и флагов налогообложения.
//
// Параметры:
// Сумма - Число - сумма от которой надо рассчитывать налоги;
// СтавкаНДС - Число - процентная ставка НДС.
// СуммаВключаетНДС - Булево - признак включения НДС в сумму ("внутри" или "сверху");
// НалогообложениеНДС - ПеречислениеСсылка.ТипыНалогообложенияНДС - налогообложение документа
//
// Возвращаемое значение:
// Число - полученная сумма НДС.
//Функция РассчитатьСуммуНДС(Сумма, СтавкаНДС, СуммаВключаетНДС = Истина, НалогообложениеНДС = Неопределено) Экспорт
//
// Параметры:
// Сумма - Число - сумма от которой надо рассчитывать налоги;
// СтавкаНДС - Число - процентная ставка НДС.
// СуммаВключаетНДС - Булево - признак включения НДС в сумму ("внутри" или "сверху");
// НалогообложениеНДС - ПеречислениеСсылка.ТипыНалогообложенияНДС - налогообложение документа
//
// Возвращаемое значение:
// Число - полученная сумма НДС.
//Функция РассчитатьСуммуНДС(Сумма, СтавкаНДС, СуммаВключаетНДС = Истина, НалогообложениеНДС = Неопределено) Экспорт
Модуль УчетНДСКлиентСервер
// Производит пересчет цен при изменении флагов учета налогов.
// Пересчет зависит от способа заполнения цен, при заполнении По ценам номенклатуры (при продаже)
// хочется избегать ситуаций, когда компания «теряет деньги» при пересчете налогов.
// Поэтому если в документе флаг "Учитывать налог" выключен, то цены должны браться напрямую из справочника,
// потому что хочется продавать по той же цене, независимо от режима налогообложения.
// Например, если отпускная цена задана с НП для избежания ошибок округления, то это не значит,
// что при отпуске без НП мы должны продать дешевле. Если же флаг учета налога в документе включен,
// то цены должны пересчитываться при подстановке в документ:
// налог должен включаться или не включаться в зависимости от флага включения налога в типе цен.
// При заполнении по ценам контрагентов (при покупке) хочется хранить цены поставщиков.
// Поэтому нужно пересчитывать всегда по установленным флагам в документе и в типе цен.
// Это гарантирует, что при записи цен в регистр и последующем их чтении,
// например, при заполнении следующего документа, мы с точностью до ошибок округления при пересчете
// получим те же самые цены.
//
// Параметры:
// Цена - Число - Пересчитываемое значение цены.
// ЦенаВключаетНДС - Булево - Определяет содержит ли переданное значение цены НДС.
// СуммаВключаетНДС - Булево - Определяет должно ли новое значение цены включать НДС.
// СтавкаНДС - Число - Ставка НДС.
//
// Возвращаемое значение:
// Число - Новое значение цены.
//
Функция ПересчитатьЦенуПриИзмененииФлаговНалогов(Цена, ЦенаВключаетНДС, СуммаВключаетНДС, СтавкаНДС) Экспорт
// Пересчет зависит от способа заполнения цен, при заполнении По ценам номенклатуры (при продаже)
// хочется избегать ситуаций, когда компания «теряет деньги» при пересчете налогов.
// Поэтому если в документе флаг "Учитывать налог" выключен, то цены должны браться напрямую из справочника,
// потому что хочется продавать по той же цене, независимо от режима налогообложения.
// Например, если отпускная цена задана с НП для избежания ошибок округления, то это не значит,
// что при отпуске без НП мы должны продать дешевле. Если же флаг учета налога в документе включен,
// то цены должны пересчитываться при подстановке в документ:
// налог должен включаться или не включаться в зависимости от флага включения налога в типе цен.
// При заполнении по ценам контрагентов (при покупке) хочется хранить цены поставщиков.
// Поэтому нужно пересчитывать всегда по установленным флагам в документе и в типе цен.
// Это гарантирует, что при записи цен в регистр и последующем их чтении,
// например, при заполнении следующего документа, мы с точностью до ошибок округления при пересчете
// получим те же самые цены.
//
// Параметры:
// Цена - Число - Пересчитываемое значение цены.
// ЦенаВключаетНДС - Булево - Определяет содержит ли переданное значение цены НДС.
// СуммаВключаетНДС - Булево - Определяет должно ли новое значение цены включать НДС.
// СтавкаНДС - Число - Ставка НДС.
//
// Возвращаемое значение:
// Число - Новое значение цены.
//
Функция ПересчитатьЦенуПриИзмененииФлаговНалогов(Цена, ЦенаВключаетНДС, СуммаВключаетНДС, СтавкаНДС) Экспорт
Комментариев нет:
Отправить комментарий