|   |   | 
| 
 | Обновление формы фоновым заданием | ☑ | ||
|---|---|---|---|---|
| 0
    
        Max57 05.04.24✎ 11:56 | 
        Всем привет. Есть расширение, в нем обработка с формой, которая выводится на начальной странице. На форме есть кнопка обновить. Подскажите, пожалуйста, как сделать, чтобы пользователю не надо было нажимать на кнопку обновить, а данные обновлялись фоновым заданием?     | |||
| 1
    
        Климов Сергей 05.04.24✎ 12:17 | 
        ПодключитьОбработчикОжидания() вам в помощь.
 В обработчике пытаться получить результат выполнения фонового задания и обновлять форму. | |||
| 2
    
        Max57 05.04.24✎ 12:28 | 
        (1) Я не совсем верно описал, мне нужно, чтобы форма периодически обновлялась, там табличное поле(ТЗ). Заполняется  при открытии формы и нажатии на кнопку обновить. Мне нужно сделать, чтобы в модуле формы периодически выполнялась процедура, которая заполняет табличное поле.     | |||
| 3
    
        Климов Сергей 05.04.24✎ 12:30 | 
        (2) Ну тогда в обработчике перезаполняйте ТЗ.     | |||
| 4
    
        Max57 05.04.24✎ 12:36 | 
        Вот код модуля формы обработки. Получается, что я могу в процедуру при открытии добавить обработчик?
 &НаКлиенте Процедура РасчитатьДниПроизводства(Команда) РасчитатьДниПроизводстваНаСервере(); КонецПроцедуры &НаСервере Процедура РасчитатьДниПроизводстваНаСервере() ДниПроизводства.Очистить(); ТЧРезультат = Обработки.ОбработкаПодсчетаДнейПроизводства.РасчитатьДниПроизводства(); Для Каждого СтрокаТЧ ИЗ ТЧРезультат Цикл Строка = ДниПроизводства.Добавить(); Строка.НоменклатурнаяГруппа = СтрокаТЧ.НоменклатурнаяГруппа; Строка.СрокПроизводства = Окр(СтрокаТЧ.CрокПроизводства); Строка.СредняяПроизводительность = Формат(СтрокаТЧ.СредняяПроизводительность, "ЧДЦ=2"); Строка.КоэффициентПогрешности = Формат(СтрокаТЧ.КоэффициентПогрешности, "ЧДЦ=2"); Строка.КоличествоНаСкладе = Формат(СтрокаТЧ.КоличествоНаСкладе, "ЧДЦ=2"); Строка.КоличествоПоЗаказамКлиентаНезакрытым = Формат(СтрокаТЧ.КоличествоПоНезакрытымЗаказам, "ЧДЦ=2"); Строка.НеобходимоПроизвести = Формат(СтрокаТЧ.НеобходимоПроизвести, "ЧДЦ=2"); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) РасчитатьДниПроизводстваНаСервере(); КонецПроцедуры &НаКлиенте Процедура ОбъектРасшСокрПриИзменении(Элемент) Если Объект.РасшСокр Тогда Элементы.ДниПроизводстваСредняяПроизводительность.Видимость = Истина; Элементы.ДниПроизводстваКоэффициентПогрешности.Видимость = Истина; Элементы.ДниПроизводстваКоличествоНаСкладе.Видимость = Истина; Элементы.ДниПроизводстваКоличествоПоЗаказамКлиентаНезакрытым.Видимость = Истина; Элементы.ДниПроизводстваНеобходимоПроизвести.Видимость = Истина; Иначе Элементы.ДниПроизводстваСредняяПроизводительность.Видимость = Ложь; Элементы.ДниПроизводстваКоэффициентПогрешности.Видимость = Ложь; Элементы.ДниПроизводстваКоличествоНаСкладе.Видимость = Ложь; Элементы.ДниПроизводстваКоличествоПоЗаказамКлиентаНезакрытым.Видимость = Ложь; Элементы.ДниПроизводстваНеобходимоПроизвести.Видимость = Ложь; КонецЕсли; КонецПроцедуры | |||
| 5
    
        Max57 05.04.24✎ 12:40 | 
        &НаКлиенте
 Процедура ПриОткрытии(Отказ) ПодключитьОбработчикОжидания("РасчитатьДниПроизводстваНаСервере", 3600); // Например, так КонецПроцедуры | |||
| 6
    
        Max57 05.04.24✎ 12:44 | 
        (3) спасибо     | |||
| 7
    
        Климов Сергей 05.04.24✎ 13:01 | 
        Пожалуйста!     | |||
| 8
    
        Max57 05.04.24✎ 13:11 | 
        (5) В первом параметре должна быть процедура без параметров и  на клиенте     | |||
| 9
    
        Мультук гуру 05.04.24✎ 13:29 | 
        (8) 
 &НаКлиенте Процедура РасчитатьДниПроизводства_БезПараметров() РасчитатьДниПроизводства(неопределено); КонецПроцедуры ПодключитьОбработчикОжидания("РасчитатьДниПроизводства_БезПараметров", 3600); // Например, так P.S. 1) Рассчитать 2) Почему бы не создать колонки в "ДниПроизводства" сразу нужного типа и далее &НаСервере Процедура РасчитатьДниПроизводстваНаСервере() тз = Обработки.ОбработкаПодсчетаДнейПроизводства.РасчитатьДниПроизводства(); ДниПроизводства.Загрузить(тз); КонецПроцедуры | |||
| 10
    
        Max57 05.04.24✎ 13:41 | 
        (9) Спасибо     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |