Есть форма списка документов (динамический список). Выводит документ одного типа - скажем документ "Заказ". Есть несколько регистров сведений.
Вывод данных из регистров получается достаточно простым (рагистры не периодические).
ВЫБРАТЬ ЗаказДокументы.Ссылка, ЗаказДокументы.ПометкаУдаления, ЗаказДокументы.Номер, ЗаказДокументы.Дата, ЗаказДокументы.Проведен, ЗаказДокументы.Примечание, ЗаказДокументы.Автор, ЗаказСтатус.Статус, ЗаказСтатусФлаг.Выполнен ИЗ РегистрСведений.СтатусыЗаказов КАК ЗаказСтатус ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заказ КАК ЗаказДокументы ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаказФлаг КАК ЗаказСтатусФлаг ПО (ЗаказСтатусФлаг.Заказ = ЗаказДокументы.Ссылка) ПО (ЗаказСтатус.Заказ = ЗаказДокументы.Ссылка)
У документа есть подчиненный документ. В подчиненном документе есть некий реквизит. Как бы его вывести (этот реквизит)? Причем надо брать данные из последнего подчиненного документа.
Как-то так.
ЗЫ: Вариант с еще одним регистром сведений понятен, а вот если без него (регистра).
----------------------------------------------------------------------------------- Единственный, интуитивно понятный интерфейс - мамкина сиська! Всему остальному надо учиться! (с) Не знаю кто....
ВЫБРАТЬ ЗаказДокументы.Ссылка, ЗаказДокументы.ПометкаУдаления, ЗаказДокументы.Номер, ЗаказДокументы.Дата, ЗаказДокументы.Проведен, ЗаказДокументы.Примечание, ЗаказДокументы.Автор, ЗаказСтатус.Статус, ЗаказСтатусФлаг.Выполнен, ЗаказПервичка.Контрагент ИЗ РегистрСведений.СтатусыЗаказов КАК ЗаказСтатус ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заказ КАК ЗаказДокументы ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаказФлаг КАК ЗаказСтатусФлаг ПО (ЗаказСтатусФлаг.Заказ = ЗаказДокументы.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПервичнаяИнформация КАК ЗаказПервичка ПО ЗаказДокументы.Ссылка = ЗаказПервичка.Заказ ПО ЗаказСтатус.Заказ = ЗаказДокументы.Ссылка
выводит 8 (ВОСЕМЬ) строк вместо одной, так как подчиненных документов 8. мне нужно взять: ПОСЛЕДНИЙ
Цитата(pablo @ 15.03.11, 12:29)
Есть вариант построить вложенный запрос вида
Выбрать ПЕРВЫЕ 1 поля заказа из Документ.Заказ как Заказ где Заказ.Владелец=&Владелец Упорядочить по Дата Убыв
Но это не самый лучший вариант, так как привязан к параметру
Внешние параметры возможности использовать нету. К сожалению не подходит.
Цитата(pablo @ 15.03.11, 12:29)
Есть вариант построить вложенный запрос вида
Выбрать ПЕРВЫЕ 1 поля заказа из Документ.Заказ как Заказ где Заказ.Владелец=&Владелец Упорядочить по Дата Убыв
Но это не самый лучший вариант, так как привязан к параметру
Вроде как прошел следующий вариант:
ВЫБРАТЬ ЗаказДокументы.Ссылка, ЗаказДокументы.ПометкаУдаления, ЗаказДокументы.Номер, ЗаказДокументы.Дата, ЗаказДокументы.Проведен, ЗаказДокументы.Примечание, ЗаказДокументы.Автор, ЗаказСтатус.Статус, ЗаказСтатусФлаг.Выполнен ИЗ РегистрСведений.СтатусыЗаказов КАК ЗаказСтатус ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заказ КАК ЗаказДокументы ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаказФлаг КАК ЗаказСтатусФлаг ПО (ЗаказСтатусФлаг.Заказ = ЗаказДокументы.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1 ЗаказПервичка.Заказ КАК Заказ, ЗаказПервичка.Контрагент КАК Контрагент, ЗаказПервичка.Дата КАК Дата ИЗ Документ.ЗаказПервичнаяИнформация КАК ЗаказПервичка
УПОРЯДОЧИТЬ ПО ЗаказПервичка.Дата УБЫВ) КАК ВложенныйЗапрос ПО (ВложенныйЗапрос.Заказ = ЗаказДокументы.Ссылка) ПО ЗаказСтатус.Заказ = ЗаказДокументы.Ссылка
----------------------------------------------------------------------------------- Единственный, интуитивно понятный интерфейс - мамкина сиська! Всему остальному надо учиться! (с) Не знаю кто....
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0
единственная идея, которая в голове крутится: сделать пакетный запрос, подзапрос вынести в отдельный запрос и организовать в нем группировку по владельцу
Правильно поставленный вопрос содержит до 90% ответа.
единственная идея, которая в голове крутится: сделать пакетный запрос, подзапрос вынести в отдельный запрос и организовать в нем группировку по владельцу
Динамический список не поддерживает объединения
----------------------------------------------------------------------------------- Единственный, интуитивно понятный интерфейс - мамкина сиська! Всему остальному надо учиться! (с) Не знаю кто....
Вот пример запроса который через документ ПКО получит любой реквезить документа Реализация или ссылку на документ.
ВЫБРАТЬ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка КАК СсылкаПКО, РеализацияТоваровУслуг.Ссылка КАК СсылкаРТУ ИЗ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ПО ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка = РеализацияТоваровУслуг.Ссылка ГДЕ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата <= &Дата
если это то.
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности. Оскар Уайлд
Вот пример запроса который через документ ПКО получит любой реквезить документа Реализация или ссылку на документ.
ВЫБРАТЬ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка КАК СсылкаПКО, РеализацияТоваровУслуг.Ссылка КАК СсылкаРТУ ИЗ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ПО ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сделка = РеализацияТоваровУслуг.Ссылка ГДЕ ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата <= &Дата
если это то.
В динамический список НЕЛЬЗЯ передать параметры!
----------------------------------------------------------------------------------- Единственный, интуитивно понятный интерфейс - мамкина сиська! Всему остальному надо учиться! (с) Не знаю кто....
Уберите параметр Дата. В запросе мне пришлось его использовать для того чтобы ограничить выборку.
Дык, не в дате дело то.
Если я использую только регистры сведений (в которых кстати по 1-й записи, ссылающихся на документ) то все нормально. А вот если, еще использовать Н-ую таблицу в которой более 1-й ссылки, то выходит "партак".
Так как выборка происходит из 2-х (или более, не важно) таблиц - то и количество строк выборки больше. На примере: -Таблица 1 - заказ 1 - заказ 2 - заказ 3 - Таблица 2 - подчиненый документ 1, ссылка на заказ 1 - подчиненый документ 2, ссылка на заказ 1 - подчиненый документ 3, ссылка на заказ 2 - подчиненый документ 4, ссылка на заказ 1 - подчиненый документ 5, ссылка на заказ 3
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!