Выгрузить таблицу в параметр GDL типа массив.

Размерность массива изменяется у конкретного экземпляра библиотечного элемента, в который происходит выгрузка.

Вызов:

int ires = ts_table(int iTable, "export_to_ac_object_parameter", string sParameterName);


Здесь:

iTable - дескриптор таблицы,

sParameterName - имя GDL параметра (массив).



Пример.

У отобранных в список №1 GDL элементов имеется текстовый табличный параметр sMyParameters.

Имя

Значение

Тип

Мой параметр 1

8

число

Мой параметр 2

значение параметра 2

текст

Требуется у элемента с индексом 0 в списке №1 : 

1. считать значение Мой параметр 1

2. если надо, то создать и записать новый параметр с именем "Мой новый текстовый параметр" и записать туда значение "значение 3"


int iTable;
object("create", "ts_table", iTable);
int ires = ac_request("set_current_element_from_list", 1, 0);
ac_request_special("get_element_value", "GDL","sMyParameters", iTable); // считать содержимое и структуру GDL параметра в таблицу iTable

string str;
ts_table(iTable, "print_to_str", str);
coutvar << str;

//считаем значение Мой параметр 1 в svalue;
ires = ts_table(iTable,"search",0,"Мой параметр 1");
string svalue;
if(ires >=0) {
   ts_table(iTable, "select_row", ires);
   ts_table(iTable, "get_value_of", 0, svalue);
}

//добавим, если такого еще нет нужно, считаем значение Мой параметр 1 в svalue;
ires = ts_table(iTable,"search",0,"Мой новый текстовый параметр");
if(ires < 0) {
   ts_table(Table,"add_row", 0, "Мой новый текстовый параметр", 1, "значение 3", 2, "строка");
}
else
{
   ts_table(iTable, "select_row", ires);
   ts_table(iTable, "set_value_of", 1, "значение 3");
}

// Записать таблицу назад в параметр текущего элемента. Размер таблицы-параметра GDL - изменить с учетом размера таблицы iTable.

ires = ts_table(iTable, "export_to_ac_object_parameter", "sMyParameters");