|
v7: ОткрытьФорму() Как проверить закрытие формы. | ☑ | ||
---|---|---|---|---|
0
planod
11.06.13
✎
05:22
|
Всем привет. Автоматизирую формирование отчета. Создал обработку, которая из текстового документа берет контрагента и формирует по нему отчет. Отчет открываю с помощью ОткрытьФорму("отчет.Взаиморасчеты", Параметры). В параметрах передаю дату начала и дату конца формирования отчета и собственного самого контрагента.
Так вот, если у меня в текстовом файле записан один контрагент, то все работает замечательно, а если несколько, то формируется отчет только по первому контрагенту. Как в мою обработку передать сигнал о том, что по первому контрагенту отчет закончился формироваться и можно продолжать цикл по формированию дальше? В Синтаксис-Помощнике есть значение "КонтекстФормы", но как-то я не понял как его использовать. Заранее спасибо. |
|||
1
Wobland
11.06.13
✎
05:42
|
а закрытие формы тут зачем?
|
|||
2
ЧеловекДуши
11.06.13
✎
06:13
|
(0) Контекст открытой формы = ТипЗначения(Парам) = 100
Если форма закрыта, то там уже не 100 :) |
|||
3
planod
11.06.13
✎
06:14
|
(1) я передал в отчет информацию о первом контрагенте, по которому надо сформировать отчет. ОТчет сформировался, форма закрылась, и я начинаю передавать информацию о втором контрагенте...и так далее.
Или иначе можно реализовать такую передачу? |
|||
4
ЧеловекДуши
11.06.13
✎
06:17
|
"КонтекстФормы",
СпсПарам = СоздатьОбъект("СписокЗначений"); ОткрытьФорму("МояФорма",СпсПарам); //В форме При открытии //Получить переданный список значений. Парам = Форма.параметр; //Вуаля, далее работаем с переданным списком значением. //Если отменить открытие формы, то можно по завершению Команды "ОткрытьФорму" //Обработать свой же "Список значений" |
|||
5
Sserj
11.06.13
✎
06:19
|
ОткрытьФормуМодально, пока не сформируется и не закроется будет ждать
|
|||
6
ЧеловекДуши
11.06.13
✎
06:19
|
+(3) Если при открытии вставить код:
СтатусСообщения(0) //То при завершении функции При открытии, форма не откроется и код продолжит выполняться с места "ОткрытьФорму" |
|||
7
planod
11.06.13
✎
06:19
|
(4) спасибо. Но если мне нужно два раза вызвать ОткрытьФорму("МояФорма",СпсПарам) с разными параметрами, то как быть?
|
|||
8
ЧеловекДуши
11.06.13
✎
06:19
|
(5) Модальные окна ЗЛО
|
|||
9
ЧеловекДуши
11.06.13
✎
06:20
|
(7) Передать разные параметры :)
Можно в цикле |
|||
10
Sserj
11.06.13
✎
06:20
|
(8) Ну тогда открвай несколько разных форм этой твоей обработки
|
|||
11
planod
11.06.13
✎
06:22
|
(8) почему зло?
|
|||
12
ЧеловекДуши
11.06.13
✎
06:23
|
(11) Если у 1С есть Вежливый выход или еще какой механизм выхода по средством 1С. (через обработку ожидания)
То Модальное окно стопорит этот механизм, пока не закроется пользователем. + Модальное окно не расширяется, а остается таким же маленьким, как организовал программист :) |
|||
13
planod
11.06.13
✎
06:24
|
(9) в цикле я стараюсь передать, только отрабатывает первая итерация цикла.
(11) но ведь можно же программно организовать Вежливый выход... |
|||
14
planod
11.06.13
✎
06:25
|
+(13) сорри, не к 11 посту, а к 12.
|
|||
15
ЧеловекДуши
11.06.13
✎
06:26
|
(13) Модальное окно блокирует ОбработкуОжидания
|
|||
16
planod
11.06.13
✎
06:26
|
(5) Вариант с модальным окном работает так как мне надо...спасибо за совет.
|
|||
17
ЧеловекДуши
11.06.13
✎
06:27
|
(16) Можно и без модального :)
Но тебе видней |
|||
18
Sserj
11.06.13
✎
06:27
|
(12) Ну вообщем можно либо открывать несколько форм с разными параметрами этой твоей обработки.
Либо ждать завершения: ОткрытьФорму(ТвояОбработка, Параметры) Пока Не(Параметры = КакойТоФлагКоторыйПоставитсяВОбработке) Цикл //тут можно чтобы не грузить sleep из ВК использовать КонецЦикл; Но я таки за модальное окно, пусть оно вообще не открывается СтатусВозврата(0) в при открытии, всеравно же тебе надо последовательно всех клиентов обработать. А если можно одновременно то всетаки несколько открытий формы лучше будет. |
|||
19
planod
11.06.13
✎
06:28
|
(15) Я просто в Форме отчета в конце после формирования добавил Форма.Закрыть(). Это логически правильный подход?
|
|||
20
Wobland
11.06.13
✎
06:28
|
семёрка не умеет отчёты без формы делать? фу..
|
|||
21
Sserj
11.06.13
✎
06:29
|
(19) Еще при открытии СтатусВозврата(0) поставь, тогда форма показываться вообще не будет.
|
|||
22
planod
11.06.13
✎
06:32
|
(17) и (21) спасибо за подсказки. Решение вопроса появилось, о с ним появилось еще несколько вопросов))) буду разбираться.
|
|||
23
ЧеловекДуши
11.06.13
✎
07:13
|
(20) Может, но через расшифровку :)
|
|||
24
Ковычки
11.06.13
✎
07:32
|
ОткрытьФормуМодально
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |