|
Левое соединение в запросе | ☑ | ||
---|---|---|---|---|
0
Heiton
09.12.19
✎
15:37
|
Отцы!
Помогите! Сломал всю голову. Вопрос - при выполнении запроса левым соединением присоединяется поле Оборот к виртуальной таблице из регистра ВыручкаИСебестоимость обороты Разумеется при группировке - обороты задваиваются в разрезе периода (если выбрать группировку по ПериодМесяц) подскажите - в чем косяк в запросе - необходимо, чтобы при группировке помесячно выводилась выручка, однако обороты не суммировались. Вот текст запроса: ВЫБРАТЬ Продажи.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, СУММА(Продажи.СуммаВыручкиОборот) КАК Выручка, СУММА(ВЫБОР КОГДА Продажи.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА Продажи.СуммаВыручкиОборот КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.Стоимость, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.СтоимостьОборот КОНЕЦ) КАК Себестоимость, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.СтоимостьДопРасходы, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ДопРасходыОборот КОНЕЦ) КАК ДопРасходы, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.Трудозатраты, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ТрудозатратыОборот КОНЕЦ) КАК Трудозатраты, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.ПостатейныеПостоянныеСНДС, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ПостатейныеПостоянныеСНДСОборот КОНЕЦ) КАК ПостатейныеПостоянныеСНДС, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.ПостатейныеПеременныеСНДС, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ПостатейныеПеременныеСНДСОборот КОНЕЦ) КАК ПостатейныеПеременныеСНДС ПОМЕСТИТЬ Таблица {ВЫБРАТЬ Номенклатура.*, Выручка, Себестоимость, ДопРасходы, Трудозатраты, ПостатейныеПостоянныеСНДС, ПостатейныеПеременныеСНДС} ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Авто, ) КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасчетСебестоимостиТоваров.Организации КАК РасчетСебестоимости ПО (НАЧАЛОПЕРИОДА(Продажи.ПериодМесяц, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РасчетСебестоимости.Ссылка.Дата, МЕСЯЦ)) И (РасчетСебестоимости.Ссылка.Проведен) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтоимостьТоваров КАК СтоимостьНоменклатуры ПО Продажи.АналитикаУчетаНоменклатуры = СтоимостьНоменклатуры.АналитикаУчетаНоменклатуры И (СтоимостьНоменклатуры.Период = НАЧАЛОПЕРИОДА(Продажи.ПериодМесяц, МЕСЯЦ)) И (ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ)) СГРУППИРОВАТЬ ПО Продажи.АналитикаУчетаНоменклатуры.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, СУММА(Таблица.Выручка) - СУММА(Таблица.Себестоимость) - СУММА(Таблица.ДопРасходы) - СУММА(Таблица.Трудозатраты) - СУММА(Таблица.ПостатейныеПостоянныеСНДС) - СУММА(Таблица.ПостатейныеПеременныеСНДС) КАК Оборот ПОМЕСТИТЬ Обороты {ВЫБРАТЬ Номенклатура.*, Оборот} ИЗ Таблица КАК Таблица СГРУППИРОВАТЬ ПО Таблица.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, СУММА(ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот) КАК Продажа, НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, МЕСЯЦ) КАК ПериодМесяц ПОМЕСТИТЬ Продажи ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ВыручкаИСебестоимостьПродажОбороты СГРУППИРОВАТЬ ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура, НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, МЕСЯЦ) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Номенклатура КАК Номенклатура, Обороты.Оборот КАК Оборот, Продажи.Продажа КАК Продажа, Продажи.ПериодМесяц КАК ПериодМесяц {ВЫБРАТЬ Номенклатура.*, Оборот, Продажа, ПериодМесяц} ИЗ Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты ПО Продажи.Номенклатура = Обороты.Номенклатура СГРУППИРОВАТЬ ПО Продажи.Номенклатура, Обороты.Оборот, Продажи.Продажа, Продажи.ПериодМесяц |
|||
1
Ник080808
09.12.19
✎
15:38
|
(0) по месяцу соединение сделай
|
|||
2
Heiton
09.12.19
✎
15:41
|
Тогда Обороты будут ограничены периодом виртуальной таблицы. А необходимо, чтобы Обороты - были внепериода (общие), а выручка - помесячно из периода, указанного пользователем.
|
|||
3
Heiton
09.12.19
✎
15:42
|
Я делал 2умя наборами данными с соединением наборов - все отрабатывало верно без связи по периоду, но запрос больно "тяжелый" получается.
|
|||
4
Ник080808
09.12.19
✎
15:52
|
(3) ну тут два варианта. первый таки два разных набора. Это правильнее. Второй ВЫБРАТЬ
Продажи.Номенклатура КАК Номенклатура, Максимум(Обороты.Оборот) КАК Оборот, Сумма(Продажи.Продажа) КАК Продажа, Продажи.ПериодМесяц КАК ПериодМесяц сгруппировать по Продажи.Номенклатура ,Продажи.ПериодМесяц |
|||
5
Heiton
09.12.19
✎
15:58
|
Спасибо большое за помощь. Первый вариант мне завернули - сказали, что больно жрет оперативну память (
Это все же с соединением по ПериодуМесяц? Или уже без него? |
|||
6
Ник080808
09.12.19
✎
16:00
|
(5) без него
|
|||
7
Heiton
09.12.19
✎
16:02
|
Почему-то не сработало. с максимумами баловался, но они разваливаются например если брать 2 месяца - то оборот все равно подставляется оборот и в первый период и во второй:
ВЫБРАТЬ Продажи.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, СУММА(Продажи.СуммаВыручкиОборот) КАК Выручка, СУММА(ВЫБОР КОГДА Продажи.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА Продажи.СуммаВыручкиОборот КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.Стоимость, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.СтоимостьОборот КОНЕЦ) КАК Себестоимость, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.СтоимостьДопРасходы, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ДопРасходыОборот КОНЕЦ) КАК ДопРасходы, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.Трудозатраты, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ТрудозатратыОборот КОНЕЦ) КАК Трудозатраты, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.ПостатейныеПостоянныеСНДС, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ПостатейныеПостоянныеСНДСОборот КОНЕЦ) КАК ПостатейныеПостоянныеСНДС, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.ПостатейныеПеременныеСНДС, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ПостатейныеПеременныеСНДСОборот КОНЕЦ) КАК ПостатейныеПеременныеСНДС ПОМЕСТИТЬ Таблица {ВЫБРАТЬ Номенклатура.*, Выручка, Себестоимость, ДопРасходы, Трудозатраты, ПостатейныеПостоянныеСНДС, ПостатейныеПеременныеСНДС} ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Авто, ) КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасчетСебестоимостиТоваров.Организации КАК РасчетСебестоимости ПО (НАЧАЛОПЕРИОДА(Продажи.ПериодМесяц, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РасчетСебестоимости.Ссылка.Дата, МЕСЯЦ)) И (РасчетСебестоимости.Ссылка.Проведен) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтоимостьТоваров КАК СтоимостьНоменклатуры ПО Продажи.АналитикаУчетаНоменклатуры = СтоимостьНоменклатуры.АналитикаУчетаНоменклатуры И (СтоимостьНоменклатуры.Период = НАЧАЛОПЕРИОДА(Продажи.ПериодМесяц, МЕСЯЦ)) И (ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ)) СГРУППИРОВАТЬ ПО Продажи.АналитикаУчетаНоменклатуры.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, СУММА(Таблица.Выручка) - СУММА(Таблица.Себестоимость) - СУММА(Таблица.ДопРасходы) - СУММА(Таблица.Трудозатраты) - СУММА(Таблица.ПостатейныеПостоянныеСНДС) - СУММА(Таблица.ПостатейныеПеременныеСНДС) КАК Оборот ПОМЕСТИТЬ Обороты {ВЫБРАТЬ Номенклатура.*, Оборот} ИЗ Таблица КАК Таблица СГРУППИРОВАТЬ ПО Таблица.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, СУММА(ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот) КАК Продажа, НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, МЕСЯЦ) КАК ПериодМесяц ПОМЕСТИТЬ Продажи ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ВыручкаИСебестоимостьПродажОбороты СГРУППИРОВАТЬ ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура, НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, МЕСЯЦ) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Номенклатура КАК Номенклатура, МАКСИМУМ(Обороты.Оборот) КАК Оборот, Продажи.Продажа КАК Продажа, ВЫБОР КОГДА Продажи.Продажа <> 0 ТОГДА Обороты.Оборот / Продажи.Продажа * 100 ИНАЧЕ 0 КОНЕЦ КАК МесячныйПроцент, Продажи.ПериодМесяц КАК ПериодМесяц {ВЫБРАТЬ Номенклатура.*, Оборот, Продажа, МесячныйПроцент, ПериодМесяц} ИЗ Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты ПО Продажи.Номенклатура = Обороты.Номенклатура СГРУППИРОВАТЬ ПО Продажи.Номенклатура, Обороты.Оборот, Продажи.Продажа, Продажи.ПериодМесяц |
|||
8
Ник080808
09.12.19
✎
16:03
|
(5) естественно жрет. Ты же выбираешь без отбора по периоду первую таблицу. Это раз. Во вторых, зачем ты выбрал периодичность авто? если можно по месяцам?
|
|||
9
Ник080808
09.12.19
✎
16:04
|
(7) это как у тебя получилось:
МАКСИМУМ(Обороты.Оборот) КАК Оборот, СГРУППИРОВАТЬ ПО Продажи.Номенклатура, Обороты.Оборот |
|||
10
Heiton
09.12.19
✎
16:05
|
Все, спасибо. Разобрался. Это я с СКД перемудрил!
|
|||
11
Heiton
09.12.19
✎
16:06
|
а (7) - не знаю. чудеса консоли запросов ) И такое бывает...
|
|||
12
Heiton
09.12.19
✎
16:15
|
Сделал как в (3) - результат неверный выводит по Оборотам
ВЫБРАТЬ Продажи.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, СУММА(Продажи.СуммаВыручкиОборот) КАК Выручка, СУММА(ВЫБОР КОГДА Продажи.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА Продажи.СуммаВыручкиОборот КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.Стоимость, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.СтоимостьОборот КОНЕЦ) КАК Себестоимость, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.СтоимостьДопРасходы, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ДопРасходыОборот КОНЕЦ) КАК ДопРасходы, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.Трудозатраты, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ТрудозатратыОборот КОНЕЦ) КАК Трудозатраты, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.ПостатейныеПостоянныеСНДС, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ПостатейныеПостоянныеСНДСОборот КОНЕЦ) КАК ПостатейныеПостоянныеСНДС, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.ПостатейныеПеременныеСНДС, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ПостатейныеПеременныеСНДСОборот КОНЕЦ) КАК ПостатейныеПеременныеСНДС ПОМЕСТИТЬ Таблица {ВЫБРАТЬ Номенклатура.*, Выручка, Себестоимость, ДопРасходы, Трудозатраты, ПостатейныеПостоянныеСНДС, ПостатейныеПеременныеСНДС} ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Месяц, ) КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасчетСебестоимостиТоваров.Организации КАК РасчетСебестоимости ПО (РасчетСебестоимости.Ссылка.Проведен) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтоимостьТоваров КАК СтоимостьНоменклатуры ПО Продажи.АналитикаУчетаНоменклатуры = СтоимостьНоменклатуры.АналитикаУчетаНоменклатуры И (ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ)) СГРУППИРОВАТЬ ПО Продажи.АналитикаУчетаНоменклатуры.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, СУММА(Таблица.Выручка) - СУММА(Таблица.Себестоимость) - СУММА(Таблица.ДопРасходы) - СУММА(Таблица.Трудозатраты) - СУММА(Таблица.ПостатейныеПостоянныеСНДС) - СУММА(Таблица.ПостатейныеПеременныеСНДС) КАК Оборот ПОМЕСТИТЬ Обороты {ВЫБРАТЬ Номенклатура.*, Оборот} ИЗ Таблица КАК Таблица СГРУППИРОВАТЬ ПО Таблица.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, СУММА(ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот) КАК Продажа, НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, МЕСЯЦ) КАК ПериодМесяц ПОМЕСТИТЬ Продажи ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ВыручкаИСебестоимостьПродажОбороты СГРУППИРОВАТЬ ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура, НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, МЕСЯЦ) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Номенклатура КАК Номенклатура, МАКСИМУМ(Обороты.Оборот) КАК Оборот, Продажи.Продажа КАК Продажа, Продажи.ПериодМесяц КАК ПериодМесяц {ВЫБРАТЬ Номенклатура.*, Оборот, Продажа, ПериодМесяц} ИЗ Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты ПО Продажи.Номенклатура = Обороты.Номенклатура СГРУППИРОВАТЬ ПО Продажи.Номенклатура, Продажи.ПериодМесяц, Продажи.Продажа |
|||
13
Ник080808
09.12.19
✎
16:28
|
(12) зачем. ты. группируешь. Продажа.Продажа.?
|
|||
14
Heiton
09.12.19
✎
16:41
|
Уф. переписал запрос. Лезли вот группировки - типа (12). В запросе отрабатывает верно теперь:
ВЫБРАТЬ Продажи.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, СУММА(Продажи.СуммаВыручкиОборот) КАК Выручка, СУММА(ВЫБОР КОГДА Продажи.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА Продажи.СуммаВыручкиОборот КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.Стоимость, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.СтоимостьОборот КОНЕЦ) КАК Себестоимость, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.СтоимостьДопРасходы, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ДопРасходыОборот КОНЕЦ) КАК ДопРасходы, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.Трудозатраты, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ТрудозатратыОборот КОНЕЦ) КАК Трудозатраты, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.ПостатейныеПостоянныеСНДС, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ПостатейныеПостоянныеСНДСОборот КОНЕЦ) КАК ПостатейныеПостоянныеСНДС, СУММА(ВЫБОР КОГДА ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ) ТОГДА ВЫРАЗИТЬ(Продажи.КоличествоОборот * ЕСТЬNULL(СтоимостьНоменклатуры.ПостатейныеПеременныеСНДС, 0) КАК ЧИСЛО(15, 2)) ИНАЧЕ Продажи.ПостатейныеПеременныеСНДСОборот КОНЕЦ) КАК ПостатейныеПеременныеСНДС ПОМЕСТИТЬ Таблица ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Авто, ) КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасчетСебестоимостиТоваров.Организации КАК РасчетСебестоимости ПО (НАЧАЛОПЕРИОДА(Продажи.ПериодМесяц, МЕСЯЦ) = НАЧАЛОПЕРИОДА(РасчетСебестоимости.Ссылка.Дата, МЕСЯЦ)) И (РасчетСебестоимости.Ссылка.Проведен) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтоимостьТоваров КАК СтоимостьНоменклатуры ПО (Продажи.АналитикаУчетаНоменклатуры = СтоимостьНоменклатуры.АналитикаУчетаНоменклатуры) И (СтоимостьНоменклатуры.Период = НАЧАЛОПЕРИОДА(Продажи.ПериодМесяц, МЕСЯЦ)) И (ЕСТЬNULL(РасчетСебестоимости.Ссылка.ПредварительныйРасчет, ЛОЖЬ)) СГРУППИРОВАТЬ ПО Продажи.АналитикаУчетаНоменклатуры.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СУММА(Таблица.Выручка) - СУММА(Таблица.Себестоимость) - СУММА(Таблица.ДопРасходы) - СУММА(Таблица.Трудозатраты) - СУММА(Таблица.ПостатейныеПостоянныеСНДС) - СУММА(Таблица.ПостатейныеПеременныеСНДС) КАК Оборот, Таблица.Номенклатура КАК Номенклатура ПОМЕСТИТЬ Обороты ИЗ Таблица КАК Таблица СГРУППИРОВАТЬ ПО Таблица.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МАКСИМУМ(Обороты.Оборот) КАК Оборот, ВыручкаИСебестоимостьПродажОбороты.Период КАК Период, ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура, СУММА(ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот) КАК СуммаВыручкиОборот ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&ДатаНачала, &ДатаОкончания, Месяц, ) КАК ВыручкаИСебестоимостьПродажОбороты ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты ПО (ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура = Обороты.Номенклатура) СГРУППИРОВАТЬ ПО ВыручкаИСебестоимостьПродажОбороты.Период, ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура |
|||
15
Heiton
09.12.19
✎
16:43
|
Однако в СКД при группировке по периоду - все равно задваивает (
|
|||
16
Ник080808
09.12.19
✎
16:46
|
(15) потому что делай наборами.
И да, зачем ты все таки авто ставишь вместо месяц? |
|||
17
Ник080808
09.12.19
✎
16:47
|
(14) РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Авто, ) здесь ты пишешь авто, но используешь только месяц. Поставь РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Месяц, )
|
|||
18
Heiton
09.12.19
✎
17:06
|
Если ставлю период Месяц в параметрах виртуальных таблиц, то не выводятся данные при связи 2ух наборов...
|
|||
19
Ник080808
09.12.19
✎
17:21
|
(18) значит что то не то делаешь
|
|||
20
Ник080808
09.12.19
✎
17:32
|
(19) ты же небось по периодам наборы соединяешь
|
|||
21
Heiton
09.12.19
✎
17:32
|
Переписал и компоновку полностью - заработало с периодами МЕСЯЦ.
Ник - ты лучший! Спасибо тебе большое и творческих успехов - тему можно закрывать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |