Вопрос

Дизайн отчета. Вопросы.

Очень сильно не хватает подробной инструкции по созданию и изменению отчета. Вот этот помог в кое-чем. Но вопросы остались.

1. Нужно автоматически вставлять в отчет ФИО того, кто этот отчет формирует. Из какого источника и какое поле?
2. Нужно автоматически вставлять в отчет наименование раздела и подраздела, откуда формируется отчет. Из какого источника и какие поля?
3. Если изменить имя отчета (к примеру, с "Карточка продукта" на "Карточку объекта") повлияет ли это на работоспособность системы?

Пока все.

Нравится

8 комментариев

1. Connector.CurentUser - данные о текущем пользователе
2. Есть отчеты, которые можно запускать и без раздела. Можно передавать атрибутами.
3. Нет.

1. С этим возникла проблема: прописал как [Connector.CurrentUser], но при построении отчета система выдает ошибку.
2. Можно по-подробнее? Нужно вставлять это поле, когда юзер создает отчет для печати из общего реестра.
______________
www.abs.com.kz
Агентство недвижимости АБС Royal Estate

1. Connector.CurrentUser - это объект. IUserInfo посмотрите в sdk.

1. Вставка в поле отчёта [Connector.CurrentUser] не поможет. Необходимо передать это значение в атрибут отчёта при обработке события OnPrepare (на комьюнити уже неоднократно приводились примеры, как это реализовать), а в поле отчёта обращаться к этому атрибуту.

2. Ссылка на раздел, из которого запускается отчёт, есть в
настройках отчёта. Если Вы запускаете отчёт из реестра отчётов, можно в функции PreviewReport скрипта scr_ReportsGridArea получать код раздела:

var WorkspaceCode = GetFieldValueFromDisabledField(Dataset, 'WorkspaceCode');

а потом передавать его в атрибуты отчёта (в той части, где формируется отчёт FastReport, т.е. switch... default:):

SetAttribute(Report, 'WorkspaceCode', WorkspaceCode);

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

Спасибо. Сам не справлюсь, передам программисту.

______________
www.abs.com.kz
Агентство недвижимости АБС Royal Estate

Да, и, как верно заметил Сергей, Connector.CurrentUser - это объект. В поле отчёта нужно передавать строковое поле - имя контакта. Поэтому можно взять Connector.CurrentUser.ContactID, по нему найти имя, а уже его передать в атрибут отчёта.

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

ну или можно напрямую:
Connector.CurrentUser.ContactName
А по атрибутам, Олег абсолютно прав.

"Биккинин Т.Р." написал:Сам не справлюсь, передам программисту.

я думал вы - программист )

"Глова Сергей" написал:я думал вы - программист )

нет, некоторые задатки этого имею, поэтому справляюсь с небольшими задачами реализации требуемого функционала. То, что мне не под силу, передаю нештатному программисту.
______________
www.abs.com.kz
Агентство недвижимости АБС Royal Estate

Показать все комментарии