Не получается получить данные из ТЗ

1. Airat116 18.05.20 08:29 Сейчас в теме
Доброе утро! помогите пожалуйста, Как получить данные из табл части?

Никак не получается вывести в печ форме разные Физ Лиц

Код такой:

Пока ДокументыДляПечати.Следующий() Цикл

			НомерСтроки = НомерСтроки + 1;
            
			СтрокаТабл.Параметры.Заполнить(ДокументыДляПечати);
			СтрокаТабл.Параметры.ДатаДокумента = Формат(ДокументыДляПечати.ДатаДокумента,"ДФ=dd.MM.yyyy");
			
			Если ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецоснастка) Тогда
				СтрокаТабл.Параметры.ФизЛицо = "";
			ИначеЕсли ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецодежда) Тогда
				СтрокаТабл.Параметры.ФизЛицо = ДокументыДляПечати.Регистратор.Спецодежда[0].ФизЛицо;	
			Иначе
				СтрокаТабл.Параметры.ФизЛицо = ДокументыДляПечати.Регистратор.ИнвентарьИХозяйственныеПринадлежности[0].ФизЛицо;
			КонецЕсли;
			
			СтрокаТабл.Параметры.НомерСтроки = НомерСтроки;
			
			ТабличныйДокумент.Вывести(СтрокаТабл);

		КонецЦикла;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Airat116 18.05.20 08:34 Сейчас в теме
(1)
Прикрепленные файлы:
3. ab_initio 95 18.05.20 08:42 Сейчас в теме
Попробуйте такой код:
Пока ДокументыДляПечати.Следующий() Цикл 

НомерСтроки = НомерСтроки + 1; 

СтрокаТабл.Параметры.Заполнить(ДокументыДляПечати); 
СтрокаТабл.Параметры.ДатаДокумента = Формат(ДокументыДляПечати.ДатаДокумента,"ДФ=dd.MM.yyyy"); 

Если ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецоснастка) Тогда 
СтрокаТабл.Параметры.ФизЛицо = ""; 
ИначеЕсли ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецодежда) Тогда 
_ДокОбъект=ДокументыДляПечати.Регистратор.ПолучитьОбъект();
СтрокаТабл.Параметры.ФизЛицо = _ДокОбъект.Спецодежда[0].ФизЛицо; 
Иначе 
_ДокОбъект=ДокументыДляПечати.Регистратор.ПолучитьОбъект();
СтрокаТабл.Параметры.ФизЛицо = _ДокОбъект.ИнвентарьИХозяйственныеПринадлежности[0].ФизЛицо; 
КонецЕсли; 

СтрокаТабл.Параметры.НомерСтроки = НомерСтроки; 

ТабличныйДокумент.Вывести(СтрокаТабл); 

КонецЦикла;

Показать
4. ab_initio 95 18.05.20 08:45 Сейчас в теме
(3) Хотя, такой код, надо сказать, противоречит принципам формирования печатных форм.
Все данные, положено одним запросом выбирать. В редких случаях не получается одним, тогда двумя-тремя.
6. Airat116 18.05.20 08:53 Сейчас в теме
(4) Я где то видел что вроде надо сделать так (ДокументыДляПечати.Регистратор.Спецодежда.Выгрузить())

Но это не точно

