Как выбрать данные в зависимости от приоритета?
05.10.2010
15:11
#72
А как можно посмотреть чему именно равно значение пустой продукции в отладчике?
05.10.2010
15:32
#73
"Тут и смотреть нечего - ПустойСсылке, только типом отличаются.
Самое простое, что я знаю это тупо написать так:
| ИЛИ Этапы.Продукция В (&ПустыеЗначения))
...
МасПустых = Новый Массив;
МасПустых.Добавить (Null);
МасПустых.Добавить (Неопределено);
МасПустых.Добавить (Справочники.Номенклатура.ПустаяСсылка());
МасПустых.Добавить (Справочники.НоменклатурныеГруппы.ПустаяСсылка());
Запрос.УстановитьПараметр ("ПустыеЗначения", МасПустых);"
Самое простое, что я знаю это тупо написать так:
| ИЛИ Этапы.Продукция В (&ПустыеЗначения))
...
МасПустых = Новый Массив;
МасПустых.Добавить (Null);
МасПустых.Добавить (Неопределено);
МасПустых.Добавить (Справочники.Номенклатура.ПустаяСсылка());
МасПустых.Добавить (Справочники.НоменклатурныеГруппы.ПустаяСсылка());
Запрос.УстановитьПараметр ("ПустыеЗначения", МасПустых);"
05.10.2010
15:40
#74
Скажите,пожалуйста,а так можно поменять запрос(вместо Этапы.Продукция=Неопределено добавить Этапы.Приоритет=4):
|ВЫБРАТЬ
| Этапы.Продукция,
| Этапы.Этап,
| Этапы.Очередность,
| Этапы.Приоритет,
| ВТаблНом.Номенклатура КАК Номенклатура,
| ВТаблНом.Родитель КАК Родитель
|ПОМЕСТИТЬ ВТНомЭт
|ИЗ
| ВТаблНом КАК ВТаблНом
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЭтап КАК Этапы
| ПО (ВТаблНом.Номенклатура = Этапы.Продукция
| ИЛИ ВТаблНом.Родитель = Этапы.Продукция
| ИЛИ ВТаблНом.НоменклатурнаяГруппа = Этапы.Продукция
| ИЛИ Этапы.Приоритет=4)
|ВЫБРАТЬ
| Этапы.Продукция,
| Этапы.Этап,
| Этапы.Очередность,
| Этапы.Приоритет,
| ВТаблНом.Номенклатура КАК Номенклатура,
| ВТаблНом.Родитель КАК Родитель
|ПОМЕСТИТЬ ВТНомЭт
|ИЗ
| ВТаблНом КАК ВТаблНом
| ЛЕВОЕ СОЕДИНЕНИЕ ВТЭтап КАК Этапы
| ПО (ВТаблНом.Номенклатура = Этапы.Продукция
| ИЛИ ВТаблНом.Родитель = Этапы.Продукция
| ИЛИ ВТаблНом.НоменклатурнаяГруппа = Этапы.Продукция
| ИЛИ Этапы.Приоритет=4)
05.10.2010
16:03
#76
Да,Вы правы,лучше сразу правильно делать:)А как Вы думаете:если пользователь,например,указал в регистре сведений значение продукции:Номенклатура,далее указал группу:Двери,но конкретную номенклатуру так и не выбрал.То есть поле Продукция так и осталось пустым.Тогда приоритет такой же,как и у пустой ссылки получается,то есть 4,правильно?Просто меня смущает то,что в регистре сведений никогда нельзя указать родителя номенклатуры,то есть приоритета 3 никогда не будет.
05.10.2010
16:12
#77
"А ещё я хотела бы уточнить по поводу того,если код-строка.Просто я на писала след.образом,но у меня так и не упорядочивается правильно.Точнее,если приоритет задан,то всё мне и надо,а вот с кодами проблема,они упорядочиваются вразнобой:
|ВЫБРАТЬ
| Этапы.Продукция,
| Этапы.Этап,
| Этапы.Приоритет,
| ВЫБОР
| КОГДА Этапы.Очередность <> 0
| ТОГДА 1
| ИНАЧЕ 2
| КОНЕЦ КАК Порядок,
| ВЫБОР
| КОГДА ЕСТЬNULL(Этапы.Приоритет, 0) <> 0
| ТОГДА Этапы.Очередность
| ИНАЧЕ ЭтапыПрохожденияЗаказа.Код
| КОНЕЦ КАК Очередность,
| ЭтапыПрохожденияЗаказа.Код КАК Код
|ИЗ
| ВТМинПриор КАК МинПриор
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНомЭт КАК Этапы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЭтапыПрохожденияЗаказа КАК ЭтапыПрохожденияЗаказа
| ПО Этапы.Этап = ЭтапыПрохожденияЗаказа.Ссылка
| ПО МинПриор.Приоритет = Этапы.Приоритет
|
|УПОРЯДОЧИТЬ ПО
| Порядок,
| Очередность";
"
|ВЫБРАТЬ
| Этапы.Продукция,
| Этапы.Этап,
| Этапы.Приоритет,
| ВЫБОР
| КОГДА Этапы.Очередность <> 0
| ТОГДА 1
| ИНАЧЕ 2
| КОНЕЦ КАК Порядок,
| ВЫБОР
| КОГДА ЕСТЬNULL(Этапы.Приоритет, 0) <> 0
| ТОГДА Этапы.Очередность
| ИНАЧЕ ЭтапыПрохожденияЗаказа.Код
| КОНЕЦ КАК Очередность,
| ЭтапыПрохожденияЗаказа.Код КАК Код
|ИЗ
| ВТМинПриор КАК МинПриор
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНомЭт КАК Этапы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЭтапыПрохожденияЗаказа КАК ЭтапыПрохожденияЗаказа
| ПО Этапы.Этап = ЭтапыПрохожденияЗаказа.Ссылка
| ПО МинПриор.Приоритет = Этапы.Приоритет
|
|УПОРЯДОЧИТЬ ПО
| Порядок,
| Очередность";
"
05.10.2010
16:40
#78
> Просто меня смущает то,что в регистре сведений никогда нельзя указать родителя номенклатуры
Почему нельзя? Просто родитель выбирается не двойным щелчком мыши
> указал в регистре сведений значение продукции:Номенклатура,далее указал группу:Двери,но конкретную номенклатуру так и не выбрал
Я не понял. Продукция - это одно значение. Как можно указать тип Номенклатура, выбрать группу (я так понял Родителя) Двери, но ничего не указать? А двери - это что тогда?
Почему нельзя? Просто родитель выбирается не двойным щелчком мыши
> указал в регистре сведений значение продукции:Номенклатура,далее указал группу:Двери,но конкретную номенклатуру так и не выбрал
Я не понял. Продукция - это одно значение. Как можно указать тип Номенклатура, выбрать группу (я так понял Родителя) Двери, но ничего не указать? А двери - это что тогда?
05.10.2010
16:49
#80
Так,с этим разобралась:)Если ничего не указано,то считаем в любом случае,что приоритет 4,если не указана продукция.А как можно сделать следующее:у меня в таблице есть ещё колонка плановый срок,дату туда должны вводить сами пользователи,но если они не ввели,то при попытке записи,должна выдаваться ошибка?
Выбор конфигурации- возможность работы со штрих-кодомУчет затрат и платежей через посредников в УТ 10.3
Читают тему
(гостей: 2)