В Динамическом списке данные в одну строку

1. Hot_Serg 6 04.12.20 05:55 Сейчас в теме
В форме списка Номенклатуры внизу сделан Динамический список с колонками Склад (перечисляет строками все склады, на котором есть остатки), колонка Количество на этих складах, колонка Свободный остаток (Количество - Количество в резерве) и колонка СкладыРезерва (на которых зарезервирован товар). Когда в верхнем списке Номенклатуры встаём на позицию (не группу), то внизу отображает информацию по остаткам. Но если товар зарезервирован на нескольких складах, то отображает один склад в несколько строк с разными складами резерва.
Как сделать так, чтобы Склад был одной строкой, а СкладыРезерва перечислялись в одну строку?

Вот сам Запрос Динамического списка:

ВЫБРАТЬ
	ОстаткиТоваров.Склад КАК Склад,
	СУММА(ВЫРАЗИТЬ(ОстаткиТоваров.КоличествоОстаток КАК ЧИСЛО(15, 3))) КАК Количество,
	СУММА(ВЫРАЗИТЬ(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ЧИСЛО(15, 3))) КАК ЗАБРОНИРОВАТЬ,
	СУММА(ВЫРАЗИТЬ(ОстаткиТоваров.КоличествоОстаток - ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ЧИСЛО(15, 3))) КАК СвободныйОстаток
ИЗ
	РегистрНакопления.ПартииТоваровНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ОстаткиТоваров
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыВРезервеНаСкладахОстатки
		ПО ОстаткиТоваров.Склад.Ссылка = ТоварыВРезервеНаСкладахОстатки.Склад

СГРУППИРОВАТЬ ПО
	ОстаткиТоваров.Склад
Показать


Результат прикреплён:
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Drivingblind 232 04.12.20 06:10 Сейчас в теме
Для колонки "Склады, для которых забронировано" какой путь к данным? В запросе по ней информация не получается
3. Drivingblind 232 04.12.20 06:11 Сейчас в теме
По таблице предполагается делать поиски, отборы, сортировки?
5. Hot_Serg 6 04.12.20 06:32 Сейчас в теме
(3) Только чтобы Склады для бронирования в одну строку
4. Hot_Serg 6 04.12.20 06:29 Сейчас в теме
Вверху наверное не тот Запрос.
Пытался так сделать:
ВЫБРАТЬ
	ОстаткиТоваров.Склад КАК Склад,
	СУММА(ВЫРАЗИТЬ(ОстаткиТоваров.КоличествоОстаток КАК ЧИСЛО(15, 3))) КАК Количество,
	СУММА(ВЫРАЗИТЬ(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ЧИСЛО(15, 3))) КАК ЗАБРОНИРОВАТЬ,
	СУММА(ВЫРАЗИТЬ(ОстаткиТоваров.КоличествоОстаток - ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ЧИСЛО(15, 3))) КАК СвободныйОстаток,
	ВЫРАЗИТЬ(ТоварыВРезервеНаСкладахОстатки.СкладДляБрони.Наименование КАК СТРОКА(100)) КАК СкладыБрони
ИЗ
	РегистрНакопления.ПартииТоваровНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ОстаткиТоваров
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыВРезервеНаСкладахОстатки
		ПО ОстаткиТоваров.Склад.Ссылка = ТоварыВРезервеНаСкладахОстатки.Склад

СГРУППИРОВАТЬ ПО
	ОстаткиТоваров.Склад,
	ВЫРАЗИТЬ(ТоварыВРезервеНаСкладахОстатки.СкладДляБрони.Наименование КАК СТРОКА(100))
Показать
6. Drivingblind 232 04.12.20 07:00 Сейчас в теме
(4) Как вариант, можно сделать так: у динамического списка есть событие ПриПолученииДанныхНаСервере. Там можно программно сгруппировать и объединить строки так, как вам нужно
7. Hot_Serg 6 04.12.20 07:07 Сейчас в теме
(6) Я так и уже и подумываю, т.к. в самом Динамическом запросе не получается.
Попробовал, но не могу передать позицию Номенклатуры, т.к. ПриПолученииДанныхНаСервере с &НаСервереБезКонтекста.
8. Drivingblind 232 04.12.20 07:42 Сейчас в теме
(7) вам в процедуру ничего не нужно передавать из контекста формы. Есть параметр "Строки". Работайте с ним
9. Hot_Serg 6 07.12.20 08:07 Сейчас в теме
Сделал в Запросе так:
ВЫБРАТЬ
ОстаткиТоваров.Склад КАК Склад,
СУММА(ВЫРАЗИТЬ(ОстаткиТоваров.КоличествоОстаток КАК ЧИСЛО(15, 3))) КАК Количество,
СУММА(ВЫРАЗИТЬ(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ЧИСЛО(15, 3))) КАК ЗАБРОНИРОВАТЬ,
СУММА(ВЫРАЗИТЬ(ОстаткиТоваров.КоличествоОстаток - ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ЧИСЛО(15, 3))) КАК СвободныйОстаток,
МАКСИМУМ(ТоварыВРезервеНаСкладахОстатки.СкладДляБрони) КАК СкладыБрони
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ОстаткиТоваров
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыВРезервеНаСкладахОстатки
ПО ОстаткиТоваров.Склад.Ссылка = ТоварыВРезервеНаСкладахОстатки.Склад

СГРУППИРОВАТЬ ПО
ОстаткиТоваров.Склад

Результат на скриншоте (не отображает все склады в поле Склады, для которых забронировано)
Прикрепленные файлы:
Оставьте свое сообщение

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