Добрый день.
Для работы с электронными таблицами открываю Excel стандартным кодом:

```1c
    Excel = Новый COMОбъект("Excel.Application");
    Книга = Excel.WorkBooks.Open(ФайлИмпорта);
```

С переходом на арендованную 1С обработки перестали работать на тонком клиенте.
Ошибка открытия MS Excel: {ВнешняяОбработка.Импорт.Форма.Форма.Форма(66)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Не удалось найти "C:\Users\ХХХ\Desktop\1.xlsx". Проверьте правильность ввода имени и расположения файла. При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
Прошу помочь с интеграцией.
---
Отвечая вам, понял, что уже ни в чем не уверен). Провайдер предоставляет мне доступ к облачной 1С через тонкий клиент или через WEB-интерфейс на выбор.
Текущее решение такое:
Исходный файл XLS заменен на CSV, тем более, что в моем случае у него строже структура.
Из сети взят код помещения файла во временное хранилище сервера. Как это работает, не понимаю, но работает).

```1c
    &НаКлиенте
    Процедура Импорт(Команда)
    Перем ВыбранноеИмя;
    Перем АдресВременногоХранилища;
    Если ПоместитьФайл(АдресВременногоХранилища, ВыбранноеИмя, ВыбранноеИмя,
    Истина, УникальныйИдентификатор) Тогда
    Формирование(АдресВременногоХранилища);
    КонецЕсли;
    КонецПроцедуры

    &НаСервере
    Процедура Формирование(АдресВременногоХранилища)
    ПутьНаСервере = "Q:\Temp1csrvu\v8_F3A2_a7.tmp";
    ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
    ДвоичныеДанные.записать(ПутьНаСервере);
    Текст = Новый ЧтениеТекста(ПутьНаСервере, КодировкаТекста.Системная,Символы.ПС,,0);
    ТекстСтрокиФайла = Текст.ПрочитатьСтроку();
    Текст.Закрыть();
    КонецПроцедуры
```
---
Права на использование ком объекта и сам ком объект есть?
1С арендована в сервисе или в облаке терминальном?
---
С ComObject стало как-то сложно на новых платформах, сейчас всех перевожу на такое

```1c
    Попытка
    Книга = ПолучитьCOMОбъект(ИмяФайла,);
    Книга = ПолучитьCOMОбъект(ИмяФайла, "Excel.Application");
    Исключение
    Сообщить("НЕ удалось открыть Ексель или найти файл " + ОписаниеОшибки());
    Возврат;
    КонецПопытки;
```

пока работает на всех платформах, клиентах, серверах и т.п. Почему-то надо именно обе строки, по одной они не работают ))
---
Судя по сообщению у вас программа файлы не находит. 1С именно у вас на компьютере запускается, там случайно не терминал?
---
(7) Тонкий клиент запускается локально, обработка лежит локально, подгружаемый файл локальный. На удаленном сервере Excel недоступен (пров просит денег), но дело похоже не в этом, т.к. текстовый файл тоже не могу прочесть. См. (4)
(3) Про права не могу пока сказать. Сделал запрос в рарус. 1С арендована на сервисе, как понял - работаю через тонкий клиент.
(4) Похоже, так и есть. Пробую открыть локальный текстовый файл:

```1c
    ЗагружаемыйФайл = Новый ТекстовыйДокумент;
    ЗагружаемыйФайл.Прочитать(ФайлИмпорта);
```
Ошибка при вызове метода контекста (Прочитать): Каталог не обнаруженИнтересно, как читаются файлы выписки из банк-клиента - такой же локальный файл.
В модуле ОбменСБанкомВФормате1С есть код, который приводит к той же ошибке:

```1c
    ЧтениеТекста = Новый ЧтениеТекста(ФайлИмпорта, "windows-1251",,,Ложь);
```
---
1С арендована на сервисе, как понял - работаю через тонкий клиент.
Работа в сервисе, и работа в тонком клиенте, и работа в терминальном доступе - это все разные технологии подключения к 1С.
Без понимания по какой технологии Вы работаете можно только угадать почему не запускается. Если работаете в сервисе, то обработка должна быть сертифицирована поддержкой сервиса. Обратитесь к ним и предоставьте обработку.
Если терминальный доступ, или терминальный доступ к облаку, то на сервере терминалов должен быть установлен Эксель.
---
Отвечая вам, понял, что уже ни в чем не уверен). Провайдер предоставляет мне доступ к облачной 1С через тонкий клиент или через WEB-интерфейс на выбор.
Текущее решение такое:
Исходный файл XLS заменен на CSV, тем более, что в моем случае у него строже структура.
Из сети взят код помещения файла во временное хранилище сервера. Как это работает, не понимаю, но работает).

