Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 23.07.2024
Сообщений: 2
1

Во внешнюю печатную форму не выводятся реквизиты

23.07.2024, 16:53. Показов 287. Ответов 2

Author24 — интернет-сервис помощи студентам
Привет, форум
Делаю внешнюю печатную форму, не могу вывести на печать реквизиты Грузоотправитель, Грузополучатель, и ИНН их обоих.
Поле просто остается пустым. Грешила на то, что Грузоотправитель/Грузополучатель имеют тип СправочникСсылка и я просто вывожу их неправильно, но реквизиты такого типа у меня есть в строке ТЧ, и они прекрасно выводятся.
Потыкала отладчик, но я, к сожалению с ним пока на вы, так что информации из него получить никакой не удалось.

Не кидайте тапками, пожалуйста)

Листинг функции формирования печатной формы:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
 
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    РеализацияТоваровУслуг.Номер КАК Номер,
               |    РеализацияТоваровУслуг.Дата КАК Дата,
               |    РеализацияТоваровУслуг.Валюта КАК Валюта
               |ИЗ
               |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
               |ГДЕ
               |    РеализацияТоваровУслуг.Ссылка = &СсылкаНаДокумент
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               |    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
               |    РеализацияТоваровУслугТовары.Количество КАК Количество,
               |    РеализацияТоваровУслугТовары.Цена КАК Цена,
               |    РеализацияТоваровУслугТовары.Сумма КАК Сумма,
               |    РеализацияТоваровУслугТовары.Номенклатура.Артикул КАК Артикул
               |ИЗ
               |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
               |ГДЕ
               |    РеализацияТоваровУслугТовары.Ссылка = &СсылкаНаДокумент
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               |    РеализацияТоваровУслуг.АдресДоставки КАК АдресДоставки,
               |    РеализацияТоваровУслуг.Грузоотправитель.ИНН КАК ГрузоотправительИНН,
               |    РеализацияТоваровУслуг.Грузополучатель.ИНН КАК ГрузополучательИНН,
               |    РеализацияТоваровУслуг.Грузоотправитель КАК Грузоотправитель,
               |    РеализацияТоваровУслуг.Грузополучатель КАК Грузополучатель
               |ИЗ
               |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг"; 
 
Запрос.УстановитьПараметр("СсылкаНаДокумент", СсылкаНаДокумент);            
ДанныеДляПечати = Запрос.ВыполнитьПакет();
ДанныеДляПечатиПоШапке = ДанныеДляПечати[0].Выбрать();
ДанныеДляПечатиПоТЧ = ДанныеДляПечати[1].Выбрать();
ДанныеДляПечатиПоПодвалу = ДанныеДляПечати[2].Выбрать();
//создаем новый документ, задаем его параметры и выбираем созданный нами макет
Табдок = новый ТабличныйДокумент;
Табдок.ИмяПараметровПечати = "ПараметрыПечати";
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.АвтоМасштаб = Истина;
МакетОбработки = ПолучитьМакет("Макет");
//выводим шапку - область макета и заполняем все параметры 
 
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
Если ДанныеДляПечатиПоШапке.Следующий() Тогда
ОбластьШапка.Параметры.Дата = Формат(ДанныеДляПечатиПоШапке.Дата,"ДФ=dd.MM.yyyy");
ОбластьШапка.Параметры.Номер = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеДляПечатиПоШапке.Номер);
ОбластьШапка.Параметры.Валюта = ДанныеДляПечатиПоШапке.Валюта;
Табдок.Вывести(ОбластьШапка); 
КонецЕсли; 
 
//выводим строки с учетом того, что их может быть несколько
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("ДанныеСтрок");
ИтогСумма = 0;
Пока ДанныеДляПечатиПоТЧ.Следующий() цикл
        Сообщить(ДанныеДляПечатиПоТЧ.количество());   
        Сообщить(типзнч(ДанныеДляПечатиПоТЧ));
 
        ОбластьСтроки.Параметры.Номенклатура = ДанныеДляПечатиПоТЧ.Номенклатура;
        ОбластьСтроки.Параметры.Количество = ДанныеДляПечатиПоТЧ.Количество;
        ОбластьСтроки.Параметры.Цена = ДанныеДляПечатиПоТЧ.Цена;
        ОбластьСтроки.Параметры.Сумма = ДанныеДляПечатиПоТЧ.Сумма;
        ИтогСумма = ИтогСумма + ДанныеДляПечатиПоТЧ.Сумма;
        ОбластьСтроки.Параметры.Артикул = ДанныеДляПечатиПоТЧ.Артикул;
        Табдок.Вывести(ОбластьСтроки);  
         
КонецЦикла;
//выводим итоги строк
ОбластьИтогСтр  = МакетОбработки.ПолучитьОбласть("ИтогиСтрок");
ОбластьИтогСтр.Параметры.СуммаИтог = ЧислоПрописью(ИтогСумма, , "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");    //изменить в макете
Табдок.Вывести(ОбластьИтогСтр);
 
//выводим подвал       
ОбластьПодвал = МакетОбработки.ПолучитьОбласть("Подвал");   
 
Если ДанныеДляПечатиПоПодвалу.Следующий() Тогда   
ОбластьПодвал.Параметры.АдресДоставки = ДанныеДляПечатиПоПодвалу.АдресДоставки;
ОбластьПодвал.Параметры.Грузоотправитель = ДанныеДляПечатиПоПодвалу.Грузоотправитель;
ОбластьПодвал.Параметры.Отправитель = ДанныеДляПечатиПоПодвалу.Грузоотправитель;
ОбластьПодвал.Параметры.Получатель = ДанныеДляПечатиПоПодвалу.Грузополучатель; 
ОбластьПодвал.Параметры.ОтправительИНН = ДанныеДляПечатиПоПодвалу.ГрузоотправительИНН;
ОбластьПодвал.Параметры.ПолучательИНН = ДанныеДляПечатиПоПодвалу.ГрузополучательИНН;   
Табдок.Вывести(ОбластьПодвал);
КонецЕсли;
 
Возврат Табдок;
КонецФункции
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2024, 16:53
Ответы с готовыми решениями:

Добавление реквизитов во внешнюю печатную форму
Добрый вечер! Суть проблемы...Создал внешнюю печатную форму для Транспортной накладной ,все...

Проблема с выгрузкой данных во внешнюю печатную форму
Здравствуйте. Подскажите пожалуйста, где может быть ошибка? Не выгружает данные в печатную форму...

Обращение к реквизиту формы документа через внешнюю печатную форму.
Здравствуйте Есть внешняя печатная форма и документ "Договор". У документа есть на форме реквизит...

Доработать внешнюю печатную форму
Интересная задачка по ЗУПу, подскажите как ее решить. В разделе «6. Отпуск», в подразделе 6.1...

Как подвесить внешнюю печатную форму?
Напшел внешнюю печатную форму, как ее подвесит в камин к кнопке печать?

2
335 / 276 / 111
Регистрация: 07.04.2011
Сообщений: 1,557
23.07.2024, 20:16 2
В тексте запроса для получения данных подвала нет условия ГДЕ. непонятно из какого документа идёт выборка.
Следовательно в данном фрагменте выбирается случайный документ,а в нем может и не быть данных об отправителе

Добавлено через 2 минуты
Проверьте ДанныеПечатиПоПодвалу.Количество(). Там наверняка больше 1 записи.
Ну а через Если ДанныеПечатиПоПодвалу.Следующий() происходит позиционирование на первой записи
А что там в этой первой записи-неизвестно
1
0 / 0 / 0
Регистрация: 23.07.2024
Сообщений: 2
24.07.2024, 12:07  [ТС] 3
Ошибку нашла, она была по итогу в запросе - он почему-то передавал пустые поля.

Добавлено через 3 минуты
С ГДЕ не выводилось вообще ничего, в том числе АдресДоставки, который иначе работает нормально
По итогу я просто вытащила реквизиты из самого документа, минуя запрос
Спасибо за помощь)
0
24.07.2024, 12:07
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.07.2024, 12:07
Помогаю со студенческими работами здесь

Бухгалтерия 8.3 Не удается создать внешнюю печатную форму
Помогите пожалуйста найти ошибку. Пытаюсь сделать внешнюю печатную форму Счета на оплату Ошибка...

ЗУП 3.1. Необходимо доработать внешнюю печатную форму
Здравствуйте. Имеется ВПФ, необходимо её доработать так, чтобы сначала открывалась форма,...

Как сделать внешнюю печатную форму из стандартной в 1С
Всем привет! Как можно сделать из печатной формы "Отчет о розничных продажах" сделать внешнюю...

V8.3: Как программно сформировать внешнюю печатную форму документа
Доброго дня, всем. Имеется обработка в которой есть реквизит Объект.ПрихНакл, в которой хранится...

Как вывести во внешнюю печатную форму сумму с проводки документа
Добрый день! Подскажите, как вывести во внешнюю печатную форму сумму с проводки документа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как работать с ветками (branch) в Git
InfoMaster 17.01.2025
Система контроля версий Git произвела революцию в процессе разработки программного обеспечения, предоставив разработчикам мощный инструмент для управления изменениями в коде. Одной из наиболее важных. . .
Как откатить последние коммиты в Git
InfoMaster 17.01.2025
Система контроля версий Git стала неотъемлемой частью современной разработки программного обеспечения, предоставляя разработчикам мощные инструменты для управления изменениями в коде. Одним из. . .
Что такое boilerplate и scaffold, чем они отличаются
InfoMaster 17.01.2025
В современном мире разработки программного обеспечения эффективность и скорость создания качественного кода играют crucial роль в успехе проектов. Разработчики постоянно ищут способы оптимизировать. . .
Чем отличаются ссылки и указатели в С++
InfoMaster 17.01.2025
В современном программировании на C++ эффективная работа с памятью является ключевым аспектом разработки качественного программного обеспечения. Указатели и ссылки представляют собой два. . .
В чем разница между PUT и POST
InfoMaster 17.01.2025
В современной веб-разработке правильное использование HTTP-методов играет ключевую роль в создании надежных и эффективных API-интерфейсов. Протокол HTTP прошел долгий путь развития с момента своего. . .
DTO, POCO и Value Object: что это такое, когда и как использовать
InfoMaster 17.01.2025
Введение в паттерны передачи данных В современной разработке программного обеспечения эффективное управление данными и их передача между различными слоями приложения являются ключевыми аспектами. . .
Что такое pull request в Git
InfoMaster 17.01.2025
В современной разработке программного обеспечения pull request в Git представляет собой ключевой механизм для эффективного взаимодействия между разработчиками при работе над общим кодом проекта. По. . .
Как вернуться к предыдущему коммиту в Git
InfoMaster 17.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде, который позволяет разработчикам эффективно отслеживать и контролировать историю. . .
Что такое паттерны программировани­я и проектирования
InfoMaster 17.01.2025
Роль паттернов в современной разработке программного обеспечения В современном мире разработки программного обеспечения паттерны проектирования стали неотъемлемой частью профессионального подхода. . .
Как добавить конструктор Яндекс Карт на сайт
InfoMaster 17.01.2025
Введение в API Яндекс Карт В современной веб-разработке интеграция картографических сервисов стала неотъемлемой частью многих проектов. API Яндекс Карт представляет собой мощный инструмент для. . .
Что такое javascript:void­­(0) и зачем это нужно
InfoMaster 17.01.2025
Когда вы сталкиваетесь с веб-разработкой, особенно с использованием JavaScript, одной из директив, которая часто встречается, является javascript:void(0). Это выражение вызывает интерес из-за своей. . .
Что такое оркестрация и хореография микросервисов
InfoMaster 17.01.2025
Введение в оркестрацию и хореографию микросервисов В современном мире разработки программного обеспечения микросервисная архитектура стала ключевым подходом к созданию масштабируемых и гибких. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru