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



Запрос = Новый Запрос();

Запрос.УстановитьПараметр("ДатаНач",НачалоДня(ДатаНач));

Запрос.УстановитьПараметр("ДатаКон",КонецДня(ДатаКон));

Запрос.УстановитьПараметр("Организация",Организация);

Запрос.Текст = "ВЫБРАТЬ

| ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,

| ПоступлениеТоваровУслугТовары.Количество КАК Количество,

| ПоступлениеТоваровУслугТовары.Цена КАК Цена,

| ПоступлениеТоваровУслугТовары.Ссылка.Номер КАК Номер,

| ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата,

| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент,

| ПоступлениеТоваровУслугТовары.Номенклатура.Код КАК НоменклатураКод,

| ПоступлениеТоваровУслугТовары.Номенклатура.Артикул КАК НоменклатураАртикул

|ИЗ

| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары

|ГДЕ

| ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон

| И ПоступлениеТоваровУслугТовары.Ссылка.Организация = &Организация

|

|УПОРЯДОЧИТЬ ПО

| Контрагент,

| Номер,

| Дата,

| НоменклатураКод,

| Номенклатура,

| НоменклатураАртикул,

| Количество,

| Цена";

Результат = Запрос.Выполнить().Выбрать();

Текст = Новый ЗаписьТекста("c:\vigruz.txt", КодировкаТекста.ANSI);

РезультатДок = Запрос.Выполнить().Выбрать();

Пока РезультатДок.Следующий() Цикл

ОбработкаПрерыванияПользователя();

// В качестве разделителей необходимо использовать Символы. ВК (CR),ВТаб (VTab),НПП (NBSp),ПС (LF),ПФ (FF),Таб (Tab)



//Если нам нужна строка вида " helpf.pro 07.08.2009 13 " в качестве разделителя используется табуляция

//то пишем так:

Текст.ЗаписатьСтроку(Строка(РезультатДок.Контрагент)+Символы.Таб+Строка(Формат((РезультатДок.Дата),"ДЛФ=D"))+Символы.Таб+Строка(РезультатДок.Номер));

// При загрузке строку можно будет разложить в массив для дальнейшей работы, РазложитьСтрокуВМассивПодстрок( ТекСтр, Символы.Таб). Ссылка на функцию ниже



//Если нужен вид

// helpf.pro

// 07.08.2009

// 13

// здесь в качестве разделителя используется перевод каретки (следующая строка), то пишем

Текст.ЗаписатьСтроку(РезультатДок.Контрагент);

Текст.ЗаписатьСтроку(Символы.ПС);

Текст.ЗаписатьСтроку(Формат((РезультатДок.Дата),"ДЛФ=D"));

Текст.ЗаписатьСтроку(Символы.ПС);

Текст.ЗаписатьСтроку(РезультатДок.Номер);



КонецЦикла;

Текст.Закрыть();





✍️ @odin1C_rus