USER_ID = 3; TASK_ID = CONTEXT["Id"]; --EXTPARAM_ID = 99;
-- Единичное изменение ДП
-- Объявление функции function update_extparam (task, extparam, value) SMART:execute_action( 'ChangeExtParamValue', task, 'task', { Task = task, User = USER_ID, ExtParam = extparam, Value = value, WriteCommentOnChange = false } ); return end
-- Вызов функции изменения ДП update_extparam(683059, 1238, '123')
-- Массовое изменение ДП
-- Функция массового обновления ДП
function massUpdateExtParams(task, value) SMART:execute_action('MassChangeExtParamValue', task, 'task', { User = 3, Dest = task, DestExtParams = value, WriteCommentOnChange = false }) end
-- Объявляем переменную (таблица), куда записываем ID ДП и значение для этого ДП local MassChangeExtParamValue = {} MassChangeExtParamValue =
{ {ExtParamId = 765, FixedValue = post.Impressions}, {ExtParamId = 768, FixedValue = post.Spent}, {ExtParamId = 764, FixedValue = post.Reposts}, {ExtParamId = 726, FixedValue = round(post.CTR, 2)}, {ExtParamId = 1792, FixedValue = post.Hide}, {ExtParamId = 1793, FixedValue = post.Report}, {ExtParamId = 1794, FixedValue = post.Links}, {ExtParamId = 1795, FixedValue = post.Clicks} }
-- Вызов функции с передачей параметров massUpdateExtParams(post_info.posttask, MassChangeExtParamValue)
-- Изменение ДП типа "Таблица"
-- Сбор данных, которыми будем заполнять таблицу -- Вызываем процедуру расчета calculateMain. Она возвращает столбцы factHrs, cost и profit, а также служебный столбец rowId с номерами строк
local resource_data = SQL:query( [[ exec [dbo].[calculateMain] @TaskId = @TaskId ]], { TaskId = TASK_ID } );
-- Записываем полученные значения в таблицу for key, val in pairs(resource_data) do local result = string.format( [[={"First":%s,"Second":{"11":{"First":%s},"22":{"First":%s},"33":{"First":%s}}}]], val.rowID, val.factHrs, val.cost, val.profit ); update_extparam(TASK_ID, EXTPARAM_ID, result); end |
---|