Доброе утро! помогите пожалуйста, Как получить данные из табл части?
Никак не получается вывести в печ форме разные Физ Лиц
Код такой:
Никак не получается вывести в печ форме разные Физ Лиц
Код такой:
Пока ДокументыДляПечати.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
СтрокаТабл.Параметры.Заполнить(ДокументыДляПечати);
СтрокаТабл.Параметры.ДатаДокумента = Формат(ДокументыДляПечати.ДатаДокумента,"ДФ=dd.MM.yyyy");
Если ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецоснастка) Тогда
СтрокаТабл.Параметры.ФизЛицо = "";
ИначеЕсли ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецодежда) Тогда
СтрокаТабл.Параметры.ФизЛицо = ДокументыДляПечати.Регистратор.Спецодежда[0].ФизЛицо;
Иначе
СтрокаТабл.Параметры.ФизЛицо = ДокументыДляПечати.Регистратор.ИнвентарьИХозяйственныеПринадлежности[0].ФизЛицо;
КонецЕсли;
СтрокаТабл.Параметры.НомерСтроки = НомерСтроки;
ТабличныйДокумент.Вывести(СтрокаТабл);
КонецЦикла;
ПоказатьПо теме из базы знаний
- Выполнение внешней обработки по расписанию для управляемого и обычного приложения
- СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках
- Преобразование doc/docx в PDF для 1С: Документооборот 8 КОРП, ПРОФ, ДГУ через обработчик бизнес-событий
- Как проводятся документы в типовых конфигурациях от 1С: дополнение
- Работа с требованиями при автоматизации процессов планирования. Как не получить «лоскутное одеяло» и при этом удержать границы проекта
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Попробуйте такой код:
Пока ДокументыДляПечати.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
СтрокаТабл.Параметры.Заполнить(ДокументыДляПечати);
СтрокаТабл.Параметры.ДатаДокумента = Формат(ДокументыДляПечати.ДатаДокумента,"ДФ=dd.MM.yyyy");
Если ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецоснастка) Тогда
СтрокаТабл.Параметры.ФизЛицо = "";
ИначеЕсли ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецодежда) Тогда
_ДокОбъект=ДокументыДляПечати.Регистратор.ПолучитьОбъект();
СтрокаТабл.Параметры.ФизЛицо = _ДокОбъект.Спецодежда[0].ФизЛицо;
Иначе
_ДокОбъект=ДокументыДляПечати.Регистратор.ПолучитьОбъект();
СтрокаТабл.Параметры.ФизЛицо = _ДокОбъект.ИнвентарьИХозяйственныеПринадлежности[0].ФизЛицо;
КонецЕсли;
СтрокаТабл.Параметры.НомерСтроки = НомерСтроки;
ТабличныйДокумент.Вывести(СтрокаТабл);
КонецЦикла;
Показать
(18)Если опираться на Ваш код то вместо ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецоснастка) напишите
Если ДокументыДляПечати.Регистратор.Спецоснастка.Количество() > 0 Тогда - так вы проверите есть строки в табличной части, но ведь там в строках могут быть разные физлица, и выражение ДокументыДляПечати.Регистратор.Спецодежда[0].ФизЛицо поличит физ лицо только из первой строки.
Если ДокументыДляПечати.Регистратор.Спецоснастка.Количество() > 0 Тогда - так вы проверите есть строки в табличной части, но ведь там в строках могут быть разные физлица, и выражение ДокументыДляПечати.Регистратор.Спецодежда[0].ФизЛицо поличит физ лицо только из первой строки.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот