Добавление Строки в цикле

1. TABEZI1234 16.01.19 12:02 Сейчас в теме
В файле сохраняется только последняя строка из цикла. Как сделать, чтобы сохранялись все строки?

Функция 1()

ТД = Новый ТекстовыйДокумент;
Данные1=(данные);


Если ЗачислениеЗарплаты.Количество() > 0 Тогда
			// в данные2 возврат данных из цикла ,который работает в Функции2()	
		Данные2=Функция2() 
КонецЕсли;

Строка = (Данные1 +";" +  Данные2);

ТД.ДобавитьСтроку(Строка);
ТекстXML = ТД.ПолучитьТекст();

Возврат ЗаписатьТесктНаДиск(ТекстXML, ИмяФайла);

КонецФункции
Показать



// цикл в функции2
Функция2()


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

Пока Выборка Следующий() Цикл
 Данные2 = (выборка.данные3)

КонецЦикла;
Возврат Данные2;
КонецФункции
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
4. login1020 133 16.01.19 12:07 Сейчас в теме
(1) а данные 1 постоянны?
Данные1=(данные);


Это в цикл
Строка = (Данные1 +";" + Данные2);
ТД.ДобавитьСтроку(Строка);
TABEZI1234; +1 Ответить
2. insurgut 207 16.01.19 12:06 Сейчас в теме
В вашем примере нет цикла.
3. dhurricane 16.01.19 12:06 Сейчас в теме
А где, собственно, цикл? :-)
5. ishelper 16.01.19 12:20 Сейчас в теме
Из обсуждения 6-летней давности:
    Дописывать    = Истина;
    ЗаписьТекста = Новый ЗаписьТекста(ИмяФайлаПротокола, КодировкаТекста.UTF8, , Дописывать); 
    ТекстСообщений     = "Начало проведения:   " + ТекущаяДата();
    ЗаписьТекста.ЗаписатьСтроку(ТекстСообщений);
    ....
    ТекстСообщений     = "Окончание проведения: " + ТекущаяДата();
    ЗаписьТекста.ЗаписатьСтроку(ТекстСообщений);
    ЗаписьТекста.Закрыть();
Показать


Но, глядя на заданный автором вопрос: "Добавление Строки в цикле" при отсутствии цикла я не уверен, что это пойдет ему на пользу.
6. Vovus 3 16.01.19 12:22 Сейчас в теме
ока Выборка Следующий() Цикл
Данные2 = (выборка.данные3)

КонецЦикла;
Здесь и получается что добавляете 1 строку а не весь цикл в данные документа
ЗаписьТекста.ЗаписатьСтроку(ТекстСообщений);
7. SedovSU@mail.ru 297 16.01.19 12:33 Сейчас в теме +0.23 $m
У вас одна только запись добавляется в данные2 (последняя) при таком коде
Пока Выборка Следующий() Цикл
Данные2 = (выборка.данные3)
КонецЦикла;

Нужно написать что то вроде этого

Данные2 = "";
Пока Выборка.Следующий Цикл
Если ЗначениеЗаполнено(Данные2) Тогда
Данные2 = Данные2 + " " + Выборка.данные3
Иначе
Данные2 = Выборка.данные3
Конецесли
Конеццикла
SIrina9; Kovekh; TABEZI1234; +3 Ответить
8. TABEZI1234 16.01.19 12:46 Сейчас в теме
9. TABEZI1234 16.01.19 13:58 Сейчас в теме
(7) извините, при использовании вашего кода строки присоединяются друг к другу в одной строке, как изменить, чтобы записывались новые строки для каждой строки выборки друг под другом?
10. SedovSU@mail.ru 297 16.01.19 14:20 Сейчас в теме
(9) Добавить символ enter - Символы.ПС

Данные2 = ""; 
Пока Выборка.Следующий Цикл 
     Если ЗначениеЗаполнено(Данные2) Тогда 
          Данные2 = Данные2 + Символы.ПС + Выборка.данные3 
      Иначе 
           Данные2 = Выборка.данные3 
     Конецесли 
Конеццикла
TABEZI1234; +1 Ответить
11. TABEZI1234 16.01.19 14:22 Сейчас в теме
12. senshkr 13 18.01.19 13:44 Сейчас в теме
Данные2 = " "; //ДОБАВЛЕНО
Функция2()


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

Пока Выборка Следующий() Цикл
Данные2 = Данные2 + "; "+(выборка.данные3); // ИЗМЕНЕНО

КонецЦикла;
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)