v8: Динамический список Табличная часть #549012


#0 by TeNTeN
В форме списка есть динамический список. В нем произвольный запрос, выбирается табличная часть документа: ИЗ    Документ.УправляющийДокумент.Контроль КАК УправляющийДокументКонтроль Пока основная таблица в динамическом списке не задана, все отрабатывается корректно. При задании основной таблицы "Документ.УправляющийДокумент" выдается ошибка: Ошибка при выполнении запроса. Ошибка при выполнении запроса. по причине: {(1, 29)}: Поле не найдено "УправляющийДокументКонтроль.Дата" УправляющийДокументКонтроль.<<?>>Дата Как изменить запрос, что бы не вываливалась ошибка. Что бы была задана основная таблица, то есть отрабатывались стандартные команды на динамическом списке: открытие документа по enter, ввод нового документа и пр.
#1 by Mitriy
динамический список с указанием основной таблицы не может содержать повторяющиеся ключи этой таблицы...
#2 by TeNTeN
Хм. Понятно. Можно скорректировать задачу. Как можно отобрать в запросе допустим по одной строке таб части (тогда как я понимаю не будет дублей ключей). В таб части есть реквизит ДатаКонтроля, тип дата. Надо вывести документы с самой ранней датой.
#3 by nbIx
Выбирай из основной таблицы документа и соединяй с табличной частью с условием отбора какой-нить конкретной строки. ТаблицаДокумента КАК Таблица ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДокумента.ТабличнаяЧасть ПО КАК ТабЧасть ПО ТачЧасть.Ссылка = Таблица.Ссылка И ТачЧасть.НомерСтроки = 1
#4 by TeNTeN
"с условием отбора какой-нить конкретной строки" вот это как делается подскажите?
#5 by nbIx
ТачЧасть.НомерСтроки = 1
#6 by TeNTeN
Не много не так вопрос задал. Как отсортироватся в таб части и взять строчку с самой ранней датой (реквизит ДатаКонтроля, тип дата)
#7 by Mitriy
я бы сделал связь документа по ссылке с вложенным запросом по табчасти, в свою очередь сгруппированным по ссылке и с минимумом по дате...
#8 by TeNTeN
Можно пример?
#9 by Mitriy
ВЫБРАТЬ    ВложенныйЗапрос.Цена ИЗ
#10 by nbIx
Ага и на больших объемах данных ты получишь тормоза.
#11 by Mitriy
есть вариант завести реквизит документа с минимальной датой в табчасти... другого не вижу...
#12 by nbIx
Сколько этих документов всего? Если немного то подойдет , если десятки-сотни тысяч  то
#13 by Mitriy
+ если не обсуждать вариант, а на фига это вообще нужно...
#14 by nbIx
В принципе да))
#15 by TeNTeN
Порядок документов - тысячи Для меня не вариант. В таб части есть реквизит пользователь. То есть дата контроля для каждого пользователя своя.
#16 by Mitriy
ну сделай ... потом поделишься впечатлениями...
#17 by TeNTeN
Суть. Каждый пользователь ставит себе несколько точек контроля (ДатаКонтроля, Пользователь, Комментарий). Надо для каждого конкретного пользователя вывести список всех его точек контроля. После пофильтровать как захочет.
#18 by TeNTeN
Хотелось все это сделать в динамическом списке. Есть канечно варианты выводить по другому, но это менее удобно в рамках общей задачи.
#19 by detec
Всё в динамическом списке в итоге сводится к построению правильного запроса. И не нужно ничего мудрить. Да, если использовать МАКСИМУМ или дргуие аггрегирующие функции, то на 3-4 тысячах записей динамический список открывается 2-3 секунды на файловой базе.
#20 by TeNTeN
постгресс поковыряюсь с запросом, поглядим что получится
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям