SupportDecimal: Boolean;
Свойство SupportDecimal определяет возможность работы с вещественными полями как с полями десятичного типа.
По умолчанию свойству установлено значение False, при этом на уровне репозитория поля, имеющие вещественный тип данных, будут рассматриваться как поля с типом Float. Для записи такого числа отводится 15-16 цифр.
Если свойству SupportDecimal установить значения True, то на уровне репозитория будет возможность создавать поля десятичного типа - Decimal. При этом будет доступна точность до 27 значащих цифр.
После включения поддержки десятичного типа необходимо обновить информацию о таблицах, чтобы в их структуре в репозитории для полей с вещественным типом был установлен десятичный тип. Обновление осуществляется, если позволяет заданная для полей общая длина и точность значений.
На уровне СУБД в обоих случаях тип данных физических полей остается неизменным.
Примечание. Источники данных, использующие десятичный тип данных и созданные в старых версиях платформы, могут не поддерживаться в более новых версиях. Возможно, потребуется пересоздание источника данных.
Для выполнения примера в репозитории предполагается наличие базы данных с идентификатором DB, а также таблицы с идентификатором TABLE, которая в ней создана.
Sub UserProc;
Var
MB: IMetabase;
Db: IDatabase;
Table: ITable;
Begin
MB := MetabaseClass.Active;
Db := MB.ItemById("DB").Edit As IDatabase;
// Поддержка работы с десятичным типом данных
Db.SupportDecimal := True;
// Сохранение изменений
(Db As IMetabaseObject).Save;
// Обновление информации о таблице
Table := MB.ItemById("TABLE").Edit As ITable;
Table.AttachTable("TABLE", False);
(Table As IMetabaseObject).Save;
End Sub UserProc;
При выполнении примера для указанной базы данных будет включена поддержка использования десятичного типа данных. Структура таблицы будет обновлена таким образом, чтобы вещественные поля по возможности были преобразованы к десятичному типу.
См. также: