|
Скрыть команду при пустом списке | ☑ | ||
---|---|---|---|---|
0
AlexYa
25.08.23
✎
11:14
|
Как на 8.3.22 для команды документа, режим использования параметра = множественный, отследить, что на форме списка пустой список (как по отсутствию документов, так и в результате фильтрации в списке на форме), и делать кнопку команды не активной или невидимой?
Речь не о команде на форме, а о команде документа. |
|||
1
AlexeyKh
25.08.23
✎
11:24
|
делают немного по другому
при нажатии кнопки проверяют ТекущуюСтроку или ТекущиеДанные если они = Неопределено просто выходят из обработчика (хоть обдавить на эту кнопку) |
|||
2
AlexYa
25.08.23
✎
11:59
|
При нажатии на кнопку сразу вылетает ошибка
Команда не может быть выполнена для указанного объекта! без захода в обработчик. |
|||
3
AlexeyKh
25.08.23
✎
12:10
|
если это системная/стандартная команда?
как вариант убирайте ее с формы вообще, размещайте свою команду/кнопку в ней проверку на Неопределено (что за команда/кнопка - то?) |
|||
4
AlexYa
05.09.23
✎
23:29
|
Извиняюсь за перерыв. Был оффлайн.
Команда своя собственная. При выделении несколько строк в списке, например, документов, по нажатию на кнопку команды с документами выполняются определённые действия. Но если список пустой (нет документов совсем или под фильтром), то текущий отбор для кнопки тоже пустой. Видимо, вначале происходит системная отработка на пустоту массива отобранных и выдаётся ошибка. А если массив не пуст, происходит переход в обработчик команды. Потому и вопрос, можно как-то вместо системной ошибки выдавать своё предупреждение? А лучше просто деактивировать кнопку команды при пустом списке. |
|||
5
timurhv
05.09.23
✎
23:42
|
Сделать по аналогии с командами печати из формы списка документов:
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт ОрганизацииПечати = ...; // массив КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Идентификатор = "ИдентификаторФормы"; КомандаПечати.Представление = НСтр("ru = 'ПредставлениеФормы'"); УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати,"Организация",ОрганизацииПечати,ВидСравнения.ВСписке); КонецПроцедуры ---------------------- На форме списка документов: #Область ОбработчикиСобытийЭлементовТаблицыФормыСписок &НаКлиенте Процедура СписокПриАктивизацииСтроки(Элемент) // СтандартныеПодсистемы.ПодключаемыеКоманды ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект); // Конец СтандартныеПодсистемы.ПодключаемыеКоманды КонецПроцедуры #КонецОбласти #Область ОбработчикиКомандФормы // СтандартныеПодсистемы.ПодключаемыеКоманды &НаКлиенте Процедура Подключаемый_ВыполнитьКоманду(Команда) ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список); КонецПроцедуры &НаСервере Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Элементы.Список, Результат); КонецПроцедуры &НаКлиенте Процедура Подключаемый_ОбновитьКоманды() ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список); КонецПроцедуры // Конец СтандартныеПодсистемы.ПодключаемыеКоманды #КонецОбласти |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |