На основе разработки "Экспорт ТЗ в CSV формат (платформа 8.0/8.1)" //infostart.ru/public/19321/
я перевел "Экспорт ТЗ в CSV формат (платформа 8.0/8.1)" на платформу 1С:Предприятие 7.7, создана функция ЭкспортТЗвCSV() на платформе 1С:Предприятие 7.7 (текст этой функции представлен в этом описании ниже).
Эта функция сохраняет на диск файл "Comma separated values" (предназначенный для представления табличных данных) http://ru.wikipedia.org/wiki/CSV который используется для обмена коммерческой информацией с поставщиками, дистрибьюторами и интернет-сайтами.
Демонстрация возможностей экспорта подготовлена на платформе обработки "ОбзорДБФ" от Melnik - члена клуба профессионалов 1С http://1c.proclub.ru/userinfo.php?uid=18579 которая входит в комплект Редактор DBF-файлов (ReDBF)
(25/02/2005 23:00:00) http://1c.proclub.ru/modules/mydownloads/personal.php?cid=76&lid=3901
Еще один способ загрузки DBF из ТЗ для преобразования в CVS описан в разработке "Функция загрузки dbf" //infostart.ru/public/57110/
Привожу текст процедур преобразования таблицы значений в CVS файл:
//ПреобразоватьПолеДляCSV () Преобразует поле строку к формату CSV
//Параметры:
//Поле (Строка) - Поле которое преобразуется к формату CSV
//Разделитель (Строка) - Для формата CSV разделителем является ',', но т.к.
// Excel берет разделитель из региональных стандартов чтобы открывалось внем
// нужно устанавливать разделитель ';'
//Возращает: (Строка) преобразованное к формату CSV поле
Функция ПреобразоватьПолеДляCSV(Поле,Разделитель = ";")
//Так как Excel Берет настройки из рег. стандартов разделитель элементов списка, а у нас в России это ';'
ПреобразованноеПоле = Поле;
//по правилам CSV если поле содержит двойные ковычки они должны повторятся дважды
Если Найти(ПреобразованноеПоле,"""") > 0 Тогда
ПреобразованноеПоле = СтрЗаменить(ПреобразованноеПоле,"""","""""");
КонецЕсли;
//по правилам CSV если поле содержит перенос строки или запятую оно должно заключатся в двойные ковычки
Если (Найти(ПреобразованноеПоле,Разделитель)=0) ИЛИ (Найти(ПреобразованноеПоле,"""")=0) Тогда
ПреобразованноеПоле = "" + ПреобразованноеПоле + "";
КонецЕсли;
Возврат ПреобразованноеПоле;
КонецФункции
//ЭкспортТЗвCSV () экспортирует данные ТЗ в файл в формате CSV
//Параметры:
//ИмяФайла (Строка) - Имя файла в который производится сохранение
//ТЗ (ТаблицаЗначений) - Таблица значений данные которые сохраняются в файл
//Разделитель (Строка) - Для формата CSV разделителем является ',', но т.к.
// Excel берет разделитель из региональных стандартов чтобы открывалось внем
// нужно устанавливать разделитель ';'
//Возращает:(Булево) Истина - если файл успешно сохранен иначе ложь
Функция ЭкспортТЗвCSV(ТЗ, ИмяФайла, флЭкспортироватьИменаКолонок = 1, Разделитель = ";") Экспорт
МаксКол = ТЗ.КоличествоКолонок();
МаксСтр = ТЗ.КоличествоСтрок();
Если (МаксКол = 0) ИЛИ (МаксСтр = 0) Тогда
Возврат 0;
КонецЕсли;
Попытка
ФайлCVS = создатьОбъект("Текст");
// открыть файл
ФайлCVS.Записать(ИмяФайла);
ФайлCVS.КодоваяСтраница(1); //задаем кодировку: 0 - windows, 1 - DOS
ФайлCVS.Шаблон(1);
//Если нужно выгружать наименование колонок Выгружаем
ПодготовленнаяСтрока = "";
ШаблонCVS = "";
Для СчКол = 1 По МаксКол Цикл
КолонкаИмя = ТЗ.ПолучитьПараметрыКолонки(СчКол);
ПодготовленнаяСтрока = ПодготовленнаяСтрока +""+ КолонкаИмя +""+ Разделитель;
ШаблонCVS = ШаблонCVS + """[ПреобразоватьПолеДляCSV(СокрЛП(ТЗ.ПолучитьЗначение(СчСтр,"""+КолонкаИмя+""")))]"""+Разделитель;
КонецЦикла;
ПодготовленнаяСтрока = Лев (ПодготовленнаяСтрока,СтрДлина(ПодготовленнаяСтрока)-1);
ШаблонCVS = Лев (ШаблонCVS,СтрДлина(ШаблонCVS)-1);
Если флЭкспортироватьИменаКолонок = 1 Тогда
ФайлCVS.ДобавитьСтроку(""+ПодготовленнаяСтрока+"");
КонецЕсли;
Для СчСтр = 1 По МаксСтр Цикл
ФайлCVS.ДобавитьСтроку(ШаблонCVS);
КонецЦикла;
Исключение
Возврат 1;
КонецПопытки;
ФайлCVS.Записать(ИмяФайла);
Возврат 0;
КонецФункции