Имя: Пароль:
1C
1С v8
ВидСтавкиНДС (1сБП_3.0)
,
0 aleksejafonkin
 
14.01.19
12:10
Добрый день! Помогите разобраться, как в отчете переделать маленькую часть запроса:

КОГДА &СуммаСНДС
   ТОГДА СебестоимостиПродукции.ЦенаФакт * ВЫБОР                                    
      КОГДА ОтчётыПроизводства.Номенклатура.СтавкаНДС =
            ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
    ИЛИ ОтчётыПроизводства.Номенклатура.СтавкаНДС =
            ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
      ТОГДА 1.18

В номенклатуре 1с-ки избавляются от реквизита СтавкаНДС и вместо него начали использовать ВидСтавкиНДС. Помогите разобрать!
1 ДенисЧ
 
14.01.19
12:15
Заменить СтавкаНДС на ВидСтавкиНДС не предлагать? Или там тип меняется?
2 aleksejafonkin
 
14.01.19
12:21
Само перечисление СтавкаНДС оставляют, и только в справочнике номенклатура его заменяют на ВидСтавкиНДС, который не содержит значений 18,20...
3 ДенисЧ
 
14.01.19
12:24
ВидСтавкиНДС какого типа?
4 Вафель
 
14.01.19
12:24
в каком релизе появился вид ставки?
5 unregistered
 
14.01.19
12:26
(3) Перечисление ВидыСтавокНДС. Значения: - Общая, ОбщаяРасчетная, Пониженная, ПониженнаяРасчетная, Нулевая, БезНДС.
6 aleksejafonkin
 
14.01.19
12:27
(5) Всё верно!
7 aleksejafonkin
 
14.01.19
12:27
Только вот как теперь запрос переделать?
8 ДенисЧ
 
14.01.19
12:28
(7) Ну так сопоставляй, что есть что, и какому бывшему проценту соответствует новый вид...
9 unregistered
 
14.01.19
12:29
(6) Ну так и в чем проблема? У тебя величина ставки зависит от даты. До 1 января 2019 года Общая и ОбщаяРасчетная - 18%, с 1 января - 20%. Вопрос только где в твоём отчете эта самая дата, на которую надо ориентироваться? - дата отчета, какое-то поле в самом отчете, или ещё какая-то дата.
10 aleksejafonkin
 
14.01.19
12:57
(9) Я так понимаю не дату отчета, дату документа?
11 ptiz
 
14.01.19
13:10
(5) Жесть какая!
Потом начнется в запросах: ВЫБОР КОГДА Общая ТОГДА 20
12 hhhh
 
14.01.19
13:11
(10) там хрен поймешь пока. где-то 18 будет, где-то 20.
13 unregistered
 
14.01.19
14:24
(10) > не дату отчета, дату документа?

Так это к тебе вопрос. Нам отсюда не видно. И логику твоего отчета мы не знаем, и того что там в нём есть - тоже.
14 unregistered
 
14.01.19
14:28
(11) > начнется в запросах: ВЫБОР КОГДА Общая ТОГДА 20.

Хуже. Начнется КОГДА Дата < ДАТАВРЕМЯ(2019,1,1) И Общая ТОГДА 18 ИНАЧЕ 20.

Идиотизм. Смысл идеи с общей и пониженной ставками понятен, но реализация - редкостное УГ. Кто обещал 1С-никам, что законодатель не начнёт завтра плодить разнообразие в части пониженных ставок. Сейчас как начнут поддержку отечественного производителя со своей ставкой НДС в каждом секторе - что 1С-ники будут делать? Плодить варианты пониженных ставок или еще одно перечисление запилят "ТипыПониженныхСтавокНДС"?
15 zak555
 
14.01.19
14:28
они там упали на голову ?
16 spiller26
 
14.01.19
14:33
(12) Вообще переделать нужно запрос.
Вообще для чего данный запрос используется?
Реквизит "СтавкиНДС" в справочнике Номенклатура, сделан был для того чтобы ставить по умолчанию Ставку НДС. В документах можно поставить какую угодно ставку НДС при этом.
Зачем привязываться к этому реквизиту для меня непонятно.
17 aleksejafonkin
 
