|
СКД отборы |
☑ |
0
Konan
29.07.14
✎
11:01
|
в УТ 10.3 решил поэкспериментировать и вывести весь товар и если были продажи то количество штук, а так же контрагента. В СКД быстро накатал следующее:
ВЫБРАТЬ
Товары.Ссылка КАК Товар,
ПродажиОбороты.Контрагент,
ПродажиОбороты.КоличествоОборот
ИЗ
Справочник.Номенклатура КАК Товары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, , , ) КАК ПродажиОбороты
ПО (ПродажиОбороты.Номенклатура = Товары.Ссылка)
Далее сделал в СКД группировку по товару, а в ней группировку по контрагенту. И вроде все выводится, выводится товар, под ним контрагенты со количеством. Но как только я ставлю отбор по определенному контрагенту, то у меня показывается только тот товар который ему был продан, но не вся матрица товара как я хотел. Вот и возник вопрос, отбор срабатывает уже после того как все данные выбраны? или это только в 8.3 платформе такое поведение?
|
|
1
Timon1405
29.07.14
✎
11:36
|
а если так?
ВЫБРАТЬ
Товары.Ссылка КАК Товар,
ПродажиОбороты.Контрагент,
ПродажиОбороты.КоличествоОборот
ИЗ
Справочник.Номенклатура КАК Товары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, , , {(Контрагент = &Контрагент)}) КАК ПродажиОбороты
ПО (ПродажиОбороты.Номенклатура = Товары.Ссылка)
|
|
2
Konan
29.07.14
✎
11:41
|
Так сработало, но:
В данном случае Контрагент стал параметром, а не отбором и с жестким видом сравнения РАВНО. А если мне нужны другие поля или их реквизиты. Да и интересно то, что скорее всего СКД отбор наложила после выборки всех данных, а это не очень хорошо по времени выполнения.
|
|
3
Konan
29.07.14
✎
11:46
|
Сейчас поищу спец. обработку, которая покажет конечный запрос сформированный СКД к базе с учетом Отбора, там все ясно станет куда она тот отбор пихает
|
|
4
Timon1405
29.07.14
✎
11:58
|
Думаю, придется снимать галку автозаполнение и ковырять вкладку компоновка данных
примерно так
ВЫБРАТЬ
Товары.Ссылка КАК Товар,
ПродажиОбороты.Контрагент КАК Контрагент,
ПродажиОбороты.КоличествоОборот КАК КоличествоОборот
{ВЫБРАТЬ
Товар.*,
Контрагент.*,
КоличествоОборот}
ИЗ
Справочник.Номенклатура КАК Товары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, , , ) КАК ПродажиОбороты
ПО (ПродажиОбороты.Номенклатура = Товары.Ссылка)
{ГДЕ
ПродажиОбороты.Контрагент.*,
Товары.Ссылка.*}
|
|