Каждое поле компонента должно иметь какой-либо тип данных, которые поле будет содержать. Возможные варианты:
o Строка – символьное поле, максимально может содержать 255 символов.
o Целое число.
o Текстовой блок – мемо-поле (для ввода будет использован элемент формы < textarea>), может содержать 64 кб текста.
o Список – список значений (для ввода будет использован выпадающий список < select>); возвращает значение указанной записи списка.
o Логическая переменная – логическое поле (да/нет); при выводе записи возвращает 1 (да) или 0 (нет). Если у поля параметр «обязательно для заполнения» выключен, то будет выводиться блок radiobutton’ов (не важно, да, нет). Если этот параметр включен, будет выводиться checkbox.
o Файл – поле типа «файл» (для ввода будет использован элемент формы < input type=file>, возвращает URL файла, его настоящее название и размер.
o Число с плавающей запятой;
o Дата и время - 6 полей для хранения даты и времени;
o Связь с другими объектами. В компонентах выдает идентификатор связанного объекта, который можно вывести при помощи функции listQuery. Например формат поля «Связь с другим объектом» имеет значение «22», это означает, что связанные объекты берутся из компонента с идентификатором 22. Тогда получить объект можно следующим образом:
где «имя_поля» - имя поля связь с другим объектом. Привязать объект можно при добавлении или редактировании сообщения в разделе, к которому прикреплён компонент с таким полем.
Некоторые типы имеют форматы для кастомизации:
o Строка – можно не использовать поле «Формат». Если в формате указаны значения «url» или «email», при добавлении/изменении значения в поле будет проверяться его соответствие формату URL и электронной почты соответственно; если указать значение «password», то при вводе данных в поле будут отображаться звездочки;
o Целое, с плавающей запятой, логическое – формат не используется;
o Текстовый блок – в поле «Формат» необходимо указать высоту и ширину элемента < textarea>, который будет использоваться для добавления/изменения поля объекта через двоеточие (например, «8:40»);
o Список – в поле «Формат» необходимо указать латинское название списка (название таблицы), содержимое которого будет использоваться при выводе списка возможных значений;
o Файл – в поле должен быть указан максимальный размер файла в байтах. При необходимости может быть указан также и возможный тип файла (mime type) – к примеру, формат «25000:image/*» означает, что размер файла не может превышать 25000 байт, при этом файл должен быть картинкой. Или «25000» означает, что размер файла не может превышать 25000 байт.
o Дата и время – в поле «Формат» можно указать «event», тогда при добавлении записи в это поле будет автоматически подставляться текущая дата и время при условии, что поле обязательно для заполнения. Можно указать «event_date», тогда в форме добавления/изменения будут показываться только поля даты (без времени), и при добавлении записи в это поле будет автоматически подставляться текущая дата при условии, что поле обязательно для заполнения. Можно указать «event_time», тогда в форме добавления/изменения будут показываться только поля времени (без даты) и при добавлении записи в это поле будет автоматически подставляться текущее время при условии, что поле обязательно для заполнения.
o Связь с другими объектами – в поле «Формат» следует указать номер компонента для привязки, если связь осуществляется с компонентами. В случае связи системных таблиц, указывается название системной таблицы (Subdivision, Sub_Class, User, Catalogue...). Через двоеточие указывается опциональный параметр для заголовка объекта в форме и списке объектов, если не указан, для компонентов будет "<тип объекта> #123". Примеры правильного оформления поля «Формат» для связи с другими объектами:
Расширение запроса используется для получения данных об объекте, например заголовка. Расширяемый запрос имеет вид: