Уведомления
Очистить все

Как сформировать файл csv в 1С?

2 Записи
1 Пользователи
0 Likes
10.4 Тыс. Просмотры
65-150 Okolokompa Форум
(@kalininalex)
Reputable Member
Присоединился: 4 года назад
Записи: 160
Создатель темы  

Для выгрузки в файл csv, можно использовать следующую функцию, которая сформирует данные для csv файла из таблицы значений. Обратите внимание, что порядок следования значений записей в csv, будет соответствовать порядку колонок таблицы значений.

Сама функция:

&НаСервереБезКонтекста
Функция СоздатьДанныеCSV(ТаблицаЗначений, РазделительВСтроках = ";")
	
	МассивСтрок = Новый Массив;	 
	КолонкиТЗ = ТаблицаЗначений.Колонки;
	КоличествоКолонокТЗ = КолонкиТЗ.Количество();
	
	Для Каждого Запись из ТаблицаЗначений Цикл
		
		МассивОднойСтроки = Новый Массив;
		Для ТекНомерЗначения = 0 по КоличествоКолонокТЗ - 1 Цикл
			МассивОднойСтроки.Добавить(Запись[ТекНомерЗначения]);	
		КонецЦикла;	
		
		ТекстТекущейСтроки = СтрСоединить(МассивОднойСтроки, РазделительВСтроках);
		
		МассивСтрок.Добавить(ТекстТекущейСтроки); 
		
	КонецЦикла;
	
	ДанныеCSV = СтрСоединить(МассивСтрок, Символы.ПС);
	
	Возврат ДанныеCSV; 
	
КонецФункции

   
Цитата
65-150 Okolokompa Форум
(@kalininalex)
Reputable Member
Присоединился: 4 года назад
Записи: 160
Создатель темы  

Здесь показан пример, как можно сохранить файл csv на диск программно из 1С:

Процедура СохранитьДанныеВФайлCSV()

       ДанныеCSV = "Иванов;Иван;Иванович" + Символы.ПС + "Петров;Петр;Петрович";
		
       ПутьКФайлу = СтрШаблон("%1\%2 %3.csv", ПутьКПапкеВыгрузки, "Сотрудники", Строка(Формат(ТекДата, "ДФ = ""дд_ММ_гггг"""))); 			
		
       ТекстовыйФайлЗапись = Новый ЗаписьТекста(ПутьКФайлу);           
       ТекстовыйФайлЗапись.Записать(ДанныеCSV);
       ТекстовыйФайлЗапись.Закрыть(); 
		
       Сообщить("Создан файл " + ПутьКФайлу, СтатусСообщения.Внимание);	

КонецПроцедуры	

   
ОтветитьЦитата
Поделиться: