Добавлен выбор режима условия для table-полей в переходах: по значению или пользователь из колонки

This commit is contained in:
2026-08-20 15:11:27 +03:00
parent 281f8da995
commit e24df563df
2 changed files with 86 additions and 18 deletions

View File

@@ -292,7 +292,7 @@ export function buildSystemFieldValuesForConditions(
* Проверяет, соответствуют ли значения полей заданным правилам.
*/
export function fieldConditionsMatch(
rules: { fieldCode?: string; value?: string; operator?: "contains" | "empty" | "filled" }[],
rules: { fieldCode?: string; value?: string; operator?: "contains" | "empty" | "filled"; tableMode?: "value" | "column_user" }[],
fieldValues: Array<{ fieldId: number; value: unknown }>,
fields: Array<{
id: number;
@@ -311,6 +311,10 @@ export function fieldConditionsMatch(
const field = fields.find((f) => f.code === rule.fieldCode);
if (!field) return false;
// Режим "пользователь из колонки" — это конфигурация выборки согласующего,
// а не условие на значение поля. Пропускаем, чтобы не ломать проверку.
if (rule.tableMode === "column_user") continue;
const fv = fieldValues.find((fv) => fv.fieldId === field.id);
const operator = rule.operator || "contains";
@@ -364,6 +368,7 @@ export interface FieldRule {
fieldCode: string;
operator?: "contains" | "empty" | "filled";
value?: string;
tableMode?: "value" | "column_user";
}>;
}