Кипение мозга породило:
Есть форма списка документов (динамический список).
Выводит документ одного типа - скажем документ "Заказ".
Есть несколько регистров сведений.
Вывод данных из регистров получается достаточно простым (рагистры не периодические).
ВЫБРАТЬ
ЗаказДокументы.Ссылка,
ЗаказДокументы.ПометкаУдаления,
ЗаказДокументы.Номер,
ЗаказДокументы.Дата,
ЗаказДокументы.Проведен,
ЗаказДокументы.Примечание,
ЗаказДокументы.Автор,
ЗаказСтатус.Статус,
ЗаказСтатусФлаг.Выполнен
ИЗ
РегистрСведений.СтатусыЗаказов КАК ЗаказСтатус
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заказ КАК ЗаказДокументы
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаказФлаг КАК ЗаказСтатусФлаг
ПО (ЗаказСтатусФлаг.Заказ = ЗаказДокументы.Ссылка)
ПО (ЗаказСтатус.Заказ = ЗаказДокументы.Ссылка)
Хоть бы послали куда...
DartRomanius, посмотрите стандартный механизм "Структура подчинённости".
х
Fynjy прав (+100), начните с документа который вам нужен, поставте условие
| ГДЕ <Документ>.ДокументОснование.Ссылка = <Документ заказ>
и выбирайте все что нужно.
Есть вариант построить вложенный запрос вида
Выбрать ПЕРВЫЕ 1
поля заказа
из Документ.Заказ как Заказ
где Заказ.Владелец=&Владелец
Упорядочить по Дата Убыв
Код.
ВЫБРАТЬ
ЗаказДокументы.Ссылка,
ЗаказДокументы.ПометкаУдаления,
ЗаказДокументы.Номер,
ЗаказДокументы.Дата,
ЗаказДокументы.Проведен,
ЗаказДокументы.Примечание,
ЗаказДокументы.Автор,
ЗаказСтатус.Статус,
ЗаказСтатусФлаг.Выполнен,
ЗаказПервичка.Контрагент
ИЗ
РегистрСведений.СтатусыЗаказов КАК ЗаказСтатус
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заказ КАК ЗаказДокументы
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаказФлаг КАК ЗаказСтатусФлаг
ПО (ЗаказСтатусФлаг.Заказ = ЗаказДокументы.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПервичнаяИнформация КАК ЗаказПервичка
ПО ЗаказДокументы.Ссылка = ЗаказПервичка.Заказ
ПО ЗаказСтатус.Заказ = ЗаказДокументы.Ссылка
Выбрать ПЕРВЫЕ 1
поля заказа
из Документ.Заказ как Заказ
где Заказ.Владелец=&Владелец
Упорядочить по Дата Убыв
ВЫБРАТЬ
ЗаказДокументы.Ссылка,
ЗаказДокументы.ПометкаУдаления,
ЗаказДокументы.Номер,
ЗаказДокументы.Дата,
ЗаказДокументы.Проведен,
ЗаказДокументы.Примечание,
ЗаказДокументы.Автор,
ЗаказСтатус.Статус,
ЗаказСтатусФлаг.Выполнен
ИЗ
РегистрСведений.СтатусыЗаказов КАК ЗаказСтатус
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заказ КАК ЗаказДокументы
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаказФлаг КАК ЗаказСтатусФлаг
ПО (ЗаказСтатусФлаг.Заказ = ЗаказДокументы.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
ЗаказПервичка.Заказ КАК Заказ,
ЗаказПервичка.Контрагент КАК Контрагент,
ЗаказПервичка.Дата КАК Дата
ИЗ
Документ.ЗаказПервичнаяИнформация КАК ЗаказПервичка
УПОРЯДОЧИТЬ ПО
ЗаказПервичка.Дата УБЫВ) КАК ВложенныйЗапрос
ПО (ВложенныйЗапрос.Заказ = ЗаказДокументы.Ссылка)
ПО ЗаказСтатус.Заказ = ЗаказДокументы.Ссылка
Всем принимавшим участие большое спасибо.
Вроде получилось.
Без параметра может быть пустое значение поля. Но как от параметра корректно избавиться - ума не приложу
единственная идея, которая в голове крутится: сделать пакетный запрос, подзапрос вынести в отдельный запрос и организовать в нем группировку по владельцу
Вот пример запроса который через документ ПКО получит любой реквезить документа Реализация или ссылку на документ.
ВЫБРАТЬ
ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка КАК СсылкаПКО,
РеализацияТоваровУслуг.Ссылка КАК СсылкаРТУ
ИЗ
Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ПО ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка = РеализацияТоваровУслуг.Ссылка
ГДЕ
ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата <= &Дата
ВЫБРАТЬ
ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка КАК СсылкаПКО,
РеализацияТоваровУслуг.Ссылка КАК СсылкаРТУ
ИЗ
Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ПО ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка = РеализацияТоваровУслуг.Ссылка
ГДЕ
ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата <= &Дата
*
В запрос динамического списка, нельзя передать параметры
С регистром сведений будет проще и для написания, и для сервера. Потому как усложнять запрос -> нагружать сервер.
Уберите параметр Дата. В запросе мне пришлось его использовать для того чтобы ограничить выборку.
А группировать по заказу разве нельзя? Сделайте группировку по ЗаказСсылка.
Когда возникла нужда использовать параметр, я таки докопался.
Описываем динамический список произвольным запросом, в тексте которого используем параметры. Затем в коде задаем параметры значением следующим образом:
Список.Параметры.УстановитьЗначениеПараметра("ИмяПараметра",ЗначениеПараметра);
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua