В файле сохраняется только последняя строка из цикла. Как сделать, чтобы сохранялись все строки?
Функция 1()
ТД = Новый ТекстовыйДокумент;
Данные1=(данные);
Если ЗачислениеЗарплаты.Количество() > 0 Тогда
// в данные2 возврат данных из цикла ,который работает в Функции2()
Данные2=Функция2()
КонецЕсли;
Строка = (Данные1 +";" + Данные2);
ТД.ДобавитьСтроку(Строка);
ТекстXML = ТД.ПолучитьТекст();
Возврат ЗаписатьТесктНаДиск(ТекстXML, ИмяФайла);
КонецФункции
Показать
// цикл в функции2
Функция2()
Запрос...
... как Данные3
...
РезультатЗапроса = Запрос.Выполнить();
Выборка=результат запроса.выбрать()
Пока Выборка Следующий() Цикл
Данные2 = (выборка.данные3)
КонецЦикла;
Возврат Данные2;
КонецФункции
7.
SedovSU@mail.ru
29716.01.19 12:33 Сейчас в теме+0.23 $m
У вас одна только запись добавляется в данные2 (последняя) при таком коде
Пока Выборка Следующий() Цикл
Данные2 = (выборка.данные3)
КонецЦикла;
Нужно написать что то вроде этого
Данные2 = "";
Пока Выборка.Следующий Цикл
Если ЗначениеЗаполнено(Данные2) Тогда
Данные2 = Данные2 + " " + Выборка.данные3
Иначе
Данные2 = Выборка.данные3
Конецесли
Конеццикла
(7) извините, при использовании вашего кода строки присоединяются друг к другу в одной строке, как изменить, чтобы записывались новые строки для каждой строки выборки друг под другом?
Данные2 = "";
Пока Выборка.Следующий Цикл
Если ЗначениеЗаполнено(Данные2) Тогда
Данные2 = Данные2 + Символы.ПС + Выборка.данные3
Иначе
Данные2 = Выборка.данные3
Конецесли
Конеццикла