Показать сообщение отдельно
Старый 01.12.2008, 09:32   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ZVV Посмотреть сообщение
X++:
public void init()
{
    qbr = this.query().dataSourceNo(1).findRange(fieldNum(InventLocation, InventLocationId));

    if (! qbr )
        qbr = this.query().dataSourceNo(1).addRange(fieldNum(InventLocation, InventLocationId));
Вместо такой тягомотной конструкции лучше писать
X++:
SysQuery::findOrCreateRange(this.query().dataSourceTable(tablenum(InventLocation)),fieldNum(InventLocation, InventLocationId));
Кстати, обратите внимание, что dataSourceNo - источник очень трудноуловимых runtime ошибок, если датасоры с форме поменяются. Лучше юзать tablnum...
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: ZVV (1), aidsua (1).