![]() |
#1 |
MCTS
|
Об особенностях реализации PurchTable.exist()
Приветствую!
Вопрос: а есть ли глубинный смысл в том, что PurchTable.exist() не всегда возвращает True, если передан пустой параметр, в отличие, например, от SalesTable.exist()? |
|
![]() |
#2 |
MCTS
|
|
|
![]() |
#3 |
Участник
|
Насколько я вижу, в 2012 метод выглядит так:
X++: static boolean exist(PurchId purchId) { return (select firstonly RecId from purchTable index hint PurchIdx where purchTable.PurchId == purchId ).RecId != 0; } При этом PurchId - обязательное ключевое поле. |
|
![]() |
#4 |
Участник
|
Если PurchId - обязательное ключевое поле, думаю имеет смысл добавить в метод "защиту от дурака" и избавить тем самым БД от лишних запросов? И скорее всего вопрос автора именно об этом.
|
|
![]() |
#5 |
NavAx
|
Смею предположить, что у вас данные немного corrupted.
__________________
Isn't it nice when things just work? |
|
![]() |
#6 |
MCTS
|
Да. Собственно обнаружилась запись в PurchTable с пустым PurchId, неожиданно, а тут еще и реализация метода такая специфическая.
|
|
![]() |
#7 |
MCTS
|
|
|
![]() |
#8 |
Участник
|
Правильно. Вообще свойство Mandatory этого поля установлено в Yes.
__________________
// no comments |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
Теги |
ax4.0 |
|
|