```1c
    &НаКлиенте
    Процедура Импорт(Команда)
    Перем ВыбранноеИмя;
    Перем АдресВременногоХранилища;
    Если ПоместитьФайл(АдресВременногоХранилища, ВыбранноеИмя, ВыбранноеИмя,
    Истина, УникальныйИдентификатор) Тогда
    Формирование(АдресВременногоХранилища);
    КонецЕсли;
    КонецПроцедуры

    &НаСервере
    Процедура Формирование(АдресВременногоХранилища)
    ПутьНаСервере = "Q:\Temp1csrvu\v8_F3A2_a7.tmp";
    ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
    ДвоичныеДанные.записать(ПутьНаСервере);
    Текст = Новый ЧтениеТекста(ПутьНаСервере, КодировкаТекста.Системная,Символы.ПС,,0);
    ТекстСтрокиФайла = Текст.ПрочитатьСтроку();
    Текст.Закрыть();
    КонецПроцедуры
```
---
На всякий случай дополню: если планируется использование в внешней обработке с безопасным режимом, то запись временного файла будет производиться только с разрешением РазрешениеНаИспользованиеКаталогаВременныхФайлов в ф-ции СведенияОВнешнейОбработке.

```1c
    ПараметрыРегистрации.Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина,Истина,"Для корректной работы с временными файлами"));
```
---
Правильно! Т.к. СОМ объекты создаются на сервере и файлы ищутся на сервере, а у вас тонкий клиент.
Для того что бы заработало надо посношаться с передачей файлов с тонкого клиента на сервер (для веб версии со спецификой) и грузить там файлы из темпа. А так же на сервере должен стоять MS Excel :)
---
Код из поста старттопика выполняется на клиенте
---
Улучшил ваш код, для чтения на тонком клиенте

```1c
    &НаКлиенте
    Процедура ПутьНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) //необходимо в событии "НачалоВыбора" поля ввода вызвать ДиалогВыбораФайла

    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = "Выберите файл Excel";
    Диалог.ПредварительныйПросмотр = Ложь;
    Диалог.Фильтр = "(*.xls,*.xlsx)|*.xls;*.xlsx;|Microsoft Excel 97/2000/XP/2003 (*.xls)|*.xls|Microsoft Excel 2007/2010 (*.xlsx)|*.xlsx";

    Если Диалог.Выбрать() Тогда
    ВыбранныйФайл = Диалог.ПолноеИмяФайла;
    Объект.Путь = ВыбранныйФайл;
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ВыбранныйФайл, СпособЧтенияЗначенийТабличногоДокумента.Текст);

    ;
    ////1) Выводим Excel в табличн.документ

    НачальнаяСтрока = 2; // внимание, тут мы начинаем перед начальной строкой, назначая имена в таблице!!!

    Для а=1 по ТабДок.ШиринаТаблицы Цикл

    // делаем что то типа такого:
    //ТабДок.Область(2,1).Текст = "Столбец1";
    //ТабДок.Область(2,2).Текст = "Столбец2";
    //ТабДок.Область(2,3).Текст = "Столбец3";
    //ТабДок.Область(2,4).Текст = "Столбец4";

    ТабДок.Область(НачальнаяСтрока,а).Текст = "Столбец"+а;

    КонецЦикла;

    ЧтениеExcel_через_ТД(ТабДок);
    КонецЕсли;

    КонецПроцедуры

    &НаСервере
    Процедура ЧтениеExcel_через_ТД(ТабДок)

    ////2) Выгружаем в таблицу значений

    НачСтрока = 2; столбцов = ТабДок.ШиринаТаблицы; ВсегоСтрок = ТабДок.Области.Лист1.Низ; НачальныйСтолбец = 1;

    ПЗ = Новый ПостроительЗапроса;
    ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область(НачСтрока,НачальныйСтолбец,ВсегоСтрок,столбцов));
    ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
    ПЗ.ЗаполнитьНастройки();
    ПЗ.Выполнить();

    ТаблицаЗначений = ПЗ.Результат.Выгрузить();

    КонецПроцедуры
```

(4)
---
В процедуре с декоратором &НаКлиенте ?
---
Именно
---
Есть несколько вариантов:
ФайлИмпорта у вас где находится?
каким образом подключаетесь к арендованной 1С?
Установлен ли Excel на удаленном сервере?

Также могу посоветовать использовать или взять за образец штатную обработку 1С в БП "ЗагрузкаДанныхИзВнешнегоИсточника"
---
В модуле загрузки Классификатора найден код:

```1c
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
    ДвоичныеДанныеФайла = ПолучитьИзВременногоХранилища(АдресФайла);
    ДвоичныеДанныеФайла.Записать(ИмяВременногоФайла );
    ФайлЧтение.ОткрытьФайл(ИмяВременногоФайла);
```

1. Как понимаю, создается временный файл на сервере провайдера.
2. Создается ссылка(?) на импортируемый файл
3. Запись содержимого во временный файл.
4. Обработка временного файла.
Повторить не удалось: Ошибка создания документов: {ВнешняяОбработка.Импорт.Форма.Форма.Форма(113)}: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища): Ошибка получения значения из временного хранилища: Неправильный путь к файлу 'C:\Users\...
---
Передача файла во временное хранилище на сервере это называется.
Пошел читать.
---
Вот ответ провайдера: Обработки выполняющие загрузку файлов в базу при работе через тонкий клиент будут использовать com-объекты на том ПК где они исполняются,т.е com-объекты Excel или Open Office должны быть установлены на этом ПК. В коде обработки должно быть указано выполнение процедуры "На клиенте".Т.к. мне неудобно пересылать на сервер файл построчно, остановился на приведенном выше варианте текстового CSV документа, передаваемого целиком во временное хранилище сервера.