Оригинал на GitHub
Вопрос
Идея такая:
Данные в виде массива хранятся в ячейке Расчетной таблице в Цикле.
Временная таблица используется как интерфейс для чтения и изменения данных массива.
Что нужно написать в кнопке временной таблицы, чтобы массив записался в ячейку строки, из которой была вызвана временная таблица?
Просто через set не получается. Может быть надо передать id строки?
Ответ
Для хранения массива используйте тип Данные. Если они у вас в строчной части, то при вызове временной таблицы в техническое поле в хедере передайте id
строки и номер цикла (параметр params
в linkToDataTable
).
При set
обратно вам надо указать — куда этот set
, задав cycle
и where: 'id' = #h_param_id
Пример кода-действия открывающего временную таблицу с полями в Хедере h_cycle
и h_row_id
:
=: linkToDataTable(table: 'tmp_table'; title: "Some tmp table"; width: 800; height: "80vh"; data: #data; params: $row; refresh: true)
row: rowCreate(field: "h_cycle" = $#nci; field: "h_row_id" = #id)
Пример кода-действия кнопки сохраняющей значения во временной таблице:
=: set(table: 'table_in_cycle'; cycle: #h_cycle; field: 'data' = $rowlist; where: 'id' = #h_row_id; log: true)
rowlist: selectRowList(table: $#ntn; fields: "*ALL*"; order: 'id' asc)