Показать сообщение отдельно
Старый 14.12.2006, 11:19   #1  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Два RecId у одной записи таблицы
Здравствуй Коллективный Разум.

И снова требуется твоя помощь.
Столкнулся с совершенно аномальной для меня ситуацией при работе со строками закупок (purchLine). Ничего не остается как спросить объяснения у всезнающих гуру.

Вообщем , ситуация следующая:

есть строка в закупке, пытаюсь найти на нее ссылку в табличном методе delete таблицы MarkupTrans по ее recId хранящейся в поле transRecId. Никак не получается этот фокус у меня. В ходе танцев с бубном выяснилось следующее:

имеем запрос вида:
select firstonly purchLine where purchLine.RecId == -1116895965;
где цифры это собственно сам recId строки закупки и есть

либо можно использовать стандартный метод на таблицы purchLine под названием findRecId, куда передать эту же циффру.

пытаемся использовать этот запрос в 2-х случаях:
1) в табличном методе markupTrans'a
результат - ничего не найдено
2) в отдельном Job'e
результат ЕСТЬ!!! однако несколько странный, а именно:
смотрим в отладчике и имеем после выполнения select'a запись в purchLine находится, НО в окне просмотра переменных recId отображается СОВСЕМ другой в угловых скобках, точнее так: purchLine: <3178071331>
далее если раскрыть переменную то увидим список всех полей, идем на recID b видим цифру, переданную в качестве параметра в запрос, т.е. -1116895965.
Как такое возможно?
плюс ко всему если в обозревателе таблицы поискать запись по recId, то по обоим этим цифрам (3178071331 и -1116895965) мы попадаем на одну запись.

Кто может объяснить сие явление буду очень благодарен! Интерес вызывает как сама ситуация с 2-мя recId, так и вопрос почему запрос отрабатывает по-разному в разных ситуациях (см. выше)

Получилось длинно, зато надеюся информативно