1. avtom1c 29.12.16 04:31 Сейчас в теме

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

Стандартная БП 3,0,44,199 КОРП, серверный вариант

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

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


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


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

Блажен, кто верует...
8. avtom1c 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. avtom1c 30.12.16 07:09 Сейчас в теме
(10) Попробовал, вот условие

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


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

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


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

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

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

Вакансии

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

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы интеграций (1С)
Москва
зарплата от 150 000 руб.
Полный день

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

Консультант-аналитик 1С (ЗУП)
Санкт-Петербург
Полный день