From c420ea0e7048be0d74e366174415394c8e352f25 Mon Sep 17 00:00:00 2001 From: Repinoid Date: Tue, 22 Sep 2026 18:54:51 +0300 Subject: [PATCH] =?UTF-8?q?fix(core):=20=D0=B4=D0=BE=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D1=8F=D1=82=D1=8C=20=D0=92=D0=A1=D0=95=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?params=20modify=20=D0=B8=D1=85=20live-=D0=B7=D0=BD=D0=B0=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20(=D0=BF=D0=BE=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B4=D1=83),=20=D0=B8=D0=BD=D0=B0=D1=87=D0=B5=20=D0=BC=D0=BE?= =?UTF-8?q?=D0=B4=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D1=80=20=D1=81?= =?UTF-8?q?=D0=B1=D1=80=D0=B0=D1=81=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=20create?= =?UTF-8?q?-=D0=BF=D0=BE=D0=BB=D1=8F=20=D0=B2=20=D0=B4=D0=B5=D1=84=D0=BE?= =?UTF-8?q?=D0=BB=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- provider/internal/core/client.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/provider/internal/core/client.go b/provider/internal/core/client.go index 1de81a2..7b72bc7 100644 --- a/provider/internal/core/client.go +++ b/provider/internal/core/client.go @@ -1599,9 +1599,11 @@ func (c *UniversalClient) RunInstanceOperationUniversalByCode(ctx context.Contex if sent[param.SvcOperationCfsParamId] { continue } - if !param.IsRequired { - continue - } + // Дозаполняем ВСЕ незаданные параметры их текущим live-значением + // (ParamValue из GET ?fields=cfsParams), а не только required. + // Бэкенд для modify трактует пропущенный/null как reset-to-default, + // из-за чего частичный payload затирал create-поля (см. prompt_for_opus_modifier_null_bug.md). + // Поведение выровнено под RunInstanceOperationUniversalWithDefaults. val := "" if param.ParamValue != nil { val = *param.ParamValue @@ -1609,9 +1611,6 @@ func (c *UniversalClient) RunInstanceOperationUniversalByCode(ctx context.Contex val = *param.DefaultValue } val = normalizeUniversalValueV6(val, param) - if !param.IsRequired && strings.TrimSpace(val) == "" { - continue - } pPayload := genericParamReq{ InstanceOperationUid: opUid,