Имя: Пароль:
1C
1С v8
Какай типовой процедурой можно пересчитать сумму (НДС)
,
0 malder
 
29.01.12
20:11
Делаю внешнюю печатную форму, нужно выводить цену без ндс, беру из табличной части цену, но она может в себя уже содержать ндс, какой типовой процедурой можно сделать перерасчет ???
1 Поpyчик-4
 
29.01.12
20:20
Конфа какая?
2 malder
 
29.01.12
20:22
Управление торговым предприятием
3 malder
 
29.01.12
20:24
// Производит пересчет цен при изменении флагов учета налогов.
// Пересчет зависит от способа заполнения цен, при заполнении По ценам номенклатуры (при продаже)
// хочется избегать ситуаций, когда компания  «теряет деньги» при пересчете налогов.
// Поэтому если в документе флаг "Учитывать налог" выключен, то цены должны браться напрямую из справочника,
// потому что хочется продавать по той же цене, независимо от режима налогообложения.
// Например, если отпускная цена задана с НП для избежания ошибок округления, то это не значит,
// что при отпуске без НП мы должны продать дешевле. Если же флаг учета налога в документе включен,
// то цены должны пересчитываться при подстановке в документ:
// налог должен включаться или не включаться в зависимости от флага включения налога в типе цен.
// При заполнении по ценам контрагентов (при покупке) хочется хранить цены поставщиков.
// Поэтому нужно пересчитывать всегда по установленным флагам в документе и в типе цен.
// Это гарантирует, что при записи цен в регистр и последующем их чтении,
// например, при заполнении следующего документа, мы с точностью до ошибок округления при пересчете
// получим те же самые цены.
//
// Параметры:
//  Цена                - число, пересчитваемое значение цены,
//  СпособЗаполненияЦен - ссылка на перечисление СпособыЗаполненияЦен, определяет способ расчета,
//                          "при продаже" или "при покупке", см описание функции,
//  ЦенаВключаетНДС     - булево, определяет содержит ли переданное значение цены НДС,
//  УчитыватьНДС        - булево, определяет должно ли новое значение цены учитвать НДС,
//  СуммаВключаетНДС    - булево, определяет должно ли новое значение цены включать НДС,
//  СтавкаНДС           - число, ставка НДС,
//
// Возвращаемое значение:
//  Числое, новое значение цены.
//
Функция ПересчитатьЦенуПриИзмененииФлаговНалогов(Цена, СпособЗаполненияЦен, ЦенаВключаетНДС,
                       УчитыватьНДС, СуммаВключаетНДС, СтавкаНДС) Экспорт


   // Инициализация переменных
   НадоВключитьНДС  = Ложь;
   НадоИсключитьНДС = Ложь;
   НоваяЦена         = Цена;
   Если СпособЗаполненияЦен = Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры Тогда
       
       Если УчитыватьНДС Тогда
           Если СуммаВключаетНДС
              И (НЕ ЦенаВключаетНДС) Тогда
               
               // Надо добавлять НДС      
               НадоВключитьНДС = Истина;
           ИначеЕсли (НЕ СуммаВключаетНДС)
                   И ЦенаВключаетНДС  Тогда
               
               // Надо исключать НДС      
               НадоИсключитьНДС = Истина;
           КонецЕсли;
       КонецЕсли;
       
   Иначе // Надо пересчитывать строго по флагам включения
       
       Если УчитыватьНДС Тогда
           Если СуммаВключаетНДС
              И (НЕ ЦенаВключаетНДС) Тогда
               
               // Надо добавлять НДС      
               НадоВключитьНДС = Истина;
           ИначеЕсли (НЕ СуммаВключаетНДС)
                   И ЦенаВключаетНДС  Тогда
               
               // Надо исключать НДС      
               НадоИсключитьНДС = Истина;
           КонецЕсли;
       Иначе
           Если ЦенаВключаетНДС Тогда
               // Надо исключать НДС
               НадоИсключитьНДС = Истина;
           КонецЕсли;
       КонецЕсли;
   КонецЕсли;
   
   
   Если НадоИсключитьНДС Тогда
       НоваяЦена = (НоваяЦена * 100) / (100 + СтавкаНДС);
   КонецЕсли;
   
   Если НадоВключитьНДС Тогда
       НоваяЦена = (НоваяЦена * (100 + СтавкаНДС)) / 100;
   КонецЕсли;

   Возврат НоваяЦена;

КонецФункции // ПересчитатьЦенуПриИзмененииФлаговНалогов()
4 malder
 
29.01.12
20:24
посмотри пожалуйста может оно?
5 KRV
 
29.01.12
20:27
Оглсите весь списк пжалста
6 ale-sarin
 
29.01.12
20:38
У документа есть реквизит "СуммаВключаетНДС", или как-то так. Смотри.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.