|   |   | 
| 
 | Скрыть команду при пустом списке | ☑ | ||
|---|---|---|---|---|
| 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 = 'ПредставлениеФормы'"); УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(КомандаПечати,"Организация",ОрганизацииПечати,ВидСравнения.ВСписке); КонецПроцедуры ---------------------- На форме списка документов: #Область ОбработчикиСобытийЭлементовТаблицыФормыСписок &НаКлиенте Процедура СписокПриАктивизацииСтроки(Элемент) // СтандартныеПодсистемы.ПодключаемыеКоманды ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект); // Конец СтандартныеПодсистемы.ПодключаемыеКоманды КонецПроцедуры #КонецОбласти #Область ОбработчикиКомандФормы // СтандартныеПодсистемы.ПодключаемыеКоманды &НаКлиенте Процедура Подключаемый_ВыполнитьКоманду(Команда) ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.Список); КонецПроцедуры &НаСервере Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Элементы.Список, Результат); КонецПроцедуры &НаКлиенте Процедура Подключаемый_ОбновитьКоманды() ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список); КонецПроцедуры // Конец СтандартныеПодсистемы.ПодключаемыеКоманды #КонецОбласти | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |