Формирование файла CSV с записью в файл на клиенте

buketoff 28 5

&НаКлиенте
Процедура СформироватьCsvФайл(Команда)
	
	ПутьККаталогу = ОткрытьДиалогВыбораФайла();
	Текст = ВыгрузитьВCSV(ПутьККаталогу.ПолноеИмяФайла);
	
	Кодировка = КодировкаТекста.ANSI;
	ТекстовыйФайлЗапись = Новый ЗаписьТекста(ПутьККаталогу.ПолноеИмяФайла,Кодировка);
	ТекстовыйФайлЗапись.ЗаписатьСтроку(Текст);
	ТекстовыйФайлЗапись.Закрыть();
	
КонецПроцедуры

&НаКлиенте
Функция ОткрытьДиалогВыбораФайла(НачальныйКаталог = Неопределено, МножественныйВыбор = Ложь, Фильтр = Неопределено) экспорт
	СтандартнаяОбработка = Ложь;
	ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
	ДиалогОткрытияФайла.Расширение = "csv";
	Фильтр = "csv|*.csv";
	ДиалогОткрытияФайла.Фильтр = Фильтр;
	ДиалогОткрытияФайла.Каталог    = НачальныйКаталог;
	ДиалогОткрытияФайла.Заголовок  = "Выберите каталог...";
	ДиалогОткрытияФайла.МножественныйВыбор          = Ложь;
	ДиалогОткрытияФайла.ПроверятьСуществованиеФайла = Истина;
	ДиалогОткрытияФайла.ПредварительныйПросмотр     = Истина;
	
	Если Не ДиалогОткрытияФайла.Выбрать() Тогда
		Возврат Неопределено;
	КонецЕсли;
	
	Возврат ДиалогОткрытияФайла;
	
КонецФункции

Функция ВыгрузитьВCSV(имяФайлаCSV);
	Текст = СоздатьДанныеCSV(ТаблицаДокументов,Разделитель);
	Возврат Текст;
КонецФункции

Функция СоздатьДанныеCSV(ТаблицаДокументов, Разделитель)
	Текст = "";
	Для Каждого Запись из ТаблицаДокументов Цикл
		Если Текст = "" тогда
			Текст = СоздатьЗаголовкиCSV(ТаблицаДокументов, Разделитель) + Символы.ПС;   	
		КонецЕсли;  
		Текст = Текст + Запись.snils + Разделитель + Запись.surname
		+ Разделитель + Запись.name + Разделитель + Запись.patronymic + Разделитель 
		+ Запись.oid + Разделитель + Запись.compaignId + Разделитель + Формат(Запись.dateOfBirth, "ДЛФ=Д") + Разделитель + Запись.citizenship + Разделитель 
		+ Запись.specialty + Разделитель + Запись.financingType + Разделитель + Запись.applicationDate + Разделитель + Запись.targetReception 
		+ Разделитель + Запись.testResultType + Разделитель + Запись.testResultOrganization + Разделитель + Запись.testResultYear + Символы.ПС;         	
	КонецЦикла;
	Возврат Текст;
КонецФункции

// Создаем строку загоовков для CSV-файла
Функция СоздатьЗаголовкиCSV(ТаблицаДокументов, Разделитель)
	НоваяТаблица = ТаблицаДокументов.Выгрузить();
	КолонкиТЗ = НоваяТаблица.Колонки;
	Для каждого Колонка Из КолонкиТЗ Цикл  
		СтрКолонки = "" + СтрКолонки + Колонка.Имя + Разделитель;
	КонецЦикла; 
	Возврат СтрКолонки;
КонецФункции
{17} Переменной СтандартнаяОбработка присвоено значение, но оно нигде не используется
Орфографическая ошибка в snils: snils
Орфографическая ошибка в compaignId: compaign
Орфографическая ошибка в загоовков: загоовков
OneTracker - трекер учета рабочего времени программиста 1С

Похожие публикации

Стандартное формирование выборок

Модератору