|
Отчет в управляемом приложении | ☑ | ||
---|---|---|---|---|
0
bcosta
11.02.14
✎
16:17
|
Только начал осваивать управляемое приложение. Пытаюсь сделать отчет.
Подскажите, пожалуйста, как сделать самый простейший отчет. Дальше уже сам додумаю. Есть отчет, форма с табличным полем, макет. Проблема в том, что как бы я не пытался, постоянно ошибки, что что-то недоступно на сервере, на клиенте и т.д. Где вообще должна быть процедура печати, в модуле чего? |
|||
1
Жан Пердежон
11.02.14
✎
16:22
|
делай на скд
|
|||
2
bcosta
11.02.14
✎
16:24
|
(1) про скд вообще ничего не знаю. А разве обычным макетом не сделать?
|
|||
3
fisher
11.02.14
✎
16:39
|
(2) Сделать. Но т.к. ты "только начал осваивать управляемое приложение", то будут "постоянно ошибки, что что-то недоступно на сервере, на клиенте и т.д".
А в простейшем отчете на СКД все ньюансы клиент-серверного взаимодействия платформа возьмет на себя. |
|||
4
fisher
11.02.14
✎
16:58
|
На самом деле, с обычным макетом тоже никаких проблем.
Делаешь процедуру &НаСервере, в которой формируешь табличный документ и присваиваешь его реквизиту формы, который служит источником данных для твоего табличного поля. Её вызываешь из обработчика нажатия кнопки "Сформировать" (который &НаКлиенте). Вроде и всё... |
|||
5
bcosta
11.02.14
✎
18:01
|
Дайте пример какой-нибудь, пожалуйста. Или подробнее напишите. Как с обычным макетом сделать.
Чего-то вообще не въехать. |
|||
6
jsmith
11.02.14
✎
18:03
|
>>Только начал осваивать управляемое приложение
Методом самотыка? Читай Радченко, разработка управляемых форм И не плоди тупых тем на форуме |
|||
7
jsmith
11.02.14
✎
18:04
|
*две разные книги
|
|||
8
jsmith
11.02.14
✎
18:06
|
и СКД, тоже классика, не помню название
|
|||
9
fisher
11.02.14
✎
18:17
|
Имеем пустую заготовку отчета с пустой управляемой формой.
1. Создаешь команду формы "Сформировать" 2. Создаешь реквизит формы "Результат" типа "ТабличныйДокумент" 3. Перетаскиваешь оба в дерево элементов формы - создадутся поле табличного документа и кнопка. 4. Создаешь макет с именем "Макет" и надписью в нем "Тест" (ну, или "да - я тормоз и лентяй") 5. В свойствах команды "Сформировать" клацаешь на лупу в свойстве "Действие" - откроется модуль формы с пустым обработчиком команды. 6. Приводишь модуль формы к виду: &НаСервере Процедура ВывестиОтчет() Результат = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет"); КонецПроцедуры &НаКлиенте Процедура Сформировать(Команда) ВывестиОтчет(); КонецПроцедуры |
|||
10
bcosta
11.02.14
✎
18:27
|
Спасибо огромное. А где должно находиться описание параметров макета?
|
|||
11
bcosta
11.02.14
✎
18:36
|
А если на форме есть поле ввода. как мне его передать в макет?
Если так: &НаСервере Процедура ВывестиОтчет() Результат = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет"); Результат.Параметры.Тест = Объект.ПолеВвода; КонецПроцедуры &НаКлиенте Процедура Сформировать(Команда) ВывестиОтчет(); КонецПроцедуры то ругается, что нельзя на сервере. |
|||
12
fisher
11.02.14
✎
18:45
|
Что тебе скажу. Без системного изучения ты подобные вопросы будешь бесконечно задавать. Забудь про научный тык.
Последний раз: &НаСервере Процедура ВывестиОтчет() ТаблицаОтчета = Новый ТабличныйДокумент; Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет"); Макет.Параметры.Тест = ИмяРеквизитаПоляИсточникаДанныхПоляВвода; ТаблицаОтчета.Вывести(Макет); Результат = ТаблицаОтчета; КонецПроцедуры |
|||
13
fisher
11.02.14
✎
18:46
|
Тьфу. ИмяРеквизитаФормыИсточникаДанныхПоляВвода :)
|
|||
14
bcosta
11.02.14
✎
18:55
|
(12) Изучать по-любому надо будет. Просто сейчас срочно понадобилось.
Вот с этим не до конца понял - ИмяРеквизитаФормыИсточникаДанныхПоляВвода. Напиши, пожалуйста. Если поле ввода - Номенклатура (реквизит обработки), то как должно это выглядеть в процедуре? Заранее спасибо. |
|||
15
IamAlexy
11.02.14
✎
18:56
|
самый прикол в том что для того чтобы сделать в управляемых формах отчет (да с настройками панельками и прочими плюшками в виде вариантов и отборов на форме) вообще кодить не надо..
все делается мышкой.. |
|||
16
bcosta
11.02.14
✎
18:59
|
(15) через СКД? большой сложный отчет пока не нужен. А в ближайшем будущем займусь изучением всего этого.
|
|||
17
bcosta
11.02.14
✎
19:01
|
По (14) ответьте, пожалуйста, кто-нибудь.
|
|||
18
IamAlexy
11.02.14
✎
19:01
|
(16) через СКД как раз то таки проще делать маленькие и простенькие отчеты :)
|
|||
19
fisher
11.02.14
✎
19:06
|
(14) Про реквизиты ОБЪЕКТА можешь забыть на УФ для отчетов и обработок. Они стали бесполезными, если объект не хранится в БД. Добавь реквизит ФОРМЫ и перетащи его в дерево объектов формы. И его имя указывай.
|
|||
20
fisher
11.02.14
✎
19:07
|
"дерево элементов формы"
|
|||
21
fisher
11.02.14
✎
19:15
|
А вообще - таки да, Учи СКД.
Я еще будучи на толстом клиенте только ради отчетности включал режим использования УФ. УФ+СКД = вообще ничего не надо кодить в формах в 90% случаев. |
|||
22
bcosta
12.02.14
✎
01:25
|
(19) Спасибо огромное! С этим делом до конца разгребу и буду книги читать по УФ и СКД.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |