как вывести какую нибудь анимацию при длительной операции

1. eda76 09.02.21 23:37 Сейчас в теме
при длительной операции (загрузки например) хотелось бы показать пользователю какую нибудь анимацию на экране, что бы ждал и не тыкал на все подряд кнопки, подскажите как это сделать

и еще вопрос, в андроидном приложении есть такой Toast (вроде так) внизу всплывающая надпись поверх всего и потом исчезающая есть ли что то подобное у 1С
Найденные решения
6. FesenkoA 57 10.02.21 10:30 Сейчас в теме
второй вопрос: да, есть. Смотрите в сторону "ПоказатьОповещениеПользователя" (глобальный контекст, клиент)
5. FesenkoA 57 10.02.21 10:26 Сейчас в теме
Как я сделал:
1) форма длительной операции
2) в модуле при открытии я "слушаю" параметр
3) в зависимости от параметра запускаю одну из процедур через ПодключитьОбработчикОжидания("ПояПроцедура",0.5,истина)
4) на форме стоит гифка. Да, во время операции она перекрывается стандартным "затемненным экраном", но продолжает крутиться
5) по выполнении - форма закрывается с текстом результата

Это не идеальный вариант, но допустимый по трудозатратам. пример как онр работает

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Если параметрЗапуска= 1 тогда
		имяпроцедуры="ЗапуститьОбновление";		
	ИначеЕсли параметрЗапуска= 2 тогда
		имяпроцедуры="Отправитьданные";	
	ИначеЕсли параметрЗапуска= 3 тогда
		имяпроцедуры="ПересчетКалькуляций";
	КонецЕсли;
	ПодключитьОбработчикОжидания(имяпроцедуры,0.5,истина);
КонецПроцедуры

&НаКлиенте
Процедура ЗапуститьОбновление()  экспорт
	Попытка
		Текст=Клиент.ОбменПолныйКоманда(); 
	Исключение
	КонецПопытки;	
	ЭтаФорма.Закрыть(Текст);
КонецПроцедуры
Показать

(и прочие)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. platonov.e 159 10.02.21 07:28 Сейчас в теме
Выводите статус работы.
Если хотите, чтобы была анимация, нужно делать через фоновые операции. не знаю на сколько это возможно на мобильной разработке.
3. eda76 10.02.21 09:34 Сейчас в теме
(2)
а как вывести статус? пробовал "состояние" перед ее запуском вызвать, ни чего не выводит, да и сома процедура выполняется &НаСервере
4. platonov.e 159 10.02.21 09:48 Сейчас в теме
(3) Например, текст на форме можно использовать для статуса. Но нужно вызывать долгие процедуры через обработчик ожидания, чтобы статус менялся
5. FesenkoA 57 10.02.21 10:26 Сейчас в теме
Как я сделал:
1) форма длительной операции
2) в модуле при открытии я "слушаю" параметр
3) в зависимости от параметра запускаю одну из процедур через ПодключитьОбработчикОжидания("ПояПроцедура",0.5,истина)
4) на форме стоит гифка. Да, во время операции она перекрывается стандартным "затемненным экраном", но продолжает крутиться
5) по выполнении - форма закрывается с текстом результата

Это не идеальный вариант, но допустимый по трудозатратам. пример как онр работает

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Если параметрЗапуска= 1 тогда
		имяпроцедуры="ЗапуститьОбновление";		
	ИначеЕсли параметрЗапуска= 2 тогда
		имяпроцедуры="Отправитьданные";	
	ИначеЕсли параметрЗапуска= 3 тогда
		имяпроцедуры="ПересчетКалькуляций";
	КонецЕсли;
	ПодключитьОбработчикОжидания(имяпроцедуры,0.5,истина);
КонецПроцедуры

&НаКлиенте
Процедура ЗапуститьОбновление()  экспорт
	Попытка
		Текст=Клиент.ОбменПолныйКоманда(); 
	Исключение
	КонецПопытки;	
	ЭтаФорма.Закрыть(Текст);
КонецПроцедуры
Показать

(и прочие)
6. FesenkoA 57 10.02.21 10:30 Сейчас в теме
второй вопрос: да, есть. Смотрите в сторону "ПоказатьОповещениеПользователя" (глобальный контекст, клиент)
7. eda76 10.02.21 11:00 Сейчас в теме
(6)
спасибо, получилось

да и вместо анимации тоже сделал ПоказатьОповещениеПользователя
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот