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