|
Ошибка в регл. задании | ☑ | ||
---|---|---|---|---|
0
John83
26.04.21
✎
18:19
|
В регл. задании происходит загрузка файла
C:\Users\Администратор\AppData\Local\Temp\GRLS\lp2021-04-22-1.xls Проверяю, что этот файл есть через НайтиФайлы - файл есть. И сразу при попытке чтения этого же файла выдает ошибку {ОбщийМодуль.РегламентныеЗадания_Прометей.Модуль(72)}: Ошибка при вызове метода контекста (Open) ExcelФайл = ExcelПриложение.WorkBooks.Open(ИмяФайла); по причине: Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу 'C:\Users\Администратор\AppData\Local\Temp\GRLS\lp2021-04-22-1.xls'. Это может быть вызвано одной из следующих причин. • Имени файла или пути не существует. • Файл используется другой программой. • Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги. Есть идеи, почему так происходит? |
|||
1
ДенисЧ
26.04.21
✎
18:23
|
Права, атрибуты, "Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги"
|
|||
2
Вафель
26.04.21
✎
21:06
|
Там нужен какой то каталог в system32
|
|||
3
John83
26.04.21
✎
23:52
|
(2) зачем?
|
|||
4
John83
27.04.21
✎
00:07
|
И еще обратил внимание, что некоторые регл. задания по ЖР запускаются от какого-то пользователя 1С, а некоторые без пользователя.
От чего это зависит? Забыл указать, это серверная база. |
|||
5
John83
27.04.21
✎
00:11
|
+4 хотя возможно в консоли заданий намудрили
|
|||
6
Cthulhu
27.04.21
✎
01:12
|
проверяешь наличие из-под себя.
регламентное выполняется не из-под тебя. |
|||
7
dchumak
27.04.21
✎
03:42
|
(6) скорее всего в этом причина
|
|||
8
dchumak
27.04.21
✎
03:43
|
А также, хотелось бы посмотреть код, от начала задания, до разбора файла. Там скорее всего пытается открывать файл напрямую с диска, а не из временного хранилища, поэтому и доступа нет
|
|||
9
John83
27.04.21
✎
11:36
|
(6) в том-то и дело, что проверка производится в самом регл. задании и результат выводится в ЖР
|
|||
10
John83
27.04.21
✎
11:43
|
(8)
Соединение = Новый HTTPСоединение("grls.rosminzdrav.ru"); ТекЗапрос = Новый HTTPЗапрос("pricelims.aspx"); Попытка ТекОтвет = Соединение.ОтправитьДляОбработки(ТекЗапрос); ТекСтрока = ТекОтвет.ПолучитьТелоКакСтроку(); Исключение ЗаписьЖурналаРегистрации("Сообщение", УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); КонецПопытки; ТекИмяФайлаПриемника = ПолучитьИмяВременногоФайла("html"); ТекТекстовыйФайл = Новый ТекстовыйДокумент; ТекТекстовыйФайл.УстановитьТекст(ТекСтрока); ТекТекстовыйФайл.Записать(ТекИмяФайлаПриемника, КодировкаТекста.ANSI); ТекЧтениеХТМЛ = Новый ЧтениеHTML; ТекЧтениеХТМЛ.ОткрытьФайл(ТекИмяФайлаПриемника); ТекПостроительDOM = Новый ПостроительDOM; ТекДокументHTML = ТекПостроительDOM.Прочитать(ТекЧтениеХТМЛ); ТекЭлемент = ТекДокументHTML.ПолучитьЭлементПоИдентификатору("ctl00_plate_tdzip"); ТекЧтениеХТМЛ.Закрыть(); ТекИмяФайлаИсточника = "http://grls.rosminzdrav.ru/" + ТекЭлемент.ПервыйДочерний.Гиперссылка; ТекИмяФайлаПриемника = ПолучитьИмяВременногоФайла("zip"); КопироватьФайл(ТекИмяФайлаИсточника, ТекИмяФайлаПриемника); ТекКаталог = КаталогВременныхФайлов() + "GRLS"; ТекZIP = Новый ЧтениеZipФайла(); ТекZIP.Открыть(ТекИмяФайлаПриемника); ТекZIP.ИзвлечьВсе(ТекКаталог); ТекZIP.Закрыть(); ТекФайлы = НайтиФайлы(ТекКаталог, "lp"+Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd")+"*.xls"); Попытка Для Каждого ЭлементМассива Из ТекФайлы Цикл ЗаписьЖурналаРегистрации("Сообщение",,,, ЭлементМассива.ПолноеИмя); КонецЦикла; Исключение ЗаписьЖурналаРегистрации("Сообщение", УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); КонецПопытки; Если НЕ ТекФайлы.Количество() > 0 Тогда Возврат; КонецЕсли; ТекФайл = ТекФайлы[0]; ИмяФайла = ТекФайл.ПолноеИмя;; Попытка // Загрузка Microsoft Excel ExcelПриложение = Новый COMОбъект("Excel.Application"); Исключение Сообщить("Ошибка при загрузке Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); ЗаписьЖурналаРегистрации("Сообщение", УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); Возврат; КонецПопытки; Попытка // Открытие файла Microsoft Excel ExcelФайл = ExcelПриложение.WorkBooks.Open(ИмяФайла); Исключение Сообщить("Ошибка открытия файла Microsoft Excel." + ИмяФайла + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); ExcelПриложение = Неопределено; ЗаписьЖурналаРегистрации("Сообщение", УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); Возврат; КонецПопытки; |
|||
11
Cthulhu
27.04.21
✎
14:09
|
такое впечатление, что у тебя какой-то другой код выполняется.
копипаста сообщения об ошибке в (0) не соответствует тому, какое сообщение должно выдаваться кодом в (10) при такой ошибке метода ".Опен" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |