powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Отчет 1С8
1 сообщений из 1, страница 1 из 1
Отчет 1С8
    #35847416
Nata75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет! Помогите!!!
Нужно сделать отчет. Есть справочник Подстанции, поля: Наименование, Тип, Месторасположение. Есть Устройства - Регистраторы и Концентраторы. У Регистраторов и Концентраторов своя жизнь - Запрограммированы, Отданы, Установлены, Сняты и эта жизнь проходит по разным РегистрамСведений - РегистрСведений.ЖизньРегистраторов и ЖизньКонцентраторов. В каждом из Регистров Сведений есть поле-ссылка Подстанции куда установлены устройства. Надо сделать отчет "Устройства на подстанциях", причем, если нет устройств, то Подстанции тоже должны выводиться, но с пустыми полями Регистраторы и Концентраторы. Проблема - 1. Если делаю запрос с объединением куда выбираю вначале Подстанции, которые не въходят в Регистры сведений (значит на них нет устройств), затем вторым запросом выбираю Жизнь Регистраторов и Жизнь Концентраторов - получается если есть И регистратор И концентратор, то подстанция выводится, если нет хотя бы одного из устройств подстанция не выводится, если делаю запрос с объединением 3-х запросов - вначале подстанции, затем Регистраторы, затем Концентраторы, то выводится все правильно, но в 2-х строках, т.е. получается сколько устройств столько строк с подстанцией, а надо чтобы подстанция выводилась одной строкой и если есть устройство, то чтобы выводилось, если нет - то пусто. Как сделать из двух регистров сведений такой отчет чтобы выводилось в одну строку - не знаю. Вот запрос:
......
Макет = ОтчетОбъект.ПолучитьМакет("ОтчетУСПДНаПодстанциях");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Подстанции.Наименование КАК Наименование,
| Подстанции.ПредставлениеМесторасположенияПодстанции,
| Подстанции.Примечание,
| NULL КАК РегистраторАИИСКУЭ,
| NULL КАК РегистраторАИИСКУЭПредставление,
| NULL КАК РегистраторАИИСКУЭНомерРегистратора,
| NULL КАК РегистраторАИИСКУЭТипРегистратора,
| NULL КАК РегистраторАИИСКУЭТипРегистратораПредставление,
| NULL КАК Концентратор,
| NULL КАК КонцентраторПредставление,
| NULL КАК КонцентраторНомерКонцентратора,
| NULL КАК КонцентраторТипКонцентратора,
| NULL КАК КонцентраторТипКонцентратораПредставление,
| NULL КАК Подстанция,
| NULL КАК ПодстанцияПредставление,
| NULL КАК Примечание1
|ИЗ
| Справочник.Подстанции КАК Подстанции
|ГДЕ
| (НЕ Подстанции.Ссылка В
| (ВЫБРАТЬ
| ЖизньРегистраторовАИИСКУЭСрезПоследних.Подстанция
| ИЗ
| РегистрСведений.ЖизньРегистраторовАИИСКУЭ.СрезПоследних КАК ЖизньРегистраторовАИИСКУЭСрезПоследних
| ГДЕ
| ЖизньРегистраторовАИИСКУЭСрезПоследних.Состояние = &Состояние))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Подстанции.Наименование,
| Подстанции.ПредставлениеМесторасположенияПодстанции,
| Подстанции.Примечание,
| ЖизньРегистраторовАИИСКУЭСрезПоследних.РегистраторАИИСКУЭ,
| ПРЕДСТАВЛЕНИЕ(ЖизньРегистраторовАИИСКУЭСрезПоследних.РегистраторАИИСКУЭ),
| ЖизньРегистраторовАИИСКУЭСрезПоследних.РегистраторАИИСКУЭ.НомерРегистратора,
| ЖизньРегистраторовАИИСКУЭСрезПоследних.РегистраторАИИСКУЭ.ТипРегистратора,
| ПРЕДСТАВЛЕНИЕ(ЖизньРегистраторовАИИСКУЭСрезПоследних.РегистраторАИИСКУЭ.ТипРегистратора),
| ЖизньКонцентраторовАИИСКУЭСрезПоследних.Концентратор,
| ПРЕДСТАВЛЕНИЕ(ЖизньКонцентраторовАИИСКУЭСрезПоследних.Концентратор),
| ЖизньКонцентраторовАИИСКУЭСрезПоследних.Концентратор.НомерКонцентратора,
| ЖизньКонцентраторовАИИСКУЭСрезПоследних.Концентратор.ТипКонцентратора,
| ПРЕДСТАВЛЕНИЕ(ЖизньКонцентраторовАИИСКУЭСрезПоследних.Концентратор.ТипКонцентратора),
| ЖизньКонцентраторовАИИСКУЭСрезПоследних.Подстанция,
| ПРЕДСТАВЛЕНИЕ(ЖизньКонцентраторовАИИСКУЭСрезПоследних.Подстанция),
| ЖизньКонцентраторовАИИСКУЭСрезПоследних.Примечание
|ИЗ
| РегистрСведений.ЖизньРегистраторовАИИСКУЭ.СрезПоследних КАК ЖизньРегистраторовАИИСКУЭСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Подстанции КАК Подстанции
| ПО ЖизньРегистраторовАИИСКУЭСрезПоследних.Подстанция = Подстанции.Ссылка,
| РегистрСведений.ЖизньКонцентраторовАИИСКУЭ.СрезПоследних КАК ЖизньКонцентраторовАИИСКУЭСрезПоследних
|ГДЕ
| ЖизньКонцентраторовАИИСКУЭСрезПоследних.Состояние = &СостояниеКонцентратора
| И ЖизньРегистраторовАИИСКУЭСрезПоследних.Состояние = &СостояниеРегистратора
|
|УПОРЯДОЧИТЬ ПО
| Наименование";

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


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