CardNormalizationTriggerGetNewValueFunc - свойство

Функция, возвращающая новое значение в справочнике для карточки, если известно, что выполняется его инвалидация. Значение null (по умолчанию) задаёт, что новое значение определяется по полю ValueFieldName в строковой секции ValueSectionName, или же оно не задаётся, если поле не указано.

Definition

Пространство имён: Tessa.Cards.Normalization
Сборка: Tessa (в Tessa.dll) Версия: 4.1.3+7e2b1422f9b8c7c41fbbc4b151a843bed05319ab
C#
public Func<Card, NormalizationValue?>? GetNewValueFunc { get; init; }

Значение свойства

FuncCard, NullableNormalizationValue

Заметки

Если поле указано через свойства ValueSectionName и ValueFieldName, то функция будет вызвана либо при создании карточки, либо при изменении этого поля для сохранения существующей карточки. Функция не вызывается при удалении карточки.

Если функция вернула NormalizationValue для строки null, то считается, что новым значением после инвалидации будет null. Если функция не вернула NormalizationValue (т.е. вернула null), то новое значение неизвестно и будет получено при его запросе из справочника.

Пример

При любом изменении полей в секции DocumentCommonInfo:
C#
Значение из поля Partners.Name:

GetNewValueFunc = static card =>
    card.TryGetSections()?.TryGet("Partners")?.TryGetRawFields() is { } fields
    && fields.TryGetValue("Name", out var value)
    ? new NormalizationValue(value as string)
    : null;

См. также