Выгрузка данных в формате CSV

Anton_Barin 4 1

выгрузка данных в формате CSV, для ут 10.3, УПП

мой код

Процедура ВыполнитьНажатие(Команда) 
	ИмяФайла = "Обмен";
	//ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
	//
	//ДиалогОткрытияФайла.ПолноеИмяФайла = ИмяФайла+".csv";
	//ДиалогОткрытияФайла.Каталог = "C:\Users\Сотрудник_1С\Desktop\Внешние обработки";
	Режим        = РежимДиалогаВыбораФайла.Открытие;
	ДиалогВыбора = новый ДиалогВыбораФайла(Режим);
	//ДиалогВыбора.ПолноеИмяФайла = "";
	//Фильтр       = "Файл данных (*.csv)|*.csv";
	//ДиалогВыбора.Фильтр = Фильтр;
	ДиалогВыбора.Заголовок = "Выберите Каталог";    
	Если ДиалогВыбора.Выбрать() Тогда
		ИмяФайла = ДиалогВыбора.ПолноеИмяФайла;
	КонецЕсли;
	//ИмяФайла = "C:\Users\Сотрудник_1С\Desktop\Внешние обработки"+"Обмен.csv";
	ВыгрузитьВCSV(ИмяФайла);
	
КонецПроцедуры

Функция ВыгрузитьВCSV(имяФайлаCSV);
	разделитель = ";";
	ТаблицаЗначений = ПолучитьНоменклатуру();
	//Тут может быть любое получение данных, в моем случае номенклатура, цены, бренд и остатки
	текст = СоздатьДанныеCSV(ТаблицаЗначений,разделитель);
	ЗаписатьCSV(текст,имяФайлаCSV);
	
КонецФункции

Функция СоздатьДанныеCSV(ТаблицаЗначений,разделитель)
	
	текст="";
	для каждого запись из ТаблицаЗначений Цикл
		если текст="" тогда
			текст=СоздатьЗаголовкиCSV(ТаблицаЗначений,разделитель) 
			+ Символы.ПС;    
		КонецЕсли;    
		
		сообщить(запись.Наименование);
		текст = текст + запись.Код 
		+ разделитель + запись.КодПроизводителя
		+ разделитель + запись.Наименование
		+ разделитель + запись.Цена
		+ разделитель + запись.Бренд
		+ разделитель + запись.Наличие             
		+ Символы.ПС;        
	КонецЦикла;
	
	//сообщить(текст);
	Возврат текст;
	
КонецФункции //

Функция ЗаписатьCSV(текст,имяФайла)              
	кодировка = КодировкаТекста.ANSI;
	ТекстовыйФайлЗапись = Новый ЗаписьТекста(имяФайла,Кодировка);            
	//ТекстовыйФайлЗапись.ЗаписатьСтроку(текст);
	ТекстовыйФайлЗапись.Записать(текст);
	ТекстовыйФайлЗапись.Закрыть();    
	Возврат 0;
	
КонецФункции 
2
{21} Не все части функции возвращают значение
{60} Функция всегда возвращает одно и тоже значение

Комментарии

Little Friend
#1, ред. 05 февраля 2021 22:38

А ненужный (закомментированный) код перед публикацией религия не позволила удалить?


Anton_Barin
#2, 24 марта 2021 12:54

(1) Little Friend, а чем он мешает?


См. также

ВерсияФорматаОбменаПриВыгрузке (БСП)

ОткрытьФайлВыгрузки (БСП)

ПриВыгрузкеДанных (БСП)

ПриВыгрузкеОбъекта (БСП)

ПередВыгрузкойДанных (БСП)

СоздатьПустыеПараметрыВыгрузки (БСП)

Модератору