Всем привет!
Ситуация следующая: в УТ 11.3 на форму подбора номенклатуры нужно добавить остатки в разрезе организаций. Количество организаций не фиксированное, будут добавлять, удалять и т.д. Соответственно количество колонок в списке надо определять при создании формы.
Проблема в том, что запрос Списка никаких данных кроме как из справочника номенклатуры не получает, всё получается в общем модуле, а потом как-то заполняет список. Не могу найти где это заполнение происходит, или это механизм платформы? Как тогда это работает?
И вообще,возможно ли программно добавлять колонки в динамический список?
---
решит, если переписать колонки под каждый склад! Программно это сделать легко!
---
вопрос как изменить запрос ДС и добавить программно колонки?
---
Нет, запрос я уже изменил - он формируется в общем модуле ПодборТоваровСервер. Теперь проблема добавить нужные колонки в список, не поломав весь остальной функционал. Вариант просто в списке поменять запрос не подходит - тогда весь существующий механизм получения данных по номенклатуре перестанет работать.
---
так текст запроса тоже можно программно менять же))
В чем проблема? Нет опыта написания кода?
---
Я в курсе. Только пока не совсем понимаю как мне это поможет решить мою задачу.
---
ну сначала динамически изменил запрос. После этого программно создал колонки в форме и заполнил пути из запроса. Все просто!
---
Так запрос мне то что нужно возвращает - я его уже изменил. А на дубли в строках ругается динамический список, а не форма. Проблема в том чтобы настроить вывод данных в колонки а не строку, чтобы не было дублей.
---
раз появились дубли, значит кривой запрос. Динамический список предполагает, что дублей у вас не должно быть!
Переписывайте запрос на объединить!
---
Ну он не кривой, запрос так и задумывался. Я рассчитывал, что можно будет после выполнения запроса, но перед заполнением списка обработать результат так чтобы данные по одинаковым товарам заполнялись в разных колонках, а строка получилась одна.
Но похоже в ДС такого не предусмотрено. В таком случае объединение тоже ничего не решит.
---
решит, если переписать колонки под каждый склад! Программно это сделать легко!
---
А, ну да, точно - по каждой организации отдельное поле можно создать, объединить и сгруппировать по номенклатуре. Должно получится, чё-то сразу не сообразил. Спасибо за совет.
---
а так делать это надо в отдельной форме!
---
Имхо, по сути вопроса о "механизме платформы", информация об остатках - в регистрах накопления Партии товаров на складах, где измерениями являются и номенклатура и организации и склады. К этих регистрам, наверно, и надо делать запросы.
---
Где взять данные я в курсе, вопрос не в этом. Интересует когда и где происходит модификация текста запроса динамического списка.
---
И вообще,возможно ли программно добавлять колонки в динамический список?

Вот тут написано: В помощь начинающим: настройка динамических списков на УФ
---
Не совсем то, что мне нужно, но натолкнуло на мысли. В списке добавлю нулевые поля с псевдонимами как в запросе, а потом на форму буду программно выводить колонки в соответствии с результатом итогового запроса списка. Попробую...
---
Последний вариант тоже не подходит. Нужно всё таки именно в список выводить колонки, а не на форму. Теперь другая проблема: "Обнаружено дублирование ключевых значений в колонках" - запрос списка возвращает остатки товара по разным организациям и естественно появляются дублирующиеся строчки номенклатуры.
Может кто знает как теперь заставить ДС выводить эти данные в колонки и в одну строчку соответственно?
---
А соединение в запросе какое -левое? Может переделать на внутреннее.
---
Да мне то как раз и надо Левое. Смысл в том чтобы в несколько колонок вывести остатки одной и той же номенклатуры но по разным Организациям.
---
Как вариант можно использовать выражение "Сгруппировать по ...номенклатура"
---
Группировка не поможет - организации разные
---
https://wonderland.v8.1c.ru/blog/obrabotka-i-oformlenie-dannykh-dinamicheskogo-spiska/