Мигание кнопкой

UPD: способ не очень хороший, мигает курсор 1С, рекомендую использовать менее затратный к ресурсам 1с тут.

Одному клиенту нужно было, чтобы кнопка мигала. Почитал, что 1С в 2023 году до сих пор не умеет штатно в мигание, поэтому делаем принудительно.

При открытии подключаем обработчик ожидания с частотой 1 секунда (чаще не получается):

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ПодключитьОбработчикОжидания("дор_МиганиеПодсчетаКассы", 1);
КонецПроцедуры // ПриОткрытии()

Сам обработчик чередует фон кнопки каждую секунду.

&НаКлиенте
Процедура дор_МиганиеПодсчетаКассы() Экспорт
	
	Если _МиганиеПодсчета = 0 Или _МиганиеПодсчета = 2 Тогда
		Элементы.Формадор_ПосчитатьКассу.ЦветФона = Новый Цвет;
	Иначе
		Элементы.Формадор_ПосчитатьКассу.ЦветФона = WebЦвета.Розовый;
	КонецЕсли;
	
	Если _МиганиеПодсчета = 0 Тогда
		Элементы.Формадор_ПосчитатьКассу.Заголовок = "Посчитать кассу";
	Иначе
		Элементы.Формадор_ПосчитатьКассу.Заголовок = "НУЖНО ПОСЧИТАТЬ КАССУ";
	КонецЕсли;
	
	Если _МиганиеПодсчета = 2 Тогда
		_МиганиеПодсчета = 1;
	ИначеЕсли _МиганиеПодсчета = 1 Тогда
		_МиганиеПодсчета = 2;
	КонецЕсли;
	
КонецПроцедуры

Таким образом, достаточно установить признак _МиганиеПодсчета в 1 и мигание будет работать до сброса этого признака в 0.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 5

  1. Леонард:

    Пишешь, что уже 20 лет занимаешься программированием, но не знаешь таких элементарных вещей, что имена переменных нельзя начинать со знака подчеркивания! И это соглашение не только в нормальных языках программирования, но и в самой 1С. Тебе до «Гения 1С», как до Луны пешком, мужичок с раздутым чувством собственной важности!

    • Где об этом сказано?
      Вот потому и использую подчеркивание, что 1С никогда его не использует, чтобы не конфликтовать с типовыми.

      • Леонард:

        Вот-вот, типа 20 лет занимаешься 1С-программированием, а таких элементарных вещей как соглашения по написанию кода не знаешь. Что вызывает сомнения в уровне твоей квалификации. На, почитай тут, пункт 3: https://its.1c.ru/db/v8std/content/454/hdoc
        Начинать имена переменных с подчеркивания могут только разработчики своих библиотек и IDE. Это как-раз сама 1С может делать, но никак не ты. Это что на python так, что на всех других языках программирования, ну и на 1С тоже пришли к этому стандарту.

        • Я использую подчеркивание, т.к. такой префикс точно не будет задействован.
          Хотя в последнее время перехожу на префикс дор_ (от Доработки).
          Не думаю, что это критичный вопрос.
          Я не сдаю свой код на 1С:Совместимо, например.
          К тому же у 1С очень много неоднозначных рекомендаций, про запросы в цикле, например.
          Они слишком академичны, часто во вред практике.

  1. 07.02.2023

    […] я рассказывал, как можно заставить 1С мигать с помощью обработчика […]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *