Имя: Пароль:
1C
1С v8
Обновление формы при ее активизации
, ,
0 Капитан Джек Воробей
 
08.12.20
14:08
Доброго времени суток!

Хочу реализовать такой функционал на УФ:

При выборе открытой формы чтобы обновилась табличная часть в этой форме(как в браузере при выборе вкладки обновилось ее содержание)
Икал, так и не нашел через какое событие это можно реализовать....
1 mistеr
 
08.12.20
14:12
>как в браузере при выборе вкладки обновилось ее содержание

Это в каком браузере? Не замечал такого.
2 Garykom
 
гуру
08.12.20
14:15
(0) нет такого события
делай через обработчик ожидания и проверку вводдоступен()
3 Капитан Джек Воробей
 
08.12.20
14:15
(1) бывает когда вкладка долго открыта и не активна при ее выборе обновляется ее содержимое
4 Кир Пластелинин
 
08.12.20
14:17
(1) видимо chrome, который при активации уже давно открытой вкладки может заново обновить всю страницу. бесит неимоверно.
5 Йохохо
 
08.12.20
14:17
(3) это хтмл <meta http-equiv="refresh" content="5">
6 Капитан Джек Воробей
 
08.12.20
14:17
(2) да я ее раскопал, но подумал это костыль и есть что-нибудь получше...
7 Garykom
 
гуру
08.12.20
14:18
(5) раньше было можно полеhtmlдокумента на форму и событие из него, с переходом на webkit это накрылось
8 Йохохо
 
08.12.20
14:23
точнее это вероятно expires или Cache-Control, теги кумкват орелли горбачев
9 mistеr
 
08.12.20
14:26
(3) Это значит она выгрузилась из памяти и загружается снова. Не знаю, как Chrome, а Firefox загружает из кэша в этом случае.

А в чем исходная задача-то? Зачем понадобилась такая экзотика?
10 Капитан Джек Воробей
 
08.12.20
14:36
(9) Есть обработка она заполняет документ данными из табличной части обработки и открывает форму после действий с доком пользователь возвращается на форму обработки и в этот момент должна обновится ТЧ  исключая поля которые были перенесены в документ...
11 Капитан Джек Воробей
 
08.12.20
14:37
(2)  Решил так  

&НаКлиенте
Процедура ЗакрытьНарушение
ОткрытьФорму("Документ.ДополнительныеСобытия.Форма.ФормаДокумента",ПараметрыФормы);
ПодключитьОбработчикОжидания("ПроверкаАктивностиФормы",1);
КонецПроцедуры

&НаКлиенте
Процедура ПроверкаАктивностиФормы()
    Если ВводДоступен() Тогда
        ОтключитьОбработчикОжидания("ПроверкаАктивностиФормы");
        ЗаполнитьНарушения();
    КонецЕсли;
КонецПроцедуры


Может будут какие-нибудь комментарии?
12 Garykom
 
гуру
08.12.20
14:40
(11) вместо 1 сделай 0.5 или даже 0.2
13 mistеr
 
08.12.20
14:46
(11) Не очень надежно, по-моему. В любом случае добавь кнопку для ручного обновления.
14 Капитан Джек Воробей
 
08.12.20
14:47
(12) а на производительность не сильно это повлияет? может user на обед уйдет(я по этому и не хотел это событие использовать)
15 Капитан Джек Воробей
 
08.12.20
14:47
(13) она есть
16 Капитан Джек Воробей
 
08.12.20
14:49
(12) + Недопустимое значение параметра (параметр номер '2') (Обработчик ожидания с нулевой задержкой может устанавливаться только для однократного выполнения)
{ВнешняяОбработка.РабочиеМестоУРВ.Форма.Форма.Форма(48)}:ПодключитьОбработчикОжидания("ПроверкаАктивностиФормы",0.2)
17 Garykom
 
гуру
08.12.20
15:06
(16) "Интервал — <Число> – Интервал (точность до 0,1 секунды) в секундах через который будет осуществляться вызов процедуры."
18 Капитан Джек Воробей
 
08.12.20
15:11
(17) Интервал времени в секундах с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число).
Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина.(СП)

Ну мне не критично... так что пойдет и 1сек)