![]() |
|
Вывести несколько дат в одну строку Garykom, Михаил_, Михаил Козлов, Группа неравнодушных, mikecool, МаленькийВопросик, Lexey_, Олдж, zenik, okmail, toypaul, Kongo2019, nick86, Fish, unenu, Irbis, СвинТуз, Мультук, runuts, Климов Сергей, Homer, d4rkmesa, spiller26, lEvGl, maxab72, sdf, San787, Волшебник, Timon1405, Sabron, Meladonimi, DiMel_77, orakool, kolts23381, Amra, oleg_km, CepeLLlka, AlexKimp, Tarlich, Aka_demik, 2S, comp2006, formista2000, Guk, Prog_man, boozin, PR, poofik, paramedic, takefive, Niveus, Гипервизор, Галахад, Fregat
| ☑ | ||
---|---|---|---|---|
0
poofik
10.10.25
✎
15:59
|
Привет помогите пожалуйста решить как сделать для создания отчета.
Делаю отчет через макет. В зависимости от количества назначенных тем, менялось число дат. Запрос:ВЫБРАТЬ ВычиткиПоГруппам.ГруппаСтудентов КАК ГруппаСтудентов, ВычиткиПоГруппам.ТемаВычитки КАК ТемаВычитки, ВычиткиПоГруппам.МесяцВычитки КАК МесяцВычитки, ВычиткиПоГруппам.КоличествоПар КАК КоличествоПар, ВычиткиПоГруппам.СобытиеЗанятости КАК СобытиеЗанятости, ВычиткиПоГруппам.Регистратор КАК Регистратор ПОМЕСТИТЬ ВТ_План ИЗ РегистрСведений.ВычиткиПоГруппам КАК ВычиткиПоГруппам СГРУППИРОВАТЬ ПО ВычиткиПоГруппам.ГруппаСтудентов, ВычиткиПоГруппам.КоличествоПар, ВычиткиПоГруппам.ТемаВычитки, ВычиткиПоГруппам.МесяцВычитки, ВычиткиПоГруппам.СобытиеЗанятости, ВычиткиПоГруппам.Регистратор ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВычиткаПоГруппамОбороты.ГруппаОбучения КАК ГруппаОбучения, ВычиткаПоГруппамОбороты.ТемаВычитки КАК ТемаВычитки, ВычиткаПоГруппамОбороты.СобытиеЗанятости КАК СобытиеЗанятости, СУММА(ВычиткаПоГруппамОбороты.КоличествоПарОборот) КАК КоличествоПарОборот ПОМЕСТИТЬ ВТ_Факт ИЗ ВТ_План КАК ВТ_План, РегистрНакопления.ВычиткаПоГруппам.Обороты(&МесяцВычитки, &КонецПериода, Регистратор, ) КАК ВычиткаПоГруппамОбороты ГДЕ ВычиткаПоГруппамОбороты.ГруппаОбучения = ВТ_План.ГруппаСтудентов И ВТ_План.ТемаВычитки = ВычиткаПоГруппамОбороты.ТемаВычитки И ВычиткаПоГруппамОбороты.СобытиеЗанятости = ВТ_План.СобытиеЗанятости СГРУППИРОВАТЬ ПО ВычиткаПоГруппамОбороты.ГруппаОбучения, ВычиткаПоГруппамОбороты.ТемаВычитки, ВычиткаПоГруппамОбороты.СобытиеЗанятости ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_План.ГруппаСтудентов КАК ГруппаСтудентов, ВТ_План.ТемаВычитки КАК ТемаВычитки, СУММА(ЕСТЬNULL(ВТ_План.КоличествоПар, 0)) КАК КоличествоПарПлан, СУММА(ЕСТЬNULL(ВТ_Факт.КоличествоПарОборот, 0)) КАК КоличествоПарФакт, ВТ_Факт.СобытиеЗанятости КАК СобытиеЗанятости ПОМЕСТИТЬ ВТ_ПланФакт ИЗ ВТ_План КАК ВТ_План, ВТ_Факт КАК ВТ_Факт ГДЕ ВТ_План.ГруппаСтудентов = ВТ_Факт.ГруппаОбучения И ВТ_Факт.ТемаВычитки = ВТ_План.ТемаВычитки И ВТ_Факт.СобытиеЗанятости = ВТ_План.СобытиеЗанятости СГРУППИРОВАТЬ ПО ВТ_План.ГруппаСтудентов, ВТ_План.ТемаВычитки, ВТ_Факт.СобытиеЗанятости ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_План.ГруппаСтудентов КАК ГруппаСтудентов, ВТ_План.ТемаВычитки КАК ТемаВычитки, ВТ_План.КоличествоПар КАК КоличествоПарПлан, 0 КАК КоличествоПарФакт ПОМЕСТИТЬ ВТ_План0Факт ИЗ ВТ_План КАК ВТ_План ГДЕ НЕ (ВТ_План.ТемаВычитки, ВТ_План.ГруппаСтудентов) В (ВЫБРАТЬ ВТ_План.ТемаВычитки КАК ТемаВычитки, ВТ_План.ГруппаСтудентов КАК ГруппаСтудентов ИЗ ВТ_План КАК ВТ_План, ВТ_Факт КАК ВТ_Факт ГДЕ ВТ_План.ГруппаСтудентов = ВТ_Факт.ГруппаОбучения И ВТ_Факт.ТемаВычитки = ВТ_План.ТемаВычитки И ВТ_Факт.СобытиеЗанятости = ВТ_План.СобытиеЗанятости) СГРУППИРОВАТЬ ПО ВТ_План.ГруппаСтудентов, ВТ_План.ТемаВычитки, ВТ_План.КоличествоПар ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ПланФакт.ГруппаСтудентов КАК ГруппаСтудентов, ВТ_ПланФакт.ТемаВычитки КАК ТемаВычитки, ВТ_ПланФакт.КоличествоПарПлан КАК КоличествоПарПлан, ВТ_ПланФакт.КоличествоПарФакт КАК КоличествоПарФакт, ВЫРАЗИТЬ(ВТ_ПланФакт.КоличествоПарФакт / ВТ_ПланФакт.КоличествоПарПлан * 100 КАК ЧИСЛО(15, 2)) КАК Освоено, ВТ_ПланФакт.СобытиеЗанятости КАК СобытиеЗанятости ПОМЕСТИТЬ ВТ_Общее ИЗ ВТ_ПланФакт КАК ВТ_ПланФакт ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВТ_План0Факт.ГруппаСтудентов, ВТ_План0Факт.ТемаВычитки, ВТ_План0Факт.КоличествоПарПлан, ВТ_План0Факт.КоличествоПарФакт, ВЫРАЗИТЬ(ВТ_План0Факт.КоличествоПарФакт / ВТ_План0Факт.КоличествоПарПлан * 100 КАК ЧИСЛО(15, 2)), NULL ИЗ ВТ_План0Факт КАК ВТ_План0Факт ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Общее.ГруппаСтудентов КАК ГруппаСтудентов, ВЫРАЗИТЬ(СУММА(ВТ_Общее.Освоено) / КОЛИЧЕСТВО(ВТ_Общее.Освоено) КАК ЧИСЛО(15, 2)) КАК ОсвоеноВсего ПОМЕСТИТЬ ВТ_ОсвоеноВсего ИЗ ВТ_Общее КАК ВТ_Общее СГРУППИРОВАТЬ ПО ВТ_Общее.ГруппаСтудентов ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВЫРАЗИТЬ(СУММА(ВТ_ОсвоеноВсего.ОсвоеноВсего) / КОЛИЧЕСТВО(ВТ_ОсвоеноВсего.ОсвоеноВсего) КАК ЧИСЛО(15, 2)) КАК ОбщийПроцент ПОМЕСТИТЬ ВТ_ОбщийПроцент ИЗ ВТ_ОсвоеноВсего КАК ВТ_ОсвоеноВсего ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Общее.ТемаВычитки КАК Тема, ВТ_Общее.ГруппаСтудентов КАК ГруппаСтудентов, ВТ_Общее.Освоено КАК Освоено, ВТ_Общее.КоличествоПарПлан КАК Всего, ВТ_Общее.КоличествоПарФакт КАК Вычитано, "" КАК Заголовок, Посещаемость.Дата КАК Дата, ВТ_Общее.СобытиеЗанятости КАК СобытиеЗанятости ПОМЕСТИТЬ ВТ_Посещаемость ИЗ ВТ_Общее КАК ВТ_Общее ЛЕВОЕ СОЕДИНЕНИЕ Документ.Посещаемость КАК Посещаемость ПО (ВТ_Общее.ТемаВычитки = Посещаемость.ТемаВычитки) И (ВТ_Общее.ГруппаСтудентов = Посещаемость.ГруппаСтудентов) И (Посещаемость.СобытиеЗанятости = ВТ_Общее.СобытиеЗанятости) ГДЕ Посещаемость.Дата МЕЖДУ &МесяцВычитки И &КонецПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Общее.ТемаВычитки КАК Тема, ВТ_Общее.ГруппаСтудентов КАК ГруппаСтудентов, ВТ_ОсвоеноВсего.ОсвоеноВсего КАК ОсвоеноВсего, ВТ_Общее.Освоено КАК Освоено, ВТ_Общее.КоличествоПарПлан КАК Всего, ВТ_Общее.КоличествоПарФакт КАК Вычитано, ВТ_ОбщийПроцент.ОбщийПроцент КАК ОбщийПроцент, "" КАК Заголовок, ВТ_Посещаемость.Дата КАК Дата ИЗ ВТ_Общее КАК ВТ_Общее ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОсвоеноВсего КАК ВТ_ОсвоеноВсего ПО (ВТ_Общее.ГруппаСтудентов = ВТ_ОсвоеноВсего.ГруппаСтудентов) ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Посещаемость КАК ВТ_Посещаемость ПО (ВТ_Общее.ГруппаСтудентов = ВТ_Посещаемость.ГруппаСтудентов) И (ВТ_Посещаемость.Тема = ВТ_Общее.ТемаВычитки) И (ВТ_Общее.СобытиеЗанятости = ВТ_Посещаемость.СобытиеЗанятости), ВТ_ОбщийПроцент КАК ВТ_ОбщийПроцент. Должно выглядеть так: Группа 1 2 3 Тема Дата1 Дата2 Дата3 |
|||
1
СвинТуз
10.10.25
✎
15:52
|
Правильно заданный вопрос = половина ответа
|
|||
2
poofik
10.10.25
✎
15:59
|
(1) нужно составить запрос так чтобы у меня в отчете выводились дату в одну строку
|
|||
3
lEvGl
гуру
10.10.25
✎
16:04
|
(2) ну так а вывод то где
в наше время макетом даже котов называют, а вы о чем? + структура отчета стремная что то |
|||
4
Волшебник
10.10.25
✎
16:02
|
(2) Не нужно.
|
|||
5
СвинТуз
10.10.25
✎
16:26
|
(2)
Если СКД то есть функции сбора в массив. Массив выводится. Простыней накидали. Кто их читать будет? Если обычный отчет, то тоже (4) не нужно. Не видно по запросу итога. Простыня длинная. |
|||
6
spiller26
10.10.25
✎
16:32
|
(0) Вот вы пишите, что нифига не понятно.
Что вы используете СКД или через обычное формирование. Вам нужно колонки с датами или в строку всё загнать? |
|||
7
СвинТуз
10.10.25
✎
16:30
|
В запросе очень с натугой идет преобразование типов.
Способ я видел как из двух дат в запросе сделать одну строку. Но оно вам "не нужно" (С). |
|||
8
spiller26
10.10.25
✎
16:34
|
(0) Шаблон выходной можно в студию, как пользователи это хотят видеть то.
|
|||
9
Волшебник
10.10.25
✎
16:37
|
(8) Ну какие пользователи... Это ж курсач
|
|||
10
Garykom
гуру
10.10.25
✎
16:56
|
Странное переусложнение для курсача
Любой нормальный препод задаст пару вопросов по коду и завалит Имхо в студенческих поделках запросы надо использовать только простейшие и короткие, не больше одного экранчика Все прочее делать кодом, причем простым и понятным - самокомментируемым |
|||
11
Волшебник
10.10.25
✎
16:57
|
(10) Студент хотел произвести впечатление на препода глубиной своих познаний языка запросов 1С
|
|||
12
unenu
10.10.25
✎
17:22
|
(10) названия ВТ логичные и точные.
эта ПОМЕСТИТЬ ВТ_ОсвоеноВсего душу греет. Возможно будет классным разрабом. |
|||
13
Маленький Вопросик
10.10.25
✎
18:04
|
(0) вот посмотри, как даты охватить, если типовая на БСП https://infostart.ru/1c/articles/2478491/
|
|||
14
Garykom
гуру
10.10.25
✎
18:33
|
(12) В первом же ВТ_План объясните нахрена там СГРУППИРОВАТЬ ???
Что и зачем он группирует? Почему не просто ВЫБРАТЬ РАЗЛИЧНЫЕ? |
|||
15
Garykom
гуру
10.10.25
✎
18:34
|
Короче запросы с говнотекстом, походу написаны ИИ
Без понимания детального что и зачем делается Любой вопрос от препода - будет плавать.. |
|||
16
Garykom
гуру
10.10.25
✎
18:38
|
Часть же ВТ_План0Факт с подзапросом совсем пипец
Нахрена? Как минимум надо другие имена в подзапросе Да и зачем подзапрос когда можно еще одну ВТ и тупо соединить с ней? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |