В статье продемонстрированы программные методы экспортирования данных из программы "1С:Предприятие 7.7".
Экспорт данных из 1С в Текстовой файл TXT, CSV 
Код //сохранение данных таблицы значений в текстовой файл
//аргументы: М - таблица значений
Процедура ВыполнитьЭкспорт(М)
     Т=СоздатьОбъект("Текст");
     //выборка
     М.ВыбратьСтроки();
     Пока М.ПолучитьСтроку()=1 Цикл
          Состояние("Экспорт: "+
Цел(М.НомерСтроки/М.КоличествоСтрок()
0)+"%");
          тФирма=М.Фирма.ПолныйКод();
          тТовар=М.Товар.ПолныйКод();
          тСклад=М.Склад.ПолныйКод();
          тКоличество=М.Количество;
          Т.ДобавитьСтроку("Фирма="+тФирма+";Товар="+тТовар+";Склад="+тСклад+
";Количество="+тКоличество+";");    
     КонецЦикла;
     //файл
     Файл="export"+Формат(ДатаК,"Д ГГГГММДД")+".csv";
     Т.Записать(Файл);
     Сообщить("Файл с данными сохранен в каталоге 
экспортной БД: "+КаталогИБ()+Файл);
КонецПроцедуры
 
Экспорт данных из 1С в файл dBase формата DBF 
Код //процедура записывает данные об использовании 
 отчёта в файл dBase формата DBF 
Процедура гЗаписатьСтатистикуИспользованияОтчета(ИдентификаторОтчета) Экспорт 
     //путь к файлу; имя файла не должно превышать 8 знаков 
     Путь=КаталогИБ()+"Stat.dbf"; 
     //создание нового файла 
     Б=СоздатьОбъект("XBase"); 
     Если ФС.СуществуетФайл(Путь)=0 Тогда 
          //добавление полей 
          Б.ДобавитьПоле("REPORT","S",100,0); 
          Б.ДобавитьПоле("USER","S",50,0); 
          Б.ДобавитьПоле("DATE","D",10,0); 
          Б.ДобавитьПоле("TIME","S",5,0); 
          //создание файла 
          Б.СоздатьФайл(Путь); 
          Б.ЗакрытьФайл(); 
     КонецЕсли; 
     //открытие файла 
     Б.ОткрытьФайл(Путь); 
     Если Б.Открыта()=0 Тогда 
          Сообщить("Не удалось открыть файл DBF","!"); 
          Возврат; 
     КонецЕсли; 
     //добавление записи 
     Б.Добавить(); 
     Б.Date=ТекущаяДата(); 
     Б.Time=ТекущееВремя(); 
     Б.Report=СокрЛП(ИдентификаторОтчета); 
     Б.User=гПользователь.Наименование; 
     Б.Записать(); 
     //закрытие файла 
     Б.ЗакрытьФайл(); 
КонецПроцедуры
 
Экспорт данных из 1С на лист MS Excel 
Код //функция создаёт новую книгу в MS Excel и выгружает табличную часть заданного документа 
Процедура гМногострочка_Экспортировать(Док) Экспорт 
     //документ 
     Д=СоздатьОбъект("Документ"); 
     Д.НайтиДокумент(Док); 
     //приложение 
     Оле=СоздатьОбъект("Excel.Application"); 
     Если ФлагВидимость=1 Тогда 
          Оле.Visible=1; 
     КонецЕсли; 
     Книга=Оле.Workbooks().Add(); 
     Книга.Windows(1).Caption=Д.ПредставлениеВида()+" "+СокрЛП(Д.НомерДок); 
     Лист=Книга.Activesheet; 
     //шапка 
     Колонка=0; 
     Для i=1 По Метаданные.Документ(Д.Вид()).РеквизитТабличнойЧасти() Цикл 
          Ж=Метаданные.Документ(Д.Вид()).РеквизитТабличнойЧасти(i); 
          //колонка 
          Колонка=Колонка+1; 
          Ячейка=Лист.Cells(1,Колонка); 
          //текст 
          Ячейка.Value=Ж.Идентификатор; 
          //форматирование 
          Ячейка.Font.Bold=1; 
          Если Ж.Тип="Число" Тогда 
               Попытка 
                    Лист.Columns(Колонка).NumberFormat="# ##0.00"; 
               Исключение 
                    Лист.Columns(Колонка).NumberFormat="# ##0,00"; 
               КонецПопытки; 
          КонецЕсли; 
     КонецЦикла; 
     //строки 
     Д.ВыбратьСтроки(); 
     Пока Д.ПолучитьСтроку()=1 Цикл 
          Лист.Range("A"+Число(Д.НомерСтроки+1)).Select(); 
          Колонка=0; 
          //многострочка 
          Для i=1 По Метаданные.Документ(Д.Вид()).РеквизитТабличнойЧасти() Цикл 
               Ж=Метаданные.Документ(Д.Вид()).РеквизитТабличнойЧасти(i); 
               Колонка=Колонка+1; 
               //значение 
               Значение=Д.ПолучитьАтрибут(Ж.Идентификатор); 
               Лист.Cells(Д.НомерСтроки+1,Колонка).Value=СокрЛП(Значение); 
          КонецЦикла; 
     КонецЦикла; 
     //авто подбор ширины 
     Лист.Cells.EntireColumn.AutoFit(); 
     //закрепление области 
     Лист.Range("A2").Select(); 
     Оле.ActiveWindow.FreezePanes=1; 
     Оле.Visible=1; 
КонецПроцедуры
 
Управление MS Word из 1С 
Методы работы с MS Word через OLE активно использованы в конфигурации "Договоры". Для определения числового кода текстовых констант MS Word использована обработка "Константы VBA".
    * Конфигурация "Договоры"
    * Универсальная обработка "Константы VBA"
Код //поиск текста в открытом документе MS Word 
Функция Текст_Найти(Оле,аТекст) 
     Текст=СокрЛП(аТекст); 
     //поиск 
     Оле.Selection.Find.ClearFormatting(); 
     Оле.Selection.Find.Text=Текст; 
     Оле.Selection.Find.MatchCase=0; 
     Оле.Selection.Find.MatchWholeWord=0; 
     Оле.Selection.Find.MatchWildcards=0; 
     Оле.Selection.Find.MatchSoundsLike=0; 
     Оле.Selection.Find.MatchAllWordForms=0; 
     Оле.Selection.Find.Forward=1; 
     Оле.Selection.Find.Wrap=wdFindContinue; 
     Оле.Selection.Find.Format=0; 
     Ответ=Оле.Selection.Find.Execute(); 
     //найден 
     Если Оле.Selection.Find.Found()=0 Тогда 
          Сообщить("Текст не найден: "+Текст); 
          Возврат(0); 
     Иначе 
          Возврат(1); 
     КонецЕсли; 
КонецФункции 
 
//поиск и замена текста в документе MS Word 
Процедура Договор_Заменить() 
     //путь 
     Если ФС.ВыбратьФайл(0,Файл,Каталог,"Открыть старый файл","Файлы MS Word|*.doc")=0 Тогда 
          Возврат; 
     КонецЕсли; 
     //приложение 
     Оле=СоздатьОбъект("Word.Application"); 
     Оле.Documents.Open(Каталог+Файл,,1); 
     //переход курсора в начало текста 
     Оле.Selection.HomeKey(wdStory); 
     //замена Номер договора 
     Если Текст_Найти(Оле,"ДОГОВОР")=1 Тогда 
          Оле.Selection.EndKey(wdLine,wdCharacter); 
          Оле.Selection.TypeText("ДОГОВОР № "+гНомерДок(НомерДок)); 
     КонецЕсли; 
     //замена Дата договора 
     Если Текст_Найти(Оле,Константа.ГодСтарый)=1 Тогда 
          Оле.Selection.MoveLeft(wdWord,3); 
          Оле.Selection.EndKey(wdLine,wdCharacter); 
          Оле.Selection.TypeText(ДатаДоговора()); 
     КонецЕсли; 
     //переход курсора в начало текста 
     Оле.Selection.HomeKey(wdStory); 
     Оле.Visible=1; 
     //предупреждение 
     Предупреждение("Создание нового договора копированием старого выполнено."); 
КонецПроцедуры
 
Экспорт данных в файл формата XML 
Код //процедура выгружает элементы справочника "Физические лица" в файл формата XML 
Процедура Лица_Выгрузить() 
     //справочник 
     С=СоздатьОбъект("Справочник.Лица"); 
     //анализатор 
     Анализатор=СоздатьОбъект("AddIn.XMLParser"); 
     Корень=Анализатор.СоздатьДокумент(); 
     //данные 
     Данные=Корень.СоздатьПодчиненныйЭлемент("Данные"); 
     Данные.УстановитьАтрибут("Дата",ТекущаяДата()); 
     Данные.УстановитьАтрибут("Время",ТекущееВремя()); 
     Данные.УстановитьАтрибут("Автор",гПользователь.Наименование); 
     //наполнение 
     Группа=Данные; 
     С.ВыбратьЭлементы(); 
     Пока С.ПолучитьЭлемент()=1 Цикл 
          Если С.ЭтоГруппа()=1 Тогда 
               Группа=Данные.СоздатьПодчиненныйЭлемент(С.Наименование); 
          Иначе 
               Э=Группа.СоздатьПодчиненныйЭлемент("Лицо"); 
               Э.Значение=С.Код; 
               Э.УстановитьАтрибут("Наименование",С.Наименование); 
          КонецЕсли; 
     КонецЦикла; 
     //запись 
     Корень.Записать("C:\People.xml"); 
     Предупреждение("ОК"); 
КонецПроцедуры
 
Управление MS Outlook из 1С 
Код //создать новое сообщение из 1С в MS Outlook 
Процедура Письмо_Создать() 
     //приложение 
     Попытка 
          Оле=CreateObject("Outlook.Application"); 
          ЕстьОшибка=0; 
     Исключение 
          Предупреждение("Не удалось создать письмо в MS Outlook!"); 
          ЕстьОшибка=1; 
     КонецПопытки; 
     //адрес 
     Адрес=СокрЛП(Лицо.АдресЭ); 
     //письмо 
     Если ЕстьОшибка=0 Тогда 
          //Outlook 
          Письмо=Оле.CreateItem(0); 
          Письмо.Subject=Клиент.Наименование+?(Лицо.Выбран()=0,"",", "+Лицо.Наименование); 
          Письмо.Body=гЛицо(Лицо); 
          Если ПустаяСтрока(Адрес)=0 Тогда 
               Письмо.Recipients.Add(Адрес); 
          КонецЕсли; 
          Если ПустаяСтрока(Путь)=0 Тогда 
               Письмо.Attachments.Add(Путь); 
          КонецЕсли; 
          Письмо.Display(); 
     Иначе 
          //тема 
          Тема=Клиент.Наименование; 
          Если Лицо.Выбран()=1 Тогда 
               Тема=Тема+", "+Лицо.Наименование+"&body="+СокрЛП(Лицо.Имя); 
          КонецЕсли; 
          ЗапуститьПриложение("mailto:"+Адрес+"?subject="+Тема); 
     КонецЕсли; 
КонецПроцедуры 
 
//создать запись в календаре событий 
Процедура Календарь_Создать() 
     //приложение 
     Попытка 
          Оле=CreateObject("Outlook.Application"); 
     Исключение 
          Предупреждение("Не удалось создать запись в календаре событий в MS Outlook!"); 
          Возврат; 
     КонецПопытки; 
     //задача 
     Задача=Оле.CreateItem(1); 
     Задача.Subject="Название встречи"; 
     Задача.Start="01.11.2007 15:00:00"; 
     Задача.End="01.11.2007 16:00:00"; 
     Задача.Body="Описание встречи"; 
     Задача.Location="Место встречи"; 
     Задача.ReminderMinutesBeforeStart=30; 
     Задача.BusyStatus=0; 
     Задача.MeetingStatus=0; 
     Задача.Sensitivity=2; 
     Задача.Save(); 
КонецПроцедуры 
 
//создать новую задачу из 1С в MS Outlook 
Процедура Задача_Создать() 
     //приложение 
     Попытка 
          Оле=CreateObject("Outlook.Application"); 
     Исключение 
          Предупреждение("Не удалось создать задачу в MS Outlook!"); 
          Возврат; 
     КонецПопытки; 
     //задача 
     Задача=Оле.CreateItem(3); 
     Задача.Subject=Клиент.Наименование; 
     Задача.StartDate=ДатаДок+Константа.Фирма.ПериодСобытие; 
     Задача.Display(); 
     Если Лицо.Выбран()=1 Тогда 
          Задача.Body= 
          ""+Лицо.Наименование+" 
          |"+гЛицо(Лицо)+" 
          |"+СокрЛП(Лицо.Должность)+" 
          |моб. "+СокрЛП(Лицо.ТелефонМ)+" 
          |гор. "+СокрЛП(Лицо.ТелефонГ); 
     КонецЕсли; 
КонецПроцедуры 
Запустить из 1С страницу Интернет, отправить электронное почтовое сообщение 
 
//создание почтового сообщения в ассоциированном почтовом клиенте с заданным электронным адресом 
Процедура гКнопкаПочта(Значение) Экспорт 
     Если ПустаяСтрока(Значение)=0 Тогда 
          ЗапуститьПриложение("mailto:"+СокрЛП(Значение)); 
     КонецЕсли; 
КонецПроцедуры 
 
//открытие страницы Интернет по заданному адресу в ассоциированном Интернет-браузере 
Процедура гКнопкаИнтернет(Значение) Экспорт 
     Если ПустаяСтрока(Значение)=0 Тогда 
          ЗапуститьПриложение(СокрЛП(Значение)); 
     КонецЕсли; 
КонецПроцедуры