|
Как получить номенклатуру, спецификация которой содержит необходимые значения рабочих мест | ☑ | ||
---|---|---|---|---|
0
Archi91
30.11.21
✎
12:41
|
Доброго времени суток, товарищи! Третий день ломаю голову, так и не смог придумать ничего путного...
Задача такая: Имеется справочник "СпецификацииМедицинскихУслуг" с табличной частью "МестаВыполненияЭтапов". Этот справочник имеет реквизит "Номенклатура". Необходимо найти всю номенклатуру, спецификация которой содержит в табличной части все необходимые мне места выполения этапов... Пытался сделать вот такой запрос: Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | СпецификацииМедУслугРабочиеМеста.Ссылка.Номенклатура КАК Номенклатура |ИЗ | Справочник.СпецификацииМедицинскихУслуг.МестаВыполненияЭтапов КАК СпецификацииМедУслугРабочиеМеста |ГДЕ | СпецификацииМедУслугРабочиеМеста.Ссылка.Активная = ИСТИНА | И СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто1 | И СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто2 | И СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто3"; Запрос.УстановитьПараметр("РабочееМесто1", РабочееМесто1); Запрос.УстановитьПараметр("РабочееМесто2", РабочееМесто2); Запрос.УстановитьПараметр("РабочееМесто3", РабочееМесто3); Выгрузка = Запрос.Выполнить().Выгрузить(); В результате - пустое значение "Выгрузка"... Надеюсь на вашу помощь, господа! |
|||
1
RomanYS
30.11.21
✎
12:45
|
...
где СпецификацииМедУслугРабочиеМеста.МестоВыполнения В (&РабочееМесто1, &РабочееМесто2, &РабочееМесто3) ... сгруппировать ... имеющие количество(Различные СпецификацииМедУслугРабочиеМеста.МестоВыполнения) = &КоличествоЭлементовСписка |
|||
2
Archi91
30.11.21
✎
12:55
|
(1) Тогда в выборку попадут все, в которых есть хотя бы одно место выполнения этапов. А надо только такие, в которых все.
|
|||
3
RomanYS
30.11.21
✎
13:00
|
(2) имеющие отсечёт лишнее
|
|||
4
УдавВПопугаях
30.11.21
✎
15:11
|
активная И (место1 Или место2)
|
|||
5
Archi91
01.12.21
✎
06:11
|
(3) Благодарю!!! Всё получилось :)
|
|||
6
Archi91
01.12.21
✎
06:16
|
Итоговый код получился таким:
ВЫБРАТЬ СпецификацииМедУслугРабочиеМеста.Ссылка.Номенклатура КАК Номенклатура, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СпецификацииМедУслугРабочиеМеста.МестоВыполнения) КАК МестоВыполнения ИЗ Справочник.СпецификацииМедицинскихУслуг.МестаВыполненияЭтапов КАК СпецификацииМедУслугРабочиеМеста ГДЕ СпецификацииМедУслугРабочиеМеста.Ссылка.Активная = ИСТИНА И (СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто1 ИЛИ СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто2 ИЛИ СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто3) СГРУППИРОВАТЬ ПО СпецификацииМедУслугРабочиеМеста.Ссылка, СпецификацииМедУслугРабочиеМеста.Ссылка.Номенклатура, ИМЕЮЩИЕ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СпецификацииМедУслугРабочиеМеста.МестоВыполнения) = &КоличествоРабочихМест |
|||
7
Мимохожий Однако
01.12.21
✎
07:01
|
".Ссылка" в тексте запроса лишнее
|
|||
8
Archi91
01.12.21
✎
07:48
|
(7) Верно заметили, спасибо! Видимо осталась группировка по Ссылкам после предыдущих экспериментов...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |