Имя: Пароль:
1C
1C 7.7
v7: Счет-фактура НДС 0%
0 ArtYst
 
26.07.12
13:00
Добрый день! Помогите вывести в печатную форму ставку НДС 0%

[CODE]    Док.ВыбратьСтроки();
   Пока Док.ПолучитьСтроку() = 1 Цикл
       
       МнЧ.НоваяСтрока();
       
       ВывелиСтроку     = 1;
       МнЧ.Номенклатура = ?(ПустоеЗначение(Док.НаименованиеНоменклатуры)=1,СокрЛП(Док.Номенклатура.Артикул)+" "+СокрЛП(Док.Номенклатура.ПолнНаименование),СокрЛП(Док.НаименованиеНоменклатуры));
       МнЧ.Единица      = Док.Единица;
       МнЧ.Количество   = Док.Количество;
       МнЧ.АкцизЦена    = " без акциза ";
       Если Док.Валюта = глРубли Тогда
           СуммаПеч    = Док.Сумма;
           СуммаНДСПеч = Док.СуммаНДС;
           ЦенаПеч        = Док.Цена;
       Иначе    
           СуммаПеч    = глПересчет(Док.Сумма, Док.Валюта, Док.Курс, Константа.ОсновнаяВалюта, КурсРублей);
           СтавкаНДС   = Док.Номенклатура.СтавкаНДС.Ставка;
           Если Док.СуммаВклНДС=1 Тогда
               _СуммаНДС=СуммаПеч*СтавкаНДС/(100+СтавкаНДС);
           Иначе
               _СуммаНДС=СуммаПеч*СтавкаНДС/100;
           КонецЕсли;
           СуммаНДСПеч = _СуммаНДС;
           ЦенаПеч     = ?(Док.Количество = 0, 0, СуммаПеч/Док.Количество);
           //СуммаНДСПеч = глПересчет(Док.СуммаНДС, Док.Валюта, Док.Курс, Константа.ОсновнаяВалюта, КурсРублей);
           //ЦенаПеч      = глПересчет(Док.Цена, Док.Валюта, Док.Курс, Константа.ОсновнаяВалюта, КурсРублей);
       КонецЕсли;
       Если ПустоеЗначение(Док.Сумма) = 1 Тогда
           МнЧ.Цена        = " ----- ";
           МнЧ.Сумма        = " ----- ";
           МнЧ.СтавкаНДС    = " Без НДС ";
           МнЧ.СуммаНДС    = " -- ";
           //МнЧ.СуммаНП        = " -- ";
           МнЧ.ВсегоСНДС    = " ----- ";
       Иначе
           МнЧ.Сумма        = глФРМ(СуммаПеч - СуммаНДСПеч);
           ИтогСумма        = ИтогСумма + СуммаПеч;
           ИтогСуммаНДС    = ИтогСуммаНДС + СуммаНДСПеч;
           МнЧ.Цена        = ?(Док.Количество = 0, 0, глФРМ(ЦенаПеч - (СуммаНДСПеч/Док.Количество)));
           МнЧ.СтавкаНДС    = ?(Док.СтавкаНДС.Ставка = 0, " Без НДС ", Строка(Док.СтавкаНДС));
           МнЧ.СуммаНДС    = ?((Док.СтавкаНДС.Ставка = 0) или (ПустоеЗначение(Док.СтавкаНДС) = 1), " -- ", глФРМ(СуммаНДСПеч));
           МнЧ.ВсегоСНДС    = глФРМ(СуммаПеч);                                                
       КонецЕсли;[/CODE]
1 zak555
 
26.07.12
13:00
зачем велокат изобретаешь ?
2 ArtYst
 
26.07.12
13:08
:) (1) А как проще тогда?
У меня для пустого значения НДС - выводится безНДС, ну тут просьба бухгалтеров чтобы  Налоговая ставка 0% выводилась.
3 BlackSeaCat
 
26.07.12
13:46
(2) Выбери в документе соответствующую ставку.

Только сомневаюсь я, что это ДЕЙСТВИТЕЛЬНО нужно.
4 Aleksey
 
26.07.12
13:50
(3) ему не поможет, ибо

?(Док.СтавкаНДС.Ставка = 0, " Без НДС ", Строка(Док.СтавкаНДС)
);
5 ArtYst
 
26.07.12
14:02
(4)
нужно на печать /"о%/"  и другой вариант /"Без НДС/"
6 BlackSeaCat
 
26.07.12
14:04
(4) И что? Экспортеры вообще не могут напечатать в 7.7 с/ф со ставкой 0%?
7 Надсмотрщик
 
26.07.12
14:08
Поставь галочку на форме "Облагается НДС по ставке 0%"
8 Aleksey
 
26.07.12
14:13
(6) Код читать не учили?

Что без НДС, что с ндс 0% - реквизит Ставка у справочника СтавкаНДС = 0

Отсюда вывод, чтобы он не ставил, у него будет всегда выводится "Без НДС"

Вообщем код править надо
9 ale-sarin
 
26.07.12
14:16
(6) Да. Это так.
(8) +1. Я так и делал.
10 BlackSeaCat
 
26.07.12
14:25
(8) Код типовой или топикстартера? Если второе, то нафиг нужно.

(9) См. (7) - открой для себя флажок "Облагается НДС по ставке 0%".
11 Aleksey
 
26.07.12
14:27
(10) Я хз чей код (0)
12 zak555
 
26.07.12
20:49
видел тут самоделку по печати НДС по ставке 0 %
13 v4442
 
26.07.12
20:55
в комплексной
в перечислении СтавкиНДС добавить НДС0



Функция глНачисляемыйНДС(Ставка) Экспорт
   Если ПустоеЗначение(Ставка)=1 Тогда
       Возврат 0;
   ИначеЕсли(Ставка=Перечисление.СтавкиНДС.БезНДС) или (Ставка=Перечисление.СтавкиНДС.НДС0)  Тогда
       Возврат 0;
   ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС10) Тогда
       Возврат 0.1;
   ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС20) Тогда
       Возврат 0.2;
   ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС18) Тогда
       Возврат 0.18;
   ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС9_09) Тогда
       Возврат 0.09998900010999890001099989000 // Это 0.0909/0.9091;
   ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС16_67) Тогда
       Возврат 0.20004800192007680307212288492 // Это 0.1667/0.8333, только более точно в последнем знаке;
   Иначе
       Сообщить("Функция глНачисляемыйНДС(Ставка): неверная ставка");
       Возврат 0;
   КонецЕсли;
КонецФункции //глНачисляемыйНДС()
14 zak555
 
26.07.12
20:56
(13) полагаю, что в ТиСе тоже =)
15 zak555
 
26.07.12
20:56
*тоже самое
16 ale-sarin
 
26.07.12
21:10
(10) Она мне известна. Это в счет-фактуре. А в "Оказание услуг" или Реализации?
17 BlackSeaCat
 
26.07.12
22:19
(16) А автор про какой документ спрашивает, а?
18 zak555
 
26.07.12
22:48
СФ
19 ale-sarin
 
27.07.12
09:57
(17) а-а-а, Согласный, слеп.