Запрос не выводить строки если 0 не срабатывает?

1. webresurs 205 16.11.18 06:41 Сейчас в теме
В запросе по условию на количество "<> 0" все равно выводит номенклатуру и пустые ячейки

ПОдскажите как избавиться от строк в трех ячейках которых ноль ?

ХозрасчетныйОстатки_КонОст.КоличествоОстаток
ХозрасчетныйОбороты.КоличествоОборотДт
ХозрасчетныйОстатки_НачОст.КоличествоОстаток

		"ВЫБРАТЬ
		|	ХозрасчетныйОстатки_КонОст.Счет КАК Счет,
		|	ХозрасчетныйОстатки_КонОст.Субконто1 КАК Номенклатура,
		|	NULL КАК СуммаКонОст,
		|	ХозрасчетныйОстатки_КонОст.КоличествоОстаток КАК КоличествоКонОст,
		|	ХозрасчетныйОстатки_КонОст.Субконто2 КАК Склад,
		|	ХозрасчетныйОстатки_КонОст.Организация КАК Организация,
		|	ХозрасчетныйОстатки_КонОст.Подразделение КАК Подразделение,
		|	0 КАК СуммаПоступление,
		|	0 КАК СуммаВыбытие,
		|	0 КАК КоличествоПоступление,
		|	0 КАК КоличествоВыбытие,
		|	0 КАК СуммаНачОст,
		|	0 КАК КоличествоНачОст
		|ПОМЕСТИТЬ ОстаткиИОбороты
		|ИЗ
		|	РегистрБухгалтерии.Хозрасчетный.Остатки(
		|			&КонецПериодаОстатки,
		|			Счет В (&СчетаУчетаСкладТолькоКоличествоИНоменклатура),
		|			&СубконтоНоменклатураИСклад,
		|			ВЫБОР
		|				КОГДА &ЕстьСклад
		|					ТОГДА Субконто2 В ИЕРАРХИИ (&Склады)
		|				ИНАЧЕ ИСТИНА
		|			КОНЕЦ) КАК ХозрасчетныйОстатки_КонОст
		|ГДЕ
		|	ХозрасчетныйОстатки_КонОст.КоличествоОстаток <> 0
		|{ГДЕ
		|	ХозрасчетныйОстатки_КонОст.СуммаОстаток КАК СуммаКонОст,
		|	ХозрасчетныйОстатки_КонОст.КоличествоОстаток КАК КоличествоКонОст}
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	ХозрасчетныйОбороты.Счет,
		|	ХозрасчетныйОбороты.Субконто1,
		|	0,
		|	0,
		|	ХозрасчетныйОбороты.Субконто2,
		|	ХозрасчетныйОбороты.Организация,
		|	ХозрасчетныйОбороты.Подразделение,
		|	NULL,
		|	NULL,
		|	ХозрасчетныйОбороты.КоличествоОборотДт - ХозрасчетныйОбороты.КоличествоКорОборотДт,
		|	NULL,
		|	0,
		|	0
		|ИЗ
		|	РегистрБухгалтерии.Хозрасчетный.Обороты(
		|			&НачалоПериода,
		|			&КонецПериода,
		|			Период,
		|			Счет В (&СчетаУчетаСкладТолькоКоличествоИНоменклатура),
		|			&СубконтоНоменклатураИСклад,
		|			ВЫБОР
		|				КОГДА &ЕстьСклад
		|					ТОГДА Субконто2 В ИЕРАРХИИ (&Склады)
		|				ИНАЧЕ ИСТИНА
		|			КОНЕЦ,
		|			,
		|			) КАК ХозрасчетныйОбороты
		|ГДЕ
		|	ХозрасчетныйОбороты.КоличествоОборотДт <> 0
		|{ГДЕ
		|	ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаПоступление,
		|	ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаВыбытие,
		|	(ХозрасчетныйОбороты.КоличествоОборотДт - ХозрасчетныйОбороты.КоличествоКорОборотДт) КАК КоличествоПоступление,
		|	ХозрасчетныйОбороты.КоличествоОборотКт КАК КоличествоВыбытие}
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	ХозрасчетныйОстатки_НачОст.Счет,
		|	ХозрасчетныйОстатки_НачОст.Субконто1,
		|	0,
		|	0,
		|	ХозрасчетныйОстатки_НачОст.Субконто2,
		|	ХозрасчетныйОстатки_НачОст.Организация,
		|	ХозрасчетныйОстатки_НачОст.Подразделение,
		|	0,
		|	0,
		|	0,
		|	0,
		|	NULL,
		|	ХозрасчетныйОстатки_НачОст.КоличествоОстаток
		|ИЗ
		|	РегистрБухгалтерии.Хозрасчетный.Остатки(
		|			&НачалоПериода,
		|			Счет В (&СчетаУчетаСкладТолькоКоличествоИНоменклатура) {(Счет).*},
		|			&СубконтоНоменклатураИСклад,
		|			ВЫБОР
		|				КОГДА &ЕстьСклад
		|					ТОГДА Субконто2 В ИЕРАРХИИ (&Склады)
		|				ИНАЧЕ ИСТИНА
		|			КОНЕЦ) КАК ХозрасчетныйОстатки_НачОст
		|ГДЕ
		|	ХозрасчетныйОстатки_НачОст.КоличествоОстаток <> 0
		|{ГДЕ
		|	ХозрасчетныйОстатки_НачОст.СуммаОстаток КАК СуммаНачОст,
		|	ХозрасчетныйОстатки_НачОст.КоличествоОстаток КАК КоличествоНачОст}
		|
		|ИНДЕКСИРОВАТЬ ПО
		|	Организация,
		|	Подразделение,
		|	Номенклатура
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////
		|ВЫБРАТЬ
		|	ЦеныНоменклатурыДокументов.Номенклатура КАК Номенклатура,
		|	ЦеныНоменклатурыДокументов.СпособЗаполненияЦены КАК СпособЗаполненияЦены,
		|	ЦеныНоменклатурыДокументов.Цена КАК Цена
		|ПОМЕСТИТЬ ВТЦеныНоменклатурыДокументов
		|ИЗ
		|	РегистрСведений.ЦеныНоменклатурыДокументов КАК ЦеныНоменклатурыДокументов
		|ГДЕ
		|	ЦеныНоменклатурыДокументов.СпособЗаполненияЦены = &СпособЗаполненияЦены
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////
		|ВЫБРАТЬ
		|	Каргаполье_РасчетНЗПРасчет3.Номенклатура КАК Номенклатура,
		|	Каргаполье_РасчетНЗПРасчет3.КонСумма КАК КонСуммаВНач,
		|	Каргаполье_РасчетНЗПРасчет3.КонКол КАК КонКолВНач
		|ПОМЕСТИТЬ ВТПредДокумент
		|ИЗ
		|	Документ.Каргаполье_РасчетНЗП.Расчет3 КАК Каргаполье_РасчетНЗПРасчет3
		|ГДЕ
		|	Каргаполье_РасчетНЗПРасчет3.Ссылка = &Докум
		|	И Каргаполье_РасчетНЗПРасчет3.КонКол <> 0
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////
		|ВЫБРАТЬ
		|	ОстаткиИОбороты.Номенклатура КАК Номенклатура,
		|	СУММА(ОстаткиИОбороты.КоличествоКонОст) КАК КонКол,
		|	СУММА(ОстаткиИОбороты.КоличествоПоступление) КАК ПриходКол,
		|	СУММА(ОстаткиИОбороты.КоличествоНачОст) + СУММА(ОстаткиИОбороты.КоличествоПоступление) - СУММА(ОстаткиИОбороты.КоличествоКонОст) КАК РасходКол,
		|	СУММА(ОстаткиИОбороты.КоличествоНачОст) КАК НачКол,
		|	ВТЦеныНоменклатурыДокументов.Цена КАК ЦенаРеальная,
		|	СУММА(ВТПредДокумент.КонСуммаВНач) КАК НачСумма
		|{ВЫБРАТЬ
		|	Номенклатура.*,
		|	ОстаткиИОбороты.СуммаКонОст,
		|	ОстаткиИОбороты.КоличествоКонОст,
		|	ОстаткиИОбороты.СуммаПоступление,
		|	ОстаткиИОбороты.СуммаВыбытие,
		|	ОстаткиИОбороты.КоличествоПоступление,
		|	ОстаткиИОбороты.КоличествоВыбытие,
		|	ОстаткиИОбороты.СуммаНачОст,
		|	ОстаткиИОбороты.КоличествоНачОст}
		|ИЗ
		|	ОстаткиИОбороты КАК ОстаткиИОбороты
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТЦеныНоменклатурыДокументов КАК ВТЦеныНоменклатурыДокументов
		|		ПО ОстаткиИОбороты.Номенклатура = ВТЦеныНоменклатурыДокументов.Номенклатура
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТПредДокумент КАК ВТПредДокумент
		|		ПО ОстаткиИОбороты.Номенклатура = ВТПредДокумент.Номенклатура
		|ГДЕ
		|	ОстаткиИОбороты.Номенклатура.ВидНоменклатуры <> &ИсключениеВидыНоменклатуры
		|
		|СГРУППИРОВАТЬ ПО
		|	ОстаткиИОбороты.Номенклатура,
		|	ВТЦеныНоменклатурыДокументов.Цена,
		|	ВТПредДокумент.КонСуммаВНач
		|
		|УПОРЯДОЧИТЬ ПО
		|	ОстаткиИОбороты.Номенклатура.Каргополье_ОбозначениеДетали,
		|	Номенклатура
		|{УПОРЯДОЧИТЬ ПО
		|	Номенклатура.*}
		|{ИТОГИ ПО
		|	Номенклатура.*,
		|	КонКол,
		|	ПриходКол,
		|	РасходКол,
		|	НачКол}";
Показать
По теме из базы знаний
Найденные решения
6. lisabet 16.11.18 09:05 Сейчас в теме
Сумма этих полей
webresurs; +1 Ответить
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Aphanas 92 16.11.18 07:44 Сейчас в теме
Возможно, где попадается NULL, а NULL <> 0.
3. webresurs 205 16.11.18 08:00 Сейчас в теме
(2) Делал ЕстьNULL(ХозрасчетныйОстатки_КонОст.КоличествоОстаток, 0 ) <> 0 то же самое
4. Bene_Valete 188 16.11.18 08:04 Сейчас в теме
(3) Поместите результат во во временную таблицу, а потом в выборке из нее наложите условия, перед этим во временной таблице также проверяйте поле на null
ЕстьNULL(ХозрасчетныйОстатки_КонОст.КоличествоОстаток, 0 )
5. webresurs 205 16.11.18 08:14 Сейчас в теме
(4) а как условие сделать на одновременную проверку трех полей в этой строке ?

ХозрасчетныйОстатки_КонОст.КоличествоОстаток
ХозрасчетныйОбороты.КоличествоОборотДт
ХозрасчетныйОстатки_НачОст.КоличествоОстаток

если хоть у одного поля больше 0 то выводить строку, если все три 0 то нет
6. lisabet 16.11.18 09:05 Сейчас в теме
Сумма этих полей
webresurs; +1 Ответить
7. YannikAlx 43 16.11.18 09:51 Сейчас в теме
У вас перепутан порядок полей в объединяемых запросах , там где должно быть количество стоит сумма , которая не факт что будет 0....
СУММА(ОстаткиИОбороты.КоличествоНачОст) + СУММА(ОстаткиИОбороты.КоличествоПоступление) - СУММА(ОстаткиИОбороты.КоличествоКонОст) КАК РасходКол
8. NickNem 3 19.11.18 04:33 Сейчас в теме
Учитывайте еще такой фактор: 2 строки с одинаковой номенклатурой, и, скажем с кол=3 и кол = -3 дадут при группировке строку с кол=0
Оставьте свое сообщение

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