![]() |
![]() |
![]() |
|
Данные из ВладелецФормы | ☑ | ||
---|---|---|---|---|
0
Axit
16.06.09
✎
18:01
|
Через данный код
ЭтаФорма.ВладелецФормы можно получить данные реквизитов формы владельца в текущей форме, но как получить название этой этой самой формы владельца? |
|||
1
asady
16.06.09
✎
18:03
|
(0) попробуй поковырять внутреннее представление формы
типа ЭтонужноПоковырять=ЗначениеВСтрокуВнутр(ЭтаФорма.ВладелецФормы); |
|||
2
dimoff
16.06.09
✎
18:04
|
Есть один извращенческий способ с пробным открытием всех форм объекта метаданных, напрямую вроде нельзя.
|
|||
3
Axit
17.06.09
✎
09:53
|
(1) Через ЗначениеВСтрокуВнутр(ЭтаФорма.ВладелецФормы) получаю множество значений, но среди них нет непосредственного названия формы владельца.
(2) Что за извращенский способ? |
|||
4
dimoff
17.06.09
✎
09:58
|
Определяешь метаданные владельца формы, через метаданные перебираешь его формы и открываешь каждую, проверяя не открылась ли повторно твоя форма(например изменив заголовок). Нюансы есть, но на крайняк в порядке бреда такой вот вариант.
|
|||
5
Axit
17.06.09
✎
10:09
|
(4)Да уж, жесть. точно извращение.
|
|||
6
asady
17.06.09
✎
10:48
|
(3) я писал "надо поковырять" - ребятки из проекта EI вот как-то ковыряют её.
а как насчет использовать заголовок формы - может оттуда инфу черпануть? |
|||
7
Axit
17.06.09
✎
10:58
|
(6) Заголовок формы владельца? Как его можно получить?
|
|||
8
asady
17.06.09
✎
10:59
|
ЭтаФорма.ВладелецФормы.Заголовок
|
|||
9
Axit
17.06.09
✎
11:03
|
(8) делал такое с самого начала, пишет ошибку
Поле объекта не обнаружено (Заголовок) |
|||
10
asady
17.06.09
✎
11:04
|
ну так надо сначало проверить а есть ли владелец формы - может там NULL?
|
|||
11
Axit
17.06.09
✎
11:10
|
(10) Есть конечно владелец формы.
ЭтаФорма.ВладелецФормы = табличное поле |
|||
12
Axit
17.06.09
✎
11:19
|
Придётся в форме владельца присвоить реквизит уникальный, и искать в строке ЗначениеВСтрокуВнутр(ЭтаФорма.ВладелецФормы) этот реквизит.
Если найден, то это искомая форма Ещё одно извращение, но мне оно больше нравиться чем пытаться открывать формы повторно |
|||
13
asady
17.06.09
✎
11:22
|
(12) Тогда уж юзай КлючУникальности формы он как раз для этих целей и предназначен
|
|||
14
asady
17.06.09
✎
11:24
|
(12) что-то я въезжаю - для чего тебе все эти заморочки? - предчуствую, что ты долбишь не с той стороны.
|
|||
15
hhhh
17.06.09
✎
11:31
|
(11) значит, владелец - табличное поле. А ты нам втюхиваешь, что у тебя владелец - форма.
|
|||
16
Axit
17.06.09
✎
11:38
|
(15) Форма документа открывается из формы списка документа посредством стандартного создания нового элемента
А поскольку имеется 2 разные формы списка, вот и нужно было опредить из которой происходит открытие документа |
|||
17
asady
17.06.09
✎
11:46
|
(16) зачем? постановка задачи кривая - подумай как изменить её.
|
|||
18
Aprobator
17.06.09
✎
11:54
|
(16) сдается мне что оповещния формы из которой был создан документ о его записи и т.п. будет вполне достаточно. Впрочем у формы есть Заголовок.
|
|||
19
Aprobator
17.06.09
✎
11:55
|
+(18) задача то вооще какая? Чего требуется получить то?
|
|||
20
Axit
17.06.09
✎
12:15
|
(19) задача следующая
Есть 2 разные формы списка одного и того же документа. Нужно чтобы при создании нового документа из формы списка можно было определить из какой формы списка создан новый документ создан. |
|||
21
Михаил Козлов
17.06.09
✎
13:27
|
(20) Т.к. владелец формы - табличное поле (элемент управления), боюсь, что красиво не определить. Может, в одной из форм сделать недоступную невидимую колонку и по ней распознавать?
|
|||
22
Aprobator
17.06.09
✎
13:49
|
(20) ЗАЧЕМ??? Это не задача, а решение.
|
|||
23
hhhh
17.06.09
✎
14:00
|
(20) через оповещения можно:
в вызываемой форме: Опопвестить("ЗапросДайтеПожалуйстаИмяВызывающейФормы"); в вызывающей форме Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия = ЗапросДайтеПожалуйстаИмяВызывающейФормы" Тогда Оповестить("ВсегдаПожалуйстаИмяВызывающейФормы", "ВтораяКриваяФормаСписка"); |
|||
24
Aprobator
17.06.09
✎
14:03
|
(23) а получится оповестить то, что еще тока начинает создаваться?
|
|||
25
hhhh
17.06.09
✎
14:05
|
(24) поэтому и два "оповестить". Оно посылает запрос, когда уже создалось, и получает ответ.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |