Нужна помощь с запросом Надо выбрать все документы, в которых каждая строчка табличной части содержит реквизит равный заданному условию. |
бухгалтерия 6.0 ?? |
И в чём проблема? Варианты: 1) Отбираешь все документы, у которых есть хотя бы одна строка с нужным значением в один список, все документы, у которых есть хотя бы одна строка со значением отличным от нужного в другой список. Соединяешь. Результат анализируешь (Вариант: выбираешь из первого списка всех, отсутствующих во втором) 2)Отбираешь все документы, у которых есть хотя бы одна строка с нужным значением в один список. Выбираешь из ТЧ отобранных документов поле с искомым значением и группируешь по ссылке с агрегатной функцией КоличествоРазличных по твоему полю. Сгруппированный презультат анализируешь |
Конфа самописная. Пока у меня только два варианта: 1. Сравнивать количество строк 2. Выбрать все документы, которые не удовлетворяют заданному условию, и затем соединять с документами указываю что выбрать не равные этим. |
2-roma n >а "пошустрее" запрос возможен? |
1-101 > раздел v8. ==== OFF интересно, кто-нить ещё надеется на нормальное отображение разделов в списке/теме? |
4-gematogen > какой из вариантов будет шустрее зависит от конкретного наполнения базы. Исходя из контекста задачи может оказаться уместным пойти на дополнительную избыточность данных: например, перед записью документа если все его строки содержат одно и то же значение писать это значение в служебный реквизит документа. Тогда никакие ухищрения с подсчётом/анализом всех строк будут не нужны... |
6-roma n > ясно, спасибо за участие Как раз задача и стояла реализовать эту избыточность, но надо заполнить уже в существующих документах реквизит. В принципе задача разовая, но ради спортивного интереса поинтересовался о более "интересном" варианте реализации задачи. |
(5) "Бес шансоффф" (0) ВЫБРАТЬ Список.Ссылка ИЗ ( ВЫБРАТЬ РАЗЛИЧНЫЕ Список.Ссылка ИЗ Документ.ХХХ.Табчасть ГДЕ Реквизит = &Условие ) КАК Список ЛЕВОЕ СОЕДИНЕНИЕ Документ.ХХХ.Табчасть КАК Поиск ПО Список.Ссылка = Поиск.Ссылка И Поиск.Реквизит <> &Условие ГДЕ Поиск.Ссылка ЕСТЬ NULL |
Текущее время: 03:07. Часовой пояс GMT +3. |