Очень много оверхеда по коду можно было бы избежать имея возможность передавать аргументы в методы обработчики зависимостей аттрибута.
Например у вас есть 10-ть полей отражающих сущность стоимости "без НДС" и соответвующие им поля "с НДС", вместо того чтобы писать 10-ть методов обработчиков, можно было бы написать один, но передавать в него целевые поля или их имена.
Я пролез по исходникам и нашел занятное поле конфигурационного объекта "argument
"SomeFiledwithVAT": {
"dependencies": [
{
"columns": ["SomeFiledwithoutVAT"],
"methodName": "VAT_calculate",
"argument": "SomeValue"
}
]
}
Таким образом в первый аргумент при вызове метода обработчика попадает "
SomeValue"
Далее вопроса два:
1) Как передавать множественные аргументы ? (предусмотрено ли нечто такое ?)
Я естественно проверил "arguments"
"SomeFiledwithVAT": {
"dependencies": [
{
"columns": ["SomeFiledwithoutVAT"],
"methodName": "VAT_calculate",
"arguments": [null, 1, "SomeText"]
}
]
}
но меня ждало фиаско...
тем не менее можно в сам "
argument" передавать массив, просто обогатив логику метода сплитом - добиться необходимого.
Хотя кончено это не так эстетично, как если бы можно было
"arguments": [null, 1, "SomeText"]
но тут возникает второй вопрос:
2) Уж больно редко сей аттрибут используется в исходных кодах, есть предположение, что это "костыль" и его могут в любой момент убрать.
Т.е. использовать его при разработке своей логики - авантюризм,
кто ни будь знает это часть нормального долгоживущего функционала или это "костыль" ?