Dev ›
открытие файлов под другим пользователем ›
#8
24.02.12 12:00
(6) corsar4ik, да тут ни че не вынести, но могу задать вопрос, как вы решили одну проблемму, если вы конечтно ее решали ))))) есть БП на утврждение платежек, далее происходит выгрузка платежек и загрузка их в КБ.
так вот, в стандартном механизме выгрузки вы выгружаете текстовый файл в папочку которая доступна для буха, и он может туда зайти, изменить файл и загрузить уже измененный файл в КБ.
(все те кто скажет что в этом нет ничего страшного могу послать в "цех", если вы работает ооо "вася пупкин" может и для вас это не актуально)
я решил эту задачу двумы путями и через фон и через WScript.Shell.
через фон легко
Код |
---|
Процедура ВыгрузкаКлиентБанкФон(СтрокаПоток,ФайлВыгрузки,Кодировка) Экспорт
ПотокВыгрузки = Новый ТекстовыйДокумент();
ПотокВыгрузки.ДобавитьСтроку(СтрокаПоток);
ПотокВыгрузки.Вывод = ИспользованиеВывода.Разрешить;
Если Кодировка = "DOS" Тогда
ПотокВыгрузки.Записать(ФайлВыгрузки,КодировкаТекста.OEM);
Иначе
ПотокВыгрузки.Записать(ФайлВыгрузки,КодировкаТекста.ANSI);
КонецЕсли;
КонецПроцедуры |
через WScript.Shell для клиент банк, выгрузка, потом перемещения уже в защищенную директорию, а потом уже удаление старого файла.
Код |
---|
WshShell = Новый COMObject("WScript.Shell");
WshShell.Run("psexec" + " /u USER /p PASS cmd.exe /c copy /y " + ФайлВыгрузки + " C:\путь",0);
WshShell.Run("psexec" + " /u USER /p PASS cmd.exe /c del " + ФайлВыгрузки,0);
Сообщить("Файл перемещен в C:\путь");
|
так вот, метот через фон неработает, о через Shell некрасиво. вот и прошу подсказать какие еще могут быть методы реализации.
(6) corsar4ik, так что вопрос не только в вынести но и есть другие облости применения.
(7) corsar4ik, что же вам непонятно, уже упрастил задачу понятным языком
Цитата |
---|
вообще суть в том что бы ваполняличь действия пользователя под другим пользователем в AD
|