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

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% и без НДС

Блажен, кто верует...
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

Уловил?
15. v3rter 30.12.16 13:11 Сейчас в теме
Возможно так
СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС0")
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день