|
|
|
Как получить список открытых форм в 8-ке? | ☑ | ||
|---|---|---|---|---|
|
0
SYS-eva
23.09.09
✎
16:55
|
Собственно вопрос уже задан в заголовке, подскажите плиз есть ли другой вариант кроме как самому следить за тем какие окна открыты.
|
|||
|
1
Defender aka LINN
23.09.09
✎
16:59
|
никак
|
|||
|
2
SYS-eva
23.09.09
✎
16:59
|
Ясно, жаль, СПС.
|
|||
|
3
Ц_У
23.09.09
✎
17:19
|
Можно через ВК
|
|||
|
4
H A D G E H O G s
23.09.09
✎
17:23
|
(3) Как??
|
|||
|
5
Stepa86
23.09.09
✎
17:26
|
(0) тебе зачем?
|
|||
|
6
Федя Тяпкин
23.09.09
✎
17:30
|
так можно или нельзя?
|
|||
|
7
Ц_У
23.09.09
✎
17:32
|
(4) Можно ..
MDI-окно |
|||
|
8
Ц_У
23.09.09
✎
17:33
|
где тут валялась кусок кода... сам видел
|
|||
|
9
H A D G E H O G s
23.09.09
✎
17:36
|
(7) Мва-ха-ха..
|
|||
|
10
Ц_У
23.09.09
✎
17:39
|
(9) что?
|
|||
|
11
H A D G E H O G s
23.09.09
✎
17:42
|
(10) Все хорошо.
Продолжай. |
|||
|
12
Ц_У
23.09.09
✎
17:46
|
||||
|
13
Гений 1С
гуру
23.09.09
✎
17:48
|
можно разослать широковещательное сообщение. но это надо код каждой формы дорабатывать (ответ на сообщение делать)
|
|||
|
14
Stepa86
23.09.09
✎
17:51
|
(13) проще тогда уж в какой нить глобальный массив скидывать форму при открытии и вынимать при закрытии
|
|||
|
15
H A D G E H O G s
23.09.09
✎
17:52
|
(12)
ППЦ, Менеджер = Вычислить((ТипОбъекта.Ключ + "[Объект.Имя]")); Выборка = Менеджер.выбрать(); пока Выборка.Следующий() Цикл На 60 моих гектарах "это" уснет навечно. |
|||
|
16
Salvador Limones
23.09.09
✎
17:54
|
(15) У тебя украли кнопку Reset? :-))))
|
|||
|
17
Stepa86
23.09.09
✎
17:54
|
(15) жестоко...
|
|||
|
18
H A D G E H O G s
23.09.09
✎
17:56
|
(16) Не.
а что, реально. Во франче выковыривал отверткой кнопку "Suspend", которую какой-то дятлообразный дизайнер поместил под клавишей Delete. |
|||
|
19
Гений 1С
гуру
23.09.09
✎
18:05
|
(15) окна с уникальным GUID не откроет
|
|||
|
20
Гений 1С
гуру
23.09.09
✎
18:05
|
(18) Я тоже выковирывал
|
|||
|
21
Ц_У
23.09.09
✎
18:10
|
да с МДИ я чет пролетел :))))) пошел учить мат часть по 1С
|
|||
|
22
H A D G E H O G s
23.09.09
✎
18:15
|
(21) Че МДИ.
Ну получишь дескрипторы окон, их элементов. И? Сушить их будешь? |
|||
|
23
Ц_У
23.09.09
✎
18:20
|
(22) ну список окон то получить можно открытых, другое дело для чего это делать, так что ответ на (0) можно
|
|||
|
24
SYS-eva
24.09.09
✎
08:59
|
(22) Хочу вынести форму объекта во внешнюю обработку - модуль объекта я вынес без проблем а вот с формой немножко лажово работает метод ВнешниеОтчеты.ПолучтиФорму("ИмяФормы",,Ссылка) - он не ищет среди открытых форм форму с индентификатором а каждый раз создает новую... ну видно делать нечего придется ручками контролить список. Я думал может метод какой нить есть.
|
|||
|
25
asady
24.09.09
✎
09:01
|
(24) уверен?
|
|||
|
26
SYS-eva
24.09.09
✎
09:02
|
(24) уверен в чем? в том что не работает метод - да уверен.
|
|||
|
27
SYS-eva
24.09.09
✎
09:03
|
(24) во всяком случае в 1С:Предприятие 8.1 (8.1.12.101) точно)))
|
|||
|
28
simol
24.09.09
✎
09:08
|
(13) И ответили все 15 открытых форм....
|
|||
|
29
Aprobator
24.09.09
✎
09:13
|
(24) как то верится с трудом. Вообще то первым параметром там идет имя файла, а уже вторым имя формы.
|
|||
|
30
Aprobator
24.09.09
✎
09:16
|
+(29) может еще из за владельца открываться другая форма.
|
|||
|
31
SYS-eva
24.09.09
✎
09:18
|
(29)Сори я имел ввиду такой расклад
Объект = ВнешниеОтчеты.Создать("ИмяФайла"); Объект.ПолучитьФорму("Имя",,Ссылка); - а владельца исползовать не могу так как оригинальную форму объекта нужно закрыть а в место нее показать из внешнего файла. |
|||
|
32
SYS-eva
24.09.09
✎
09:26
|
Вобщем проблема решается так:
в модуле приложения пишем вот такой код Перем СписокОткрытыхФорм Экспорт; Процедура СписокОткрытыхФорм(Форма,Ключ) Экспорт Строка = СписокОткрытыхФорм.Найти(Ключ,"Ключ"); Если Строка =Неопределено тогда Строка = СписокОткрытыхФорм.Добавить(); Строка.Форма=Форма; Строка.Ключ=Ключ; Форма.Открыть(); Иначе Строка.Форма.Активизировать(); КонецЕсли; КонецПроцедуры СписокОткрытыхФорм = Новый ТаблицаЗначений; СписокОткрытыхФорм.Колонки.Добавить("Форма"); СписокОткрытыхФорм.Колонки.Добавить("Ключ"); всем спасибо за внимание!!! |
|||
|
33
asady
24.09.09
✎
09:31
|
(32) сдаётся мне очередная "нетленко" рождается у сережи - удачи тебе коллега!
девиз "вперед на мины" |
|||
|
34
Aprobator
24.09.09
✎
09:54
|
(32) а что мешает форму получить так:
Если нужны для работы реквизиты объекта, то их можно достать через ФормаОтчета.ОбработкаОбъект. |
|||
|
35
Aprobator
24.09.09
✎
09:56
|
(31) в таком случае зачем пихать ссылку в качестве ключа уникальности формы?
ИМХО - извращение. |
|||
|
36
SYS-eva
24.09.09
✎
10:05
|
(32) а причем сдесь форма отчета??
Речь идет о замене формы объекта к примеру формы Документа из конфы формой хранящейся во внешнем файле, отсюда и ссылка в качестве ключа уникальности. |
|||
|
37
Aprobator
24.09.09
✎
10:33
|
(36) не вижу связи. Выдержка из СП:
<Ключ уникальности> (необязательный) Тип: Произвольный. В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. При поиске учитываются значения свойств открытых форм соответствующим значениям параметров метода. Если найдена открытая форма (по совпадению всех параметров), то она будет возвращена вместо новой формы. ЕСЛИ ИЗ НЕКОЕЙ ФОРМЫ(один и тот же владелец) требуется открывать новые экземпляры другой формы, то при каждом вызове метода значение данного параметра должно быть уникально (в рамках соответствующих значений свойств открытых форм). Значение параметра присваивается свойству открываемой формы КлючУникальности. Убери его. |
|||
|
38
SYS-eva
24.09.09
✎
10:44
|
(36) Если ты пытаешься открыть документ форма которого уже открыта при таком раскладе у тебя откроется новое окно вместо того чтобы активизировать открытое.
|
|||
|
39
Aprobator
24.09.09
✎
10:45
|
(38) уверен?
|
|||
|
40
Fynjy
24.09.09
✎
10:46
|
Ээээ, а можно поинтересоваться зачем афт ару список открытых окон?
|
|||
|
41
SYS-eva
24.09.09
✎
10:47
|
(39) я впринципе закончил тестовый вариант конфы хочеш скину сам посмотришь, я не претендую на звание мега папы 1С а только учусь и хорошая критика мне бы не помешала.
|
|||
|
42
Aprobator
24.09.09
✎
10:47
|
(40) ищет уже открытое окно, чтобы использовать его. Но как то с тыла.
|
|||
|
43
Aprobator
24.09.09
✎
10:49
|
(41) я тоже учусь. Но с таким не сталкивался. У меня если форма уже открыта и при ее открытии не использовался ключ, то при попытке открыть форму без указания ключа - находилась всегда уже открытая форма.
|
|||
|
44
SYS-eva
24.09.09
✎
10:55
|
(41)Наверное я не совсем ясно объяснил то что я делаю:
есть конфа модули которой - а именно модули объектов и общих модулей вынесенны во внешние отчеты, также вынесенны во внешние отчеты формы справочников доков ит.д. иными словами весь код и формы находятся вне конфы а сама конфа задает только информационную структуру. |
|||
|
45
Aprobator
25.09.09
✎
11:23
|
(44) и зачем все это надо?
|
|||
|
46
asady
25.09.09
✎
11:28
|
(45) видимо интересует "горячая замена" - типа обновление на лету.
|
|||
|
47
Aprobator
25.09.09
✎
11:42
|
(45) может быть.
|
|||
|
48
asady
25.09.09
✎
11:47
|
(47) я когда эту тему обдумывал (давно это было ) - забил на такой расклад - гораздо проще оказалось хранить код в объектах конфигурации - (справочники, РС) и тупо когда надо обновлять их содержимое.
|
|||
|
49
asady
25.09.09
✎
11:49
|
(48) таким образом можно было хранить динамические обработчики событий форм например.
|
|||
|
50
Гений 1С
гуру
25.09.09
✎
13:29
|
(48) В 2is все равно круче. Поспрошайте тормоза IT. Там все хранится в справочниках - и формы, и алгоритмы.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |