Имя: Пароль:
1C
1С v8
Условие связи наборов данных (СКД)
0 ac13
 
21.06.17
13:09
Доброго дня!
Набор данных 1:

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

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

Набор данных 2:

ВЫБРАТЬ
    &НП,
    ПродажиОбороты.Номенклатура,
    СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоПродано
ИЗ
    РегистрНакопления.Продажи.Обороты(&НП, &КП, , Номенклатура = &Номенклатура) КАК ПродажиОбороты

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура

Вот так связываю два набора:
http://s16.radikal.ru/i191/1706/0b/17a230f16907.png

Надо, чтобы отбор по продажам отбирался за период между &НП и &КП.
Период устанавливается пользователем.
Но так же надо, чтобы если &НП меньше ДатаПоступления в первом наборе, то &НП должно быть равно ДатаПоступления
1 vicof
 
21.06.17
13:18
Не понял прикола. Зачем для каждого документа поступления выводить количество проданной номенклатуры? Что этот отчет показывает?
2 ac13
 
21.06.17
13:25
(1) это не важно, что он показывает :D
мне надо считать - сколько товара продано из конкрентного постпуления. отчет большой, это фрагмент.
не могу настроить свять, чтобы когда &НП больше даты постпуления, то &НП = Значение, установленное пользователем.
Если &НП < Даты поступления, то &НП = ДатаПоступления.
3 vicof
 
21.06.17
13:30
Что значит Нп больше даты поступления?
Ты в Нп дату поступления и передаешь.
4 ac13
 
21.06.17
13:34
(3) да, у меня запрос и связь неправильные.
мне надо когда параметр &НП, установленный пользователем < ДатыПоступления, то в &НП передавать ДатаПоступления.
А когда параметр &НП, установленный пользователем > ДатыПоступления, то в &НП передавать значение, установленное пользователем.
5 ac13
 
21.06.17
13:50
как так сделать, чтобы параметр заполнялся в зависимости от условия?
6 ac13
 
21.06.17
13:53
я придумал
7 ac13
 
21.06.17
14:05
можно наверное сделать так:
8 ac13
 
21.06.17
14:07
ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Ссылка КАК ДокументПоступления,
    ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК ДатаПоступления,
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Количество КАК КоличествоПоступило,
    ВЫБОР
        КОГДА ПоступлениеТоваровУслугТовары.Ссылка.Дата > &НП
            ТОГДА ПоступлениеТоваровУслугТовары.Ссылка.Дата
        ИНАЧЕ &НП
    КОНЕЦ КАК ПараметрСвязиДата
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
9 ac13
 
21.06.17
14:08
То есть добавить параметр связи в первом наборе и связывать по нему, хотя все равно в результате бред считает
10 ac13
 
21.06.17
14:22
ну да, так получилось.
связывать по параметру:

ВЫБОР
КОГДА ПоступлениеТоваровУслугТовары.Ссылка.Дата > &НП
ТОГДА ПоступлениеТоваровУслугТовары.Ссылка.Дата
ИНАЧЕ &НП
КОНЕЦ КАК ПараметрСвязиДата
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший