«И какой же русский не любит быстрой езды?» … и быстрого обновления данных на экране. Ну нравится мне динамический список. Одно нажатие и р-р-раз и все изменилось. А тут еще статьи попались:
- https://wonderland.v8.1c.ru/blog/razvitie-dinamicheskikh-spiskov-s-proizvolnymi-zaprosami/ Развитие динамических списков с произвольными запросами
- https:// /news/2017-12-26-many-values-in-one-cell/ про вывод произвольных данных в динамических списках
- https://wonderland.v8.1c.ru/blog/poluchenie-dannykh-dinamicheskogo-spiska/ получение данных динамического списка
… и решил я попробовать объединить все это в одном отчете (3 в одном), а заодно и разобраться в возможностях использования динамического списка.
Первая проблема возникла при поиске отчета, в котором все эти возможности можно было использовать, так как в статьях 1 и 2 использовались совершенно разные объекты. Пришлось придумывать, как мне сначала показалось, нечто оторванное от жизни. Вот что получилось.
В данном отчете выводятся данные по Основным Средствам (ОС) и ТМЦ на определенную дату. В качестве дополнительной информации по каждому объекту выводятся либо наличие (и количество) объектов на каждом складе (в подразделении), либо стоимость (определяемая по последней операции) (Рис. 1 и 2). Имеется возможность распечатки полученных данных.
Теперь немного о реализации. Основой отчета является динамический список, в котором используется произвольный запрос без основной таблицы, а именно простое объединение двух запросов по справочникам ОС и Номенклатура. Для уменьшения количества отобранных данных отбираются только ОС и ТМЦ, присутствующие на задаваемую дату остатков. В качестве ключа можно было бы использовать только ссылку на объект, но я решил добавить еще поле «Тип» (ОС или ТМЦ), формируемое в запросе.
Вид дополнительной информации (ДопПараметр: наличие или стоимость) передается в уже отобранные данные списка по методике статьи 2. В процедуре «СписокПриПолученииДанныхНаСервере» производится расчет и заполнение ДопПараметра. Добавление в список ключей поля «Тип» упростило алгоритм расчета, но усложнило поиск нужной строки дин. списка, так как поиск ведется по ключу, а его надо сформировать (при 2 и более полях ключей). Здесь выбор за программистом. В данном отчете я использовал для поиска предварительно сформированное соответствие (Ссылка – ключ строки списка).
Печать полученных данных (Рис.3) реализована по методике, предложенной в статье 3. Однако получаемые данные не содержат значений ДопПараметра, поэтому потребовалось написание кода аналогичного процедуре «СписокПриПолученииДанныхНаСервере».
В целом отчет оказался нужным для поиска однотипных объектов, поступивших на разные счета . Большим достоинством является возможность использования полнотекстового поиска (Рис.2).
Работа отчета проверялась на платформе 8.3.20.1674 конфигурация Бухгалтерия предприятия КОРП 3.0.116.27.