Вы здесь
Загрузка данных из файла с табличным документом в управляемом приложении
вт, 08.11.2011 - 10:04 - krak
В управляемом приложении (если конечно вы не работаете в Толстом клиенте) можно столкнутся с такой проблемой, что многие функции работают только на сервере. Что делать, если у Вас есть файл-макет с данными, которые надо прочитать (обработать)? Надо передать этот файл на сервер и дальше работать с ним на сервере.
Для начала на клиенте через диалог получим имя файла
длгВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
длгВыборФайла.Заголовок = "Выберите табличный документ...";
длгВыборФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl";
длгВыборФайла.Расширение = "mxl";
длгВыборФайла.ПроверятьСуществованиеФайла = Истина;
Если Не длгВыборФайла.Выбрать() Тогда Возврат; КонецЕсли;
Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(длгВыборФайла.ПолноеИмяФайла));
ЗаполнитьИзФайлаНаСервере(Адрес);
длгВыборФайла.Заголовок = "Выберите табличный документ...";
длгВыборФайла.Фильтр = "Табличный документ (*.mxl)|*.mxl";
длгВыборФайла.Расширение = "mxl";
длгВыборФайла.ПроверятьСуществованиеФайла = Истина;
Если Не длгВыборФайла.Выбрать() Тогда Возврат; КонецЕсли;
Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(длгВыборФайла.ПолноеИмяФайла));
ЗаполнитьИзФайлаНаСервере(Адрес);
На сервере обработам полученные данные:
ФайлПриемник = ПолучитьИмяВременногоФайла("mxl");
ДанныеХранилища = ПолучитьИзВременногоХранилища(Адрес);
ДанныеХранилища.Записать(ФайлПриемник);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ФайлПриемник);
ДанныеХранилища = ПолучитьИзВременногоХранилища(Адрес);
ДанныеХранилища.Записать(ФайлПриемник);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ФайлПриемник);
Всё. В ТабДок теперь данные из файла.