когда у тебя интерфейс с несколькими ДинамическимиСписками на одной форме, в разных вкладках, например, и есть подчиненные таблицы/поля/элементы возникает проблема, что использование стандартной кнопки Обновить на форме для Динамического списка не покрывает всех необходимых потребностей.
Решение:
- Создать команду-аналог ОбновитьАктивныйДинамическийСписок
- В ее процедуре определять активную вкладку
- По активной владке задавать имя ДинамическогоСписка.
- Вызывать Элементы.ИмяДинамическогоСписка.Обновить() а также все вызовы для события ПриАктивизацииСтроки
Пример:
<code>// АктивныйСписок() - Возвращает ДинамическийСписок или его имя для Активной страницы ОсновнаяПанель этой формы // // Параметры: // ВернутьДинамическийСписок - Булево - = Истина - функция возвращает динамический список активной страницы, // = Ложь - функция возвращает имя динамического списка активной страницы // // Возвращаемое значение: // ДинамическийСписок, Строка - СписокДокументов/СписокДляТЧ // &НаКлиенте Функция АктивныйСписок(Строкой = Истина) ИмяСтраницы = Элементы.Панель.ТекущаяСтраница.Имя; Если ИмяСтраницы = "ГруппаФормыДокументы" Тогда ИмяСписка = "СписокДокументов"; ИначеЕсли ИмяСтраницы = "ГруппаФормыТЧ" Тогда ИмяСписка = "СписокДляТЧ"; КонецЕсли; Если Строкой Тогда Результат = ИмяСписка; Иначе Результат = ЭтаФорма[ИмяТекущейСтраницы]; КонецЕсли; Возврат Результат; КонецФункции // Процедура - Обновить активный список - аналог системной команды платформы для динамического списка чтобы обновлять подчиненные списки без смены текущей строки // // Параметры: // Команда - Команда - любая команда // &НаКлиенте Процедура ОбновитьАктивныйСписок(Команда = Неопределено) ИмяСписка = АктивныйСписок(Ложь); Элементы[ИмяСписка].Обновить(); ОбновитьПодчиненныеДанные(ИмяСписка); КонецПроцедуры </code>
+ There are no comments
Add yours