Имя: Пароль:
1C
1С v8
Сохранить файл с FTP на сервере
, ,
0 Вопросы Задающий
 
25.09.12
16:06
Всем привет! Есть такой код:

TempFileName = TempFilesDir()+"text.csv";
Try
Connection=New FTPConnection("www.leningrad.spb.ru",,"user","parol",,);
Connection.Get("text.csv",TempFileName);
Except
EndTry;

Теперь вопрос. Версия клиент-сервер. Если с какого-то юзера запустить эту команду, файл сохранится у него на компе, правильно? Локально то есть. Как оказалось, почему-то иногда в Win7 на диске С сложно с правами настолько, что есть проблема с автосохранением таких файлов из-за прав. Хотелось бы всегда их сохранять на сервере. Можно ли сделать, чтобы этот кусок кода ВСЕГДА исполнялся на сервере?

Или тупо поменять адрес TempFilesDir()+"1c.csv" на какой-то общий сетевой? Но в таком случае нужно, чтобы у ВСЕХ пользователей он был одинаковый, например \\1c-server\d\csv .... что неудобно
1 Deon
 
25.09.12
16:08
Управляемы формы?
2 ДенисЧ
 
25.09.12
16:08
Вынести функцию в серверный модуль. Создать каталог. Дать USRV8 (или как там называется учетка, под которой работает сервер 1с?) права на эту папку...
3 Reset
 
25.09.12
16:09
По моему,правильнее разобраться с правами на паку для временных файлов
4 Reset
 
25.09.12
16:10
папку
5 vde69
 
25.09.12
16:10
Батник для мапинга персонального диска

mkdir "%userprofile%"\1c.tmp
subst R: "%userprofile%"\1c.tmp
del R:\*.* /q /f
6 vde69
 
25.09.12
16:13
(5) соответственно после выполнения у каждого пользователя будет диск R: который физически будет лежать в профиле конкретного пользователя

после этого в 1с все темпы можно смело делать на диске R:\
7 AaNnDdRrEeYy
 
25.09.12
16:17
(6) а как сделать что бы КаталогВременныхФайлов() возвращал путь к диску R или надо жестко путь до R прописывать?
8 Вопросы Задающий
 
25.09.12
16:19
(1) нет
9 Вопросы Задающий
 
25.09.12
16:19
(3) юзеров много, и не каждый комп постоянно доступен
10 vde69
 
25.09.12
16:21
(7)
// Формирует имя каталога для сохранения/чтения файлов. Для различных типов объектов возможны
// различные алгоритмы определения каталога.
//
// Параметры
//  ОбъектФайла  – Ссылка на объект данных, для которого прикрепляются файлы.
//  ТекущийПользователь - Ссылка на справочник Пользователи, с текущим пользователем
//                 конфигурации.
//
// Возвращаемое значение:
//   Строка – каталог файлов для указанного объекта и пользователя.
//
Функция ПолучитьИмяКаталога(ТекущийПользователь) Экспорт

   // Получим рабочий каталог из свойств пользователя.
   РабочийКаталог = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекущийПользователь,"ОсновнойКаталогФайлов");

////////////////////////////////////////////////////////////////////////////////////////////
// СИСТЕМА БАНК
//
// если в пользователе не прописан каталог - используем из константы
//
   Если ПустаяСтрока(РабочийКаталог) Тогда
       РабочийКаталог = СокрЛП(Константы.ОсновнойКаталогФайлов.Получить());
   КонецЕсли;
////////////////////////////////////////////////////////////////////////////////////////////
   
   
   // Если рабочий каталог не указан получим каталог временных файлов программы
   Если ПустаяСтрока(РабочийКаталог) Тогда
       РабочийКаталог = КаталогВременныхФайлов();
   КонецЕсли;

   // Так как при различных указаниях рабочего каталога возможно наличие или отсутствие
   // последнего слеша, приведем строку каталога к унифицированному виду - без слеша на конце.
   Если Прав(РабочийКаталог, 1) = "\" Тогда
       РабочийКаталог = Лев(РабочийКаталог, СтрДлина(РабочийКаталог) - 1);
   КонецЕсли;

   Возврат РабочийКаталог;

КонецФункции // ПолучитьИмяКаталога()
Независимо от того, куда вы едете — это в гору и против ветра!