|
v7: Отследить закрытие чилд-форм | ☑ | ||
---|---|---|---|---|
0
monsterZE
27.11.12
✎
17:44
|
Сабж, может кто-то уже реализовывал подобное?..
Есть альтернативный журнал документов. Задача такая - обновлять реквизиты в этом журнале по изменению доков им открываемых. =) Можно было бы ограничиться модальным окном, но оно не дает менять размер.. что очень не удобно. |
|||
1
Ёпрст
27.11.12
✎
17:45
|
дает.
|
|||
2
Ёпрст
27.11.12
✎
17:45
|
формеском можно растянуть модпальное окно
|
|||
3
monsterZE
27.11.12
✎
17:46
|
т.е. юзверь открыл документ, что-то поправил в нем, сохранил. по закрытию дока надо обновить его реквизиты в журнале, например сумму.
есть формекс и 1с++ =) |
|||
4
monsterZE
27.11.12
✎
17:47
|
(2) ага, значит формексом можно.. покурим =)
|
|||
5
Ёпрст
27.11.12
✎
17:48
|
(3) дык проще автообновление задать и привет..
|
|||
6
Ёпрст
27.11.12
✎
17:49
|
поставщик данных сам обновит строки
|
|||
7
Ёпрст
27.11.12
✎
17:49
|
ну, на крайняк. самому обновить их..
|
|||
8
monsterZE
27.11.12
✎
17:52
|
на форме тз, заполняется по прямому запросу
как тогда лучше реализовать авто обновление? =) по таймеру перезаполнять всю тз не очень быстро и удобно.. да и не нужно.. оператор обычно работает с конкретным документом. при закрытии оного, должон обновиться в журнале. |
|||
9
Попытка1С
27.11.12
✎
17:56
|
Вообще если уж на то пошло есть ПоставщикДанных с параметрами автообновления.
|
|||
10
Попытка1С
27.11.12
✎
17:56
|
И альтернативный журнал на нем слепить было бы милое дело.
|
|||
11
Ёпрст
27.11.12
✎
17:57
|
(8) забить на тз, взять тп и поставщиком данных - прямой запрос..
там и автообновление есть, да и запрос "кастрирован" - берёт не весь журнал, а только чать. которая нужна для просмотра на форме. |
|||
12
monsterZE
27.11.12
✎
17:57
|
(9) ок. почитаю.. ранее не пользовал =(
|
|||
13
monsterZE
28.11.12
✎
12:44
|
пока на ТП и Поставщика данных не переделал, хочется решить вопрос с чилд-формой.
по идее, при закрытии формы дока - надо найти в списке журнала, какой док закрыли и обновить его реквизиты.. формекс грузится в глобальнике. процедуры кликов мыши, например, отрабатывают. навставлял Процедура ПослеОткрытия(Конт) Сообщить("Открыли "+Конт); КонецПроцедуры Процедура ПослеЗакрытия(Конт) Сообщить("Закрыли "+Конт); КонецПроцедуры не фунциклирует.. формекс 2.0 |
|||
14
monsterZE
28.11.12
✎
12:49
|
по модальному окну - как можно изменить его размер? если (как я понял) для управления формой - она должна быть уже создана.
|
|||
15
monsterZE
28.11.12
✎
17:18
|
(2)
чет даже обычное окно не растягивает.. =) не говоря уже о модальном. Конт = ""; ОткрытьФорму(ТабПД.Документ,Конт,); ФормаРасш = СоздатьОбъект("РасширениеФормы"); ФормаРасш.УстановитьФорму(Конт.Форма); //ФормаРасш.Максимизирована(1); Сообщить(ФормаРасш.ПолныйПуть()); Сообщить(ФормаРасш.ПолныйТипОбъекта()); ругается, что нет такого свойства "Максимизирована" |
|||
16
monsterZE
28.11.12
✎
17:20
|
=1
|
|||
17
monsterZE
28.11.12
✎
17:21
|
ну обычною растянул, а модальную? =)
|
|||
18
Cthulhu
28.11.12
✎
17:43
|
навскидку, б/ВК, б/оптимизации:
1. При каждом открытии документа - складывать в два массива (переменные модуля): 1) документы; 2) контексты открытых форм. 2. В обработке ожидания парсить массив#2 на ТипЗначенияСтр(..)<>"ГрупповойКонтекст", и для каждого такого: а) обновлять соответствующую строку ТЗ на морде (дернув из первого массива документ по тому же индексу); б) синхронно вычищать из обоих массивов обработанную таким образом позицию. |
|||
19
monsterZE
28.11.12
✎
17:49
|
(18) спсб, про подобное думалось, но, имхо, это слишком геморно.. просто, если более "дешевого" способа не существует - пусть ждут, когда будет взлетать на ПоставщикеДанных.
видимо не правя форму все-таки нельзя. |
|||
20
Cthulhu
28.11.12
✎
18:12
|
(19): десяток-другой строк кода - это да, страшный геморрой... по сравнению с поставщиком данных...
|
|||
21
Cthulhu
28.11.12
✎
18:21
|
(20)+: если можно поправить модуль формы документа - то и вообще без постоянной обработки ожидания в форме с обновляемым списком документов можно обойтись...
|
|||
22
Ёпрст
29.11.12
✎
10:47
|
(17)
Окна=СоздатьОбъект("Окна"); Окна.МенюОкна(Форма,1,1,0,1); //разрешаем max так, для начала, её можно максимизировать |
|||
23
monsterZE
29.11.12
✎
12:33
|
(22) ага, попробую.. я уж думал в самой форме, при открытии, проверять параметр и максимизировать формексом.
|
|||
24
monsterZE
29.11.12
✎
12:54
|
к (23) ну похоже так и есть =)
|
|||
25
monsterZE
29.11.12
✎
13:18
|
тест не прошел =)
добавил в форму документа //--- Процедура ПриОткрытии() Если Форма.Параметр=1 Тогда Окна=СоздатьОбъект("Окна"); //Окна.МенюОкна(Форма,1,1,0,1); Окна.Максимизировать(Форма) КонецЕсли; //--- Через меню окна - кнопка макимизировать активна, но не работает. Т.е. не максимизирует окно. Через само максимизировать - экран моргает и окошко прыгает в левый верхний угол.. таскается и меняет размер на еще меньший. |
|||
26
Ёпрст
29.11.12
✎
14:52
|
у мну всё разворачивается в модальном окошке.
|
|||
27
Ёпрст
29.11.12
✎
14:52
|
формекс какой версии хоть ?
|
|||
28
monsterZE
29.11.12
✎
15:18
|
версия 2.0.5.108
|
|||
29
monsterZE
29.11.12
✎
17:29
|
Вынес все в процедуру формекса - работает.. ноне так, как надо.
Процедура ПослеСозданияФормы() //Сообщить("ыы"); Если Форма.Параметр=1 Тогда РФ=СоздатьОбъект("РасширениеФормы"); РФ.УстановитьФорму(Форма); РФ.Максимизирована=1; //О=СоздатьОбъект("Окна"); //Ш=1024; //В=600; //О.РазмерОкна(Форма,Ш,В,); //О.Максимизировать(Форма); //Сообщить("Ш="+Ш); //Сообщить("В="+В); КонецЕсли; КонецПроцедуры |
|||
30
monsterZE
29.11.12
✎
17:30
|
максимизирует и размер окна меняется, но тч не растягивается!
т.е. тянется только сама форма. =(( втф? |
|||
31
monsterZE
29.11.12
✎
17:31
|
причем максимизируется на весь экран, а не на рабочее пространство 1с
|
|||
32
monsterZE
29.11.12
✎
17:32
|
кнопка "развернуть" нажимается но не отрабатывает.
|
|||
33
FN
29.11.12
✎
19:00
|
(3) неправильное решение - а если документ изменил другой юзвер? Без автообновления никак, так что используй ТП или обычный журнал с отбором
|
|||
34
monsterZE
30.11.12
✎
09:13
|
(33) есть кнопка обновляющия все документы за выбранный период (либо можно включить таймер автообновления) но, как правило (в моем случае):
- один юзверь исправляет один документ и на текущий момент времени, ему интересен именно этот документ зы. про тп читаю пока.. |
|||
35
monsterZE
30.11.12
✎
09:15
|
к (34) т.е., как правило, по конкретному клиенту, в один момент времени, исправляет доки конкретный юзверь.
|
|||
36
Ёпрст
30.11.12
✎
09:15
|
(34)возьми готовый класс.. там кода на 2 строки будет
|
|||
37
monsterZE
30.11.12
✎
09:18
|
(36) про что конкретно?
|
|||
38
monsterZE
30.11.12
✎
09:20
|
я сегодня еще поковыряю формекс.. если ничего путного не выйдет, тогда на пока просто разверну формы в конфигураторе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |