Difference between revisions of "TempDB.AddColumns"

From SunFlurry wiki
Jump to: navigation, search
 
m (1 revision imported)
 
(No difference)

Latest revision as of 08:54, 7 February 2021

  AddColumns (Изменение столбцов временной таблицы)
Объект:Временная таблица базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер и БД
Исключения:Невозможно превратить в строку, неверные аргументы, ошибка сервера
Визуальность:Нет

Функция добавляет указанные столбцы к существующей временной таблице базы данных.

Синтаксис

TempDB.AddColumns(<Наименования столбцов с типами данных (STRING)>)

Аргументы

  • <Наименования столбцов с типами данных (STRING)> - Задает наименования добавляемых столбцов через запятую, формат задания столбца: <Наименование столбца>:<Тип данных столбца>[:<Дополнительные флаги столбца>].
    • Наименование столбца подчиняется стандартным правилам создания наименований в системе и может содержать международные символы.
    • Тип данных задается либо в виде прямого указания на тип данных <Тип>[:<Размер>[:<Точность>]], возможно указание на следующие типы:
      • NUMBER, NUM -- задает вещественное число с указанием на точность его представления. Тип записывается в виде NUMBER:<Общее количество цифр>:<Количество цифр после точки>.
      • INTEGER, INT -- задает целое 64-битное число.
      • REAL -- задает произвольное вещественное число (в инженерной нотации)
      • DATE -- задает тип данных даты и времени.
      • STRING, STR -- задает строковой тип данных с указанием длины строки в виде STRING:<Длина строки в символах>. Для строк произвольной длины, необходимо указать ноль (возможности при работе с такими строками имеют определенные ограничения для SQL серверов).
      • ANY, DB -- задает произвольный тип базы данных.
      • <Тип данных БД>[.<Вид данных БД>] -- задает определенный тип данных базы данных. В типе данных БД можно указать REF, DOC, JOUR, STOR или ENUM.
    • Также тип данных можно задать с помощью указания на существующий реквизит объекта базы данных, иногда такой способ является более универсальным. В это случае формат записи выглядит следующим образом: -><Тип данных БД>.<Вид данных БД>.<Реквизит объекта БД>. Система автоматически использует тип данных указанного реквизита для создания столбца временной таблицы.
    • Флаги столбца представляют совокупность букв-указаний. В данный момент можно использовать следующие указания:
      • I -- Добавить индекс к данному столбцу после создания
      • U -- Текстовые данные, хранящиеся в столбце будут использовать формат UTF-16. Внимание: без такого указания, по умолчанию текст будет храниться в текущей кодировке ANSI, что может явиться причиной потери международных символов.

Примеры

//Пример создает таблицу аТемп, и заполняет ее резервами реализациями договора аДоговор с помощью загрузки движений накопителя Взаиморасчеты
//  При этом суммы подчиненных документов возврата отнимаются от сумм документов реализации
//После создания, производится выборка записей по датам документов реализации
аТемп:=TempDB.Create("аДок:DB,Сумма:NUMBER.15.2");
аТемп.LoadFrom("Stor.Взаиморасчеты","@LINK->аДок,Сумма*?(@EXPENSE=1,-1,1)->Сумма","Договор=аДоговор","isEmpty(Тара)","IsType(@LINK,Doc.Реализация,Doc.ВозвратОтПокупателя)");
//Для документов возврата подставляем в столбик аДок их основание
аТемп.Update(,"аДок..Doc.ВозвратОтПокупателя.ДокОснование->аДок","IsType(аДок,Doc.ВозвратОтПокупателя)");
аТемп.Group("аДок","Сумма");
аТемп.Remove("(Сумма<=0)Or(Not isType(аДок,Doc.Реализация))");
аТемп.AddColumns("Дата:DATE");
аТемп.Update(,"аДок..Doc.Реализация.DocDate->Дата");
аТемп.Select("Дата-");
...