Показать сообщение отдельно
Старый 20.06.2008, 14:38   #1  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Передать временную таблицу из формы в класс
Есть класс, в котором объявлен курсор на НЕВРЕМЕННУЮ таблицу. При инициализации класса делаем этому курсору setTmp. Есть диалоговая форма, в которой датасорс - также по этой таблице. При инициализации ставим ее в setTmp.
В методе closeOk:
X++:
public void closeOk()
{
    DialogRunbase dialog = element.args().caller();
    ;

    SmmLineCreate.parmTmpData(SmmResponsible); //  SmmResponsible - та самая таблица

    dialog.updateServer();

    if( SmmLineCreate.checkCloseDialog(this) )
        super();
}
А парм-метод такой:
X++:
Common parmTmpData(Common _tmpResponsible = tmpResponsible)
{
    ;
    tmpResponsible.setTmpData(_tmpResponsible);
    return tmpResponsible;
}
После того как на диалоге создаю строку в таблице, сохраняю и жму OK, в классе :
вызов
X++:
boolean checkTmp()
{
    Boolean ret = true;
    ;
    select count(RecId) from tmpResponsible;

    if (!tmpResponsible.RecId)
        ret = checkFailed(strfmt("@SYS77621", "@ACL85"));

    return ret;
}
идет по настоящей таблице и записи диалоговой формы вообще не видит. В чем может быть решение?