07.04.2006, 12:19
|
#1
|
Участник
Регистрация: 28.11.2005
Адрес: Москва
|
Самопроизвольная смена компании (DataAreaId) у табличной переменной
Есть такая ситуация: в форму SalesTable, в строчную часть добавлена пара полей, работающих через display-методы таблицы SalesLine. Они должны показывать для текущей строчки кое-какую информацию. Все работает хорошо, пока не открыть какую-нить форму в другой компании и не переключиться на нее - в этот момент картинка в исходной форме SalesTable обновляется, и эти два поля начинают показывать совсем не то, что нужно. В результате добавления отладочного print'а в методы было выяснено, что в момент, когда переключаешься на форму другой компании, у этих SalesLine поле DataAreaId принимает значение кода этой другой компании! Более того, код компании меняется и у таблицы SalesTable, с которой связаны эти SalesLine Отладочный print выглядит так:X++: print(strfmt(
"%1(): this.dataAreaId %2, this.RecId %3, this.SalesTable().dataAreaId %4",
funcname(), this.dataAreaId, this.recId, this.SalesTable().dataAreaId)); RecId при всем при этом один и тот же, но код компании у this (SalesLine) и у соотв. SalesTable меняется в зависимости от того, на какую компанию переключишься (на исходную формочку SalesTable из первой компании или на другую формочку из второй компании). Что за фигня? Это так и задумано?..
Или, может, DataAreaId у табличных переменных вообще не считывается из собственно таблицы, а всегда соответствует коду текущей компании? Но как тогда быть? Мне нужно, чтобы display-метод в форме, открытой в одной компании, всегда работал в контексте именно этой компании, даже если пользователь переключился на другую компанию. Т.е. даже не в контексте - у меня select используется с использованием DataAreaId...
Последний раз редактировалось gl00mie; 07.04.2006 в 12:29.
Причина: возникла идея
|
|