Показать сообщение отдельно
Старый 24.03.2020, 16:08   #7  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Вот по значению параметра parmInBatch() и можно определить, запущен ли класс в пакетном режиме или нет. Ну, или через isInBatch() - это чтение той же самой переменной
В стандарте это так, но уже в нескольких модификациях видел как при программном запуске разноски накладной в DAX2009 (не в пакетном режиме) принудительно устанавливался parmInBatch(true), чтобы сама разноска запускалась в отдельной пакетной задаче и не нужно было ждать, в итоге SalesFormLetter "обманывался" и считал, что работает в пакете.
Железобетонно определит работаем ли в пакете метод BatchHeader::isExecutingInBatch(). Не помню, был ли он в DAX2009, но его код элементарный:
X++:
public static boolean isExecutingInBatch()
{
    Batch batch = BatchHeader::getCurrentBatchTask();
    if (batch)
    {
        return true;
    }

    return false;
}
За это сообщение автора поблагодарили: Logger (3), S.Kuskov (5), Pandasama (1), oleggy (1).