Счет на оплату "Интересные условия"

1. Kaspirovsky 215 29.12.16 04:31 Сейчас в теме
Стандартная БП 3,0,44,199 КОРП, серверный вариант

Док-т "Счет покупателю" печатная форма внешняя "Счет на оплату"
В док-те есть "ставки НДС" с "0%" и "Без НДС" но в печатной форме они выводятся одинаково (скрин1) , а нужно чтобы ставка с "0%" выводилась не прочерк (-) а ноль, а "Без НДС" выводился прочерк(-). Вот код условия

..............................................
Если СуммаНДС <> 0 Тогда
НДС = ?(СведенияОДокументе.СуммаВключаетНДС, НСтр("ru='В том числе НДС:'"), НСтр("ru='Сумма НДС:'"));
ВсегоНДС = ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаНДС);
Иначе
НДС = НСтр("ru='Без налога (НДС)'");
ВсегоНДС = НСтр("ru='-'");
КонецЕсли;
.............................................


ЗЫ пробовал ставить ИначеЕсли = 0, но "БезНдс" тоже включает туда..что не нужно
Прикрепленные файлы:
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 62 29.12.16 05:04 Сейчас в теме
(1)в строки выводится по СведенияОДокументе.СуммаВключаетНДС, а не по каждой строке проверяется ставка. если хотите что бы было ноль и прочерк, тогда нужно перелопачивать ТЗ документа и уже тогда полученный результат проверять по нужным Вам условиям.
+
3. Kaspirovsky 215 29.12.16 05:18 Сейчас в теме
(2) А если НЕ ЗначениеЗаполнено, таким не получиться?
+
4. ant1773 5 29.12.16 06:40 Сейчас в теме
(1)
1. Ставка НДС "0%" - это совсем даже не близко к "Без НДС" и требует отдельного подтверждения нулевой ставки. И информационно-техническое сопровождение не подает под обложение по нулевой ставке (это экспортные операции и транзитная/зарубежная перевозка).
2. Условие идет по сумме НДС, чисто математически - она будет равна нулю при любой из ставок - хоть "0%", хоть "Без НДС". Если нужно их разделять - нужно именно анализировать ставки в табличной части документа.
Ради интереса - а как планируется выводить документ, в котором 3 строки - в первой 18%, во второй 0%, в третьей "Без НДС"?
+
5. PhoenixAOD 62 29.12.16 07:01 Сейчас в теме
(4) действительно, интересный вопрос)))
+
6. Kaspirovsky 215 29.12.16 09:23 Сейчас в теме
(4)
Ради интереса - а как планируется выводить документ, в котором 3 строки - в первой 18%, во второй 0%, в третьей "Без НДС"?


Ну один документ такой не будет :) где 0% и без НДС
А вот есть док-ты где ставки 10% 18% в одном, то он просто пишет сумму ндс
+
7. корум 287 29.12.16 09:49 Сейчас в теме
(6)
Ну один документ такой не будет :) где 0% и без НДС

Блажен, кто верует...
ant1773; +1
8. Kaspirovsky 215 29.12.16 10:32 Сейчас в теме
(7)
0% это экспорт, он никак не попадает с другими, вся загвоздка именно в нем, что отображается так же как и без НДС
а остальные что 18%, 10% или ставка "без НДС" в одном док-те, это не особо волнует
+
9. ant1773 5 29.12.16 11:38 Сейчас в теме
(8)
а остальные что 18%, 10% или ставка "без НДС" в одном док-те, это не особо волнует


Тогда в чем проблема - или курочим имеющуюся печатную форму, или делаем свою.
Вместо определения СУММЫ НДС (которая реально будет равна нулю и по нулевой ставке и по "Без НДС") - нужно пробежаться по табличной части и определить - какие там ставки.
+
10. lefthander 29.12.16 11:51 Сейчас в теме
(1)Проверяйте не только сумму НДС но и ставку, если ставкаНДС <> Перенчисления.СтавкиНДС.БезНДС
Что то типа этого.
+
11. Kaspirovsky 215 30.12.16 07:09 Сейчас в теме
(10) Попробовал, вот условие

Если СтавкаНДС <> Перечисления.СтавкиНДС.НДС0 Тогда
			НДС      = ?(СведенияОДокументе.СуммаВключаетНДС, НСтр("ru='В том числе НДС:'"), НСтр("ru='Сумма НДС:'"));
			ВсегоНДС = ОбщегоНазначенияБПВызовСервера.ФорматСумм(СуммаНДС);
		ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС0 Тогда
		НДС      = НСтр("ru='В том числе НДС:'");
		ВсегоНДС = НСтр("ru='0'");
			Иначе
			НДС      = НСтр("ru='Без НДС'");
			ВсегоНДС = НСтр("ru='-'");
		КонецЕсли;
Показать


НО условия ИначеЕсли и Иначе не проходит, а срабатывает сразу условие - Если СтавкаНДС <> Перечисления.СтавкиНДС.НДС0 Тогда....... Хотя ставка ндс = 0%
+
12. корум 287 30.12.16 09:19 Сейчас в теме
(11)
условия ИначеЕсли и Иначе не проходит, а срабатывает сразу условие - Если СтавкаНДС <> Перечисления.СтавкиНДС.НДС0 Тогда....... Хотя ставка ндс = 0%

как напейсал, так и работает.
Условия проверяются по очереди.
И ЕСЛИ тебе программа в отладчике показывает, что СтавкаНДС <> Перечисления.СтавкиНДС.НДС0, ТО МОЖЕТ, ТАК ОНО И ЕСТЬ?
+
13. Kaspirovsky 215 30.12.16 10:25 Сейчас в теме
(12)
СтавкаНДС <> Перечисления.СтавкиНДС.НДС0, ТО МОЖЕТ, ТАК ОНО И ЕСТЬ?


ставка равна нулю там прям это указанно, а условие проходит как будто не равна
+
14. корум 287 30.12.16 10:45 Сейчас в теме
(13)
условие проходит как будто не равна

отладчик в зубы.
СтавкаНДС = 0 не то же самое, что СтавкаНДС = Перечисления.СтавкиНДС.НДС0

Уловил?
Bukaska; +1
15. v3rter 30.12.16 13:11 Сейчас в теме
Возможно так
СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС0")
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот