Показать сообщение отдельно
Старый 31.03.2010, 19:47   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от LEXAR Посмотреть сообщение
X++:
public container pack()
{
     container ret;
     SysLastValue sysLastValue;
...
    delete_from sysLastValue
        where sysLastValue.Company      == curext()
           && sysLastValue.UserId       == curuserid()
           && sysLastValue.RecordType   == UtilElementType::DataSet
           && sysLastValue.ElementName  == filterDataSource.name()
           && sysLastValue.DesignName   == filterDataSource.name();
...
Вот при всем уважении... не могу не встрять. Извините.

Лучше не хардкодить, а использовать нормальный класс и нормальные штатные методы:
ClassFactory.lastValueDelete
ClassFactory.lastValueGet
ClassFactory.lastValuePut

и уж чего не стоит делать, так это обнулять recid, лучше пользоваться методом clear().

X++:
public container pack()
{
     container ret;
     formdatasource filterDataSource;
     ;

    filterDataSource = SalesTable_ds; // Put your datasource name

    ttsbegin;
       // Delete last saved query for the current dataset
    classFactory.lastValueDelete(curext(),
                                 curuserid(),
                                 UtilElementType::DataSet,
                                 filterDataSource.name()
                                 filterDataSource.name());

    // If there is a new queryRun() object then serialize and save it
    // in the sys last value table
    // Put your datasource name
    
    if (filterDataSource.queryRun())
   {
        classFactory.lastValuePut(SysQuery::packRangeAndSortorder(filterDataSource.queryRun().query(),
                                  curext(),
                                  curuserid(),
                                  UtilElementType::DataSet,
                                  filterDataSource.name(),filterDataSource.name());
    }
    ttscommit;

    ret = super();
    return ret;
}
__________________
полезное на axForum, github, vk, coub.