powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / макет отчета 8.1
8 сообщений из 8, страница 1 из 1
макет отчета 8.1
    #35517578
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем! Помогите!!! Делаю карточку на Контрагента. Запросом из регистра сведений выбираю даные по условию "Контрагент", все замечательно работает, только пожелание клиента чтобы в заголовок вынести не только самого контрагента, но и поля "Характеристика" и "Примечание" (эти 2 поля для конкретного контрагента постоянны), а адрес вынести в табличную часть. В заголовке макета создала 3 параметра - <КонтрагентПредставление>, <Характеристика>, <Примечание>. С конрагентом все просто получилось, т.к. его можно привязать к условию из запроса, а вот как быть с полями "Характеристика" и "Примечание" не знаю, т.е. если вставить эти 2 поля вниз отчета - когда уже отработают детальные записи - все хорошо получается, но мне же надо это в заголовке, вот и получается - что выводить надо раньше чем получать. Какой способ выйти из этой ситуации? Текст формы отчета:

Процедура ОтчетКонтрагентАдрес (ТабДок, Контрагент) Экспорт
Макет = ОтчетОбъект.ПолучитьМакет("ОтчетКонтрагентАдрес");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| АдресаКонтрагентов.Контрагент,
| ПРЕДСТАВЛЕНИЕ(АдресаКонтрагентов.Контаргент),
| АдресаКонтрагентов.Адрес,
| АдресаКонтрагентов.Характеристика,
| АдресаКонтрагентов.Примечание
|ИЗ
| РегистрСведений. АдресаКонтрагентов КАК АдресаКонтрагентов
|ГДЕ
| АдресаКонтрагентов. Контрагент = & Контрагент ";

Запрос.УстановитьПараметр("Контрагент ", Контрагент);

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ОбластьЗаголовок.Параметры. КонтрагентПредставление= Контрагент;

ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаДетали = Результат.Выбрать();

НомПП=0;
Пока ВыборкаДетали.Следующий() Цикл
НомПП=НомПП+1;
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ОбластьДетальныхЗаписей.Параметры.НомПП=НомПП;
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.НижнийКолонтитул.Выводить = Истина;
ТабДок.НижнийКолонтитул.НачальнаяСтраница = 1;
КонецПроцедуры
...
Рейтинг: 0 / 0
макет отчета 8.1
    #35517837
Фотография Deosfen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Выгрузите в ТаблицуЗначений
2. получите первую запись
3. получите харак. и прим.
4. вывод заголовок
5. вывод ТЗ
...
Рейтинг: 0 / 0
макет отчета 8.1
    #35517871
Terv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в одном запросе получайте контрагента и его свойства (левым соединением) ... затем примените функцию максимум/минимум...
...
Рейтинг: 0 / 0
макет отчета 8.1
    #35517932
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное! Правда я еще совсем начинающая и не представляю как выгружать в Таблицу Значений, буду сейчас искать, но если Вас не затруднит - расскажите что значит "Выгрузите в ТаблицуЗначений" и как это применить к отчету?
...
Рейтинг: 0 / 0
макет отчета 8.1
    #35517941
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в одном запросе получайте контрагента и его свойства (левым соединением) ... затем примените функцию максимум/минимум...

т.е. в этом же запросе применить функцию, а потом как ее вывести в макет?
...
Рейтинг: 0 / 0
макет отчета 8.1
    #35519334
Фотография Deosfen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Terv
"в одном запросе получайте контрагента и его свойства (левым соединением) ... затем примените функцию максимум/минимум..." - интересно, а подробнее?


to Nata75

Запрос.УстановитьПараметр("Контрагент ", Контрагент);

Результат = Запрос.Выполнить(). Выгрузить() ;


ОбластьЗаголовок.Параметры. КонтрагентПредставление= Контрагент;
ОбластьЗаголовок.Параметры.Характеристика = Результат[0].Характеристика ;
ОбластьЗаголовок.Параметры.Примечание= Результат[0].Примечание;


....

НомПП=0;
Для Каждого ТекСтрока Из Выборка Цикл
НомПП=НомПП+1;
ОбластьДетальныхЗаписей.Параметры.Заполнить( ТекСтрока );
ОбластьДетальныхЗаписей.Параметры.НомПП=НомПП;
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
...
Рейтинг: 0 / 0
макет отчета 8.1
    #35519337
Фотография Deosfen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо
Для Каждого ТекСтрока Из Выборка Цикл

Для Каждого ТекСтрока Из Результат Цикл
...
Рейтинг: 0 / 0
макет отчета 8.1
    #35519702
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deosfenвместо
Для Каждого ТекСтрока Из Выборка Цикл

Для Каждого ТекСтрока Из Результат Цикл

Спасибо Вам огромное!!!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / макет отчета 8.1
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]