Рис. 44 – Окно с формой атрибутов фильтра при задании SQL выражения для фильтра документов с персонифицированным доступом
Или с помощью конструктора (как показано на Рис. 45 и Рис. 46), задавая следующие параметры:
USER
TableID='ADM_ViewUser'.KeyPressMode=1

Рис. 45 – Окно с формой атрибутов фильтра, при задании параметров для фильтра документов с конфиденциальным доступом

Рис. 46 – Окно с формой атрибутов фильтра документов с персонифицированным (конфиденциальным) доступом
В документе "LanDocs: ДЕЛОПРОИЗВОДСТВО. Настройка рабочего места" описаны примеры фильтров, которые можно использовать при просмотре документов, а также на их основе создавать новые фильтры.
5.26. Просмотр информации об объекте
Функция просмотра подробной информации об объекте позволяет увидеть системную информацию о любых объектах системы – документах, элементах справочников, сообщениях и т. д.
Для просмотра подробной информации об объекте выполните следующие действия:
Ø Выберите в меню Пользователь пункт Информация об объекте.
Ø Откроется окно Введите ID объекта. ID объекта – идентификатор объекта, можно узнать из базы данных. Кроме того, идентификатор объекта (и краткую информацию об объекте) можно увидеть в окне, открывающемся по двойному щелчку левой кнопки мыши на объекте (Рис. 47).

Рис. 47 – Окно отображения краткой информации об объекте
Ø После задания идентификатора объекта (служебное поле ID), откроется окно Информация об объекте (Рис. 48), содержащее более подробную системную информацию об объекте. Состав информации в этом окне меняется в зависимости от типа объекта.

Рис. 48 – Окно представления информации об объекте
Кнопка Операции служит для просмотра списка операций, совершенных над объектом см. п. 4.27 "Операции с информационными объектамиОперации_с_информационными_объектами_42".
Кнопка Закрыть служит для окончания просмотра информации по объекту.
5.27. Операции с информационными объектами
Система LanDocs, при использовании подсистемы безопасности, может быть сконфигурирована таким образом, что ряд ответственных операций будут заверяться ЭЦП пользователя. К таким операциям могут быть отнесены операции создания и редактирования элемента справочника и другие. Настройку автоматического подписания операций производит администратор системы (см. п. 4.17 Справочник "Операции"Справо_ник_Операции_20 Справо_ник_Операции_20). Подписание операций производится автоматически.
При подписании операции подписывается как сама операция, так и связанный с ней объект. Так, при редактировании карточки подписывается операция редактирования (данные о том, кто, когда производил редактирование карточки), а также регистрационные данные, содержащиеся в карточке.
Пункт меню Совершенные операции служит для просмотра списка операций, совершенных над информационным объектом системы, например, элементом справочника (Рис. 49).

Рис. 49 – Окно представления информации о совершенных операциях с данным документом
Для проверки ЭЦП операции:
Ø Выделите запись о совершенной операции в списке.
Ø Выберите в меню Операция пункт Проверить подпись. Откроется окно, содержащее информацию об электронной цифровой подписи операции (Рис. 50).

Рис. 50 – Окно с информацией об электронной цифровой подписи операции
5.28. Печать иерархических справочников
В системе предусмотрена печать иерархических справочников путем экспорта в файл формата MS Word или MS Excel.
Для экспорта иерархического справочника в меню справочника выберите команду Печать4 Экспорт MS Word или Печать4 Экспорт MS Excel. Откроется соответствующее приложение, в котором будет представлен справочник. Дальнейшие действия по печати или сохранению в файл выполняются из соответствующего приложения.
6. Проектирование отчетов
Система LanDocs позволяет выпускать разнообразные отчеты по базе данных (в том числе, отражающие статистику по документам и сообщениям), любой степени сложности. Для того чтобы создать новый тип отчета, необходимо сформировать шаблон отчета, зарегистрировать его в системе (см. п. 4.18 Справочник "Отчеты"Справо_ник_От_еты_21) и назначить сотрудникам право "Формировать отчеты" в справочнике "Сотрудники" либо в справочнике "Отчеты" (см. п. 4.5 Справочник "Сотрудники"Справо_ник_Сотрудники_23).
В системе предусмотрено создание отчетов двух типов:
· текстовые документы MS Word;
· электронные таблицы MS Excel.
При формировании отчетов специальному модулю "Генератор отчетов" передается ряд параметров определяющих: таблицы базы данных, из которой берутся записи для отчета, идентификатор пользователя, идентификаторы записей для отчета и т. д. Эти параметры частично описываются в файле шаблонов отчетов (файле инициализации), частично передаются генератору из модуля делопроизводства (идентификатор пользователя, идентификаторы записей).
6.1. Проектирование шаблонов отчетов в среде WinWord
Шаблоны отчетов в среде WinWord состоят из двух частей:
· Файл формы – файл в формате RTF.
· Файл инициализации – текстовый файл с расширением INI.
6.1.1. Настройка формы отчета
Для задания формы необходимо с помощью текстового редактора Microsoft Word (генератором отчетов поддерживаются версии 97/2000/XP) создать документ в формате RTF, в котором будут заданы необходимые элементы отчета. Места, куда нужно вставить значения полей баз данных, помечаются специальными символами в формате сNc, где с – специальный символ, а N – номер под которым наименование этого поля хранится в INI файле (INI файл описывается в п. 5.1.2 "Описание структуры отчета в INI файле отчетаОписание_структуры_от_ета_в_INI_файле_от_ета"). Для каждого элемента отчета существует свой специальный символ для выделения ссылок, относящихся к таблице БД именно этого элемента. Таблица 2 представляет список элементов, соответствующих специальных символов и их описание.
Таблица 2 – Виды элементов формы отчета
Название элемента | Спецсимвол | Использование |
Обычный текст | % | Выводит в произвольном месте один раз значение реквизита, запрос к которому определяется в разделах Header и Attributes Может использоваться в любом месте отчета, ссылки на поля базы данных доступны во всех остальных элементах отчета. |
Значение параметра | # | Для вставки в отчет в данном месте значения параметра, передаваемого процедуре генерации отчета (то, что было задано в окне ввода параметров при запуске отчета). Есть следующие встроенные параметры: #8# – ID пользователя (чтобы определить его права). #9#=’<ID1>,<ID2>…<IDN>’, где: ID1, ID2…IDN – идентификаторы выделенных записей в текущей таблице (отчет по которым формируется). Если выделена одна запись, то значения встроенных параметров #9# и #10# должны совпадать. #10# – ID текущей записи выбранной в текущей таблице |
Таблица | $ | Для описания таблицы необходимо создать ее заголовок, а также одну строку, в каждую клетку которой поместить описания ссылок на поля БД. Строка, где указаны параметры с $, множится по количеству отобранных записей. Условие вывода этих значений определяется в разделе Table N Header и Table N Attrubutes. |
Блок | ~ (знак тильда) | Блок может применяться в двух случаях: 1. Если необходимо повторить несколько раз таблицу. В этом случае начало блока указывается перед таблицей, а конец – после. 2. Если необходимо для одной строки в таблице отчета вывести несколько значений из другой таблицы. В этом случае начало и конец блока указываются внутри той ячейки таблицы, где необходимо вывести несколько значений. Условие вывода параметров блока определяется запросами в разделах Block N Header и Block N Attributes Начало блока помечается строкой &BLOCKnBEGIN&, а окончание блока помечается строкой &BLOCKnEND&, где n–номер блока. Спецсимволы, обозначающие начало и конец блока, должны быть скрытыми (Формат–Шрифт–Скрытый) |
Сумма по столбцу | ! | Хранится только в rtf–файле и используется для подсчёта суммы числовых значений в столбце. При этом значение N равняется соответствующему N в столбце, по которому рассчитывается сумма. Т. е., если в столбце, по которому надо посчитать сумму, стоит параметр $3$, то параметр, вычисляющий сумму по данному столбцу, должен быть следующим: !3!. |
6.1.2. Описание структуры отчета в INI файле отчета
INI файл отчета служит для описания таблиц БД и ссылок на форме отчета на поля этих таблиц. Имя INI файла должно совпадать с именем RTF файла.
В начале INI файла рекомендуется вставить строки комментария (начинающиеся с символа .) и записать в них:
название операции (в справочнике операций), для которой может назначаться отчет.
название файлов со скриптами и порядок их запуска, если необходимо предварительно выполнение каких–либо скриптов.
другую поясняющую информацию (например, особенности формирования).
INI файл состоит из описаний секций. Описание секции состоит из заголовка секции и описаний переменных. Заголовок секции – это название секции в квадратных скобках, например, [Name]. Описание переменных (см. Таблица 3) – это последовательность строк вида: Переменная = Значение.
Таблица 3 – Формат INI файла.
Наименование секции и ее назначение | Имена переменных секции | Значения по умолчанию | Назначение переменной |
[HEADER] описание таблицы БД для переменных в обычном тексте. | PhysicalView | Пусто | Имя таблицы (представления) БД. |
Conditions | Пусто | Условие выбора записей из БД. | |
ProcParams | Пусто | Параметры хранимой процедуры. | |
Name | Пусто | Название отчета. | |
TablesCount | 0 | Количество таблиц в отчете. | |
BlocksCount | 0 | Количество блоков в отчете. | |
DoLog | 0 | Нужно ли вести запись в LOG файл отладочных сообщений (если = 1, то будет вестись запись в файл report. log). | |
VerifyFunction | Пусто | Содержит вызов функции, проверяющей корректность параметров отчёта. Если параметры некорректны, то выводится сообщение об ошибке. Сообщение об ошибке – строка, которую возвращает проверочная функция. Генератором отчетов поддерживается вызов только одной функции по отчету. Пример: VerifyFunction=@FUNCVALUE, CHECKREPORT(#10#,#1#,0) | |
[Parameters] описание типов параметров отчета | Число | Пусто | Указание типа параметра: DATE – дата; INT – число; STRING– строка. |
[Table N Header] описание таблицы БД для текстовой таблицы, идущей Nой в тексте. | PhysicalView | Пусто | Имя таблицы (представления) БД. |
StartRow | 1 | Номер строки в таблице, которая будет повторяться по записям из БД. | |
SortField | Пусто | Поле для сортировки при выборке записей. | |
Conditions | Пусто | Условие выбора записей из БД. | |
ProcParams | Пусто | Параметры хранимой процедуры. | |
DBTable | 1 | Условие обработки таблицы: 1 – в таблицу будут вставляться значения из СУБД; 0 – таблица будет вставлена в отчет без изменений. | |
Distinct | Пусто | В случае, когда эта строка не пуста будет вызван SelectDistinct по тем полям, которые будут указаны в этой строке. | |
[Table N Attributes] задание соответствия полей БД номерам ссылок на эти поля из шаблона, например: $1$ | Число. Например, 1=DocN. | Пусто | Имя поля таблицы (представления) БД (поле с таким именем обязательно должно присутствовать в таблице БД, указанной в соответствующем разделе Header), либо, если в начале стоит символ @ , то это вызов спецфункции (см. далее). |
[Block N Header] описание таблицы БД для блока идущего Nым в тексте. | PhysicalView | Пусто | Имя таблицы (представления) БД |
Conditions | Пусто | Условие выбора записей из БД. | |
ProcParams | Пусто | Параметры хранимой процедуры. | |
SortField | Пусто | Поле для сортировки при выборке записей. | |
Distinct | Пусто | В случае, когда эта строка не пуста будет вызван SelectDistinct по тем полям, которые будут указаны в этой строке. | |
[Block N Attributes] задание соответствия полей БД номерам | Число. Например, 1=DocN. | Пусто | Имя поля таблицы (представления) БД (поле с таким именем обязательно должно присутствовать в таблице БД, указанной в соответствующем разделе Header), либо, если в начале стоит символ @ , то это вызов спецфункции (см. далее). |
Примечание:
· Для удобства построения запросов можно использовать промежуточные переменные, т. е. параметры с любыми номерами из тех, что не используются в rtf–шаблоне. Это удобно, например, для запоминания "ID" записи.
· Для установления связи между таблицей и блоком в запросе в строке Conditions необходимо указывать ссылку на блок для таблицы или ссылку на таблицу для блока. Параметр необходимо указывать в соответствующих значках (~N~ для ссылки на блок и $N$ для ссылки на таблицу) и его номер должен соответствовать номеру параметра, хранящего необходимое значение (например, хранящего ID записи).
· Существует ограничение на количество таблиц (30), используемых в шаблоне отчёта.
· В качестве источника данных можно указать хранимую процедуру, возвращающую набор данных. В этом случае переменная секции PhysicalView должна иметь следующий вид: @PROCNAME, где PROCNAME – название хранимой процедуры. Параметры процедуры перечисляются через запятую и записываются в переменную ProcParams.
· В переменной SortField также можно указывать:
o Несколько полей. Пример: SortField=””RegDate”,”DocN””.
o Вызов хранимой функции. Пример: SortField="GRK_SORT("AddIndex",1)".
· Для того чтобы использовать запятую в названии элемента управления или в переменной Conditions, её следует писать вместе с символом / (слэш).
Пример
#2#=Edit, Должность лица/, утверждающего акт, NotEmpty, NoBreak,1
· В качестве описания имени поля БД можно использовать специальные функции, они необходимы для получения вычисляемых значений. Параметры для них задаются последовательно через запятую в той же строке. Доступные функции описаны в п. 5.1.3 Список функций, доступных в генераторе отчетовСписок_функций_доступных_в_генераторе_от_етов_44.
6.1.3. Список функций, доступных в генераторе отчетов
Таблица 4 – Список функций, доступных в генераторе отчетов
№ | Имя | Параметры | Пример |
1 | @ADD – добавляет к первому числу второе | Число 1,Число 2 | @ADD,$1$,$2$ |
2 | @ADDDATEVALUE – увеличивает дату на заданное количество дней | Дата, Число | @ADDDATEVALUE,$4$,1 |
3 | @CHECKDUPLICATE – если следующее значение поля в столбце равно предыдущему, то выводится ‘’ (пустая строка), иначе выводится значение поля | Название поля | @CHECKDUPLICATE, Kind |
4 | @CHECKDUPLICATEM – если следующее значение поля 1 в столбце равно предыдущему, то выводится ‘’ (пустая строка), иначе выводится значение поля 2 | Название поля 1, Название поля 2 | @CHECKDUPLICATEM, DossierID, DescrDossier |
5 | @COUNT – число записей, удовлетворяющих условию | Имя таблицы (view), условие | @COUNT, lderc,"JournalID"=87646 AND "RegDate">=#1# |
6 | @COUNT_Z – число записей, удовлетворяющих условию. Если число записей равно 0, то выводится ‘’ (пустая строка). | Имя таблицы (view), условие | @COUNT_Z, lderc,"JournalID"=87646 AND "RegDate">=#1# |
7 | @DECODEMAIL – выводит текст конфиденциальных сообщений (текст сообщения, текст отчета) при формировании отчета пользователем, на которого сообщение зашифровано. | ID сообщения | @DECODEMAIL,$6$ |
8 | @FORMATDATE – выводит дату в формате ‘YYYY–MM–DD’ | Дата | @FORMATDATE,$4$ |
9 | @GETCURRENTRECORDNUMBER – выводит номер строки в таблице согласно заданному шаблону | @GETCURRENTRECORDNUMBER–33 Выводит значения: 1–33, 2–33… | |
10 | @GetDateRange – формирует строку условия для отбора документов в указанном диапазоне, если один из параметров не указан – то условие не учитывает этот параметр | Имя поля, на которое налагается условие, Начальная дата, Конечная дата. | @GetDateRange,"ExecDate",#1#,#2# |
11 | @LDOPTION – выводит значение параметра. Сначала ищет параметр в файле landocs. ini, затем в справочнике "Параметры", если в файле параметр не найден | Название параметра | @LDOPTION, TemplateDir |
12 | @NOW – текущее время + дата с сервера | @NOW | |
13 | @PERCENT вычисляет процент первого параметра от второго. | Число 1,Число 2 | @ PERCENT,%21%,%1% |
14 | @ROWNUM – выводит порядковый номер строки, начиная с заданного | Число | @ROWNUM,10 |
15 | @SQLTODAY – текущая дата с сервера в формате ‘YYYY–MM–DD’ | @SQLTODAY | |
16 | @SubFromDate – вычитает из одной даты другую | Дата1, Дата2 | @SubFromDate,$4$,$5$ |
17 | @SubFromNow – вычитает из текущей даты, дату, указанную в параметре. | Дата (обычно срок выполнения) | @SubFromNow,$4$ |
18 | @TODAY – текущая дата с локальной машины | @TODAY | |
19 | @VALUE – значение | Имя таблицы (view), имя столбца, условие | @VALUE, ViewLDMailBoxCombo, "AccountText","ObjectID"=$10$ |
20 | @VALUE_Z – значение. Если значение поля равно 0, то выводится ‘’ (пустая строка). | Имя таблицы (view), имя столбца, условие | @VALUE_Z, LDERC, "VersionCount","ID"=$10$ |
21 | @Вызов хранимых процедур | Параметры процедуры Имя процедуры (см. пример) | [Table 1 header] ProcParams=100 PhysicalView=@LDF_OBJECTTYPETREE |
22 | @Вызов хранимых функций | Параметры функции, имя функции | $2$=@FUNCVALUE, LDF_YYYY(#1#,#2#) |
6.1.4. Примеры использования основных элементов отчетов
Таблица 5 – Примеры использования основных элементов отчетов
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 |


