Имя: Пароль:
1C
1С v8
Подскажите по отбору СКД (в списке)
0 Обработка
 
24.04.14
11:09
Задача. Есть документ "Установка цен контрагентов" Хочу сравнить цены четырех поставщиков. При этом специально не сравниваю цены из регистра сведений по срезу последних или по периоду. А задача именно сравнить четыре документа. Поэтому я в отбор хочу включить список документов. НО так как я соединяю два запроса то мне придется делать два отбора по списку документа.

Хотелось бы сделать один отбор. Как это сделать???
мой вариант но не рабочий...

ВЫБРАТЬ
    УстановкаЦенНоменклатурыЦены.Ссылка,
    УстановкаЦенНоменклатурыЦены.Номенклатура,
    МИНИМУМ(УстановкаЦенНоменклатурыЦены.Цена) КАК Мин
ПОМЕСТИТЬ ВТ
ИЗ
    Документ.УстановкаЦенНоменклатуры.Цены КАК УстановкаЦенНоменклатурыЦены
ГДЕ
    УстановкаЦенНоменклатурыЦены.Ссылка =&СписокДокументов

СГРУППИРОВАТЬ ПО
    УстановкаЦенНоменклатурыЦены.Номенклатура,
    УстановкаЦенНоменклатурыЦены.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    УстановкаЦенНоменклатурыЦены.Цена,
    УстановкаЦенНоменклатурыЦены.Ссылка.Контрагент,
    ВТ.Номенклатура,
    ВТ.Мин,
    УстановкаЦенНоменклатурыЦены.Ссылка
ИЗ
    ВТ КАК ВТ
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УстановкаЦенНоменклатуры.Цены КАК УстановкаЦенНоменклатурыЦены
        ПО ВТ.Номенклатура = УстановкаЦенНоменклатурыЦены.Номенклатура
ГДЕ
    УстановкаЦенНоменклатурыЦены.Ссылка =&СписокДокументово
ВЫБРАТЬ
    УстановкаЦенНоменклатурыЦены.Ссылка,
    УстановкаЦенНоменклатурыЦены.Номенклатура,
    МИНИМУМ(УстановкаЦенНоменклатурыЦены.Цена) КАК Мин
ПОМЕСТИТЬ ВТ
ИЗ
    Документ.УстановкаЦенНоменклатуры.Цены КАК УстановкаЦенНоменклатурыЦены
ГДЕ
    УстановкаЦенНоменклатурыЦены.Ссылка =&СписокДокументов

СГРУППИРОВАТЬ ПО
    УстановкаЦенНоменклатурыЦены.Номенклатура,
    УстановкаЦенНоменклатурыЦены.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    УстановкаЦенНоменклатурыЦены.Цена,
    УстановкаЦенНоменклатурыЦены.Ссылка.Контрагент,
    ВТ.Номенклатура,
    ВТ.Мин,
    УстановкаЦенНоменклатурыЦены.Ссылка
ИЗ
    ВТ КАК ВТ
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УстановкаЦенНоменклатуры.Цены КАК УстановкаЦенНоменклатурыЦены
        ПО ВТ.Номенклатура = УстановкаЦенНоменклатурыЦены.Номенклатура
ГДЕ
    УстановкаЦенНоменклатурыЦены.Ссылка =&СписокДокументов
1 Godofsin
 
24.04.14
11:20
Что то я смысл не уловил...
2 Обработка
 
24.04.14
12:14
(1) Мне нужно в скд сравнить цены от 4 поставщиков. Решил сравнить прямо из документа. Чтобы отобрать эти 4 документа в запрос я в СКД сделаю отбор типа Ссылка в списке...
Но так как у меня в запросе две таблицы одно для минимум а другая для сравнения цен с минимум мне приходится этот отбор рисовать дважды.
Хотелось бы обойтись одним отбором.
3 vicof
 
24.04.14
12:16
&СписокДокументов
и
&СписокДокументово

немного отличаются
4 vicof
 
24.04.14
12:17
и не "=", а "В"
5 Godofsin
 
24.04.14
12:18
да и ваще синтаксис второго пакета страдает что-то
6 Обработка
 
24.04.14
12:19
(4) У меня было "В" тоже ошибка
7 el7cartel
 
24.04.14
12:20
(6) что за ошибка?
8 vicof
 
24.04.14
12:20
(6) Поздравляю, теперь можешь начинать исправлять ее
9 vicof
 
24.04.14
12:21
(7) Скобки поставить забыл, это же очевидно
10 el7cartel
 
24.04.14
12:22
(6) Если параметр единичный то используете "=" а если их несколько передается то используете В(&), вроде так вот
11 Обработка
 
24.04.14
12:24
Вот так было

ВЫБРАТЬ
    УстановкаЦенНоменклатурыЦены.Ссылка,
    УстановкаЦенНоменклатурыЦены.Номенклатура,
    МИНИМУМ(УстановкаЦенНоменклатурыЦены.Цена) КАК Мин
ПОМЕСТИТЬ ВТ
ИЗ
    Документ.УстановкаЦенНоменклатуры.Цены КАК УстановкаЦенНоменклатурыЦены
ГДЕ
    УстановкаЦенНоменклатурыЦены.Ссылка В(&СписокДокументов)

СГРУППИРОВАТЬ ПО
    УстановкаЦенНоменклатурыЦены.Номенклатура,
    УстановкаЦенНоменклатурыЦены.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    УстановкаЦенНоменклатурыЦены.Цена,
    УстановкаЦенНоменклатурыЦены.Ссылка.Контрагент,
    ВТ.Номенклатура,
    ВТ.Мин,
    УстановкаЦенНоменклатурыЦены.Ссылка
ИЗ
    ВТ КАК ВТ
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УстановкаЦенНоменклатуры.Цены КАК УстановкаЦенНоменклатурыЦены
        ПО ВТ.Номенклатура = УстановкаЦенНоменклатурыЦены.Номенклатура
ГДЕ
    УстановкаЦенНоменклатурыЦены.Ссылка В(&СписокДокументов)

И еще у меня отбор такой

ПараметрыДанных.СписокДокументов В списке  .....

Не работает!
12 Обработка
 
24.04.14
12:25
Ошибка выполнения отчета
по причине:
Ошибка исполнения отчета
по причине:
Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля "ПараметрыДанных.СписокДокументов В списке Установка цен номенклатуры A-0000057...; Установка цен номенклатуры A-0000059...; Установка цен номенклатуры 0..."
13 vicof
 
24.04.14
12:30
Нахрена отбор?
Прям в параметр нельзя что ли список документов запихать?
14 Обработка
 
24.04.14
12:39
(13) Параметр имеет значение документа  точнее тип а список не дает выбрать.
15 vicof
 
24.04.14
12:42
(14) Да ты шо? А галка "Список" так, для красоты?
16 Обработка
 
24.04.14
12:56
(15) Выражение типа
"ГДЕ
    УстановкаЦенНоменклатурыЦены.Ссылка В(&Некийсписок)"

в СКД во вкладке параметры дает тип ссылка на документ.

А в параметрах настройки тольок одно значение имеет...
17 Полотенчик
 
24.04.14
13:28
18 Обработка
 
24.04.14
16:25
(17) Спасибо! Обычно название колонки скрыто....
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший