05.02.2010, 11:36 | #1 |
Участник
|
Ax 3. Запускаю на сервере удаление файла. Не удаляет.
Создают пакетную задачу - удалить файл в одной из сетевых папок.
WinApi::deleteFile(path); Файл не удаляется! Ошибок не выводится. На сетевую папку даны полные права Администраторы Axapta. Настраиваю удаление файла из локальной серверной папки. В этом случае файл удаляется. Т.е. не удаляется именно из сетевой папки. У локального пользователя такие же права на сетевую папку. Но у него файл удаляется без проблем. Почему не получается удалить файл в Режиме сервер? |
|
05.02.2010, 11:56 | #2 |
Участник
|
|
|
05.02.2010, 12:03 | #3 |
Участник
|
Да, есть. Я на сервере без пакетной обработки запускаю удаление и он удаляет.
|
|
05.02.2010, 12:18 | #4 |
Участник
|
У себя я удаляю *.bat -ником, запускаю его из пакетного задания. Работает.
|
|
05.02.2010, 12:19 | #5 |
Участник
|
При желании батник можно создавать динамически.
|
|
05.02.2010, 12:21 | #6 |
Гость
|
А getLastError чего говорит?
|
|
05.02.2010, 12:43 | #7 |
Участник
|
Выдает цифру 5. А как узнать, что это значит?
|
|
05.02.2010, 12:44 | #8 |
NavAx
|
|
|
05.02.2010, 12:58 | #9 |
Участник
|
И я к этому склоняюсь. Но вот вопрос. От какого же пользователя запускает сервер процесс. Права полные я поставила.
Причем сразу после этого я запускаю сохранить эксель документ там же и он это делает. Последний раз редактировалось Arahnid; 05.02.2010 в 13:05. |
|
05.02.2010, 13:05 | #10 |
Гость
|
|
|
05.02.2010, 13:10 | #11 |
Участник
|
Пасибо большое.
Теперь ясна причина. Не понятно. Процесс запускается от пользователяА. У пользователяА полный доступ. Если в обычном режиме пускать удаление, то удаляется. Если от этого же пользователя пускать через пакетную обработку, то не удаляется. Как так может быть? Последний раз редактировалось Arahnid; 05.02.2010 в 13:26. |
|
05.02.2010, 13:45 | #12 |
Участник
|
Аксапта - это клиент серверная система. Один и тот-же код, в зависимости от ситуации, может работать как на сервере так и на клиенте. Если код работает на сервере, то некоторые привелегии (в том числе и файловые) зависят не от прав пользователя, запустившего задание, а от прав пользователя под которым запущен AOS (начиная с 4-ой версии указывается в настройках соответствующей службы)
|
|
05.02.2010, 14:16 | #13 |
Участник
|
Я вхожу под собой. Под собой запускаю пакетную обработку и не работает. В этой же сессии к серверу руками запускаю формирование этого же отчета - работает.
Вот это и странно. Проверяю - от моего имени запускается WinAPI во всех случаях, но именно при пакете не срабатывает. |
|
05.02.2010, 14:22 | #14 |
Участник
|
Я вхожу под собой. Под собой запускаю пакетную обработку и не работает. В этой же сессии к серверу руками запускаю формирование этого же отчета - работает.
Вот это и странно. Проверяю - от моего имени запускается WinAPI во всех случаях, но именно при пакете не срабатывает. |
|
05.02.2010, 14:41 | #15 |
Участник
|
Ещё раз. Не важно под кем входите вы. Важно под каким пользователем запущен AOS.
Не важно чему равен аксаптовский curuserid(). С виндой серверный код общается от имени пользователя, запустивщего AOS. |
|
05.02.2010, 15:29 | #16 |
Участник
|
|
|
05.02.2010, 15:46 | #17 |
Moderator
|
Local System Account - это системная учетная запись, обычно имеющая полные права на сам локальный компьютер. Выхода в сеть у нее нет. Вам нужно настроить запуск AOS под доменной учетной записью, для которой и настроить потом доступ в сетевую папку.
__________________
Андрей. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
05.02.2010, 16:05 | #18 |
Участник
|
Всем спасибо, буду пробывать
|
|
|
|