Отладка регламентных заданий на сервере. #644617


#0 by WED
Знаю, что тема не новая. Уже перерыл гугл и яндекс, но не помогает. Процедура вызываемая по регламентному заданию отладке не поддается. т.е. брейкпоинт не работает. Сервер запущен с ключом отладки. И как сервис и из командной строки - результат один. В подключении для отладки к отлаживаемой конфе галка "фоновые задания" стоит. В параметрах базы сервер прописывал и по имени и по ip. Конфигуратор запускается на одном компе, сервер на другом. На обоих платформа 8.2.16.368 Что упускаю и как отлаживать фоновые задания?
#0 by
20-11-2018

кэш, такая таинственная весчь, знаете ли.

#1 by WED
+ Процедура точно вызывается - записью в журнал проверял.
#2 by Undefined vs NULL
попробовать запускать как обычную обработку например
#3 by WED
мм. не очень понял. Предлагаешь процедуру, которая из регл.задания вызывается вынести в обработку? а что это даст?
#4 by Fragster
сделать модуль только "на сервере", подключиться отладкой к серверу, запустить процедуру обработкой
#5 by йети
какое имя у базы в sql, сервере 1С и форме запуска 1С
#6 by WED
(2,4) аааа, понял. это я уже пробовал - работает нормально, проблемы возникают при работе именно из фонового задания, я так понимаю, что из-за работы на сервере, а не на клиенте.
#7 by WED
одинаковое везде, ничем необычным не выделяется: jl_test
#8 by Fragster
модуль с процедурой ТОЛЬКО НА СЕРВЕРЕ, остальные галочки сними
#9 by WED
Я ж говорю - пробовал. Работает. Причем не выдает ни ошибок, ничего. Просто код внутри процедуры не работает и всё. Почему отладка и понадобилась.
#10 by Александр_Тверь
Э.. тут какая-то путаница. Регламентное задание, запускает фоновое задание по расписанию. Для отладки кода, который выполняется по расписанию фоновым заданием, достаточно двух шагов: 1. Запустить сервер предприятия в режиме отладки 2. Запустить процедуру, которую выполняет регламентное задание (сделай внешнюю обработку и в ней форму, по кнопе выполнить напиши что-то типа: ). Единственный ньюанс,вызываемая процедура должна находиться в модуле, выполняющимся на сервере. И хоть наотлаживайся.
#11 by WED
Вот и я так думал. Пока не столкнулся, что если просто вызываешь процедуру - работает идеально, а когда она вызывается при срабатывании фонового задания - код не работает вообще. Причем если среди кода в любое место воткнуть запись в журнал - пишет. Я вообще в недоумении.
#12 by Jaap Vduul
Насколько помню, строки подключения на сервере приложения и в конфигураторе должны совпадать (в т.ч. и регистр)
#13 by Александр_Тверь
какая проблема отладчиком посмотреть, что происходит? А ситуацию, которую ты описал - достаточно часто встречается. возможные причины: 1. Твой код использует методы не доступные на сервере. 2. Твой код использует объекты (com например) системы, которые не доступны на сервере 3. Твой код обращается к каким либо файлам или сервисам на которые у процесса под которым запущен сервер предприятия  нет прав. Список можно и дальше продолжить
#14 by WED
Блин, так и не получается отладчиком попасть - не работает брейкпоинт когда процедура вызывается из фонового задания. А код там простой и ничего из перечисленного нет - чистая математика по формулам.
#15 by Александр_Тверь
если ты хочешь отлаживать процедуру, то тебе ее надо вызывать не фоновым заданием! А прямым вызовом:
#16 by WED
Еще раз: когда вызываю процедуру как ты описываешь - работает идеально. Когда процедура вызывается из фонового - код не работает вообще, хотя процедура точно вызывается, ибо если в код внедрить строку записи в журнал - пишется.
#17 by Александр_Тверь
тогда другой вопрос какой должен быть результат выполнения? Как ты определяешь, что ничего не делается?
#18 by Jaap Vduul
Запиши в ЖР из фонового СтрокаСоединенияИнформационнойБазы и сравни с тем, что у тебя в конфигураторе в окошке "О программе".
#19 by WED
Код - простая математика: на входе два числа, в зависимости от первого изменяется второе. И результат и оба входящих числа пишу в журнал для проверки. Когда вызов простой - результат правильный, когда вызов из фонового - входящие числа есть, результата нет, точнее первое число как было так и осталось.
#20 by WED
совпадают.
#21 by WED
Пробовал писать в журнал изменяемое число после каждой формулы - не изменяется вообще. т.е. запись в журнал работает, а математика (банальное А=А+2) нет. Ну как так?
#22 by Александр_Тверь
попробуй перегрузить сервер предприятия.
#23 by WED
Уже пробовал. Практически самое первое и было.
#24 by Александр_Тверь
динамическое обновление использовал?
#25 by WED
Всё. Заработал код. скопировал весь код из модуля в блокнот, убил модуль (с сохранением конфы), создал заново, вставил код.
#26 by WED
Вопрос из разряда: А шо это было?!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С