Показать сообщение отдельно
Старый 18.08.2004, 17:41   #9  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
Согласен с Георгием, что без changeCompany не обойтись.
Ваша форма должна работать в другой компании, по этому в нее нужно перейти.
Так же нужно у таблицы указать компанию purchLine.company( curExt() );
Вызов формы в другой компании:
PHP код:
// приход товара в аптеки
void receiptIntoAP() {
Args      args;                               // объект класс Args
FormRun   formRun;                            // объект класс FormRun
;
    
// создание и инициализация объекта класса Args
    
args = new Args();
    
args.callerthis );
    
args.nameFormStrReceiptIntoAP ) );
    
args.recordinventSum );
    
changeCompanycompany ) {
        
// создание и запуск формы
        
formRun ClassFactory.formRunClassargs );
        
formRun.init();
        
formRun.run();
        
formRun.wait();
    }
    
infolog.clear();

init вызываемой формы:
PHP код:
public void init() {
;
    
// проверка источника
    
if ( this.args().dataset() != TableNumInventSum ) ) throw Exception::Error;
    
super();
    
// инициализировать данные
    
inventSum this.args().record();
    
this.args().recordnull );
    
rgItemId.valueinventSum.ItemId );
    
rgInventDimId.valueinventSum.InventDimId );
    
purchLine.companycurExt() );

Есть одна особенность. После уничтожения формы в другой компании происходит переход обратно в исходную компанию до закрывающей } changeCompany, как это победить с удовольствием узнал бы сам