Tab.Column.DataType

From SunFlurry wiki
Revision as of 18:33, 22 August 2019 by Admin (talk | contribs) (Created page with "{{infobox function |name=DataType |object=Таблица |caption=Тип данных столбца |type=0 |status=2 |db=0 |rw=3 |visual=1}} {{HeadLinks| * Main_Page|...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  DataType (Тип данных столбца)
Объект:Таблица
Статус разработки: Реализована
Тип:Атрибут
Обращение к БД:Нет
Доступность:Чтение и запись
Визуальность:Да

Атрибут позволяет получать или изменять тип данных столбца таблицы. При изменении типа данных всех существующие ячейки таблицы в данном столбце, будут преобразованы в новый тип данных. Если тип данных не задан (пустая строка), данные в столбце могут принимать любой тип, иначе, если значение, помещаемое в данный столбец таблицы не будет удовлетворять указанному типу данных, оно будет преобразовано в этот тип, если преобразование невозможно (типы несовместимы), будет использовано пустое значение, соответствующее заданному типу данных. Тип данных может быть составным (состоять из нескольких простых типов). Формат типа данных имеет следующий вид: <Тип данных 1>[,<Тип данных 2>[,..<Тип данных N>]], при этом каждый тип имеет вид: <Простой тип>[.<Простой подтип>[.<Дополнительные параметры>]]. Подтип и параметры определены только для некоторых типов, поддерживаемых функцией. Ниже дан список допустимых типов:

  • NUMBER, NUM: тип данных вещественных или целых чисел. Тип имеет формат NUMBER[.<Цифр в целой части>[.<Цифр в дробной части>[.<Признак только положительных чисел>]]]. Если параметр <Цифр в дробной части> больше нуля, тип данных будет задавать только вещественные числа. <Признак только положительных чисел> может отсутствовать или принимать значение +. Пример: NUM.15.2.+.
  • INTEGER, INT: тип данных целых чисел.
  • REAL: тип данных произвольных вещественных чисел (без ограничения по количеству цифр в дробной части).
  • DATE: тип данных даты и времени. Тип имеет формат DATE[.<Формат даты>[.<Формат времени>]]. Параметры типа задают способ вывода дат на экран в столбиках визуальной таблицы, они не влияют на данные, которые присваиваются ячейкам таблиц. <Формат даты> число в диапазоне 1..3, для 1: (по умолчанию) выводится короткая дата в формате ДД.ММ.ГГ, для 2: выводится длинная дата в формате ДД.ММ.ГГГГ, для 3: дата не выводится. <Формат времени> число в диапазоне 1..3, для 1: выводится короткое время в формате ЧЧ:ММ, для 2: выводится полное время в формате ЧЧ:ММ:СС, для 3: (по умолчанию) время не выводится. Пример: DATE.2.2.
  • STRING, STR: тип данных строк (как ANSI так и UTF-16). Тип имеет формат STRING[.<Максимальная длина строки>]. <Максимальная длина строки> по умолчанию равна нулю (строка не имеет ограничений по длине).
  • ANY: обозначает любой тип данных объекта базы данных.
  • REFERENCE, REF: тип данных справочников объектов базы данных. Тип имеет формат REF[.<Вид справочника>].
  • DOCUMENT, DOC: тип данных документов объектов базы данных. Тип имеет формат DOC[.<Вид документа>].
  • DBVAR, VAR: тип данных переменной объектов базы данных. Тип имеет формат DBVAR[.<Вид переменной>].
  • ENUMERATION, ENUM: тип данных перечисления объектов базы данных. Тип имеет формат ENUM[.<Вид перечисления>].
  • STORAGE, STOR: тип данных накопителя объектов базы данных. Тип имеет формат STOR[.<Вид накопителя>] (подобный тип данных не имеет особого смысла)
  • JOURNAL, JOUR, JOR: тип данных журнала (документов или справочников) объектов базы данных. Тип имеет формат JOR[.<Вид журнала>]
  • NOTHING: тип данных пустого значения (подобный тип данных не имеет особого смысла)

К примеру, можно задать тип, определяющий несколько видов справочников: REF.Номенклатура,REF.Контрагенты

Синтаксис

Tab.Column.DataType:<Тип данных столбца (STRING)>

Возвращаемое значение

Возвращает тип данных текущего столбца таблицы.

Примеры

//Пример текста обработки визуального события OnBeforeEditCell

//MainTab -- визуальная таблица, с которой работает пользователь
MainTab:=Form.MainTab.Value;

//Если не выбрана строка или столбец в визуальной таблице, не выполнять действия
If (MainTab.SelectedLine=0)Or(MainTab.SelectedColumn=0) Then
  Exit;
EndIf;

//Получим текущий столбец
аСтл:=MainTab.Column(MainTab.SelectedColumn);

If аСтл.Name=Uppercase("Объект") Then
  //Изменим заголовок текущего столбца, если его имя "Объект"
  аСтл.Caption:="Текущий объект";
  //Изменим его тип на Справочник
  аСтл.DataType:="REF";
  //Изменим его ширину на 150 точек
  аСтл.Width:=150;
  //Изменим его минимальную ширину на 15 точек
  аСтл.MinWidth:=15;
  //Изменим его максимальную ширину на 500 точек
  аСтл.MaxWidth:=500;
  //Значения этого столбца должны быть прижаты к левому краю
  аСтл.Align:=0;
  //Также покажем галки в этом столбце
  аСтл.ShowCheckboxes:=1;
  //Изменим подсказку при наведении мыши на заголовок столбца
  аСтл.Hint:="Выберите объект, участвующий в операции";
  //Сделаем столбец редактируемым
  аСтл.isEditable:=1;
  //Сделаем столбец сортируемым
  аСтл.isSortable:=1;
EndIf;