Если необходимо вывести данные по произвольному алгоритму, основанному на данных строки динамического списка (например вывести в одной колонке остатки материала по складам с цветовым оформлением отрицательных остатков), то можно использовать событие ПриПолученииДанныхНаСервере(). Оно срабатывает при отображении данных динамического списка на экране, т.е. только для тех строк, которые видит пользователь.
Если группы расположены горизонтально внутри другой группы, то между ними должен появиться вертикальный разделитель, с помощью которого можно управлять шириной группы и подчиненных ей элементов. Если надо убрать вертикальный разделитель, то для вложенных групп надо отключить свойство "Объединенная"
У элемента динамического списка есть свойство "ИзменятьСоставСтрок". Если поставить его равным Ложь, то в форме нельзя создать ни элемент ни группу. Внешне это похоже на то, что у пользователя нет прав на создание, но на самом деле ограничение устанавливается свойством
Настройка отображения полей для выбора видов субконто в зависимости от выбранного счета. Определяется количество доступных субконто, их тип и название.
Если список параметр для отбора строго определен, то реализовать отбор можно двумя способами:
1. Добавляем в запрос динамического списка параметры и устанавливаем их при изменении значений отбора на форме. Используем метод Список.Параметры.УстановитьЗначениеПараметра(<Параметр>, <Значение>).
2. Использовать стандартный механизм отбора динамического списка.
Формы | Просмотров:419 | Добавил:leshic | Дата:27.06.2022
Подсмотрел универсальное решение расчета итогов в динамических списках. Основной принцип следующий:
При создании формы с динамическим списком в дополнительные свойства настройки СКД списка добавляется таблица с указанием имени поля и нужной агрегатной функцией, например "Номер", "Количество". Таблица помещается в хранилище, а хранилище размещается размещается в ветке "РесурсыХранилище".
На форму выводится отдельная кнопка "Расчет итогов". Обновлять итоги постоянно очень затратно по ресурсам и приводит к зависанию.
Расчет итогов производится в общем модуле, в который передаются настройки СКД. Для получения настроек СКД, с учетом всех примененных отборов и поисков есть две волшебные функции: СКД = ЭтотОбъект.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных() и Настройки = ЭтотОбъект.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных().
В полученной СКД программно добавляются группировка и ресурсы (ПоляИтогов), которые определяются из дополнительного свойства "РесурсыХранилище".
Запускается формирование отчета по СКД, получаются значения итогов по ресурсам и программно заполняется текст подвала нужной колонки.