14.01.19
14:40
Спасибо!
18 zak555
 
14.01.19
14:43
(16) нелогично его удалить, а не переименовать в УдалитьСтавкаНДС
19 mastodont
 
14.01.19
14:44
(18) а где его удалили?
20 hhhh
 
14.01.19
14:47
(14) дык есть уже пониженные. Для Крыма, 4 и 2%.
21 DexterMorgan
 
14.01.19
14:48
(14) Добавят еще одно значение ВидыСтавокНДС, ПониженныеУточнение
22 zak555
 
14.01.19
14:49
(19) наврали (
23 unregistered
 
14.01.19
14:50
(20) "Пониженная" - это про ставку 10%.
Крымские 4% и 2% были на переходный период и приравнивались к российским 18%. Данные об этом НДС шли в графу книг покупок и продаж с 18%. Иными словами это относится к Основной ставке.
24 unregistered
 
14.01.19
14:54
Когда уже до них допрёт, что нужен справочник или регистр сведений для хранения значения ставок?
25 DexterMorgan
 
14.01.19
14:55
(14) Ну а РС не добавили со значениями этимх видов ставок?
26 runoff_runoff
 
14.01.19
15:02
(0) замените на ОтчётыПроизводства.Номенклатура.УдалитьСтавкаНДС, и еще несколько релизов отчет протянет..
27 Вафель
 
14.01.19
15:03
а как быть с книгой покупок/продаж на переходный период.
Там же 18% и 20% будут некоторое время
28 aleksejafonkin
 
14.01.19
15:18
(18) нет
29 DexterMorgan
 
14.01.19
15:28
ГЫыы

Функция ОбщаяСтавкаНДС(Период) Экспорт
    
    Если Период < '20190101' Тогда
        Возврат ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18");
    Иначе
        Возврат ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20");
    КонецЕсли;
    
КонецФункции
30 DexterMorgan
 
14.01.19
15:28
Как им не стыдно ток xDDDDD
31 DexterMorgan
 
14.01.19
15:30
Не ну неужели не проще сделать РС со значениями ставок?
32 unregistered
 
14.01.19
15:45
(30) ОЙ, да ладно! Вспомните переходный период с 20% на 18%. *авнокода а-ля (29) был полно в тогдашних конфигурациях на каждом шагу. Постепенно его выпилили. А тут - на тебе - новое значение ставки. Это ж национальный вид спорта - прыжки на собственных граблях.
33 DexterMorgan
 
14.01.19
15:52
(32) Так сколько лет прошло, 1с вона какая крутая стала
34 hhhh
 
14.01.19
15:55
(33) ну, из-за двух строчек целый регистр заводить. Они на это не пойдут.
35 DexterMorgan
 
14.01.19
15:56
(34) Ага, проще в запросах нагавнокодить (14)
36 dft2014
 
15.01.19
10:32
Цитирую партнерку 1С:

Как планируется реализовать ставку НДС 20% в справочнике "Номенклатура"в программах 1С?
Валеев Ренат (1С, Москва) 07.11.2018 15:22

В связи с увеличением общей ставки НДС с 18 до 20 % мы планируем отказаться от хранения ставки НДС в номенклатуре, которая у нас используется для подстановки по умолчанию при вводе документов. Вместо ставки будем хранить новую сущность "Вид ставки НДС", которая может принимать значения:
-Общая
- Общая расчетная
- Пониженная
- Пониженная расчетная
- Нулевая
- Без НДС
- Общая ставка - 18% в 2018 году и 20% в 2019-м.


Вид ставки будет установлен обработчиком обновления.

Для пользователя с точки зрения интерфейса ничего не поменяется, выбирать он будет конкретное значение ставки в реквизите "% НДС", при этом список выбора будет зависеть от текущей даты. Но программа сохранит вид ставки, а не конкретное значение. В модуле менеджера перечисления будет реализована функция, возвращающая ставку НДС (значение перечисления Ставки НДС) в зависимости от вида ставки и даты.

Плюсы решения
-Пользователю ничего не надо делать в новогоднюю ночь или первый рабочий день 2019 года, т.е. отсутствует момент замены ставок в справочнике
-Отсутствует ситуация, когда в 2019 году в справочнике 18, а подставляется 20, и наоборот (мы были бы вынуждены так делать)
-Универсальность на случай появления новой пониженной ставки, изменения существующей пониженной ставки (повышения 10% до 12 и т.п.)

Минусы
-Нужно поддержать изменение в обменах
-Необходим обработчик обновления
37 unregistered
 
15.01.19
10:41
(36) Да это всё и так понятно.
Проблема в том, что решение остаётся по-прежнему дебилистическим и никак не решает проблему изменения величины ставки в будущем. Точнее - это решение переносит эту проблему с одного места на другое. Теперь для определения величины основной или пониженной ставки кругом появится *авнокод, анализирующий дату. А в случае очередных изменений это код будет дополняться анализом новых дат. А в случае появления ставки 12% (пример который приводит представитель самой 1С) это не избавит от необходимости дополнять перечисление СтавкиНДС и опять *авнокодить со втыканием этой ставки во все возможные места.

Хоть режьте меня, но я не понимаю, почему нельзя принять нормально решение со справочником или регистром сведений (или их комбинацией).
38 Rema Dan
 
15.01.19
12:22
(37) Основная идея не в том, чтобы избавится от говнокода, а в том, чтобы всегда можно было однозначно определить ставку НДС. Документы имеют привязку к дате и в них ставка НДС всегда однозначна. Потому в документах ничего и не меняется. А вот идея хранить ставку НДС в чистом виде в справочнике номенклатуры не работает в виду отсутствия привязки номенклатуры к дате. Потому типовые и перестают хранить её в чистом виде в карточке.
Решение со справочником и автоматически заполняемыми предопределёнными элементами справочника действительно могло бы облегчить расчёт процентов в запросах выбирая их из реквизитов, но это другая проблема и 1С сейчас её не решает.
39 ptiz
 
15.01.19
12:41
(38) " в виду отсутствия привязки номенклатуры к дате" - поэтому в нашей самописке ставка НДС сразу была сделана через периодический РС. Куда уж нам до гениев типовой 1С!
40 oksla
 
15.02.19
10:28
если еще тема актуальна (только что наткнулся в самодельной печатной форме УПД):
меняем исходный запрос на конструкцию, типа:

ТОГДА ТаблицаДокумента.Сумма * ВЫБОР
  КОГДА СтавкиНДСНоменклатура.ВидСтавкиНДС = ЗНАЧЕНИЕ(Перечисление.ВидыСтавокНДС.Пониженная)
     ИЛИ СтавкиНДСНоменклатура.ВидСтавкиНДС = ЗНАЧЕНИЕ(Перечисление.ВидыСтавокНДС.ПониженнаяРасчетная)
  ТОГДА 0.1
  КОГДА СтавкиНДСНоменклатура.ВидСтавкиНДС = ЗНАЧЕНИЕ(Перечисление.ВидыСтавокНДС.Общая)
     ИЛИ СтавкиНДСНоменклатура.ВидСтавкиНДС = ЗНАЧЕНИЕ(Перечисление.ВидыСтавокНДС.ОбщаяРасчетная)
  ТОГДА 0.2    
  ИНАЧЕ 0.18
КОНЕЦ

костыль, конечно, но работоспособный
41 Mankubus
 
15.02.19
10:30
(40) а если печатаем документ 18 года?
42 oksla
 
15.02.19
10:57
эт всё зависит от того, что делает твоя печатная форма. моя, например в километровом запросе подготавливает табличную часть счета фактуры в зависимости от вида документа, его даты, настроек учета и фазы луны. я привел конкретный кусочек кода, как заменить выводимую из употребления сущность "СтавкаНДС" (из за чего лезет ошибка) на новую - "ВидСтавкиНДС"
43 oksla
 
15.02.19
11:06
Например, в типовой БП 3.0.67.70 можно заглянуть в ОбщийМодуль.УчетНДС.ТекстЗапросаДанныеДляПечатиСчетовФактур() Именно там используется (и исправлен по сравнению со старыми релизами) новый механизм.
44 Aleksey
 
15.02.19
11:10
(42) т.е. если у тебя будет без НДС, то будет печататься с 0.18?
45 Вафель
 
15.02.19
11:15
так в документах же ставка осталась как СтавкаНДС.
Зачем в запросах юзать ВидСтавки?
46 Вафель
 
15.02.19
11:15
ну и какбы вид ставки НЕ заменяет ставку, а дополняет его
47 unregistered
 
15.02.19
11:32
(41) Это к вопросу о том, что печатные формы вообще не должны ничего рассчитывать.
Максимум - складывать и/или вычитать, когда надо посчитать сумму с НДС (всего), а в документе храниться отдельно СуммаБезНДС и СуммаНДС, или наоборот - посчитать  СуммуБезНДС путем вычитания из СуммаВсего СуммаНДС. Ну и итоги по строкам, листам, колонкам и т.п.
Рассчётов а-ля (40) быть не должно. Если они есть - это ошибка либо проектировщиков данных (недостаточно данных в документе), либо программиста, пишущего обработку печати (не так берёт имеющиеся данные, делая ненужные расчеты).
48 unregistered
 
15.02.19
11:33
(44) > если у тебя будет без НДС.

У него не будет. Ему бухгалетр лично обещала. Клялась здоровьем мамы!
49 oksla
 
15.02.19
11:53
ребята, чем флудить, загляните в конфу, в отладчике, много нового для себя обнаружите. еще раз говорю: гляньте в ОбщийМодуль.УчетНДС.ТекстЗапросаДанныеДляПечатиСчетовФактур() - это ТИПОВОЙ функционал и я не буду здесь приводить несколько тысяч строк кода, чтоб проиллюстрировать, что печформа все таки работает корректно с любым документом, как 2019-го, так и 2018-го года.
так что ёрничество здесь неуместно.
косяков от "большого брата" в связи с переходом НДС18->20 (особенно в запросах) - доюя и больше, еще 100500 релизов вычищать своё же овно будут. в модуле УчетНДС сплошь и рядом гвоздями прибиты ссылки на перечисления НДС, в отчетах (в Компоновках) - тоже (((
когда вручную делал исправления необновляемой УТ для перехода на 20% - просто офигел от количества типовых костылей от 1С.
и вообще, внешние печатные формы/отчеты напрямую оперирующие данными без использования программного интерфейса (который так усиленно двигает 1С) - это зло!
50 oksla
 
15.02.19
11:56
кстати, никогда не видели движения у удаленного/распроведенного документа? милости прошу в типовую ЗУП 3.1, кадровые документы с суффиксом "...Списком"
51 unregistered
 
15.02.19
12:21
(49) > загляните в конфу.

Вот только не надо отмазок типа раз 1С *авнокодит, то и я буду *авнокодить, как в (40).
Что касается запроса в УчетНДС.ТекстЗапросаДанныеДляПечатиСчетовФактур(), то это как раз типичный пример методологического изъяна, когда в определённых случаях для печатной формы счета-фактуры нет данных в исходных документах (в исходном документе, по которому произошел отказ в подтверждении нулевой ставки НДС, ставка 0%, а в счете-фактуре, который в данном случае выписывается должна быть указана ставка 10% или 18%/20%). К твоему творчеству из (40) это не относится.
52 oksla
 
15.02.19
12:40
а, кстати, если шибко правильный, приведи пример реально работающего НЕ овнокода, который будет еще и с типовой совместим? чет я не заметил от тебя ничего конкретного, кроме общих фраз... слабо? в конфу заглянул, молодец, наконец то хоть кто то с ней знаком не понаслышке, но что конкретно предлагаешь изменить? переписать весь блок учета НДС? видел я таких умельцев, они никак с 2017 года теперь обновится не могут... пока одно обновление подготовят - 1С пять новых выпустят...
и это не мое творчество, а 1С; мое творчество работает годами без сбоев и не только на 1С написанное