|
Соединяю много ВТ в СКД. Как быть с выводом соединяющего элемента? | ☑ | ||
---|---|---|---|---|
0
Обработка
09.02.18
✎
22:37
|
Пишу примерно так
ЕСТЬNULL(ЕСТЬNULL(Реал.Номенклатура, Спис.Номенклатура),Закуп.Номенклатура) КАК Номенклатура, но у меня еще есть ВТ как их грамотно соединить чтоб номенклатура всегда выходило. Позабыл туплю. |
|||
1
Обработка
09.02.18
✎
22:39
|
По сути соединяю
Покупки, Реализации, Списания, ОСтатки, себестоисть и Возвраты. ДА еще расчет неск показателй доля оборачиваемсть итп |
|||
2
Mort
09.02.18
✎
22:47
|
Может не соединять, а объединять?
|
|||
3
Vladal
09.02.18
✎
22:51
|
Соединение какое? Полное? Тогда будут нулы.
Пиши примерно так: Выбрать реал.номенклатура Объединить Выбрать спис.номенклатура Объединить Выбрать закуп.номенклатура |
|||
4
Обработка
09.02.18
✎
22:51
|
(2) Попробую. Так мысли приходили. Важно чтоб не потерять связи и вывести их
|
|||
5
Обработка
09.02.18
✎
22:52
|
(3) Если объединять то надо везде писать доп реквизиты в виде нулей.
|
|||
6
Обработка
09.02.18
✎
22:53
|
иначе говоря по каждой группе несколько значений (колонок)
|
|||
7
Обработка
09.02.18
✎
22:56
|
Суммарно 19 показателей.
|
|||
8
Обработка
09.02.18
✎
23:09
|
короче вспомнил. Часть объединю а часть соединю. в итоге золотая середина будет.
|
|||
9
Euroset1
10.02.18
✎
01:35
|
Если тебе нужно кучу показателей по номенклатуре соединить в одну широкую таблицу, то возьми ты справочник номенклатуры и делай к нему левое соединение всех этих вт. Тогда номенклатура будет вся, а показатели только там, где они реально есть. А чтобы убрать из итоговой таблицы позиции без показателей, делаешь условие типа такого НЕ ((табла1.номенклатура есть null) и (табла2.номенклатура есть null) и ... и так 19 раз). Тогда будут только те позиции, на которые есть хотябы один показатель.
|
|||
10
Обработка
10.02.18
✎
05:41
|
(9) тоже хороший вариант.
|
|||
11
Vladal
15.02.18
✎
16:39
|
(9), (5) Не всегда. Если в каких-то соединяемых таблицах есть несколько уникальных записей, которые нельзя однозначно соединить с другими записями, то это приведет к декартовому произведению таблиц.
|
|||
12
Обработка
28.02.18
✎
07:24
|
(9) Попробвал по некторым временным таблицам данне не выходят не понятно.
вот так как то. ИЗ Справочник.Номенклатура КАК СпрНоменклатура Полное СОЕДИНЕНИЕ ВТОбротыПоРеализации КАК ВТОбротыПоРеализации ПО (ВТОбротыПоРеализации.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТОбротыПоРеализации2 КАК ВТОбротыПоРеализации2 ПО (ВТОбротыПоРеализации2.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТОстатки КАК ВТОстатки ПО (ВТОстатки.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТЗакупы КАК ВТЗакупы ПО (ВТЗакупы.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТВОЗВРАТЫ КАК ВТВОЗВРАТЫ ПО (ВТВОЗВРАТЫ.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТЦены КАК ВТЦены ПО (ВТЦены.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТМаксПериодЗакупки КАК ВТМаксПериодЗакупки ПО (ВТМаксПериодЗакупки.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТПоследняяСписаниеНоменклатуры КАК ВТПоследняяСписаниеНоменклатуры ПО (ВТПоследняяСписаниеНоменклатуры.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммаПоследнегоСписанияРез КАК ВТСуммаПоследнегоСписанияРез ПО (ВТСуммаПоследнегоСписанияРез.Номенклатура = СпрНоменклатура.Ссылка) Видимо (11) Прав. |
|||
13
Сияющий в темноте
28.02.18
✎
08:57
|
(9)можно просуммировать все показатели,и если получается ноль,то и не выводить строку,показателей же будет меньше,чем таблиц
|
|||
14
FIXXXL
28.02.18
✎
09:15
|
(12) в ВТшках ссылки типизируй через
ВЫРАЗИТЬ(Номенклатура КАК Справочник.Номенклатура) |
|||
15
FIXXXL
28.02.18
✎
09:16
|
(14) + если ВТшки собираешь вне контекста Запроса
|
|||
16
Обработка
28.02.18
✎
09:58
|
Даже убираю фильтр тот кторый я привел нет данных по одной таблице. ((
Отельно фформирую отчет в необльом отчете с двумя таблицами все есть |
|||
17
Timon1405
28.02.18
✎
10:17
|
(14) зачем типизировать?
|
|||
18
Мимохожий Однако
28.02.18
✎
10:24
|
(17) Чтобы не пропали
|
|||
19
Обработка
28.02.18
✎
10:26
|
Вот мой запрос кому не лень скурпулезно и тщательно глянуть
ВЫБРАТЬ РеализацияТМЗОбороты.СтоимостьОборот ПОМЕСТИТЬ ВТСуммарныйОбротПродаж ИЗ РегистрНакопления.РеализацияТМЗ.Обороты( &НачалоПериода, &КонецПериода, , ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ Склад = &Склад КОНЕЦ И ВЫБОР КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ДоговорКонтрагента.Владелец = &Контрагент КОНЕЦ) КАК РеализацияТМЗОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура, ЦеныНоменклатурыСрезПоследних.Цена ПОМЕСТИТЬ ВТЦены ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ТипЦен = &ТипЦены) КАК ЦеныНоменклатурыСрезПоследних ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Закупки.Номенклатура, МАКСИМУМ(Закупки.Период) КАК ДатаПокупки ПОМЕСТИТЬ ВТМаксПериодЗакупки ИЗ РегистрНакопления.Закупки КАК Закупки ГДЕ Закупки.Период МЕЖДУ &НачалоПериода1 И &КонецПериода СГРУППИРОВАТЬ ПО Закупки.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ОбротыПоРеализации.Номенклатура, ОбротыПоРеализации.КоличествоОборот КАК РеалКол, ОбротыПоРеализации.СуммаОборот КАК РеалСумма, ОбротыПоРеализации.СтоимостьОборот КАК РеалСебес, ОбротыПоРеализации.СуммаОборот * 100 / ВТСуммарныйОбротПродаж.СтоимостьОборот КАК Доля ПОМЕСТИТЬ ВТОбротыПоРеализации ИЗ РегистрНакопления.РеализацияТМЗ.Обороты( &НачалоПериода, &КонецПериода, , //ВЫБОР // КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) // ТОГДА ИСТИНА // ИНАЧЕ Склад = &Склад // КОНЕЦ //И ВЫБОР // КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) // ТОГДА ИСТИНА // ИНАЧЕ ДоговорКонтрагента.Владелец = &Контрагент //КОНЕЦ ) КАК ОбротыПоРеализации, ВТСуммарныйОбротПродаж КАК ВТСуммарныйОбротПродаж ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РеализацияТМЗ.Номенклатура, МИНИМУМ(РеализацияТМЗ.Количество) КАК МинКолКуплено, МАКСИМУМ(РеализацияТМЗ.Количество) КАК МаксКолКуплено, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТМЗ.Регистратор) КАК ЧастотаПокупок ПОМЕСТИТЬ ВТОбротыПоРеализации2 ИЗ РегистрНакопления.РеализацияТМЗ КАК РеализацияТМЗ ГДЕ РеализацияТМЗ.Период МЕЖДУ &НачалоПериода И &КонецПериода //И ВЫБОР // КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) // ТОГДА ИСТИНА // ИНАЧЕ РеализацияТМЗ.ДоговорКонтрагента.Владелец = &Контрагент //КОНЕЦ СГРУППИРОВАТЬ ПО РеализацияТМЗ.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПартииТовОст.Номенклатура, ПартииТовОст.КоличествоНачальныйОстаток, ПартииТовОст.КоличествоКонечныйОстаток, ПартииТовОст.СтоимостьНачальныйОстаток, ПартииТовОст.СтоимостьКонечныйОстаток ПОМЕСТИТЬ ВТОстатки ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты( &НачалоПериода, &КонецПериода, Авто, , ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ Склад = &Склад КОНЕЦ) КАК ПартииТовОст ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПартТовСкл.Номенклатура, МАКСИМУМ(ПартТовСкл.Период) КАК Период ПОМЕСТИТЬ ВТМаксПериодСписаний ИЗ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартТовСкл ГДЕ ПартТовСкл.Период МЕЖДУ &НачалоПериода1 И &КонецПериода И ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПартТовСкл.Склад = &Склад КОНЕЦ И ВЫБОР КОГДА ПартТовСкл.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийПартииТоваров.СписаниеПоИнвентаризации) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ СГРУППИРОВАТЬ ПО ПартТовСкл.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПартТовСкл.Номенклатура, ПартТовСкл.Период КАК Период, ВЫБОР КОГДА ПартТовСкл.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийПартииТоваров.СписаниеПоИнвентаризации) ТОГДА ПартТовСкл.Стоимость КОНЕЦ КАК СуммПоследСпис ПОМЕСТИТЬ ВТСуммаПоследнегоСписания ИЗ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартТовСкл ГДЕ ПартТовСкл.Период МЕЖДУ &НачалоПериода1 И &КонецПериода И ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПартТовСкл.Склад = &Склад КОНЕЦ И ПартТовСкл.Стоимость <> 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТСуммаПоследнегоСписания.Номенклатура, СУММА(ВТСуммаПоследнегоСписания.СуммПоследСпис) КАК СуммПоследСпис ПОМЕСТИТЬ ВТСуммаПоследнегоСписанияРез ИЗ ВТМаксПериодСписаний КАК ВТМаксПериодСписаний ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСуммаПоследнегоСписания КАК ВТСуммаПоследнегоСписания ПО ВТМаксПериодСписаний.Номенклатура = ВТСуммаПоследнегоСписания.Номенклатура И ВТМаксПериодСписаний.Период = ВТСуммаПоследнегоСписания.Период СГРУППИРОВАТЬ ПО ВТСуммаПоследнегоСписания.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПартТовСкл.Номенклатура, СУММА(ВЫБОР КОГДА ПартТовСкл.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийПартииТоваров.ВозвратОтПокупателяТекущийМесяц) ТОГДА ПартТовСкл.Количество КОНЕЦ) КАК КолВозврат, СУММА(ВЫБОР КОГДА ПартТовСкл.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийПартииТоваров.ВозвратОтПокупателяТекущийМесяц) ТОГДА ПартТовСкл.Стоимость КОНЕЦ) КАК СумВозврат ПОМЕСТИТЬ ВТВОЗВРАТЫ ИЗ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартТовСкл ГДЕ ПартТовСкл.Период МЕЖДУ &НачалоПериода И &КонецПериода И ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПартТовСкл.Склад = &Склад КОНЕЦ СГРУППИРОВАТЬ ПО ПартТовСкл.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЗакупкиОбороты.Номенклатура КАК Номенклатура, ЗакупкиОбороты.КоличествоОборот КАК КолКуплено, ЗакупкиОбороты.СтоимостьОборот КАК СтоимКуплено ПОМЕСТИТЬ ВТЗакупы ИЗ РегистрНакопления.Закупки.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ЗакупкиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ИнвентаризацияТоваровНаСкладеТовары.Номенклатура, ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата КАК ДатДок, ИнвентаризацияТоваровНаСкладеТовары.СуммаУчет - ИнвентаризацияТоваровНаСкладеТовары.Сумма КАК НесдостСуммы ПОМЕСТИТЬ ВТНесдостСуммы ИЗ Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары ГДЕ ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата МЕЖДУ &НачалоПериода1 И &КонецПериода И ИнвентаризацияТоваровНаСкладеТовары.СуммаУчет > ИнвентаризацияТоваровНаСкладеТовары.Сумма ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ИнвентаризацияТоваровНаСкладеТовары.Номенклатура, МАКСИМУМ(ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата) КАК ДатаМакс ПОМЕСТИТЬ ВТМаксПериодСписания ИЗ Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары ГДЕ ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата МЕЖДУ &НачалоПериода1 И &КонецПериода СГРУППИРОВАТЬ ПО ИнвентаризацияТоваровНаСкладеТовары.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТНесдостСуммы.Номенклатура, ВТНесдостСуммы.НесдостСуммы ПОМЕСТИТЬ ВТПоследняяСписаниеНоменклатуры ИЗ ВТНесдостСуммы КАК ВТНесдостСуммы ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТМаксПериодСписания КАК ВТМаксПериодСписания ПО ВТНесдостСуммы.Номенклатура = ВТМаксПериодСписания.Номенклатура И ВТНесдостСуммы.ДатДок = ВТМаксПериодСписания.ДатаМакс ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Номенклатура.Ссылка, Номенклатура.Код ПОМЕСТИТЬ ВТСПР ИЗ Справочник.Номенклатура КАК Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЕСТЬNULL(ВТОбротыПоРеализации.РеалКол, ЕСТЬNULL(ВТОбротыПоРеализации.РеалСумма, ЕСТЬNULL(ВТОбротыПоРеализации.РеалСебес, ЕСТЬNULL(ВТОбротыПоРеализации.Доля, ВТОбротыПоРеализации2.МаксКолКуплено, ВТОбротыПоРеализации2.МинКолКуплено, ВТОбротыПоРеализации2.ЧастотаПокупок, ВТОстатки.КоличествоНачальныйОстаток, ВТОстатки.КоличествоКонечныйОстаток, ВТОстатки.СтоимостьНачальныйОстаток, ВТОстатки.СтоимостьКонечныйОстаток, ВТЗакупы.КолКуплено, ВТЗакупы.СтоимКуплено, ЕСТЬNULL(ВТВОЗВРАТЫ.КолВозврат, 0) КАК КолВозврат, ЕСТЬNULL(ВТВОЗВРАТЫ.СумВозврат, 0) КАК СумВозврат, ВЫБОР КОГДА ВТОбротыПоРеализации.РеалСумма > 0 ТОГДА ВТОстатки.СтоимостьКонечныйОстаток * &КолДней / ВТОбротыПоРеализации.РеалСумма ИНАЧЕ 0 КОНЕЦ КАК Оборач, ВТЦены.Цена, ВТМаксПериодЗакупки.ДатаПокупки, ВТПоследняяСписаниеНоменклатуры.НесдостСуммы, ВТСуммаПоследнегоСписанияРез.СуммПоследСпис КАК ПоследСпис, СпрНоменклатура.Ссылка КАК Номенклатура, СпрНоменклатура.Код КАК Код ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ ВТОбротыПоРеализации КАК ВТОбротыПоРеализации ПО (ВТОбротыПоРеализации.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТОбротыПоРеализации2 КАК ВТОбротыПоРеализации2 ПО (ВТОбротыПоРеализации2.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТОстатки КАК ВТОстатки ПО (ВТОстатки.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТЗакупы КАК ВТЗакупы ПО (ВТЗакупы.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТВОЗВРАТЫ КАК ВТВОЗВРАТЫ ПО (ВТВОЗВРАТЫ.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТЦены КАК ВТЦены ПО (ВТЦены.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТМаксПериодЗакупки КАК ВТМаксПериодЗакупки ПО (ВТМаксПериодЗакупки.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТПоследняяСписаниеНоменклатуры КАК ВТПоследняяСписаниеНоменклатуры ПО (ВТПоследняяСписаниеНоменклатуры.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ ВТСуммаПоследнегоСписанияРез КАК ВТСуммаПоследнегоСписанияРез ПО (ВТСуммаПоследнегоСписанияРез.Номенклатура = СпрНоменклатура.Ссылка) //ГДЕ //НЕ(ВТОбротыПоРеализации.Номенклатура ЕСТЬ NULL // И ВТОстатки.Номенклатура ЕСТЬ NULL // И ВТЗакупы.Номенклатура ЕСТЬ NULL // И ВТЦены.Номенклатура ЕСТЬ NULL // И ВТМаксПериодЗакупки.Номенклатура ЕСТЬ NULL // И ВТПоследняяСписаниеНоменклатуры.Номенклатура ЕСТЬ NULL // И ВТСуммаПоследнегоСписанияРез.Номенклатура ЕСТЬ NULL) |
|||
20
Ботаник Гарден Меран
28.02.18
✎
10:36
|
(5)
Объединить, дописать нули, свернуть. |
|||
21
Ботаник Гарден Меран
28.02.18
✎
10:37
|
(20)
вместо "свернуть" "сгруппировать по номенклатуре" |
|||
22
Обработка
28.02.18
✎
10:59
|
(21) Команда объдинить ведь сама группирует?
Как сгруппировать в объединяющей таблице? |
|||
23
Обработка
28.02.18
✎
11:02
|
И почему же у меня не группируется в запрое по номенктаруре вот простой запрос
ВЫБРАТЬ ОбротыПоРеализации.Номенклатура, ЕСТЬNULL(ОбротыПоРеализации.КоличествоОборот, 0) КАК РеалКол, ЕСТЬNULL(ОбротыПоРеализации.СуммаОборот, 0) КАК РеалСумма, ЕСТЬNULL(ОбротыПоРеализации.СтоимостьОборот, 0) КАК РеалСебес, 0 КАК МинКолКуплено, 0 КАК МаксКолКуплено, 0 КАК ЧастотаПокупок ИЗ РегистрНакопления.РеализацияТМЗ.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ОбротыПоРеализации ОБЪЕДИНИТЬ ВЫБРАТЬ РеализацияТМЗ.Номенклатура, 0, 0, 0, ЕСТЬNULL(МИНИМУМ(РеализацияТМЗ.Количество), 0), ЕСТЬNULL(МАКСИМУМ(РеализацияТМЗ.Количество), 0), ЕСТЬNULL(КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТМЗ.Регистратор), 0) ИЗ РегистрНакопления.РеализацияТМЗ КАК РеализацияТМЗ ГДЕ РеализацияТМЗ.Период МЕЖДУ &НачалоПериода И &КонецПериода СГРУППИРОВАТЬ ПО РеализацияТМЗ.Номенклатура |
|||
24
Ботаник Гарден Меран
28.02.18
✎
11:27
|
Нужно объединения выделить во вложенный запрос, или во временную таблицу.
А так группируется только один подзапрос. |
|||
25
мистер игрек
28.02.18
✎
11:52
|
Ты группировку в каждом объединении делай
|
|||
26
Новиков
28.02.18
✎
11:56
|
(0) я задам пару наводящих вопросов: группировки в схеме есть и будут ли по ним затем считаться общие итоги?
|
|||
27
Обработка
28.02.18
✎
12:07
|
(26) Общие итоги будут. Да еще есть вариант отчете только иерархия.
|
|||
28
Новиков
28.02.18
✎
12:14
|
(27) Общие итоги будут
Тогда у меня плохие новости. Если для группировки указано выражение не СУММА, то общие итоги, которые должны быть итогом (или чем-там у тебя) по группировкам не будут работать. Общий итог будет по детальным записям. Если не понятно: если в группировках минимум, а общий итог - сумма, то будет не сумма минимумом, а сумма детальных записей. Фундаментальная проблема рассчета общих итогов в таких случаях. Чтобы ее обойти, нужно избавиться от всех соединений в тексте запроса, в результате которых получаются числовые показатели, на соединение двух наборов. |
|||
29
Обработка
28.02.18
✎
13:14
|
Мужики ткните пальцем как делать. Туплю я, хотя почти вроде понял в чем суть.
Просто й пример показите кто нибудь |
|||
30
Новиков
28.02.18
✎
13:29
|
В первом запросе у тебя должна быть очевидно какое-то полное множество твоей номенклатуры. Откуда ты ее берешь - из справочника, ВТ или как-то иначе - это не важно.
Все остальные левые соединения, которые должны получать затем поля для ресурсов, делаешь через соединение набора. Все. Для номенклатуры, к которой не будет ни одной подклейки, затем пофильтришь на уровне самого отчета |
|||
31
Обработка
28.02.18
✎
21:02
|
(30) Перевел все запросы в отдельные наборы.
Через Спр объединил. Теперь как фильтрануть пустые строки? А суммы по той таблице так и не вышли. Примечательно что та таблица виртуальные обороты по реализации. Проблема таки осталась пока. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |