Я считаю, что нашел ответ на вопрос -> не обязательно решение для достижения цели.
Приложения QB и QBXML SDK должны запускаться в контексте пользователя. Вам нужно будет открыть сеанс Windows, но пользователю не нужно входить в систему QB, чтобы ваше приложение могло работать против него. Тем не менее, QB должен быть открыт администратором при первом подключении вашего приложения и авторизации автоматического режима.
intuit.developer
Планировщик Windows изменился с настольного компьютера на сервисный, начиная с Vista или Win7, а в новой ОС планировщик работает как сервисный.
QuickBooks и QODBC — это настольные приложения/драйверы.
QODBC использует SDK QuickBooks, а SDK QuickBooks использует приложение QuickBooks для получения данных из файла компании.
Для SDK QuickBooks требуется активный сеанс рабочего стола (кто-то должен войти в систему) на компьютере, поскольку QuickBooks — это настольное приложение. Если никто не заходил на сервер/компьютер, вы получите сообщение об ошибке «Не удалось запустить QuickBooks».
Даже если вы указали имя пользователя/пароль и пользователь вошел в систему, вы можете заметить ту же ошибку. Это связано с тем, что задача, выполняемая из планировщика заданий, запускается как другой пользователь/новый сеанс.
Обходной путь — использовать настольный планировщик, такой как Z-Cron или http://alternativeto.net/software/task-scheduler/?platform=windows.
источник цитируемого текста
теперь это может быть не то решение, которое вам нужно. но он отвечает на ваш вопрос/проблему и включает обходной путь.
Я тоже сталкиваюсь с такой же дилеммой и ищу решение. это, возможно, должно быть так, как я иду. другой вариант — запускать ваше консольное приложение при любом входе пользователя в систему и отслеживать ваш последний успешный запуск, текущий статус приложения (независимо от того, запущено ли оно в данный момент или нет) — так вы убедитесь, что работаете в соответствии с указанным расписанием. но это не только относительно запутанное решение, у вас не обязательно есть гарантия, что кто-то войдет в систему в течение отведенного вам времени (они могут даже не войти в систему в течение недели).
я попытался запустить удаленный сеанс, в результате чего приложение запускается при запуске с другого сервера с помощью планировщика задач. но это дало мне точно такой же результат.
В настоящее время я изучаю QBWC, чтобы узнать, позволит ли какой-либо из этих подходов мне достичь желаемой цели общения с QB по расписанию автономно.
я сожалею, что не смог предоставить вам окончательное решение, но я думаю, что вы и другие могут извлечь пользу из уже проведенного исследования. Кроме того, я надеюсь, что эта информация поможет вам найти правильное решение.
person
Heriberto Lugo
schedule
09.03.2018