|
Создание печатной формы документа из 4-х запросов | ☑ | ||
---|---|---|---|---|
0
oqjawa
14.05.17
✎
15:04
|
Можно ли при создании одной печатной формы использовать 4 разный запроса? выводить его в поля созданы в макете и так 4 раза
Например Макет = Документы.Выхода_на_практику.ПолучитьМакет("Печать"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Выхода_на_практику.Вид_практики, | Выхода_на_практику.Группа, | Выхода_на_практику.Дата, | Выхода_на_практику.Дата_конца_практики, | Выхода_на_практику.Дата_начала_практики, | Выхода_на_практику.ДатаИзданияПриказа, | Выхода_на_практику.Курс, | Выхода_на_практику.Номер, | Выхода_на_практику.НомерПриказа, | Выхода_на_практику.Специальность, | Выхода_на_практику.Студенты.( | НомерСтроки, | ФИО_студента, | Место_прохождения_практики, | Договор, | База, | Основа_обучения | ) |ИЗ | Документ.Выхода_на_практику КАК Выхода_на_практику |ГДЕ | Выхода_на_практику.Ссылка В(&Ссылка) | И Выхода_на_практику.Студенты.Основа_обучения = Значение(Перечисление.Основа_обучения.бюджетник) | И Выхода_на_практику.Студенты.База = Значение(Перечисление.База_классов.классов_9)"; Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); // Запрос2 = Новый Запрос; // Запрос2.Текст = // "ВЫБРАТЬ // | Выхода_на_практику.Вид_практики, // | Выхода_на_практику.Группа, // | Выхода_на_практику.Дата, // | Выхода_на_практику.Дата_конца_практики, // | Выхода_на_практику.Дата_начала_практики, // | Выхода_на_практику.ДатаИзданияПриказа, // | Выхода_на_практику.Курс, // | Выхода_на_практику.Номер, // | Выхода_на_практику.НомерПриказа, // | Выхода_на_практику.Специальность, // | Выхода_на_практику.Студенты.( // | НомерСтроки, // | ФИО_студента, // | Место_прохождения_практики, // | Договор, // | База, // | Основа_обучения // | ) // |ИЗ // | Документ.Выхода_на_практику КАК Выхода_на_практику // |ГДЕ // | Выхода_на_практику.Ссылка В(&Ссылка) // | И Выхода_на_практику.Студенты.Основа_обучения = Значение(Перечисление.Основа_обучения.платник) // | И Выхода_на_практику.Студенты.База = Значение(Перечисление.База_классов.классов_11)"; // // Запрос2.Параметры.Вставить("Ссылка", Ссылка); // Выборка1 = Запрос2.Выполнить().Выбрать(); |
|||
1
Lexey_
14.05.17
✎
15:10
|
(0) да хоть 5
|
|||
2
oqjawa
14.05.17
✎
15:21
|
Есть документ "Выхода_на_практику" в нём есть табличная часть "Студенты", мне необходимо создать печатную форму из четырёх таблиц:
- в первую таблицу попадут студенты у которых база классов 9 + учатся на бюджетке - во вторую таблицу попадут студенты у которых база классов 9 + учатся на платном - в третью таблицу попадут студенты у которых база классов 11 + учатся на бюджетке - в четвёртую таблицу попадут студенты у которых база классов 11 + учатся на платном Для каждого я написал запрос.. но соединить в месте не получается, не понимаю, что не так.. на что ругается Процедура Печать(ТабДок, Ссылка) Экспорт Макет = Документы.Выхода_на_практику.ПолучитьМакет("Печать"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Выхода_на_практику.Вид_практики, | Выхода_на_практику.Группа, | Выхода_на_практику.Дата, | Выхода_на_практику.Дата_конца_практики, | Выхода_на_практику.Дата_начала_практики, | Выхода_на_практику.ДатаИзданияПриказа, | Выхода_на_практику.Курс, | Выхода_на_практику.Номер, | Выхода_на_практику.НомерПриказа, | Выхода_на_практику.Специальность, | Выхода_на_практику.Студенты.( | НомерСтроки, | ФИО_студента, | Место_прохождения_практики, | Договор, | База, | Основа_обучения | ) |ИЗ | Документ.Выхода_на_практику КАК Выхода_на_практику |ГДЕ | Выхода_на_практику.Ссылка В(&Ссылка) | И Выхода_на_практику.Студенты.Основа_обучения = Значение(Перечисление.Основа_обучения.бюджетник) | И Выхода_на_практику.Студенты.База = Значение(Перечисление.База_классов.классов_9)"; Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьСтудентыШапка = Макет.ПолучитьОбласть("СтудентыШапка"); ОбластьСтуденты = Макет.ПолучитьОбласть("Студенты"); ОбластьШапка1 = Макет.ПолучитьОбласть("Шапка1"); ОбластьСтудентыШапка1 = Макет.ПолучитьОбласть("СтудентыШапка1"); ОбластьСтуденты1 = Макет.ПолучитьОбласть("Студенты1"); ТабДок.Очистить(); ВставлятьРазделительСтраниц = Ложь; Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ТабДок.Вывести(ОбластьЗаголовок); ОбластьШапка.Параметры.Заполнить(Выборка); ОбластьШапка.Параметры.Дата_Начала_Практики = Формат(Выборка.Дата_начала_практики, "ДЛФ=D"); ОбластьШапка.Параметры.Дата_Конца_Практики = Формат(Выборка.Дата_конца_практики, "ДЛФ=D"); ТабДок.Вывести(ОбластьШапка, Выборка.Уровень()); ТабДок.Вывести(ОбластьСтудентыШапка); ВыборкаСтуденты = Выборка.Студенты.Выбрать(); Пока ВыборкаСтуденты.Следующий() Цикл ОбластьСтуденты.Параметры.Заполнить(ВыборкаСтуденты); ТабДок.Вывести(ОбластьСтуденты, ВыборкаСтуденты.Уровень()); КонецЦикла; Запрос2 = Новый Запрос; Запрос2.Текст = "ВЫБРАТЬ | Выхода_на_практику.Вид_практики, | Выхода_на_практику.Группа, | Выхода_на_практику.Дата, | Выхода_на_практику.Дата_конца_практики, | Выхода_на_практику.Дата_начала_практики, | Выхода_на_практику.ДатаИзданияПриказа, | Выхода_на_практику.Курс, | Выхода_на_практику.Номер, | Выхода_на_практику.НомерПриказа, | Выхода_на_практику.Специальность, | Выхода_на_практику.Студенты.( | НомерСтроки, | ФИО_студента, | Место_прохождения_практики, | Договор, | База, | Основа_обучения | ) |ИЗ | Документ.Выхода_на_практику КАК Выхода_на_практику |ГДЕ | Выхода_на_практику.Ссылка В(&Ссылка) | И Выхода_на_практику.Студенты.Основа_обучения = Значение(Перечисление.Основа_обучения.платник) | И Выхода_на_практику.Студенты.База = Значение(Перечисление.База_классов.классов_11)"; Запрос2.Параметры.Вставить("Ссылка", Ссылка); Выборка1 = Запрос2.Выполнить().Выбрать(); ОбластьШапка1.Параметры.Заполнить(Выборка1); ОбластьШапка1.Параметры.Дата_Начала_Практики = Формат(Выборка.Дата_начала_практики, "ДЛФ=D"); ОбластьШапка1.Параметры.Дата_Конца_Практики = Формат(Выборка.Дата_конца_практики, "ДЛФ=D"); ТабДок.Вывести(ОбластьШапка1, Выборка1.Уровень()); ТабДок.Вывести(ОбластьСтудентыШапка1); ВыборкаСтуденты2 = Выборка1.Студенты.Выбрать(); Пока ВыборкаСтуденты2.Следующий() Цикл ОбластьСтуденты.Параметры.Заполнить(ВыборкаСтуденты2); ТабДок.Вывести(ОбластьСтуденты, ВыборкаСтуденты2.Уровень()); КонецЦикла; ВставлятьРазделительСтраниц = Истина; КонецЦикла; //}} КонецПроцедуры Ошибка : Значение не является значением объектного типа (Выбрать) {Документ.Выхода_на_практику.МодульМенеджера(99)}: Значение не является значением объектного типа (Выбрать) ВыборкаСтуденты2 = Выборка1.Студенты.Выбрать(); |
|||
3
Lexey_
14.05.17
✎
15:25
|
(2) забыл Выборка1.Следующий()
|
|||
4
oqjawa
14.05.17
✎
15:37
|
Спасибо вам, что отвечаете мне.. я и не надеялся что хоть кто-то откликнется..
Забыл Выборка1.Следующий а где я забыл? я не вижу.. ориентировался на первый запрос.. он выводит.. второй адаптировал но видимо криво Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); ///... ВыборкаСтуденты = Выборка.Студенты.Выбрать(); Пока ВыборкаСтуденты.Следующий() Цикл ОбластьСтуденты.Параметры.Заполнить(ВыборкаСтуденты); ТабДок.Вывести(ОбластьСтуденты, ВыборкаСтуденты.Уровень()); КонецЦикла; второй запрос: Запрос2.Параметры.Вставить("Ссылка", Ссылка); Выборка1 = Запрос2.Выполнить().Выбрать(); ///.... ВыборкаСтуденты2 = Выборка1.Студенты.Выбрать(); Пока ВыборкаСтуденты2.Следующий() Цикл ОбластьСтуденты.Параметры.Заполнить(ВыборкаСтуденты2); ТабДок.Вывести(ОбластьСтуденты, ВыборкаСтуденты2.Уровень()); КонецЦикла; |
|||
5
torgm
14.05.17
✎
15:38
|
(2) можно в один запрос с итогами организовать
|
|||
6
oqjawa
14.05.17
✎
15:40
|
тут скриншоты можно присылать??
|
|||
7
torgm
14.05.17
✎
15:54
|
(6) ссылку на скриншот
|
|||
8
oqjawa
14.05.17
✎
15:56
|
||||
9
Lexey_
14.05.17
✎
16:20
|
(4) перед строкой, на которой возникает ошибка
|
|||
10
oqjawa
14.05.17
✎
16:27
|
СПАСИБО ОГРОМНОЕ)))!! Спасибо)) а как тут благодарность свою выражают люди)?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |