Рассмотрим пример обработки COM-объекта на Клиенте на примере загрузки из файла xls.

В случаях, когда на сервере не установлен Excel или когда сервер 1С:Предприятие 64-х битный, а объем загружаемых данных небольшой, данные файла xls можно обработать на Клиенте и передать для дальнейшей обработки на Сервер. Рассмотрим на примере.

Внешняя обработка с табличной частью ТабЧасть, СотрудникСтр — строка для заполнения из xls файла на Клиенте, Сотрудник — СправочникСсылка.СотрудникиОрганизаций для заполнения из значения СотрудникСтр на Сервере. В файле xls в колонке 1 — наименования сотрудников, в колонке 2 — суммы, данные по сотрудникам начинаются с 7-й строки файла.

Форма обработки

Процедуры модуля формы обработки:

&НаКлиенте
Процедура ОткрытьФайл(Команда)
                ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);        
                ДиалогВыбораФайла.Заголовок = "Прочитать табличный документ из файла";
                ДиалогВыбораФайла.Фильтр    = "Лист Excel (*.xlsx)|*.xlsx|Лист Excel (*.xls)|*.xls";
                Если ДиалогВыбораФайла.Выбрать() Тогда                   
                               ИмяФайла = ДиалогВыбораФайла.ПолноеИмяФайла;                            
                КонецЕсли;       
КонецПроцедуры

&НаКлиенте
Процедура ПрочитатьФайл(Команда)
                ПрочитатьДокумент(ИмяФайла);
                Обработать();
КонецПроцедуры

&НаКлиенте
Процедура ПрочитатьДокумент(ИмяФайла)
                Попытка
                               Excel = ПолучитьCOMОбъект(ИмяФайла);
                               ExcelЛист = Excel.Sheets(1);
                Исключение
                               Сообщить(ОписаниеОшибки());                           
                               Возврат;                            
                КонецПопытки;
               
                Объект.ТабЧасть.Очистить(); 
                сч = 7;
                Пока НЕ ПустаяСтрока(ExcelЛист.Cells(сч, 1).Value) Цикл                        
                               //Заполнение табличной части обработки
                               НоваяСтр = Объект.ТабЧасть.Добавить();
                               НоваяСтр.СотрудникСтр = СокрЛП(ExcelЛист.Cells(сч, 1).Value);
                               НоваяСтр.Сумма = ExcelЛист.Cells(сч, 2).Value;                            
                               сч = сч + 1;
                КонецЦикла;   
                Excel.Application.Quit();             
КонецПроцедуры        

&НаСервере
Процедура Обработать()
                //заполнение значений как элементов справочников
                //получение значения Сотрудник из СотрудникСтр
КонецПроцедуры