![]() |
![]() |
|
8.2 Как получить схему компоновки данных в форме ? | ☑ | ||
---|---|---|---|---|
0
i-rek
23.10.08
✎
12:37
|
На стороне сервера получается только так:
Схема=Отчеты.МойОтчет.ПолучитьМакет("НазваниеСхемы"); не хочется явно вписывать МойОтчет Отчет.Метаданные() не работает, хотя по доке - должен вроде работать |
|||
1
НичегоНеЗнаюВ1С
23.10.08
✎
12:39
|
А так нельзя?
ПолучитьМакет("НазваниеСхемы"); |
|||
2
TitanLuchs
23.10.08
✎
12:58
|
(0) А чем "МойОтчет" не нравится то?
А Отчет.Метаданные() работать в форме ессно не будет. "Отчет" в контексте управляемой формы - это не объект типа "Отчет", а структура, а точнее тип "ДанныеФормыСтруктура". (1) Не, нельзя. |
|||
3
i-rek
23.10.08
✎
14:51
|
(2) не нравится - в общий модуль не засунуть...
ну и вообще странно, что внутри отчёта я не могу узнать своё имя |
|||
4
TitanLuchs
23.10.08
✎
15:00
|
(3) Вот имя формы:
Имя = ЭтаФорма.ИмяФормы; Для отчета "Тестовый отчет" будет таким: "Отчет.ТестовыйОтчет.Форма.ФормаОтчета" Собсна это его, отчета, имя и есть. Передавай его серверной процедуре и дальше делай что хошь - получай все нужные тебе макеты, реквизиты и т.д. |
|||
5
TitanLuchs
23.10.08
✎
15:01
|
+(4) А вообще нужно время, чтобы привыкнуть к тому, что в управляемой форме самого объекта по сути нет )))
|
|||
6
i-rek
23.10.08
✎
15:14
|
(5) ну это да.
Просто у объекта ОтчетОбъект по синтаксис-помощнику - есть метод Метаданные() зато если в отладчике смотришь - есть какие-то свойства которых нет в синтаксис-помощнике )) наверно нужно послать СМС на некий номер чтоб получить описание объектов |
|||
7
TitanLuchs
23.10.08
✎
15:17
|
(6) Не путай объект ОтчетОбъект и свойство "Объект" управляемой формы - это совсем разные вещи. Нету в управляемой форме объекта. ОтчетОбъект ты можешь получить в пользование в обычной форме, на сервере, но не в управляемой.
|
|||
8
i-rek
23.10.08
✎
15:28
|
(7) хм. Даже если в процедуре формы указать &НаСервере - всё равно нет ?
и даже процедуру разместить в модуле отчёта - нет ? |
|||
9
TitanLuchs
23.10.08
✎
15:29
|
в (7) фразу "свойство "Объект" управляемой формы" надо заменить на "свойство "Отчет" управляемой формы"
|
|||
10
TitanLuchs
23.10.08
✎
15:38
|
(8) Почему же. Напиши процедуру, исполняемую на сервере:
&НаСервереБезКонтекста Процедура Тест() Об = Отчеты.ТестовыйОтчет.Создать(); Схема = Отчеты.ТестовыйОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); КонецПроцедуры Вот тебе ОтчетОбъект в первой строке, вот макет во второй. Но за ними ты уже лезешь на сервер, а не берешь с формы напрямую. То есть ты можешь работать с объектом в форме, но взять его прямо из нее - нет. |
|||
11
i-rek
23.10.08
✎
15:39
|
Спасибо. Я понял. Мозги не так легко перестроить ))
|
|||
12
TitanLuchs
23.10.08
✎
15:47
|
(11) Представляй себе всегда, что тонкий клиент или веб-клиент - это просто окно браузера. У формы в браузере есть только те свойства, которые ты положишь на нее в виде реквизитов. А об объектах твоей БД или метаденных твоей конфы браузер не знает и знать никогда не будет, поэтому за такими данными всегда надо ходить на сервак.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |