|
Как вывести реквизит формы в ее заголовок | ☑ | ||
---|---|---|---|---|
0
travelekb
04.08.13
✎
19:22
|
Доброго вечера.
Понимаю, что наверняка задача элементарна, но уже голову сломал - не могу разобраться. Дано: Управляемые формы Есть форма обработки. У данной формы есть реквизит "Клиент" ссылочного типа (СправочникСсылка). У данного реквизита формы среди прочего есть параметр КодКлиента. Никак не могу заставить вывести это значение в Заголовок моей формы. Пытаюсь сформировать строку для вывода вот так: Заголовок = Объект.Клиент.КодКлиента; ругается ошибкой "Поле объекта не обнаружено КодКлиента" Хотя в дереве реквизитов формы - присутствует. http://joxi.ru/U3H-Udg5CbAJWQwUuMc Буду признателен за подсказку! |
|||
1
НаборДанных
04.08.13
✎
19:23
|
Не там пытаешься софримровать, даю 146%, что в отладчике Объект не совем то, что тебе нужно в момент формирования.
|
|||
2
travelekb
04.08.13
✎
19:25
|
Ну вот например, делаю так:
Заголовок = Объект.Клиент; мне выводит наименование клиента. А мне нужен именно КодКлиента, вот так: Заголовок = Объект.Клиент.КодКлиента; не работает |
|||
3
НаборДанных
04.08.13
✎
19:26
|
(2)Засада, отладчик пробовал?
|
|||
4
travelekb
04.08.13
✎
19:32
|
(1), действительно, когда отладчиком смотрю - в Объект.Клиент уже нету реквизита КодКлиента. Подскажите - где копать?
|
|||
5
НаборДанных
04.08.13
✎
19:34
|
(4)Мб, КодКлиент = Рекивизт формы?
|
|||
6
travelekb
04.08.13
✎
19:38
|
(5), Заголовок = Объект.КодКлиента;
тоже не работает. Верно ли я думаю, что нужно вызвать серверную функцию и получить этот КодКлиента из Справочника, затем вернуть на клиент и уже потом отобразить в заголовке? |
|||
7
НаборДанных
04.08.13
✎
19:45
|
Форма рисуется при создаиинасеревере, думай дальше.
|
|||
8
Defender aka LINN
04.08.13
✎
19:47
|
Дано:
Управляемые формы |
|||
9
Aprobator
04.08.13
✎
20:31
|
(8) народ походу пьянствует вовсю.
|
|||
10
Aprobator
04.08.13
✎
20:32
|
(0) к реквизитам значения ссылочного типа нельзя обратиться через точку на стороне клиента.
|
|||
11
Aprobator
04.08.13
✎
20:35
|
(5) абсолютно верно.
|
|||
12
Aprobator
04.08.13
✎
20:35
|
(12) (11) - > (6)
|
|||
13
travelekb
04.08.13
✎
20:40
|
Буду пробовать, спасибо, но пока все равно не врубаюсь.
Понял, что где-то на стороне Сервера зарыто что мне нужно. |
|||
14
Aprobator
04.08.13
✎
21:17
|
пля.
|
|||
15
Aprobator
04.08.13
✎
21:23
|
Ошибся чуток. Вот так точнее будет
|
|||
16
travelekb
04.08.13
✎
21:49
|
Можно попробовать разобрать по частям?
Я пишу в процедуре "При открытии" на Клиенте, т.к. мне нужно вывести имя реквизиты в шапку: В параметрах функции передаем объект ссылочного типа и имя реквизита. &Клиент Процедура ПриОткрытии() ЭтаФорма.Заголовок = ПолучитьЗначениеРеквизитаСервер(Объект.Клиент, "КодКлиента"); КонецПроцедуры Дальше, серверная часть и тут я не понимаю что происходит... Хочется не просто скопировать код, а разобраться. &Сервер Функция ПолучитьЗначениеРеквизитаСервер(ЗначениеТипаСсылка, ИмяРеквизита) Возврат ЗначениеТипаСсылка[ИмяРеквизита]; КонецФункции |
|||
17
Defender aka LINN
04.08.13
✎
21:56
|
(15) Подставляй коленку
|
|||
18
Aprobator
04.08.13
✎
22:06
|
(17) за что?????
|
|||
19
Aprobator
04.08.13
✎
22:10
|
(16) тогда к учебникам.
|
|||
20
travelekb
04.08.13
✎
22:13
|
(19) завтра разберу внимательнее, думаю дойду.
Сегодня поздно уже. Большое вам спасибо! |
|||
21
Aprobator
04.08.13
✎
22:14
|
вот тебе даже тупо выдержка из СП.
.... СправочникСсылка.<Имя справочника>.<Имя реквизита> (CatalogRef.<Имя справочника>.<Attribute name>) СправочникСсылка.<Имя справочника> (CatalogRef.<Имя справочника>) <Имя реквизита> (<Attribute name>) Использование: Только чтение. Описание: Тип: Произвольный. Набор свойств содержит значения реквизитов справочника. Доступ к значению осуществляется по имени, как оно задано в конфигураторе. Доступность: Сервер, толстый клиент, внешнее соединение. // Тонкого клиента тут нет. |
|||
22
Aprobator
04.08.13
✎
22:16
|
(21) хотя не - этот пост тут не в тему нефига.
|
|||
23
Aprobator
04.08.13
✎
22:17
|
На стороне клиента и реквизитов то ссылочного типа нет )
Костя! Я осознал за что!!!!!! ))) |
|||
24
Aprobator
04.08.13
✎
22:24
|
хотя, чего то ты меня запутал. Колись, за что коленку подставлять?
|
|||
25
Aprobator
04.08.13
✎
22:26
|
вот св..лочь, я ж не усну тперь. Кто нить может мне объяснить- за что коленку?
|
|||
26
Aprobator
04.08.13
✎
22:26
|
)
|
|||
27
zladenuw
04.08.13
✎
23:04
|
(26) что что. прострелить тебе коленку.
|
|||
28
Necessitudo
04.08.13
✎
23:16
|
(16) И неправильно. Нужно писать НаСервереБезКонтекста.
|
|||
29
Aprobator
04.08.13
✎
23:17
|
(28) только это коленки не стоит )
|
|||
30
Necessitudo
04.08.13
✎
23:34
|
(29) Стоит)Тупая ошибка)
|
|||
31
Aprobator
04.08.13
✎
23:37
|
куда я попал. Одни садисты!
|
|||
32
Aprobator
04.08.13
✎
23:38
|
кстати, а что такое - не тупая ошибка?
|
|||
33
Defender aka LINN
05.08.13
✎
07:47
|
(24) 1. За &НаСервере
2. За []. |
|||
34
Aprobator
05.08.13
✎
10:09
|
(33) я ему только суть показал. Уж разжевывать до того, что и значения реквзитов лучше тащить запросом - ну его нафиг. Доки есть - пусть сам читает.
|
|||
35
travelekb
05.08.13
✎
12:26
|
Мужики, спасибо большое. Все решил - все работает.
Правильно ли реализовал? Хочется не чтобы просто работало, а было правильно: &НаКлиенте Процедура ПриОткрытии(Отказ) ЭтаФорма.Заголовок = ПолучитьЗаголовокНаСервере(Объект.Клиент); КонецПроцедуры &НаСервереБезКонтекста //контекст формы нам не нужен - так что без него Функция ПолучитьЗаголовокНаСервере(Значение) Возврат Строка(Значение.КодКлиента); КонецФункции Еще раз спасибо всем. Действительно я совсем не учел вот это: (21) >>Сервер, толстый клиент, внешнее соединение. // Тонкого клиента тут нет.<< |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |