HelpF.pro

Выгрузка результата запроса в текстовый файл с разделителями

Код 1C v 8.х
 Запрос = Новый Запрос();
Запрос.УстановитьПараметр("ДатаНач",НачалоДня(ДатаНач));
Запрос.УстановитьПараметр("ДатаКон",КонецДня(ДатаКон));
Запрос.УстановитьПараметр("Организация",Организация);
Запрос.Текст = "ВЫБРАТЬ
|	ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
|	ПоступлениеТоваровУслугТовары.Количество КАК Количество,
|	ПоступлениеТоваровУслугТовары.Цена КАК Цена,
|	ПоступлениеТоваровУслугТовары.Ссылка.Номер КАК Номер,
|	ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата,
|	ПоступлениеТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент,
|	ПоступлениеТоваровУслугТовары.Номенклатура.Код КАК НоменклатураКод,
|	ПоступлениеТоваровУслугТовары.Номенклатура.Артикул КАК НоменклатураАртикул
|ИЗ
|	Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
|ГДЕ
|	ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
|	И ПоступлениеТоваровУслугТовары.Ссылка.Организация = &Организация
|	
|УПОРЯДОЧИТЬ ПО	
|	Контрагент,
|	Номер,
|	Дата,
|	НоменклатураКод,
|	Номенклатура,
|	НоменклатураАртикул,
|	Количество,
|	Цена";	
Результат = Запрос.Выполнить().Выбрать();	
Текст = Новый ЗаписьТекста("c:\vigruz.txt", КодировкаТекста.ANSI);
РезультатДок = Запрос.Выполнить().Выбрать();	
Пока РезультатДок.Следующий() Цикл		
	ОбработкаПрерыванияПользователя();
	// В качестве разделителей необходимо использовать Символы. ВК (CR),ВТаб (VTab),НПП (NBSp),ПС (LF),ПФ (FF),Таб (Tab)
	
	//Если нам нужна строка вида " helpf.pro    07.08.2009   13 " в качестве разделителя используется табуляция
	//то пишем так:
	Текст.ЗаписатьСтроку(Строка(РезультатДок.Контрагент)+Символы.Таб+Строка(Формат((РезультатДок.Дата),"ДЛФ=D"))+Символы.Таб+Строка(РезультатДок.Номер));	
	// При загрузке строку можно будет разложить в массив для дальнейшей работы, РазложитьСтрокуВМассивПодстрок( ТекСтр, Символы.Таб). Ссылка на функцию ниже

	//Если нужен вид 
	// helpf.pro 
	// 07.08.2009
	// 13 
	// здесь в качестве разделителя используется перевод каретки (следующая строка), то пишем
	Текст.ЗаписатьСтроку(РезультатДок.Контрагент);
	Текст.ЗаписатьСтроку(Символы.ПС);	
	Текст.ЗаписатьСтроку(Формат((РезультатДок.Дата),"ДЛФ=D"));      
	Текст.ЗаписатьСтроку(Символы.ПС);	
	Текст.ЗаписатьСтроку(РезультатДок.Номер);          
	
КонецЦикла;		
Текст.Закрыть();   


При загрузке для разбора строки используйте: Функция разбирает строку на подстроки, используя заданный разделитель и возвращает массив

Еще посмотрите пример: Загрузка данных из Текстового файла
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/434.html