База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как программно изменить динамический список в 1С? › RE: Как программно изменить динамический список в 1С?
Для программного изменения динамического списка на управляемой форме 1С (версии 8.3) используется работа с реквизитом формы типа «Динамический список». Основные шаги:
1. **Доступ к реквизиту динамического списка**
Обычно динамический список — это реквизит формы, например:
|
1 2 |
1C ДинамическийСписок = ЭтаФорма.ДинамическийСписокИмя; |
2. **Изменение текста запроса**
Если динамический список построен на произвольном запросе, можно изменить текст запроса:
|
1 2 |
1C ДинамическийСписок.ТекстЗапроса = НовыйТекстЗапроса; |
3. **Установка параметров запроса**
Если в запросе используются параметры, их можно установить так:
|
1 2 |
1C ДинамическийСписок.Параметры.УстановитьЗначениеПараметра("ИмяПараметра", Значение); |
4. **Обновление данных динамического списка**
После изменения запроса или параметров нужно обновить данные:
|
1 2 |
1C ДинамическийСписок.Обновить(); |
5. **Пример процедуры обновления динамического списка с параметром**
|
1 2 3 4 5 6 7 |
1C &НаКлиенте Процедура ОбновитьДинамическийСписок(КлиентСсылка) ДинамическийСписок = ЭтаФорма.ДинамическийСписокФинансы; ДинамическийСписок.Параметры.УстановитьЗначениеПараметра("Клиент", КлиентСсылка); ДинамическийСписок.Обновить(); КонецПроцедуры |
6. **Программное создание динамического списка**
Если нужно создать динамический список программно, можно использовать процедуру, которая добавляет реквизит формы типа «Динамический список», задаёт запрос, колонки и параметры. Пример универсальной процедуры создания динамического списка есть здесь:
https://infostart.ru/1c/articles/728597/
7. **Обновление отображения формы**
После обновления данных динамического списка можно обновить отображение формы:
|
1 2 |
1C ЭтаФорма.ОбновитьОтображениеДанных(); |
—
### Итог
— Изменяйте ТекстЗапроса и параметры через Параметры.УстановитьЗначениеПараметра.
— Вызывайте метод Обновить() для обновления данных.
— При необходимости обновляйте отображение формы.
—
Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/1657.html
https://infostart.ru/1c/articles/728597/
https://helpf.pro/faq82/view/1658.html