Макет печатной формы

1. user1255844 10.11.19 13:40 Сейчас в теме
Здравствуйте! Подскажите, пожалуйста, как сделать чтобы печатная форма выводила каждую сточку табличной части? В моем примере сколько членов комиссии столько и должно выводить автоматически строчек. Прикрепляю файлы.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
4. user856012 13 10.11.19 14:51 Сейчас в теме
(3)
Цикл, который написала, выводит только одну строчку
И в ней - последний член комиссии, да?

Вы ведь просто присваиваете несколько раз одной и той же области макета разные значения должности и ФИО, а потом один раз выводите эту область.

А вам надо в макете выделить строчку с членом комиссии в отдельную область и несколько раз вывести ее, заполняя данными разных сотрудников.
5. tolyan_ekb 104 10.11.19 15:28 Сейчас в теме
в цикле получить область - присвоить параметры - вывести область
6. buganov 200 10.11.19 17:37 Сейчас в теме
(3)Вам нужно что то вроде:
Если Объект.ТабличнаяЧасть.Количество()>0 Тогда
Для каждого Стр из Объект.ТабличнаяЧасть Цикл
ОбластьМакетаПодпись = Макет.ПолучитьОбласть("ОбластьМакетаПодпись");
ОбластьМакетаПодпись.Параметры.ДолжностьЧленаКомиссии = Стр.Должность;
Сотрудник = Стр.Сотрудник;
ОбластьМакетаПодпись.Параметры.ФИОЧленаКомиссии = Сотрудник.Фамилия+" "+Лев(Сотрудник.Имя,1)+". "+Лев(Сотрудник.Отчество,1)+".";
ТабличныйДокументРезультат.Вывести(ОбластьМакетаПодпись);
КонецЦикла;
КонецЕсли;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. buganov 200 10.11.19 14:12 Сейчас в теме
Нужно в цикле вывести область с сотрудниками.
Если в подвале помимо сотрудников еще чего то есть, то выделить из подвала отдельную область и запрограммировать вывод:
Подвал -> Сотрудники -> все, что осталось после
3. user1255844 10.11.19 14:29 Сейчас в теме
(2) Если Объект.ТабличнаяЧасть.Количество()>0 Тогда
Для каждого Стр из Объект.ТабличнаяЧасть Цикл
ОбластьМакетаПодпись.Параметры.ДолжностьЧленаКомиссии = Стр.Должность;
Сотрудник = Стр.Сотрудник;
ОбластьМакетаПодпись.Параметры.ФИОЧленаКомиссии = Сотрудник.Фамилия+" "+Лев(Сотрудник.Имя,1)+". "+Лев(Сотрудник.Отчество,1)+".";
КонецЦикла;
КонецЕсли;


Я понимаю, что нужен цикл, но не совсем понимаю как правильно его составить (новичок в программировании 1С). Цикл, который написала, выводит только одну строчку
4. user856012 13 10.11.19 14:51 Сейчас в теме
(3)
Цикл, который написала, выводит только одну строчку
И в ней - последний член комиссии, да?

Вы ведь просто присваиваете несколько раз одной и той же области макета разные значения должности и ФИО, а потом один раз выводите эту область.

А вам надо в макете выделить строчку с членом комиссии в отдельную область и несколько раз вывести ее, заполняя данными разных сотрудников.
6. buganov 200 10.11.19 17:37 Сейчас в теме
(3)Вам нужно что то вроде:
Если Объект.ТабличнаяЧасть.Количество()>0 Тогда
Для каждого Стр из Объект.ТабличнаяЧасть Цикл
ОбластьМакетаПодпись = Макет.ПолучитьОбласть("ОбластьМакетаПодпись");
ОбластьМакетаПодпись.Параметры.ДолжностьЧленаКомиссии = Стр.Должность;
Сотрудник = Стр.Сотрудник;
ОбластьМакетаПодпись.Параметры.ФИОЧленаКомиссии = Сотрудник.Фамилия+" "+Лев(Сотрудник.Имя,1)+". "+Лев(Сотрудник.Отчество,1)+".";
ТабличныйДокументРезультат.Вывести(ОбластьМакетаПодпись);
КонецЦикла;
КонецЕсли;
Показать
7. buganov 200 10.11.19 17:40 Сейчас в теме
(3)
ФИОЧленаКомиссии = Сотрудник.Фамилия+" "+Лев(Сотрудник.Имя,1)+".


Поищите по конфигурации функцию Которая сама сократи имя отчество. Пользуйтесь БСП
5. tolyan_ekb 104 10.11.19 15:28 Сейчас в теме
в цикле получить область - присвоить параметры - вывести область
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот