CREATEDATASET — различия между версиями
Материал из GB wiki
Bars (обсуждение | вклад) |
Alexey (обсуждение | вклад) |
||
(не показано 8 промежуточных версий 3 участников) | |||
Строка 9: | Строка 9: | ||
}}<br/>{{Аргумент | }}<br/>{{Аргумент | ||
|Название=Описание структуры и значений | |Название=Описание структуры и значений | ||
− | |Пояснение=строка, определяющая структуру датасета и значения его полей. Каждое поле описывается в виде: Имя поля,Тип,сущность,подпись="Значение". Описания полей между собой разделяются символом "<nowiki>|</nowiki>". Типы полей обозначаются буквами: I,F,D,S,B | + | |Пояснение=строка, определяющая структуру датасета и значения его полей. Каждое поле описывается в виде: Имя поля,Тип,сущность,подпись="Значение". Описания полей между собой разделяются символом "<nowiki>|</nowiki>". Типы полей обозначаются буквами: I,F,D,S,B<BR>Начиная с версии ГБ 1.7.1.12 описание полей и значений можно передавать в виде ассоциативного массива:['Имя поля,Тип':'Значение','Имя поля,Тип':'Значение'].<BR><BR>Если в данном параметре указать имя другого датасета, то его данные будут скопированы в датасет, заданный в первом параметре, причём вычисляемые поля станут обычными (пригодится для передачи полей в процедуры) |
}} | }} | ||
− | |Пример=CREATEDATASET('PParams','Node,I="0"<nowiki>|</nowiki>IStocks,S="4353;6659"<nowiki>|</nowiki>IOnDate,D="01.01.2001"' | + | |Пример=Копирование датасета dsFrom в dsTo с преобразованием вычисляемых полей в обычные: |
− | + | CreateDataSet(`dsTo`,`dsFrom`) | |
+ | Создание датасета с описанием структуры в виде строки: | ||
+ | CREATEDATASET('PParams','Node,I="0"<nowiki>|</nowiki>IStocks,S="4353;6659"<nowiki>|</nowiki>IOnDate,D="01.01.2001"') | ||
+ | Создание датасета с описанием в виде ассоциативного массива: | ||
+ | CREATEDATASET('PParams',['Node,I':'0','IStocks,S':'4353;6659','IOnDate,D':'01.01.2001']) | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Замечания''' | '''Замечания''' | ||
*Если эта функция используется в добавленной колонке, то вместо символа ";" нужно использовать функцию Char(59). | *Если эта функция используется в добавленной колонке, то вместо символа ";" нужно использовать функцию Char(59). | ||
*Замечание: Строку, описывающую датасет, можно легко получить, запустив ГБ с ключом –packetlog (-packetlogfile) и выполнив нужный отчет. Параметры процедуры пишутся в лог в таком же формате. | *Замечание: Строку, описывающую датасет, можно легко получить, запустив ГБ с ключом –packetlog (-packetlogfile) и выполнив нужный отчет. Параметры процедуры пишутся в лог в таком же формате. |
Текущая версия на 10:07, 13 января 2022
Создает датасет заданной структуры. Созданный датасет состоит из одной записи, поля и их значения определяются параметрами процедуры. Обычно используется для создания датасета параметров для функций AttachDataSet, OpenDataSet.
Синтаксис
CREATEDATASET(Имя датасета,Описание структуры и значений)
Аргументы
- Имя датасета
- строка, определяющая имя создаваемого датасета.
- Описание структуры и значений
- строка, определяющая структуру датасета и значения его полей. Каждое поле описывается в виде: Имя поля,Тип,сущность,подпись="Значение". Описания полей между собой разделяются символом "|". Типы полей обозначаются буквами: I,F,D,S,B
Начиная с версии ГБ 1.7.1.12 описание полей и значений можно передавать в виде ассоциативного массива:['Имя поля,Тип':'Значение','Имя поля,Тип':'Значение'].
Если в данном параметре указать имя другого датасета, то его данные будут скопированы в датасет, заданный в первом параметре, причём вычисляемые поля станут обычными (пригодится для передачи полей в процедуры)
Тип результата
- Нет
Примеры
Копирование датасета dsFrom в dsTo с преобразованием вычисляемых полей в обычные:
CreateDataSet(`dsTo`,`dsFrom`)
Создание датасета с описанием структуры в виде строки:
CREATEDATASET('PParams','Node,I="0"|IStocks,S="4353;6659"|IOnDate,D="01.01.2001"')
Создание датасета с описанием в виде ассоциативного массива:
CREATEDATASET('PParams',['Node,I':'0','IStocks,S':'4353;6659','IOnDate,D':'01.01.2001'])
Замечания
- Если эта функция используется в добавленной колонке, то вместо символа ";" нужно использовать функцию Char(59).
- Замечание: Строку, описывающую датасет, можно легко получить, запустив ГБ с ключом –packetlog (-packetlogfile) и выполнив нужный отчет. Параметры процедуры пишутся в лог в таком же формате.