Показать сообщение отдельно
Старый 07.04.2006, 12:19   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Angry Самопроизвольная смена компании (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. Причина: возникла идея