|
|
|
Отбор в запросе по набору разрезов
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть документ, структура табличной части которого: Разрез - ссылка на ПВХ Значение - характеристика Вопрос: Нужно с помощью запроса выполнить отбор документов. В качестве параметра отбора передается таблица аналогичная табличной части документа. Проблема в одновременном отборе по нескольким комбинациям "Разрез - Значение". Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 10:42 |
|
||
|
Отбор в запросе по набору разрезов
|
|||
|---|---|---|---|
|
#18+
Ну в чем проблема? 1. Создаем временную таблицу в запросе (Выбирая данные из таблицы значений) 2. через внутренне соединение делаем свзязь этой временной таблицы с табличной частью интересующего документа по 2 реквизитам 3 группируем полученные данные по ссылке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 11:07 |
|
||
|
Отбор в запросе по набору разрезов
|
|||
|---|---|---|---|
|
#18+
Это да! Для случая, когда в таблице отбора 1 строка. Когда более - если по одному из разрезов есть совпадение, то документ попадает в результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 11:10 |
|
||
|
Отбор в запросе по набору разрезов
|
|||
|---|---|---|---|
|
#18+
Вы наверно меня не поняли или я я Вас. Попробую разжевать Нужно написать что типо этого (ТЗ - таблица значений содержащий необходимые Вам данные) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 11:33 |
|
||
|
Отбор в запросе по набору разрезов
|
|||
|---|---|---|---|
|
#18+
Я такой вариант пробовал. Если есть совпадение по одной скроке из таблицы отборов, но нет по остальным - документ все равно попадает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 11:45 |
|
||
|
Отбор в запросе по набору разрезов
|
|||
|---|---|---|---|
|
#18+
Ну тогда чуть модифицируйте запрос. Добавьте счетчик количества строк А именно, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 11:54 |
|
||
|
Отбор в запросе по набору разрезов
|
|||
|---|---|---|---|
|
#18+
Правда мой вариант будет работать при уникальности данных в табличной части и таблице значений. Но если еще немного модифицировать запрос, а именно вначале свернуть таблицу значений (чтобы она была уникальной), а также в самом запросе вначале получиить разрез значение из документов с группировкой по ним и документу, выгрузив это во временную таблицу а лишь потом установить количество 1, то будет универсально работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 12:00 |
|
||
|
Отбор в запросе по набору разрезов
|
|||
|---|---|---|---|
|
#18+
Спасибо! за решение! Я сделал чуть по дуругому: Индекс = Индекс + 1; МассивСтрок = Новый Массив(); МассивСтрок.Добавить(Строка); ТаблицаОтбора = РазрезыПланирования.Скопировать(МассивСтрок); Запрос.УстановитьПараметр("ТаблицаОтбора" ТаблицаОтбора); Запрос.Текст = "ВЫБРАТЬ | ТаблицаОтбора.РазрезПланирования | ТаблицаОтбора.Значение |ПОМЕСТИТЬ ТаблицаОтбора"+Индекс+" |ИЗ | &ТаблицаОтбора КАК ТаблицаОтбора"; Запрос.Выполнить(); КонецЦикла; КонецЕсли; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | мтоЛимитыЗаявочнойКомпании.Ссылка КАК Лимит | мтоЛимитыЗаявочнойКомпании.ДатаНачала | ЕСТЬNULL(мтоОборотыПоЛимитамОбороты.СуммаОборот 0) КАК Сумма |ИЗ | Документ.мтоЛимитыЗаявочнойКомпании КАК мтоЛимитыЗаявочнойКомпании | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.мтоОборотыПоЛимитам.Обороты КАК мтоОборотыПоЛимитамОбороты | ПО мтоЛимитыЗаявочнойКомпании.Ссылка = мтоОборотыПоЛимитамОбороты.Лимит"; Для Сч = 1 по Индекс Цикл Запрос.Текст = Запрос.Текст +" | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаОтбора"+Сч+" КАК ТаблицаОтбора"+Сч+" | ПО мтоЛимитыЗаявочнойКомпании.РазрезыПланирования.Значение = ТаблицаОтбора"+Сч+".Значение | И мтоЛимитыЗаявочнойКомпании.РазрезыПланирования.РазрезПланирования = ТаблицаОтбора"+Сч+".РазрезПланирования |"; КонецЦикла; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 12:10 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36896383&tid=1521940]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 490ms |

| 0 / 0 |
