Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка при чтении файла.

Ошибка при чтении файла.
Я
   kabv
 
28.11.18 - 10:31
Здравствуйте!
ЭтотОбработкаОбъект = РеквизитФормыВЗначение("Объект");
    Макет = ЭтотОбработкаОбъект.ПолучитьМакет("МакетШаблонИксел");    
    Макет.Записать(Путь);

Попытка
       Excel = Новый COMОбъект("Excel.Application"); 
    Исключение
       Сообщить(ОписаниеОшибки());
       Возврат;
    КонецПопытки;
    Книга = Excel.WorkBooks.Open("C:\Users\КазаковБВ\Downloads\Книга1.xlsx");

Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу 'C:\Users\КазаковБВ\Downloads\Книга1.xlsx'. Это может быть вызвано одной из следующих причин.

• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.

Отчего ошибка может быть? По правам Макет.Записать(Путь); файл создается.
Заранее благодарен!
 
 
   sandal_r
 
1 - 28.11.18 - 10:48
посмотрите Unlocker'ом что держит файл.
   1Сергей
 
2 - 28.11.18 - 10:48
ставлю на клиент-сервер
   kabv
 
3 - 28.11.18 - 10:55
Создал в икселе файл, закрыл иксел).
Книга = Excel.WorkBooks.Open("C:\Users\КазаковБВ\Downloads\321.xlsx");
таже хрень
   Дмитрий
 
4 - 28.11.18 - 10:56
Имени файла или пути не существует.
   Галахад
 
5 - 28.11.18 - 10:57
(2) +1.
   kabv
 
6 - 28.11.18 - 10:58
И книга1 на книга12 спокойно переименовалась - ничего не мешает. Путь скопировал в ком строку- открылся иксел файл. Существует.
   Мыш
 
7 - 28.11.18 - 10:59
(2) (5) поддерживаю
   sandal_r
 
8 - 28.11.18 - 10:59
(2) +

(3) судя по всему у вас:
1) клиент-сервер
2) код выполняется &НаСервере
3) этого файла на сервере соответственно нет.

переносите выполнение на клиент, или переделывайте логику. Чтобы сначала формировалось то что надо, а потом сохранялось пользователю куда надо.
   kabv
 
9 - 28.11.18 - 11:02
Все в терминеле на сервере выполняется (все на одном). Я сначала этот пытался открыть Макет = ЭтотОбработкаОбъект.ПолучитьМакет("МакетШаблонИксел");    
    Макет.Записать(Путь); Он создается, но не открывается. Потом стал пробовать другие файлы - не открывает.
   1Сергей
 
10 - 28.11.18 - 11:03
(9) у тебя служба сервера запущена под пользователем КазаковБВ?
 
 Рекламное место пустует
   kabv
 
11 - 28.11.18 - 11:04
нет, но он бы и не создавал файла.
   kabv
 
12 - 28.11.18 - 11:04
если с правами было бы
   1Сергей
 
13 - 28.11.18 - 11:06
Спрошу по другому. Где выполняется код записи файла, на клиенте или на сервере? Где выполняется код открытия файла, на клиенте или на сервере?
   Мыш
 
14 - 28.11.18 - 11:08
(11) Добавь после "Макет.Записать(Путь);"
Макет = Неопределено;
   kabv
 
15 - 28.11.18 - 11:09
не помогло
   hhhh
 
16 - 28.11.18 - 11:10
(151) создаешь под пользователем КазаковЕВ. Открываешь из-под сервера. При открытии там другой пользователь у сервера. НЕ Казаков.
   kabv
 
17 - 28.11.18 - 11:12
а закаким? сейчас проверю
   sandal_r
 
18 - 28.11.18 - 11:12
создай папку c:\123 с полными правами для "Все" 
Сохраняй/открывай там файл.
Так проверишь в правах ошибка или нет.
   Ненавижу 1С
 
19 - 28.11.18 - 11:13
сохраняете не в том формате
   kabv
 
20 - 28.11.18 - 11:16
Формат xlsx двоичные данные файл иксел в макете. Иксел его после программного создания без сообщений открывает. Пробую с папкой и все права.
   kabv
 
21 - 28.11.18 - 12:57
Сделал все на клиенте - ни каких проблем.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Основная теорема систематики: Новые системы плодят новые проблемы.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует