К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Нужна помощь с запросом

Гость
0 - 10.07.2012 - 07:55
Надо выбрать все документы, в которых каждая строчка табличной части содержит реквизит равный заданному условию.


Гость
1 - 10.07.2012 - 07:56
бухгалтерия 6.0 ??
Гость
2 - 10.07.2012 - 08:00
И в чём проблема?
Варианты:
1) Отбираешь все документы, у которых есть хотя бы одна строка с нужным значением в один список, все документы, у которых есть хотя бы одна строка со значением отличным от нужного в другой список. Соединяешь. Результат анализируешь (Вариант: выбираешь из первого списка всех, отсутствующих во втором)
2)Отбираешь все документы, у которых есть хотя бы одна строка с нужным значением в один список. Выбираешь из ТЧ отобранных документов поле с искомым значением и группируешь по ссылке с агрегатной функцией КоличествоРазличных по твоему полю. Сгруппированный презультат анализируешь
Гость
3 - 10.07.2012 - 08:01
Конфа самописная.
Пока у меня только два варианта:
1. Сравнивать количество строк
2. Выбрать все документы, которые не удовлетворяют заданному условию, и затем соединять с документами указываю что выбрать не равные этим.
Гость
4 - 10.07.2012 - 08:02
2-roma n >а "пошустрее" запрос возможен?
Гость
5 - 10.07.2012 - 08:03
1-101 > раздел v8.
====
OFF интересно, кто-нить ещё надеется на нормальное отображение разделов в списке/теме?
Гость
6 - 10.07.2012 - 08:12
4-gematogen > какой из вариантов будет шустрее зависит от конкретного наполнения базы.

Исходя из контекста задачи может оказаться уместным пойти на дополнительную избыточность данных: например, перед записью документа если все его строки содержат одно и то же значение писать это значение в служебный реквизит документа. Тогда никакие ухищрения с подсчётом/анализом всех строк будут не нужны...
Гость
7 - 10.07.2012 - 08:15
6-roma n > ясно, спасибо за участие
Как раз задача и стояла реализовать эту избыточность, но надо заполнить уже в существующих документах реквизит. В принципе задача разовая, но ради спортивного интереса поинтересовался о более "интересном" варианте реализации задачи.
Гость
8 - 10.07.2012 - 08:18
(5) "Бес шансоффф"
(0)
ВЫБРАТЬ Список.Ссылка
ИЗ
(
ВЫБРАТЬ РАЗЛИЧНЫЕ Список.Ссылка
ИЗ Документ.ХХХ.Табчасть
ГДЕ Реквизит = &Условие
) КАК Список
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ХХХ.Табчасть КАК Поиск
ПО
Список.Ссылка = Поиск.Ссылка
И Поиск.Реквизит <> &Условие
ГДЕ
Поиск.Ссылка ЕСТЬ NULL


К списку вопросов






Copyright ©, Все права защищены