Показать сообщение отдельно
Старый 13.04.2015, 00:08   #7  
bitter is offline
bitter
Участник
 
15 / 19 (1) ++
Регистрация: 12.04.2015
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Всегда используйте queryValue() (он же SysQuery::value()) для "обработки" значений, подставляемых в QueryBuildRange, в данном случае для PayRequestTable.RContractAccount. Вероятно, соотв. значение в вашем случае - пустое, поэтому выборка из таблицы договоров фактически идет без фильтрации по рег.номеру - см. также, какое значение возвращает SysQueryValue::unlimited().
Спасибо, буду разбираться.


Цитата:
Сообщение от kashperuk Посмотреть сообщение
должно быть

X++:
if (queryRun.next())
{
    info("true");
}
else
{
    info("false");
}
queryRun.next() передвигает позицию в результате выборки на след.строку, то есть вызвав next два раза вы выполняете проверку совсем разных условий.
Спасибо.
Я понял почему всегда возвращает true. Я сравниваю полученное значение со значением в таблице, которое априори там присутствует. Соответственно вопрос был задан некорректно, прошу прощения. Попытаюсь расписать алгоритм, который мне необходимо реализовать.

На форме есть лукап, с помощью которого я выбираю значение из таблицы, по этому значению мне необходимо найти строку в другой таблице и выяснить заполнено ли определенное поле в данной строке. От того, заполнено ли это поле, будут зависеть мои дальнейшие действия.
Я не совсем понимаю как мне выяснить заполнено ли поле найденной строки. Необходимо добавить еще один рейндж с этим полем в QueryBuildDataSource?