Имя: Пароль:
1C
 
Формирование XML с помощью 1C
0 cybase
 
19.05.10
16:57
Создан модуль, который формирует файл XML при запуске 1C и далее с периодичностью 15 минут.
Формирование идёт следующим образом:

ПутьКФайлу = "C:/sync/1c_new.xml";
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл(ПутьКФайлу);

Когда запускается 1С на одном компьютере всё в порядке, но когда запуск происходит с других компьютеров, происходит ошибка "Ошибка доступа к файлу 1c_new.xml"

Как с этим бороться?
1 quest
 
19.05.10
17:01
глянуть права для начала. может туда пользователь вообще писать
2 Шапокляк
 
19.05.10
17:01
Ну, наверно, нет на этом компе каталога sync. А вам надо чтобы каждый юзер свой файл писал?
3 cybase
 
20.05.10
13:36
Есть сервер. На этом сервере как раз-таки и содержится этот каталог sync. Все остальные пользователи просто подключаются к этому серверу.

А вам надо чтобы каждый юзер свой файл писал?
Нет.
4 Живой Ископаемый
 
20.05.10
13:39
а остальные юзеры работают в терминале?
5 Смотрящий от 1С
 
20.05.10
14:06
В приведенном коде все юзеры пытаются записать на свой диск С
6 Name2006
 
20.05.10
14:12
Может, автор пытается сделать свой журнал регистрации?
Так он уже имеется, если что.
7 lxs
 
20.05.10
14:16
Чтобы другие получили доступ, надо написать Запись.Закрыть() и потом Запись = Неопределено.
8 lxs
 
20.05.10
14:17
+(7) файл-то один, я правильно понимаю?
9 cybase
 
20.05.10
15:26
файл-то один, я правильно понимаю?
Да. Файл один единственный.

Может, автор пытается сделать свой журнал регистрации?
Нет, речь идёт не об этом.
10 cybase
 
21.05.10
13:37
А реально ли сделать, чтобы 1С загружал файл сразу на сторонний WEB-сервис, а не записывал его на локальный компьютер?
Просто сейчас, файл, создаваемый 1C, копируется сторонней программой по FTP.
11 ShoGUN
 
21.05.10
13:39
(10) Реально, обычным PUT, кури HTTPСоедининие.
12 cybase
 
21.05.10
13:45
Да, но ведь изначально файл всё-равно создаётся и записывается на локальный компьютер? Можно как-то без этого обойтись?
13 Смотрящий от 1С
 
21.05.10
13:47
можно, пиши сразу на удаленный
если юзеры в терминале то \\tsclient\C\sync\1c_new.xml
14 ShoGUN
 
21.05.10
13:48
(12) Это принципиально? В чем проблема - создать временный файл?
15 cybase
 
21.05.10
14:03
Следующий
HTTP = Новый HTTPСоединение("www.mysite.ru",,,,,);
HTTP.Записать("C:\sync\file.xml","/files/XML/");
16 cybase
 
21.05.10
14:05
Выдаётся ошибка: "405 Method Not Allowed"
17 ShoGUN
 
21.05.10
14:14
18 cybase
 
21.05.10
14:19
Т.е. проблему нужно искать на сервере, куда отправляется файл? Или нужно отправить дополнительно какие-нибудь заголовки?
19 ShoGUN
 
21.05.10
14:25
(18) Тьфу ты. Ты пытаешь в папку записать, а надо имя файла указывать же...
4хх - это ошибки клиента, т.е. клиент что-то неправильно делает. В случае 405 сервер должен вернуть методы, которые допустимы для ресурса на сервере.
20 cybase
 
21.05.10
14:31
При указании файла, т.е. HTTP.Записать("C:\sync\file.xml","/files/XML/file.xml"); ошибка та же самая.
21 ShoGUN
 
21.05.10
14:33
(20) Что сервер возвращает помимо ошибки в заголовке? Запись точно разрешена туда, куда ты писать пытаешься? Может тебе Post нужен, а не Put?
22 cybase
 
21.05.10
15:25
Что сервер возвращает помимо ошибки в заголовке?
Хм..А как это просмотреть? Сообщение "405 Method Not Allowed" выдаёт 1C при запуске.

Запись точно разрешена туда, куда ты писать пытаешься?
Выставил права CHMOD 777

Может тебе Post нужен, а не Put?
Имеется ввиду метод ОтправитьДляОбработки? Пробовал ошибка та же самая.