Добрый день! Поджскажите пожалуйста как в отчете СКД прописать если строка пустая то неделать расчет по этой строке.
Скрин выложил - как убрать расчет напротив строки пустой, чтоб она тоже пустая была?
ВЫБОР
КОГДА СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = НЕОПРЕДЕЛЕНО
ИЛИ СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам ЕСТЬ NULL
ТОГДА 0
ИНАЧЕ "расчет"
КОНЕЦ
ПоказатьСкрин выложил - как убрать расчет напротив строки пустой, чтоб она тоже пустая была?
Прикрепленные файлы:
По теме из базы знаний
- Комплексный контроль остатков. Для одного или сразу нескольких логически связанных регистров накопления. Универсальное решение уровня данных для контроля не только складских остатков
- API-интеграция 1С с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress для УТ11, КА2, ERP2, УНФ, БП3, Розница, УТ10, УПП1.3
Найденные решения
Запрос нужно смотреть, чтобы понять что там может быть в "СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам".
Но если ещё включить в условие проверку на 0(ноль) и пустую строку, то точно, исключит:)
Но если ещё включить в условие проверку на 0(ноль) и пустую строку, то точно, исключит:)
ВЫБОР
КОГДА СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = НЕОПРЕДЕЛЕНО
ИЛИ СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам ЕСТЬ NULL
ИЛИ СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = 0
ИЛИ СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = """
ТОГДА 0
ИНАЧЕ "расчет"
КОНЕЦ
(9) ИЛИ очень часто приводит к не оптимальному плану запроса. Когда записей миллиарды - это сразу ощутимо.
Посему лучше взять за правило заменять ИЛИ в запросе на более "приятную" СУБД конструкцию.
для ВЫБОР на
для ГДЕ на
такие конструкции более "понятны" и СУБД и человеку.
А от скопление ИЛИ только рябь в глазах и тормоза.
Посему лучше взять за правило заменять ИЛИ в запросе на более "приятную" СУБД конструкцию.
для ВЫБОР на
Истина В (УсловиеИЛИ_1,... УсловиеИЛИ_N)
для ГДЕ на
ВЫБОР 1 В (
ВЫБРАТЬ 1 ГДЕ УсловиеИЛИ_1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 1 ГДЕ УсловиеИЛИ_2
......
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 1 ГДЕ УсловиеИЛИ_N)
такие конструкции более "понятны" и СУБД и человеку.
А от скопление ИЛИ только рябь в глазах и тормоза.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) не используйте ИЛИ в запросах
в вашем случае лучше так
в вашем случае лучше так
ВЫБРАТЬ
СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам КАК ПФРНаДоплатуШахтерам,
ВЫБОР
КОГДА ИСТИНА В (СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = НЕОПРЕДЕЛЕНО, СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам ЕСТЬ NULL, СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = 0, СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = "")
ТОГДА 0
ИНАЧЕ "Расчет"
КОНЕЦ КАК Доплата
ИЗ
СтраховыеВзносыПоФизическимЛицам КАК СтраховыеВзносыПоФизическимЛицам
Показать
(7)
почему неиспользовать?,да у вас код тоже работает
ВЫБОР КОГДА ИСТИНА В (СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = НЕОПРЕДЕЛЕНО, СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам ЕСТЬ NULL, СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = 0, СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = "") ТОГДА 0 ИНАЧЕ "Расчет"
почему неиспользовать?,да у вас код тоже работает
(9) ИЛИ очень часто приводит к не оптимальному плану запроса. Когда записей миллиарды - это сразу ощутимо.
Посему лучше взять за правило заменять ИЛИ в запросе на более "приятную" СУБД конструкцию.
для ВЫБОР на
для ГДЕ на
такие конструкции более "понятны" и СУБД и человеку.
А от скопление ИЛИ только рябь в глазах и тормоза.
Посему лучше взять за правило заменять ИЛИ в запросе на более "приятную" СУБД конструкцию.
для ВЫБОР на
Истина В (УсловиеИЛИ_1,... УсловиеИЛИ_N)
для ГДЕ на
ВЫБОР 1 В (
ВЫБРАТЬ 1 ГДЕ УсловиеИЛИ_1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 1 ГДЕ УсловиеИЛИ_2
......
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 1 ГДЕ УсловиеИЛИ_N)
такие конструкции более "понятны" и СУБД и человеку.
А от скопление ИЛИ только рябь в глазах и тормоза.
Запрос нужно смотреть, чтобы понять что там может быть в "СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам".
Но если ещё включить в условие проверку на 0(ноль) и пустую строку, то точно, исключит:)
Но если ещё включить в условие проверку на 0(ноль) и пустую строку, то точно, исключит:)
ВЫБОР
КОГДА СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = НЕОПРЕДЕЛЕНО
ИЛИ СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам ЕСТЬ NULL
ИЛИ СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = 0
ИЛИ СтраховыеВзносыПоФизическимЛицам.ПФРНаДоплатуШахтерам = """
ТОГДА 0
ИНАЧЕ "расчет"
КОНЕЦ
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот