|
проблема с формой | ☑ | ||
---|---|---|---|---|
0
vostdnn
27.06.11
✎
10:29
|
Добрый день!
из документа открываю форму обработки. передаю через параметр ряд значений. при закрытии формы в документ возвращаю ряд значений. сейчас потребовалось чтобы открываемая обработка каждую секунду выполняла некую процедуру и обновлялась. кнопка на форме документа Процедура ВзвеситьНаВесах() Записать(); ВзвешиваемыйДокумент=ТекущийДокумент(); ОткрытьФорму("Обработка.ОбработкаВесов",ПерДан); КонецПроцедуры в гМ //весы Процедура ОбработкаВесов() Экспорт ТЗВесы.УстановитьЗначение(ТЗВесы.КоличествоСтрок(),"Вес_1",Srv.Weight(0)); ТЗВесы.УстановитьЗначение(ТЗВесы.КоличествоСтрок(),"Состояние_1",Srv.scstate(0)); ТЗВесы.УстановитьЗначение(ТЗВесы.КоличествоСтрок(),"Вес_2",Srv.Weight(1)); ТЗВесы.УстановитьЗначение(ТЗВесы.КоличествоСтрок(),"Состояние_2",Srv.scstate(1)); Попытка ПерДан.Форма.обновить(); Исключение КонецПопытки; КонецПроцедуры в конце ГМ ОбработкаОжидания("ОбработкаВесов", 1); при данном коде открываемая обработка обновляется 1 раз в секунду, но не передается контекст открытого документа. подскажите где пошаманить. |
|||
1
ДенисЧ
27.06.11
✎
10:30
|
А с чего бы ему передаваться? Храни в глобальном переменной...
|
|||
2
andrewks
27.06.11
✎
10:31
|
ну и где у тебя что передаётся? не видно ничего
|
|||
3
ДенисЧ
27.06.11
✎
10:32
|
(2) передаётся через ОткрытьФорму("Обработка.ОбработкаВесов",ПерДан);
Но кто такой этот пердан... хз... |
|||
4
andrewks
27.06.11
✎
10:34
|
(3) вот и я об этом же
|
|||
5
vostdnn
27.06.11
✎
10:46
|
в ГМ
Перем ПерДан Экспорт; |
|||
6
vostdnn
27.06.11
✎
10:51
|
При открытии обработки отладчик переменной перДан возвращает пустоту.
|
|||
7
VasilyKushnir
27.06.11
✎
11:01
|
(6) И почему я не удивлен....
Покажи пальцем, где ты в обработку передаешь контекст документа. И еще покажи список возвращаемых значений. Посмотри в сторону ПереданныйПараметр = Форма.Параметр; |
|||
8
vostdnn
27.06.11
✎
11:14
|
(7)
обычно контекст документа передаю таким образом. ОткрытьФорму("Обработка.ОбработкаВесов",Контекст); но тогда не работает обновление формы, т.е. реквизит формы "вес" получает значение только при нажатии кнопки на форме, а мне нужно чтобы значения реквизита "вес" получало значение каждую секунду. |
|||
9
VasilyKushnir
27.06.11
✎
11:17
|
ОткрытьФорму("Обработка.ОбработкаВесов",ТаблицаЗначений);
ТаблицаЗначений - содержит список передаваемых параметров, в том числе моешь туда запихнуть и контекст документа (ТаблицаЗначений.Конт = Контекст к примеру) |
|||
10
vostdnn
27.06.11
✎
11:22
|
(9) попробую. спасибо.
|
|||
11
VasilyKushnir
27.06.11
✎
11:36
|
Но лучше Открывай с тремя параметрами (смотри ЖКК):
ОткрытьФорму (<Параметр1>, <КонтекстФормы>, < Параметр 3>...) |
|||
12
vostdnn
27.06.11
✎
12:06
|
(11) ни фига все не работает.
либо передаю контекст, но не получаю вес каждую секунду, либо получаю вес каждую секунду, но не передаю контекст. как заставить эту форму обновляться каждую секунду и выполнять процедуру в Гм? |
|||
13
VoditelKobyly
27.06.11
✎
12:29
|
А зачем каждую секунду открывать форму? Может можно её открытой держать а уже внутри формы ОбработкаОжидания() в которой идет Форма.Обновить()?
|
|||
14
Cthulhu
27.06.11
✎
13:30
|
(13): ну, например, чтобы в "ПриПовторномОткрытии" модуля формы обработк каждую скунду ловить из параметра тошонадо и обрабатывать его такккакнадо.
|
|||
15
vostdnn
27.06.11
✎
13:43
|
(13) форма не открывается каждую секунду, а обновляется.
обработкаожидания вызывает процедуру глобального модуля - это очень хорошо. если в этой процедуре прописать Форма.Обновить() то возникает ошибка: Форма<<?>>.Обновить(); {Глобальный модуль(4976)}: Переменная не определена (Форма) |
|||
16
vostdnn
27.06.11
✎
13:50
|
ап!
|
|||
17
Ёпрст
27.06.11
✎
13:54
|
(15) ясен пень.
ЗЫ: нахрена для этой задачи что-то писать в глобальнике - хз. Всё и так работает тупо через контекст формы. Лепить процедуры и обработки ожидания в глобальнике нет необходимости. |
|||
18
Ёпрст
27.06.11
✎
14:03
|
||||
19
vostdnn
28.06.11
✎
14:57
|
(18) спс за примерчик!!
почему что-то писать в глобальнике.... ОбработкаОжидания(<?>,) Синтаксис: ОбработкаОжидания(<ИмяПроцедуры>,<ИнтервалВызова>) Назначение: Инициирует периодический вызов процедуры глобального модуля с заданным интервалом времени. Возвращает имя процедуры глобального модуля, которая назначена для периодического запуска (на момент до исполнения процедуры). Параметры: <ИмяПроцедуры> - необязательный параметр. Строковое выражение - имя процедуры глобального модуля, которая будет вызываться периодически с временным интервалом <ИнтервалВызова>. Тело процедуры <ИмяПроцедуры> должно быть написано разработчиком конфигурации в глобальном программном модуле. Если в качестве параметра передается 'пустая строка', то ранее запущенный процесс прекращается. черным по-белому написано гнлобальном. не знал о таких недокоментированных возможностях 1Ц |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |