Тип именованных объектов «Источники данных» представляет собой SQL запрос в сформированный набор данных отчета. В отличие от именованных объектов типа «Запросы», результатом работы запроса в источнике данных является не одно значение, а таблица значений. Записи этой таблицы (источника данных) при построении отчета будут поочередно перебираться для заполнения бланков документов информацией. Например, источник данных может использоваться для формирования многострочной части бланка.

Формат записи команд должен совпадать с форматом базы данных, в которой предполагается вестись работа.

После написание текста SQL запроса идет служебная информация, которая отделяется от самого запроса двумя или более пустыми строками. Служебная информация начинается со служебного слова. Служебное слово должно быть первым словом в строке. Доступны все служебные слова, описанные в разделе 15.2.5.4.1 для именованных объектов типа «Запросы».

В отличие от именованных объектов «Запросы», у именованных объектов типа «Источники данных» по умолчанию существует несколько псевдонимов, которые предназначены для указания номеров полей в источнике данных, необходимых для формирования конкретного вида документа:

·         «Класс» - указывает номер поля в источнике данных (номера полей начинаются с нуля), который содержит обозначения классов. Используется для проверки выполнения условий на типы классов, указанных у шаблонов строк в таблице заполнения состава карты (см. раздел 15.2.10.2.3).

·         «ТипКласса» - указывает номер поля в источнике данных (номера полей начинаются с нуля), который содержит значения типов классов. Используется:

·         для проверки выполнения условий на типы классов, указанных у шаблонов строк в таблице заполнения состава карты (см. раздел 15.2.10.2.3)

·         для обработки операций и комментариев при формировании документов с видом «МаршрутнаяКарта», «ОперационнаяКарта»

·         «Идентификатор» - указывает номер поля в источнике данных (номера полей начинаются с нуля), который содержит идентификатор, однозначно определяющий записи, принадлежащие к одному и тому же техпроцессу (например, идентификаторы номенклатуры, техпроцессы которых находятся в источнике данных). Используется для отслеживания границ техпроцессов в источнике данных. Используется для обработки техпроцессов при формировании документов с видом «МаршрутнаяКарта», «ОперационнаяКарта».

Так же как и в случае именованных объектов «Запросы», именованные объекты типа «Источники данных» могут использовать группировки, которые предназначены для указания номеров полей в источнике данных, необходимых для формирования конкретного вида документа (см. раздел 15.2.5.4.1).

Запросы для работы с шаблонами наборов данных типа «Документы в MS Excel» и, «Документы в Open Office Calc»

При работе с запросами в шаблонах наборов данных типа «Документы в MS Excel» и, «Документы в Open Office Calc» используется синтаксис отличный от описанного выше.

Наборы данных типа «Документы в MS Excel» и, «Документы в Open Office Calc» присутствуют в системе для совместимости с более ранними версиями. Использовать не рекомендуется.

Доступны следующие служебные слова:

·         RANGE - служебное слово, указывающее имя диапазона, в котором содержатся данные. Допускается указания только одного диапазона.

·         FILTER - ключевое слово, указывающее фильтр, накладываемый на диапазон. Допускается указание нескольких фильтров, при это они объединяются по И. При указании фильтра можно использовать операторы <, >, <=, >=, <>, =, LIKE, объединение с помощью AND, OR. В квадратных скобках указывается номер/имя/псевдоним диапазона или имя параметра. Сначала ищется параметр (обязательно должен быть описан в этой же строке), затем псевдоним, имя, номер поля. Весь остальной текст воспринимается как обычный текст.

По умолчанию, диапазон выглядит как источник данных, у которого каждое поле является строкой (максимальная длина 255 символов)

Имя поля составляется как буква P + номер столбца (нумерация столбцов начинается с 1).

Пример:

RANGE=RANGE_NAME

FILTER=[1]=5 and [2]=[ID] and [3] LIKE "%ГОСТ"

Для создания собственного описания полей, необходимо создать источник данных с именем, совпадающим с именем диапазона, в котором указать описание следующего вида:

Номер колонки + = + Тип поля + Имя поля

Пример:

1=int,ID

2=float,COUNT

·         Тип поля - может принимать значения: int, float, date, string+длина строки. Если тип поля не указан, то используется string255.

·         Имя поля - если не указано будет использовано P + номер колонки (не порядковый номер).

Допускается только одно описание диапазона RANGE.

Непосредственное обращение к данном источнику данных не допускается.

Описание источника данных может содержать только эти данные, все остальное игнорируется.

 

См. также:

15.2.5.4 Именованные объекты