Добрый день! Я начинающий программист. Возникла проблема, не понимаю как решить, полагаю, что где-то нужно что-то зациклить, но что именно не могу понять.
 Вот код

```1c
    Подписи = Макет.ПолучитьОбласть("Подписи");
    ПодписиСотрудников = Запрос.Подписи.Выбрать();
    Пока ПодписиСотрудников.Следующий() Цикл
    //Фамилия и иницииалы
    МассивСлов = Новый Массив;
    ФИО = СтрЗаменить(ПодписиСотрудников.Сотрудник, " ", Символы.ПС); // Разделяем имеющую строку на отдельные слова
    //Создаем цикл для обхода массива полученных слов
    Для к = 1 По СтрЧислоСтрок(ФИО) Цикл
    СтрФИО = СтрПолучитьСтроку(ФИО, к);
    Если НЕ ПустаяСтрока(СтрФИО) Тогда
    МассивСлов.Добавить(СтрФИО);
    КонецЕсли;
    КонецЦикла;
    //Конец Фамилия и иницииалы
    //Для Каждого СтрФИО из ТекущийДокумент.Подписи Цикл
    Подписи.Параметры.Сотрудник = МассивСлов[0] + " " + Лев(МассивСлов[1],1) + "." + Лев(МассивСлов[2],1) + ".";;
    //КонецЦикла;
    КонецЦикла;
    ТабличныйДокумент.Вывести(Подписи);
```

Параметр заполняет, но почему-то только последним значением, хотя в ТЧ документа добавляю несколько значений. Если же переместить
```1c
    ТабличныйДокумент.Вывести(Подписи);
```
 на строчку выше в цикл, то заполняет как надо, но зацикливается и другой текст в этой области
---
В цикле не заполняй параметр "Подписи.Параметры.Сотрудник", а формируй конечную строку.
Текст = Текст + Символы.ПС + МассивСлов[0] + " " + Лев(МассивСлов[1],1) + "." + Лев(МассивСлов[2],1) + "."

Вне цикла, сделай заполнения и все будет как ты хочешь
---
, но зацикливается и другой текст в этой области

Недоперепонял...

З.Ы.
Возможно поможет:

```1c
    Если НЕ ПустаяСтрока(СтрФИО) Тогда
    МассивСлов.Добавить(СтрФИО);
    Иначе
    Продолжить;
    КонецЕсли;
```
---
ТабличныйДокумент.Вывести(Подписи); включите внутрь цикла. Так у вас одна и тажа подпись перезаполняется.
но зацикливается и другой текст в этой области
Значит макет не соответствует требованиям и требуется его переработать.
---
Раньше выкручивался тем, что добавлял ещё одну область с текстом, который не должен зацикливаться, но мне кажется это в корне неправильно
---
можно выделить из существующей области в отдельную область то, что должно выводиться циклично. Но тут уже от фантазии зависит.
---
выводите в цикле прочитав массив после основного Вашего цикла
---
В цикле не заполняй параметр "Подписи.Параметры.Сотрудник", а формируй конечную строку.
Текст = Текст + Символы.ПС + МассивСлов[0] + " " + Лев(МассивСлов[1],1) + "." + Лев(МассивСлов[2],1) + "."

Вне цикла, сделай заполнения и все будет как ты хочешь
---
Можно, пожалуйста, подробнее? Попробовал, но ругается, что преобразование к типу Число не может быть выполнено
---
ается, что преобразование к ти
Перед циклом пропиши:

```1c
    Текст = ";
```
---
Спасибо! Всё заработало!!
---
```1c
    Подписи.Параметры.Сотрудник = МассивСлов[0] + " " + Лев(МассивСлов[1],1) + "." + Лев(МассивСлов[2],1) + ".";;
    ТабличныйДокумент.Вывести(Подписи);
    //КонецЦикла;
    КонецЦикла;
```

Выводит ТабличныйДокумент.Вывести(Подписи);
в конце прохождения но в цикле...
---
Автор пишет
Параметр заполняет, но почему-то только последним значением, хотя в ТЧ документа добавляю несколько значений. Если же переместить
ТабличныйДокумент.Вывести(Подписи);
на строчку выше в цикл, то заполняет как надо, но зацикливается и другой текст в этой области
---
См. (6)
---
Скорее всего у автора в области есть еще какой то текст
---
Да, там ещё текст есть, помимо сотрудников, которых надо вывести для подписей. Опробую предложенные решения