AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2024, 06:26   #1  
oleggy is offline
oleggy
Участник
 
270 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
DAX2009 учетка AOS перевела ряд пакетов в 'Отложено'
Привет.
Подскажите какие причины могут побудить систему AX перевести ряд пакетов в статус Отложено (Withhold) ?
Столкнулся с такой ситуацией первый раз.
Старый 28.10.2024, 06:36   #2  
oleggy is offline
oleggy
Участник
 
270 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
Кидаю как версию.
Может ли быть причина редактирование прав пользователя под которым была запущено пакетное задание? Т.к. около 10-15 пакетных заданий попали в такой статус запущенные под определенным пользователем.
Пользователь включен и не отключался. Поэтому пока не знаю причину.
Старый 28.10.2024, 10:39   #3  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Насколько я знаю, штатно, автоматического перевода в статус "Отложено" быть не может. Этот статус может быть присвоен только и исключительно вручную. Или же у Вас сделана какая-то модификация обработки пакетных заданий

Посмотрите по перекрестным ссылкам, где происходит присвоение значения полю "Статус" для BatchJob.Status и что надо делать, чтобы был присвоен статус "Отложено"
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 28.10.2024, 11:36   #4  
oleggy is offline
oleggy
Участник
 
270 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
Я почему подумал так, т.к. по журналу истории БД вижу что значение BatchJob.Status было изменено на "Ожидание" userId = -AOS-.
Старый 28.10.2024, 12:18   #5  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Случайно нет функционанальности "Запуск от имени пользователя"?
Если есть, то не запускал ли пользователь пакета экземпляры Аксапты под именем другого пользователя?
Старый 31.10.2024, 07:37   #6  
oleggy is offline
oleggy
Участник
 
270 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
Функционал такой есть, но не запускал это точно.
Это же системная учетка в UserInfo записи Id = '-AOS-' даже нет.
Запустить под такой клиент не возможно (поправьте если ошибаюсь).
Старый 31.10.2024, 12:24   #7  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
298 / 866 (29) +++++++
Регистрация: 23.10.2012
Ответ на этот вопрос содержится в перекрестных ссылках.
Система сама может выставлять данный статус.
Скорее всего пользователь создавший данные пакетные задания был отключен.

PS Обычно к журналу БД "прикручивают" сбор информации о стеке вызова - это сильный инструмент для расследования подобных сценариев.
За это сообщение автора поблагодарили: Logger (3).
Старый 01.11.2024, 16:38   #8  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от oleggy Посмотреть сообщение
Функционал такой есть, но не запускал это точно.
Это же системная учетка в UserInfo записи Id = '-AOS-' даже нет.
Запустить под такой клиент не возможно (поправьте если ошибаюсь).
Раз пользователь, под которым создан пакет (не -AOS-) не запускал из под себя от имени другого пользователя сессию, то значит не то, про что я предположил.

Просто в некоторых реализациях этого функционала на время запуска от имени другого пользователя сам пользователь блокируется. И если в это время запустится очистка пакетов по зависшим задачам (как раз без клиентской сессии, то есть -AOS-), то одно из действий - перевод задач заблокированных пользователей в отложенные.
Старый 01.11.2024, 20:57   #9  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Если мне не изменяет память, в классе batchrun есть код, переводящий пакеты в отменено, если юзер выключен или учетка заблокирована.
Методы класса дергаются ядром аоса, поэтому автор модификации -AOS-
В перекрестные могло не попадать так как там update_recordset а он в 2009й перекрестными не ловится.
За это сообщение автора поблагодарили: oleggy (2).
Старый 14.11.2024, 13:21   #10  
oleggy is offline
oleggy
Участник
 
270 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
Цитата:
Сообщение от Logger Посмотреть сообщение
Если мне не изменяет память, в классе batchrun есть код, переводящий пакеты в отменено, если юзер выключен или учетка заблокирована.
Т.е. если учетка в AD была заблочена это могло привести с Отмене?
Так?
Хрошо, а если учетка потом была разблокирована то обратно из Отложено я так понимаю не переведется в Ожидание. Так?
Старый 14.11.2024, 14:36   #11  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от oleggy Посмотреть сообщение
Т.е. если учетка в AD была заблочена это могло привести с Отмене?
Так?
Хрошо, а если учетка потом была разблокирована то обратно из Отложено я так понимаю не переведется в Ожидание. Так?
Да, именно так.
Старый 14.11.2024, 14:42   #12  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
\Classes\BatchRun\serverCleanUpDeadTasks
X++:
        //cancel executing jobs for disabled users
        update_recordset batchJob setting Status = BatchStatus::Cancelling
            where batchJob.Status == BatchStatus::Executing
        exists join userInfo where userInfo.Id == batchJob.CreatedBy
            && userInfo.Enable == false;
...
        //Send waiting jobs to hold
        update_recordset batchJob setting Status = BatchStatus::Hold
            where batchJob.Status == BatchStatus::Waiting
        exists join userInfo where userInfo.Id == batchJob.CreatedBy
            && userInfo.Enable == false;
правда здесь учетка не в AD заблочена, а в аксапте.
Но вроде бы это приводило к аналогичному результату.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX2009 вопрос про глобальную компиляцию если несколько AOS oleggy DAX: Администрирование 1 08.10.2021 08:36
AX09 невозможно удалить запись в Журнал пакетов задач. Сбой при проверке AOS oleggy DAX: Программирование 1 15.01.2021 10:19
daxis: Troubleshooting blocked SPIDS in AOS Blog bot DAX Blogs 0 01.04.2009 18:05
Arijit Basu: AX 4 AOS Basics: [Level 100] Blog bot DAX Blogs 0 18.11.2007 14:30
Вылетает аxапта 4.0 при завершении работы Delfins DAX: Прочие вопросы 5 27.06.2007 15:43
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:46.