|
получить объект в отчете | ☑ | ||
---|---|---|---|---|
0
jeka_molodec
18.05.15
✎
13:21
|
Создал отчет. С конструктором отчета пока не все понял, поэтому создаю руками. Создал форму. На ней поля, контрагент(справочник.контрагенты) дата и всякое....
Хочу получить данные из полей на форме. так нельзя(говорит нет, хоть на сервере хоть на клиенте)Объект.контргент так Элементы.Контрагент выдается в сообщении "данные формы" и как тут обратится к данным собственной формы? |
|||
1
Лефмихалыч
18.05.15
✎
13:23
|
возьми книжку по СКД, почитай, и не городи огородов
|
|||
2
Basilio
18.05.15
✎
13:24
|
тяжелый случай ((
|
|||
3
Зеленый пень
18.05.15
✎
13:27
|
(0) На сервере реквизит формы - который лишь представление данных объекта, надо превратить в настоящий "СправочникОбъект" - тогда через точку всё будет работать.
|
|||
4
Basilio
18.05.15
✎
13:32
|
(0) вообще объекты получаются методом "ПолучитьОбъект()"
у меня только один вопрос. зачем в отчете получать объект? |
|||
5
jeka_molodec
18.05.15
✎
13:35
|
чтобы получить объект и забить его в запрос
|
|||
6
jeka_molodec
18.05.15
✎
13:37
|
информация берется в основном из документа Запрос, но еще дальше и из других документов(поэтому не могу пока понять как сделать всю эту структуру в мастере. решил сделать руками, надежнее как то.
вот начало запрос.Текст = ("ВЫБРАТЬ Заявка.ДатаДо КАК Дата, | Заявка.Контрагент КАК Контрагент, | Заявка.ссылка КАК заявко |ИЗ Документ.Заявка КАК Заявка |ГДЕ Заявка.Контрагент = &контр"); запрос.УстановитьПараметр("контр",тут мой объект с формы ); |
|||
7
jeka_molodec
18.05.15
✎
13:38
|
а тупое (получить данные из поля формы)не могу понять как сделать.
|
|||
8
Basilio
18.05.15
✎
13:38
|
(6) я все-таки советую ссылку на объект забивать, а не сам объект.
|
|||
9
jeka_molodec
18.05.15
✎
13:45
|
не совсем понимаю механизм.
вот мне нужен объект. есть у формы поле сотрудник.выбираю,нажимаю кнопку в котором запрос. как мне получить ссылку на него? к чему применять ПолучитьОбъект()? |
|||
10
Basilio
18.05.15
✎
13:47
|
(9) так в том-то и соль что объект тебе вроде бы и ни к чему в отчете то.
вообще читай (1). |
|||
11
Любопытная
18.05.15
✎
14:00
|
(9) тебе не объект нужен, а значение реквизита формы. Если это реквизит формы, то к нему можно обратиться только из формы и не через объект обработки, а напрямую.
|
|||
12
jeka_molodec
18.05.15
✎
14:03
|
допустим так, ЭтаФорма.Элементы.Контрагент.????
Если просто ЭтаФорма.Элементы.контрагент то получаем то же "поле формы" |
|||
13
Basilio
18.05.15
✎
14:07
|
(12) просто ЭтаФорма.Контрагент.
Элементы - это "окошки" на форме |
|||
14
jeka_molodec
18.05.15
✎
14:15
|
ЭтаФорма.контрагент ошибка поле объекта не обнарурежно(контрагент)
|
|||
15
Basilio
18.05.15
✎
14:21
|
(14) значит у тебя нет такого реквизита у этой формы
|
|||
16
jeka_molodec
18.05.15
✎
14:22
|
я тоже так подумал.копирую имя-не арбайтен
|
|||
17
Basilio
18.05.15
✎
14:24
|
(16) выложи код где ты обращаешься к контрагенту.
|
|||
18
jeka_molodec
18.05.15
✎
14:26
|
&НаКлиенте
Процедура СформироватьОтч(Команда) СформироватьОтчСерв(); КонецПроцедуры &НаСервере Процедура СформироватьОтчСерв() запрос = Новый Запрос; запрос.Текст = ("ВЫБРАТЬ Заявка.ДатаДо КАК Дата, | Заявка.Контрагент КАК Контрагент, | Заявка.ссылка КАК заявко |ИЗ Документ.Заявка КАК Заявка |ГДЕ Заявка.Контрагент = &контр"); Сообщить("об-"+ЭтаФорма.контрагент);//вот просто хочу на в собщение добавить контрагента или сотрудника //сообщить("об-"+об.сотрудник); запрос.УстановитьПараметр("контр",об.Контрагент); рез = запрос.Выполнить().Выбрать(); Пока рез.Следующий() Цикл Сообщить("рез-"+рез.заявко); КонецЦикла; КонецПроцедуры |
|||
19
jeka_molodec
18.05.15
✎
14:28
|
в установить параметр понятно
запрос.УстановитьПараметр("контр",ЭтаФорма.Контрагент); издержки переписывания |
|||
20
jeka_molodec
18.05.15
✎
14:30
|
в "формаОтчета" это все
|
|||
21
jeka_molodec
18.05.15
✎
14:32
|
принтСкрин https://yadi.sk/i/NAzPzACVghjwL
|
|||
22
Basilio
18.05.15
✎
14:36
|
(21) я тебе сразу сказал что нет у формы такого реквизита "Контрагент"
|
|||
23
jeka_molodec
18.05.15
✎
14:41
|
не понимаю. вот есть реквизит у самого отчета. есть соответствующе названный на форме https://yadi.sk/i/xDSZ3WWJghksM
|
|||
24
jeka_molodec
18.05.15
✎
14:42
|
почему тогда нет? ясно,если бы это был документ,я бы написал Объект.сотрудник. но тут это не проходит.
|
|||
25
Basilio
18.05.15
✎
14:49
|
(24) т.е. думать вообще не хотим, да?
|
|||
26
jeka_molodec
18.05.15
✎
14:50
|
да. удалил реквизиты. задал тупо поля, все обращается.нельзя обратится к реквизитам, ну и черт с ними. хоть и жалко. мне для отбора и надо было.
Всем спасибо кто навел на мысль. |
|||
27
ВРедная
18.05.15
✎
14:50
|
(24)
- Открываешь конфигуратор, - ставишь точку останова на строке в процедуре СформироватьОтчСерв, - запускаешь режим отладки - смотришь какие есть реквизиты у формы, - радуешься |
|||
28
jeka_molodec
18.05.15
✎
14:56
|
Спасибо. Я уже радуюсь. Когда нападет тупость,а потом отпускает, это всегда... эйфория такая образуется, что и клоунов смотреть не надо. и так хорошо :) Про конфигуратор тоже спасибо, запомним.
|
|||
29
hhhh
18.05.15
✎
15:03
|
(28) всё-таки глянь на твой скрин: ведь там четко написано:
Отчет.Контрагент |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |