Отобразить нули в табличном документе, но при этом скрыть в списке

1. 24.01.21 04:13 Сейчас в теме
Ситуация нелепая. Была конфигурация УТ 11.4, доработанная мною года 3 назад. В частности, в справочнике "Номенклатура" в списке отображались количества на складах, но у отсутствующих на складах товаров нули не отображались (визуально не удобно видеть в таблице большое количество нулей). При нажатии "Вывести в список" - "В табличный документ" количества товаров отображались с нулями, потом этот документ выгружался в интернет-магазин.

Сейчас решили обновить конфигурацию и все доработки перенести в Расширение конфигурации. Все перенес, а вот с нулями не могу понять, как я это сделал. Старая конфигурация имеется на руках, но не могу найти в ней отличие, которое отображает нули в табличном документе.
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
11. Sashares 20 24.11.22 16:05 Сейчас в теме
(1)Некропостинг конечно, но.
Решается в 2 действия:
1 - формат для нуля
2 - условное оформление для колонки, чтобы не выводились значения, если ноль.
Прикрепленные файлы:
12. user856012 13 24.11.22 16:10 Сейчас в теме
(11)
Некропостинг конечно
И не только у вас: https://forum.infostart.ru/forum9/topic94270/

P.S. Что примечательно - на ту же тему. Случайность? ;-)
13. Sashares 20 24.11.22 16:11 Сейчас в теме
(12)Да я из нее и перешел, из 8 сообщения =)
14. user856012 13 24.11.22 16:13 Сейчас в теме
(13) Ааа, значит - заразный некропостинг? Ну, после ковида нас этим не удивишь...
Sashares; +1 Ответить
2. user729873 2 24.01.21 04:20 Сейчас в теме
в настройках формата "представление нуля" смотрели?
Прикрепленные файлы:
3. DarkDaemon 24.01.21 14:06 Сейчас в теме
(2) Да, смотрел. Если ставлю ЧН=0, то нули отображаются и в списке номенклатуры, и в табличном документе. Если ставлю вручную в табличном документе ЧН=0, то нули в нем не появляются
4. antz 24.01.21 14:17 Сейчас в теме
Так вроде "Вывести список" вшита в платформу и ее не очень-то доработаешь.
5. DarkDaemon 24.01.21 14:25 Сейчас в теме
(4)
писок" вшита в платформу и ее не очень-то доработаешь

Ну вот я как-то сделал в предыдущей конфигурации. Сам уже не помню, как... Но точно помню, что особо не мудрил, сделал буквально несколько действий или пару строчек кода. Может подскажете, куда посмотреть? Может из-за релиза конфигурации что-то поменялось? Сейчас скринов накидаю.
6. DarkDaemon 24.01.21 16:41 Сейчас в теме
Вот скриншоты и код запроса из старой конфигурации, который выводит список номенклатуры. В новой код такой же.

ВЫБРАТЬ
	СпрНоменклатура.Ссылка КАК Ссылка,
	СпрНоменклатура.Код КАК Код,
	СпрНоменклатура.Наименование КАК Наименование,
	СпрНоменклатура.Артикул КАК Артикул,
	СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
	СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
	СпрНоменклатура.Родитель КАК Родитель,
	ВЫБОР
		КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества
			ТОГДА 4 + ВЫБОР
					КОГДА СпрНоменклатура.ПометкаУдаления
						ТОГДА 1
					ИНАЧЕ 0
				КОНЕЦ + ВЫБОР
					КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
						ТОГДА 0
					ИНАЧЕ 2
				КОНЕЦ
		ИНАЧЕ ВЫБОР
				КОГДА СпрНоменклатура.ПометкаУдаления
					ТОГДА 1
				ИНАЧЕ 0
			КОНЕЦ + ВЫБОР
				КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
					ТОГДА 0
				ИНАЧЕ 2
			КОНЕЦ
	КОНЕЦ КАК ИндексКартинки,
	ТоварыНаСкладахОстатки1.ВНаличииОстаток КАК ВосМарта,
	ТоварыНаСкладахОстатки2.ВНаличииОстаток КАК Малышева,
	ТоварыНаСкладахОстатки3.ВНаличииОстаток КАК Оптовый,
	ТоварыНаСкладахОстатки4.ВНаличииОстаток КАК Основной,
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
ИЗ
	Справочник.Номенклатура КАК СпрНоменклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&КонПериода, Склад = &Склад1) КАК ТоварыНаСкладахОстатки1
		ПО (ТоварыНаСкладахОстатки1.Номенклатура = СпрНоменклатура.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&КонПериода, Склад = &Склад2) КАК ТоварыНаСкладахОстатки2
		ПО (ТоварыНаСкладахОстатки2.Номенклатура = СпрНоменклатура.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&КонПериода, Склад = &Склад3) КАК ТоварыНаСкладахОстатки3
		ПО (ТоварыНаСкладахОстатки3.Номенклатура = СпрНоменклатура.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&КонПериода, Склад = &Склад4) КАК ТоварыНаСкладахОстатки4
		ПО (ТоварыНаСкладахОстатки4.Номенклатура = СпрНоменклатура.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонПериода, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
		ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка)
ГДЕ
	НЕ СпрНоменклатура.ЭтоГруппа
{ГДЕ
	(СпрНоменклатура.Ссылка В
			(ВЫБРАТЬ
				Сегменты.Номенклатура
			ИЗ
				РегистрСведений.НоменклатураСегмента КАК Сегменты
			ГДЕ
				Сегменты.Сегмент = &СегментНоменклатуры))}
Показать
Прикрепленные файлы:
7. Volosokrad1990 13.02.21 19:54 Сейчас в теме
(6)

Доброго времени суток!

Попробуйте в запросе динамического списка данный кусок:

ТоварыНаСкладахОстатки1.ВНаличииОстаток КАК ВосМарта,
ТоварыНаСкладахОстатки2.ВНаличииОстаток КАК Малышева,
ТоварыНаСкладахОстатки3.ВНаличииОстаток КАК Оптовый,
ТоварыНаСкладахОстатки4.ВНаличииОстаток КАК Основной,

Переделать на:

ЕСТЬNULL(ТоварыНаСкладахОстатки1.ВНаличииОстаток, 0) КАК ВосМарта,
ЕСТЬNULL(ТоварыНаСкладахОстатки2.ВНаличииОстаток, 0) КАК Малышева,
ЕСТЬNULL(ТоварыНаСкладахОстатки3.ВНаличииОстаток, 0) КАК Оптовый,
ЕСТЬNULL(ТоварыНаСкладахОстатки4.ВНаличииОстаток, 0) КАК Основной,

Суть в том, что при левом соединении с таблицей остатков, у строк без остатка(где не найдена связь) значение возвращаемое в запросе NULL.
8. DarkDaemon 15.02.21 09:23 Сейчас в теме
(7)

Доброго времени суток!

Попробуйте в запросе динамического списка данный кусок:

ТоварыНаСкладахОстатки1.ВНаличииОстаток КАК ВосМарта,
ТоварыНаСкладахОстатки2.ВНаличииОстаток КАК Малышева,
ТоварыНаСкладахОстатки3.ВНаличииОстаток КАК Оптовый,
ТоварыНаСкладахОстатки4.ВНаличииОстаток КАК Основной,

Переделать на:

ЕСТЬNULL(ТоварыНаСкладахОстатки1.ВНаличииОстаток, 0) КАК ВосМарта,
ЕСТЬNULL(ТоварыНаСкладахОстатки2.ВНаличииОстаток, 0) КАК Малышева,
ЕСТЬNULL(ТоварыНаСкладахОстатки3.ВНаличииОстаток, 0) КАК Оптовый,
ЕСТЬNULL(ТоварыНаСкладахОстатки4.ВНаличииОстаток, 0) КАК Основной,

Суть в том, что при левом соединении с таблицей остатков, у строк без остатка(где не найдена связь) значение возвращаемое в запросе NULL.
Показать


Я так пробовал, нули отображаются в списке номенклатуры, что не удовлетворяет условиям задачи :( Уже всю голову сломал, не понимаю, как у меня получилось на старой конфигурации так сделать. Может в конфигурации дело...
9. Volosokrad1990 15.02.21 12:56 Сейчас в теме
(8) Попробуйте так
Прикрепленные файлы:
10. DarkDaemon 28.02.21 01:32 Сейчас в теме
(9) В печатной форме все хорошо, нули есть, но тогда в списке номенклатур везде нули, что не устраивает пользователей :(
Прикрепленные файлы:
Оставьте свое сообщение
Вакансии
Ведущий разработчик 1С
Новосибирск
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Ведущий Консультант/Аналитик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

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

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