|  28.10.2024, 06:26 | #1 | 
| Участник | DAX2009 учетка AOS перевела ряд пакетов в 'Отложено' 
			
			Привет. Подскажите какие причины могут побудить систему AX перевести ряд пакетов в статус Отложено (Withhold) ? Столкнулся с такой ситуацией первый раз. | 
|  | 
|  28.10.2024, 06:36 | #2 | 
| Участник | 
			
			Кидаю как версию. Может ли быть причина редактирование прав пользователя под которым была запущено пакетное задание? Т.к. около 10-15 пакетных заданий попали в такой статус запущенные под определенным пользователем. Пользователь включен и не отключался. Поэтому пока не знаю причину. | 
|  | 
|  28.10.2024, 10:39 | #3 | 
| Участник | 
			
			Насколько я знаю, штатно, автоматического перевода в статус "Отложено" быть не может. Этот статус может быть присвоен только и исключительно вручную. Или же у Вас сделана какая-то модификация обработки пакетных заданий Посмотрите по перекрестным ссылкам, где происходит присвоение значения полю "Статус" для BatchJob.Status и что надо делать, чтобы был присвоен статус "Отложено" 
				__________________ - Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... | 
|  | 
|  28.10.2024, 11:36 | #4 | 
| Участник | 
			
			Я почему подумал так, т.к. по журналу истории БД вижу что значение BatchJob.Status было изменено на "Ожидание" userId = -AOS-.
		 | 
|  | 
|  28.10.2024, 12:18 | #5 | 
| Участник | 
			
			Случайно нет функционанальности "Запуск от имени пользователя"? Если есть, то не запускал ли пользователь пакета экземпляры Аксапты под именем другого пользователя? | 
|  | 
|  31.10.2024, 07:37 | #6 | 
| Участник | 
			
			Функционал такой есть, но не запускал это точно. Это же системная учетка в UserInfo записи Id = '-AOS-' даже нет. Запустить под такой клиент не возможно (поправьте если ошибаюсь). | 
|  | 
|  31.10.2024, 12:24 | #7 | 
| Участник | 
			
			Ответ на этот вопрос содержится в перекрестных ссылках. Система сама может выставлять данный статус. Скорее всего пользователь создавший данные пакетные задания был отключен. PS Обычно к журналу БД "прикручивают" сбор информации о стеке вызова - это сильный инструмент для расследования подобных сценариев. | 
|  | |
| За это сообщение автора поблагодарили: Logger (3). | |
|  01.11.2024, 16:38 | #8 | 
| Участник | Цитата: Просто в некоторых реализациях этого функционала на время запуска от имени другого пользователя сам пользователь блокируется. И если в это время запустится очистка пакетов по зависшим задачам (как раз без клиентской сессии, то есть -AOS-), то одно из действий - перевод задач заблокированных пользователей в отложенные. | 
|  | 
|  01.11.2024, 20:57 | #9 | 
| Участник | 
			
			Если мне не изменяет память, в классе  batchrun   есть код, переводящий пакеты в отменено, если юзер выключен или учетка заблокирована. Методы класса дергаются ядром аоса, поэтому автор модификации -AOS- В перекрестные могло не попадать так как там update_recordset а он в 2009й перекрестными не ловится. | 
|  | |
| За это сообщение автора поблагодарили: oleggy (2). | |
|  14.11.2024, 13:21 | #10 | 
| Участник | Цитата: Так? Хрошо, а если учетка потом была разблокирована то обратно из Отложено я так понимаю не переведется в Ожидание. Так? | 
|  | 
|  14.11.2024, 14:36 | #11 | 
| Участник | |
|  | 
|  14.11.2024, 14:42 | #12 | 
| Участник | 
			
			\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; Но вроде бы это приводило к аналогичному результату. | 
|  | 
|  | 
| 
 |