И пробывал, не получалось либо я не правильно делал
8. lefthander 18.05.20 08:56 Сейчас в теме
(6) Что у Вас в отладчике = ДокументыДляПечати.Регистратор и какимм образом вы получаете выгрузку ДокументыДляПечати?
9. Airat116 18.05.20 08:59 Сейчас в теме
(8) вот что в отладке
Прикрепленные файлы:
13. lefthander 18.05.20 09:01 Сейчас в теме
(9)ДокументыДляПечати.Регистратор.Спецоснастка - а это что тоже регистратор?
Это же табличная часть документа.... какие реквизиты табличной части?
5. lefthander 18.05.20 08:50 Сейчас в теме
(3)Странно, а зачем для формирования печатной формы получать объект? ;)
7. ab_initio 95 18.05.20 08:54 Сейчас в теме
(5) Вообще через точку что-то получать при обходе выборки в процессе формировании печатных форм - дурной стиль. Каждое такое обращение в цикле - это физический запрос. Все данные в примитивных типах надо получать запросом. Но автор запрос не показывает :))
10. Airat116 18.05.20 09:00 Сейчас в теме
(7) Я типовой запрос взял, он большой
Применялся в другой печ форме
11. lefthander 18.05.20 09:00 Сейчас в теме
(7)В данном случае ДокументДляПечати.Регистратор это не примитивный тип. Другой вопрос - раз нужно ФизЛицо, то его можно было получить в запросе в отдельное поле.
12. пользователь 18.05.20 09:01
Сообщение было скрыто модератором.
...
14. Airat116 18.05.20 09:03 Сейчас в теме
(7) Вот сам запрос
Прикрепленные файлы:
ЗапросТекст.txt
15. lefthander 18.05.20 09:06 Сейчас в теме
(14)Это в БП3.0, наверно, уточните версию конфигурации и что именно вы хотите добавить в печатную форму и в какую...
16. Airat116 18.05.20 09:08 Сейчас в теме
(15) Бухгалтерия предприятия, редакция 3.0 (3.0.76.77)

Мне нужно добавить физические лица из табл части документа "Списание материалов"
17. lefthander 18.05.20 09:13 Сейчас в теме
(16)Вы формируете свою печатную форму или МБ8? Если МБ8 то в какое место вам нужно вставить Физ лицо?
18. Airat116 18.05.20 09:17 Сейчас в теме
19. lefthander 18.05.20 09:21 Сейчас в теме
(18)Понятно. Советую разобраться как работает стандартный запрос. Но то как вы в стартовом сообщении пытаетесь получить физ лицо - вы его не получите.
20. lefthander 18.05.20 09:27 Сейчас в теме
(18)Если опираться на Ваш код то вместо ЗначениеЗаполнено(ДокументыДляПечати.Регистратор.Спецоснастка) напишите
Если ДокументыДляПечати.Регистратор.Спецоснастка.Количество() > 0 Тогда - так вы проверите есть строки в табличной части, но ведь там в строках могут быть разные физлица, и выражение ДокументыДляПечати.Регистратор.Спецодежда[0].ФизЛицо поличит физ лицо только из первой строки.
21. Airat116 18.05.20 09:29 Сейчас в теме
(20) О точно, так и думал что не так сделал, спасибо
22. Airat116 18.05.20 09:34 Сейчас в теме
(20) Хотел еще одну вещь спросить
23. lefthander 18.05.20 09:35 Сейчас в теме
24. Airat116 18.05.20 09:39 Сейчас в теме
(23) Можно ли как то сделать так, чтобы вывести дату

Пример: "18" мая 20 г?

На скрине видно

Сначала число 18 потом отдельно "Май" потом конец 2020 г
Прикрепленные файлы:
26. lefthander 18.05.20 09:42 Сейчас в теме
(24)Да, на шаблоне задайте параметр день месяц и две последнии цифры года. Можно задать один параметр ДатаДляПечФормы и сформировать нужную строку в таком виде как надо и ее вывести на печатную форму.
29. Airat116 18.05.20 09:53 Сейчас в теме
25. Airat116 18.05.20 09:40 Сейчас в теме
Кстати получилось вывести физЛица. В запросе немного текст поменял
27. ab_initio 95 18.05.20 09:43 Сейчас в теме
(25) А как сделали? Поделитесь?
28. Airat116 18.05.20 09:52 Сейчас в теме
(27) Добавил в выходные поля физлицо
В двух пакетах запроса, и в 15 запросе
И вроде работает
Прикрепленные файлы:
31. lefthander 18.05.20 09:55 Сейчас в теме
(28)Да, да.... именно так ;) это я и имел в виду когда советовал изучить запрос
32. Airat116 18.05.20 09:59 Сейчас в теме
(31) Не знай почему я сразу в запрос не полез)
Другие варианты ковырял
30. Airat116 18.05.20 09:54 Сейчас в теме
(27) Но я типовой запрос не трогал, Я делаю задачу через расширение
Эту функцию я забрал в расширение и там изменил
Оставьте свое сообщение

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