1с программное изменение динамического списка

Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента

Для вывода используется используется запрос:

Чтобы при открытии не отображалась информацию по другим клиентам, необходимо установить параметр динамического списка, сделаем это так:

Можно и просто настроить отбор через настройки, используя ЭлементОтбораКомпоновкиДанных

Похожие FAQ

Еще в этой же категории

Как на управляемой форме разместить список регистра сведений с отбором? 15
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом » ДинамическийСписок» В поле » Основная табли Поле выбора

Заполнение списка значений в элементе поле выбора на форме 9
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Форма

Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Форма

Как активизировать, перевести фокус на необходимый элемент на форме? 6
//Текущему Элементу формы присваиваем элемент котровый необходимо активизировать ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле; Форма

Программное добавление элементов на форму 6
ЭлементыФормы (Controls) . Добавить (Add) — Добавляет элемент управления на форму. Синтаксис: Добавить( Тип , Имя , Видимость , ПоместитьНа ) Параметры: Тип (обязательный) Тип: Тип. Тип добавляемого элемента управления: Индикатор; П Посмотреть все в категории Работа с Формой (Диалог) и её элементами

личный блог

Динамический список появился на платформе 8, как отдельный тип данных. Основан он на системе компановки данных и из коробки уже предлагает много «вкусностей» — полнотекстовый поиск, сортировку, отбор, поле поиска, условное оформление. В общем при правильном применении можно убить много зайцев, при помощи динамического списка. Чаще всего его применяют для отображения данных из БД.

В одном из своих проектов, я делал подбор товаров в РМК на основе динамического списка. Получилось надо скзать круто, пользователи были очень довольны скоростью работы и возможностями полнотекстового поиска. Я кажется уже писал об этом в одной из предыдущих записей блога.

Так вот понадобилось мне, программное изменение текста запроса. К счастью решение было найдено довольно быстро и реализация оказалась довольно простой. Код приложу ниже. В моем случае я при установке галки на форме, подменял текст запроса динамического списка. Важными замечанием является, что наименования колонок в обоих запросах должны быть полностью идентичными, чтоб сработал метод описанный мною. На форму я вывел реквизит ОстаткиСклада с типом Булево, и при установке этого значения менял запрос.

Приятным бонусом оказалось, что если в поле поиска уже введено значение, и далее нажать галку которая меняет текст запроса, то в динамический список будут выведены записи с учетом значения значения поиска. Надеюсь данная запись блога будет кому либо полезна.

Guesto notes

При доработке типовых решений для упрощения дальнейшей поддержки и обновления использую программное создание динамического списка и вывод его на форму.

Задача

Считаем, что есть типовая форма списка номенклатуры с динамическим списком. На форму необходимо добавить страницы: на первой выводить типовой список, а на второй список номенклатуры и данные РС «Данные для обработки». На текущий момент форма выглядит так:

Решение

План работ следующий:

  1. Создать страницы на форме;
  2. Переместить типовой динамический список на нужную страницу;
  3. Создать динамический список и вывести его на нужную страницу.

Далее будет показан код по логическим блокам, в конце статьи будет представлен итоговый код

Создание страниц

Собственно создадим группу с видом «Страницы», и в нее добавим две группы с видом «Страница»

Программное формирование реквизитов и элементов формы можно в статье 1С. Программное добавление и удаление реквизитов формы

Перемещение элементов формы

Для перемещения типового динамического списка воспользуемся методом коллекции элементов формы Переместить()

Программное создание динамического списка

Добавляем реквизит формы с типом Динамический список и определяем основные свойства.

Теперь создадим элементы формы относящиеся к динамическому списку

Небольшая хитрость

Как видно из кода, на форме не отображается поле «Ссылка», если на клиенте программно обратиться к текущим данным нашего списка, то свойства ссылка в полученной коллекции не будет. Для предотвращения такой ситуации необходимо указать обязательность использования поля, тогда свойство будет передаваться на клиент всегда

Результат

Теперь проверяем, что у нас получилось. Первая страница, на которую мы перенесли типовой список

Вторая страница с нашим сформированным списком

Оцените статью
Добавить комментарий