Заблокировать кнопку на время выполнения команды
Всем привет. Подскажите пожалуйста. Есть форма УФ. На ней команда, которая выполняет определенный алгоритм. Если нажать на эту кнопку 10 раз быстро, то алгоритм выполнится 10 раз - как можно на время выполнения алгоритма заблокировать кнопку? Пробовал Доступность переключать у кнопки, ТолькоПросмотр у группы - не помогает. Есть еще варианты?)
П.С. раз уж создал тему то задам сразу и второй вопрос - как отключить выделение строки в ТЗ на форме при открытии? При активизации строки я отключил, но при старте формы не получается.
П.С. раз уж создал тему то задам сразу и второй вопрос - как отключить выделение строки в ТЗ на форме при открытии? При активизации строки я отключил, но при старте формы не получается.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не поможет. Как верно сказали в (4) - стек кликов запоминается (уж в web-клинете точно). Программно это не решить, имхо.
Есть вариант просто ограничить выполнение команды "один раз за время жизни формы".
Или - при первом выполнении записывать информацию о её выполнении куда-нибудь в реквизит формы, а при втором - спрашивать пользюка про уверенность в своих действиях...
То есть выполнение команды запускать только при положительном ответе пользюка (если команда уже выполнялась, булев реквизит формы - Истина).
Ответ не требуется, если команда еще не выполнялась (булев реквизит формы - Ложь).
Есть вариант просто ограничить выполнение команды "один раз за время жизни формы".
Или - при первом выполнении записывать информацию о её выполнении куда-нибудь в реквизит формы, а при втором - спрашивать пользюка про уверенность в своих действиях...
То есть выполнение команды запускать только при положительном ответе пользюка (если команда уже выполнялась, булев реквизит формы - Истина).
Ответ не требуется, если команда еще не выполнялась (булев реквизит формы - Ложь).
(7) Никак.
Но, можно пойти по предыдущему принципу - сохранять где-то признак "Это первое открытие формы" из обработчика "ПриСозданииНаСервере()", и в зависимости от его значения - принимать решение о выполнении обработчика "ПриАктивизацииСтроки()".
"Чтобы продать что-то ненужное, надо сначала купить что-то ненужное!" (С)
Но, можно пойти по предыдущему принципу - сохранять где-то признак "Это первое открытие формы" из обработчика "ПриСозданииНаСервере()", и в зависимости от его значения - принимать решение о выполнении обработчика "ПриАктивизацииСтроки()".
"Чтобы продать что-то ненужное, надо сначала купить что-то ненужное!" (С)
Нашлось решение - если кому понадобится в будущем.
Весь алгоритм из команды выносим в отдельную процедуру, а в саму команды подключаем обработчик ожидания. Т е так:
Весь алгоритм из команды выносим в отдельную процедуру, а в саму команды подключаем обработчик ожидания. Т е так:
&НаКлиенте
Процедура ОК(Команда)
ЭтаФорма.ПодключитьОбработчикОжидания("ОбработкаНажатияКнопки", 0.2, Истина);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаНажатияКнопки()
ТУТ АЛГОРИТМ!
КонецПроцедуры
Показать
(23) Какой именно код? Код решения вопроса про блокировку кнопки или код, который снимает выделение строки в ТЗ?
Если первое то проблема частично решилась обработкой ожидания, если второе, то на активизацию строки я повесил
Элемент.ВыделенныеСтроки.Очистить();
И теперь если перещелкивать мышкой то строки не выделяются, но вот если открыть форму то пока строку не выбрал первая всеравно выделяется, даже если при открытии формы прописать очищение выделенных строк у ТЗ
Если первое то проблема частично решилась обработкой ожидания, если второе, то на активизацию строки я повесил
Элемент.ВыделенныеСтроки.Очистить();
И теперь если перещелкивать мышкой то строки не выделяются, но вот если открыть форму то пока строку не выбрал первая всеравно выделяется, даже если при открытии формы прописать очищение выделенных строк у ТЗ
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот