Столкнулся с интересной особенностью условного оператора.
В функции SelfOnDatasetDataChange(DataField) написал следующее выражение:
if ((DataField.Name == 'TypeID') || (DataField.Name == 'AccountID'))
при этом условие срабатывает только на изменение поля "контрагент", на изменении "типа", ноль внимания.
Изменив условие следующим образом
if (DataField.Name == 'TypeID') or (DataField.Name == 'AccountID')
получил желаемый результат.
Но почему?! =)
pS. Terrasoft 3.2.0.10
Нравится
1 комментарий
1 октября 2008 17:36
Добрый день, Вадим.
В тексте скрипта (JScript) пишу:
function Main() {
var t = 3;
if ((t == 3) || (t == 5)) {
Log.Write(2, '!');
}
}
Все работает правильно для t = 3 и t = 5
При указании or скрипт даже не проходит проверку правильности синтаксиса (Ctrl+F9).
Кстати, для условия в if обязательно ставить скобки, т.е. в Вашем случае будет правильно написать:
if ((DataField.Name == 'TypeID') || (DataField.Name == 'AccountID')) {
...
}
и все должно работать.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать