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