Имя: Пароль:
1C
1С v8
Загрузка из xml файла перестала работать
0 Domovoi
 
17.08.12
12:12
Несколько месяцев назад написал загрузку из xml файла для 1с.
На сайте выдает ссылку, открывает в браузере страничку, я хаписываю ее в xml файл, в обработку подставляю полный путь к файлу и запускаю загрузку. На тот момент когда сделал все работало нормально. Теперь возникли проблемы и надо их решить, но беда в том что я не понимаю в чем проблема, т.е. факт с пользовательской стороны вижу, а с программистской не понимаю как исправить.
1)Данные всегда сохранили в один и тот же файлик, который был создан изначаль(перезаписывали этот файл, дозаписи не происходило). В данный момент, почему то при считывании с xml файла начинает считывать сначала, проходит шапку формата, а потом берет и перепрыгивает строк 70, из-за чего это может происходить?
2)Я попробовал соранить в другой файлик в этой же папке, в файлике все английские буквы(если это важно), но при попытке открывать файл пишет что файл не обнаружен.

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла);

Опять же всвязи с чем это может быть?
Может надо и при чем обязательно, какие-то параметры при открытии указывать?
Может кто встречался с такими проблемами, подскажите как решать?
1 1C-band
 
17.08.12
12:13
Имя файла в отладчике посмотри.
2 Domovoi
 
17.08.12
12:17
А что о нем посмотреть? Имя как имя, с другим же файлом прокатывает, путь с именем файл ввиде строки.
3 Птах
 
17.08.12
12:18
С правами все нормально?
4 Domovoi
 
17.08.12
12:19
(3)Всмысле? В 1с? Полные.
5 Domovoi
 
17.08.12
12:20
+(4)Еще раз: старый файл запускаю нормально, но строки пропускаюьються, а про новый пишет что не обнаружен файл.
6 Rie
 
17.08.12
12:21
(5) Если пишет, что не обнаружен файл - то, может, этого файла нет? Или нет прав на этот файл?
И - _какой_ файл не обнаружен? Может, у тебя в имени файла пробелов понатыкано? Или просто имя файла кто-то чуток подкорректировал?
7 Птах
 
17.08.12
12:23
(4) У пользователя операционки, запустившего 1с, должны быть права на доступ к файлу который ты пытаешься открыть в 1с.
Блокнотом файл открывается?
8 Птах
 
17.08.12
12:23
Путь в блокнот скопируй из отладчика и попробуй
9 Domovoi
 
17.08.12
12:24
D:\Shared\positions.xml - вот путь и имя файла.

файл отпрываеться и блокнотом и браузером.
10 Rie
 
17.08.12
12:25
(9) Чего-то ты не договариваешь...
11 Domovoi
 
17.08.12
12:26
Ага зашел вас помучать, сам уже сутра бьюсь никак не пойму в чем дело.
12 zladenuw
 
17.08.12
12:27
платформу случаем не ставил новую ?
13 Птах
 
17.08.12
12:27
(11) Не, ну не может 2+2 само по себе не складываться
14 Rie
 
17.08.12
12:27
(9) Вот этот путь к файлу - D:\Shared\positions.xml - ты откуда взял?
В отладчике посмотрел? Или это ты думаешь, что к этому файлу обращаешься?
15 Птах
 
17.08.12
12:27
обязательно потом напиши, где затупил, поржать :)
16 Domovoi
 
17.08.12
12:28
(14)Отладчиком остановил в 1с перед открытием и посмотрел что там написано, скопировал и выложил сюда.
17 Лоботряс
 
17.08.12
12:28
А как чтение осуществляется? Может структура файла поменялась, а у тебя в коде прописано чтение определенной структуры.
18 Domovoi
 
17.08.12
12:28
(15)Да потом бы и я посмеялся бы, а сейчас реально головная боль.
19 Eugene_life
 
17.08.12
12:29
(18) Другой браузер? Может, какой плагин поставили?
20 Domovoi
 
17.08.12
12:30
(17)Не поменялась.

По второму пункту. Вот на это уже спотыкаеться

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла); или ЧтениеXML.ОткрытьФайл("D:\Shared\positions.xml");
21 Rie
 
17.08.12
12:30
(16) Пробелов в конце или ещё какой пакости нет?
Файл - именно на той машине лежит, с которой ты свою обработку запускаешь?
22 Domovoi
 
17.08.12
12:31
(19)Раньше IE пробовал, теперь IE и Chrome - один хрен
23 Domovoi
 
17.08.12
12:32
(21)Да именно на той. пробелов нет
24 Птах
 
17.08.12
12:32
Ну кидай точный текст ошибки тогда ))
25 Птах
 
17.08.12
12:37
Судя по всему, разобрался? :)
26 Domovoi
 
17.08.12
12:41
(24){ВнешняяОбработка.ИмпортЗаказовКлиента.МодульОбъекта(35)}: Ошибка при вызове метода контекста (ОткрытьФайл): Файл не обнаружен 'D:\positions.xml'
27 Domovoi
 
17.08.12
12:41
(25)Отвлекают просто, не разобрался.
28 UnAmerican
 
17.08.12
12:44
(26) Права на файл!
29 Domovoi
 
17.08.12
13:01
Дали доступ на сервак, все работает как надо.
Ну если права, то почему я другими приложениями могу эти файлы открывать? Или так можно настроить?
И остаеться тогда первый пункт, почему пропускаються строки при считывании файла в 1с.
30 Птах
 
17.08.12
13:04
(29) Ну еще такое бывает, когда файл лежит у тебя на диске, а файл ты открываешь в серверной процедуре.
31 UnAmerican
 
17.08.12
13:04
Из под кого запускается служба 1с, тому нужны права на файл.
32 Domovoi
 
17.08.12
13:05
(30)Запускаю серверной процедурой, а фаил на диске. А как тогда делать?
33 Domovoi
 
17.08.12
13:05
+(32)Вот тут чуствую будет разгадка всех этих причин.
34 UnAmerican
 
17.08.12
13:05
Смотри (31)
35 Птах
 
17.08.12
13:12
(32) Эпичненько :)
Либо надо писать файл на сервер по означенному пути, либо передавать на сервер полный путь к файлу, типа:
\\комп\шара\путь
36 Domovoi
 
17.08.12
13:21
\\комп\шара\путь - а в виде кода можете подсказать? Чтоб с любого локального компа работало.
37 Rie
 
17.08.12
13:22
(36) Судя по названию папки, рискну предположить, что у тебя она уже расшарена. Вот и посмотри её сетевое имя. Равно как и имя сервера. И сразу всё узнаешь!
Если не расшарена - расшарь и дай ей имя.
38 Domovoi
 
17.08.12
13:44
Спасибо всем, действительно проблема именно в том что файл пыталось брать с сервака, а не с локальной машины.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший