При работе в клиент-серверном варианте, клиент и сервер чаще всего на разных компьютерах и это необходимо учитывать при разработке обработок для загрузки данных из файлов. Многие процедуры можно выполнять исключительно на стороне сервера, поэтому необходимо правильно передавать информацию на сервер. Пример правильной передачи данных между клиентом и сервером:
&НаКлиенте Процедура ОткрытьФайл(Команда) ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогВыбораФайла.Заголовок = "Прочитать табличный документ из файла"; ДиалогВыбораФайла.Фильтр = "Лист Excel 2007+ (*.xlsx)|*.xlsx| Лист Excel 2003 (*.xls)|*.xls|"; Если ДиалогВыбораФайла.Выбрать() Тогда Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ДиалогВыбораФайла.ПолноеИмяФайла)); ЗагрузитьТабличныйДокументИзФайла(Адрес, ДиалогВыбораФайла.ПолноеИмяФайла); КонецЕсли; КонецПроцедуры &НаСервере Процедура ЗагрузитьТабличныйДокументИзФайла(Адрес, ИмяФайла) //Необходимо чтение файлов XLS или XLSX Расширение = Прав(ИмяФайла, 4); Расширение = СтрЗаменить(Расширение, ".", ""); ФайлПриемник = ПолучитьИмяВременногоФайла(Расширение); ДанныеХранилища = ПолучитьИзВременногоХранилища(Адрес); ДанныеХранилища.Записать(ФайлПриемник); ТабличныйДокумент.Очистить(); ТабличныйДокумент.Прочитать(ФайлПриемник); КонецПроцедуры