Имя: Пароль:
1C
1С v8
Отчет Валовая прибыль
0 sergqwert
 
17.12.17
17:48
В отчет по валовой прибыли была добавлена новая колонка сумма затрат. Как учесть новую колонку в прибыли и определении рентабельности/эффективности. Конфигурация УТ 10.3.

ВЫБРАТЬ
ВложенныйЗапрос.Организация КАК Организация,
ВложенныйЗапрос.Проект КАК Проект,
ВложенныйЗапрос.Подразделение КАК Подразделение,
ВложенныйЗапрос.Покупатель КАК Покупатель,
ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя,
ВложенныйЗапрос.Номенклатура КАК Номенклатура,
ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя,
ВложенныйЗапрос.Регистратор КАК Регистратор,
ВложенныйЗапрос.Период КАК Период,
НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень,
НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя,
НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада,
НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц,
НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал,
НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод,
СУММА(ВложенныйЗапрос.Количество) КАК Количество,
СУММА(ВложенныйЗапрос.КоличествоЕдиницОтчетов) КАК КоличествоЕдиницОтчетов,
СУММА(ВложенныйЗапрос.КоличествоБазовыхЕдиниц) КАК КоличествоБазовыхЕдиниц,
СУММА(ВложенныйЗапрос.СтоимостьБезНДС) КАК СтоимостьБезНДС,
СУММА(ВложенныйЗапрос.НДС) КАК НДС,
СУММА(ВложенныйЗапрос.Стоимость) КАК Стоимость,
СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость,
ВЫБОР
КОГДА &НеВключатьНДСВСтоимостьПартий
ТОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
ИНАЧЕ СУММА(ВложенныйЗапрос.Стоимость)
КОНЕЦ - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль,
100 * ВЫБОР
КОГДА &НеВключатьНДСВСтоимостьПартий
ТОГДА ВЫБОР
КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0
ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость)
ИНАЧЕ 0
КОНЕЦ
ИНАЧЕ ВЫБОР
КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0
ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость)
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК Эффективность,
100 * ВЫБОР
КОГДА &НеВключатьНДСВСтоимостьПартий
ТОГДА ВЫБОР
КОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) <> 0
ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
ИНАЧЕ 0
КОНЕЦ
ИНАЧЕ ВЫБОР
КОГДА СУММА(ВложенныйЗапрос.Стоимость) <> 0
ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Стоимость)
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК Рентабельность,
0 КАК СуммаЗатрат
{ВЫБРАТЬ
Организация,
Проект,
Подразделение,
Покупатель,
ДоговорПокупателя,
Номенклатура,
ХарактеристикаНоменклатуры,
ЗаказПокупателя,
Регистратор,
Период,
ПериодДень,
ПериодНеделя,
ПериодДекада,
ПериодМесяц,
ПериодКвартал,
ПериодПолугодие,
ПериодГод}
ИЗ
(ВЫБРАТЬ
ПродажиОбороты.Проект КАК Проект,
ПродажиОбороты.Подразделение КАК Подразделение,
ПродажиОбороты.Контрагент КАК Покупатель,
ПродажиОбороты.ДоговорКонтрагента КАК ДоговорПокупателя,
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
ПродажиОбороты.Организация КАК Организация,
ПродажиОбороты.Регистратор КАК Регистратор,
ПродажиОбороты.Период КАК Период,
ПродажиОбороты.КоличествоОборот КАК Количество,
ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетов,
ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиниц,
ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК СтоимостьБезНДС,
ПродажиОбороты.НДСОборот КАК НДС,
ПродажиОбороты.СтоимостьОборот КАК Стоимость,
ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0) КАК Себестоимость
ИЗ
РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Организация).* КАК Организация, (Проект).* КАК Проект, (Подразделение).* КАК Подразделение, (Контрагент).* КАК Покупатель, (ДоговорКонтрагента).* КАК ДоговорПокупателя, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя}) КАК ПродажиОбороты
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПродажиСебестоимость.Номенклатура КАК Номенклатура,
ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя,
ВЫБОР
КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
ТОГДА ПродажиСебестоимость.ДокументДвижения
ИНАЧЕ ПродажиСебестоимость.Регистратор
КОНЕЦ КАК Регистратор,
СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот
ИЗ
РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
ГДЕ
ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца
{ГДЕ
ПродажиСебестоимость.Проект.* КАК Проект,
ПродажиСебестоимость.Подразделение.* КАК Подразделение,
ПродажиСебестоимость.Номенклатура.* КАК Номенклатура,
ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя}

СГРУППИРОВАТЬ ПО
ПродажиСебестоимость.Номенклатура,
ПродажиСебестоимость.ХарактеристикаНоменклатуры,
ПродажиСебестоимость.ЗаказПокупателя,
ВЫБОР
КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
ТОГДА ПродажиСебестоимость.ДокументДвижения
ИНАЧЕ ПродажиСебестоимость.Регистратор
КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость
ПО (ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура)
И (ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры)
И (ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя)
И (ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор)) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Организация,
ВложенныйЗапрос.Проект,
ВложенныйЗапрос.Подразделение,
ВложенныйЗапрос.Покупатель,
ВложенныйЗапрос.ДоговорПокупателя,
ВложенныйЗапрос.Номенклатура,
ВложенныйЗапрос.ХарактеристикаНоменклатуры,
ВложенныйЗапрос.ЗаказПокупателя,
ВложенныйЗапрос.Регистратор,
ВложенныйЗапрос.Период,
ВложенныйЗапрос.Себестоимость,
ВложенныйЗапрос.Стоимость

ИМЕЮЩИЕ
(СУММА(ВложенныйЗапрос.Количество) <> 0
ИЛИ СУММА(ВложенныйЗапрос.Стоимость) <> 0
ИЛИ СУММА(ЕСТЬNULL(ВложенныйЗапрос.Себестоимость, 0)) <> 0)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ЗатратыОбороты.Регистратор.Организация,
ЗатратыОбороты.Регистратор.Проект,
ЗатратыОбороты.Подразделение,
ЗатратыОбороты.Заказ.Контрагент,
ЗатратыОбороты.Заказ.ДоговорКонтрагента,
ЗатратыОбороты.СтатьяЗатрат,
NULL,
ЗатратыОбороты.Заказ,
ЗатратыОбороты.Регистратор,
ЗатратыОбороты.Период,
НАЧАЛОПЕРИОДА(ЗатратыОбороты.Период, ДЕНЬ),
НАЧАЛОПЕРИОДА(ЗатратыОбороты.Период, НЕДЕЛЯ),
НАЧАЛОПЕРИОДА(ЗатратыОбороты.Период, ДЕКАДА),
НАЧАЛОПЕРИОДА(ЗатратыОбороты.Период, МЕСЯЦ),
НАЧАЛОПЕРИОДА(ЗатратыОбороты.Период, КВАРТАЛ),
НАЧАЛОПЕРИОДА(ЗатратыОбороты.Период, ПОЛУГОДИЕ),
НАЧАЛОПЕРИОДА(ЗатратыОбороты.Период, ГОД),
СУММА(0),
СУММА(0),
СУММА(0),
СУММА(0),
СУММА(0),
СУММА(0),
СУММА(0),
СУММА(0),
СУММА(0),
СУММА(0),
СУММА(ВЫБОР
КОГДА ЗатратыОбороты.СуммаОборот > 0
И ЗатратыОбороты.СтатьяЗатрат = &СтатьяДопЗатраты
ТОГДА ЗатратыОбороты.СуммаОборот
ИНАЧЕ 0
КОНЕЦ)
ИЗ
РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, , ) КАК ПродажиОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Затраты.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ЗатратыОбороты
ПО ПродажиОбороты.ЗаказПокупателя = ЗатратыОбороты.Заказ

СГРУППИРОВАТЬ ПО
ЗатратыОбороты.Регистратор.Организация,
ЗатратыОбороты.Регистратор.Проект,
ЗатратыОбороты.Подразделение,
ЗатратыОбороты.Заказ.Контрагент,
ЗатратыОбороты.Заказ.ДоговорКонтрагента,
ЗатратыОбороты.Заказ,
ЗатратыОбороты.Регистратор,
ЗатратыОбороты.Период,
ЗатратыОбороты.СтатьяЗатрат
1 breezee
 
17.12.17
18:23
(0) Я не разбираюсь в теме, но судя по всему:
1)Отчет по валовой прибыли это отчет или документ? Если отчет - можете не стараться и дальше не читать, позовите программиста, который добавил колонку.
2)Если вы читаете, то
Посмотреть откуда берут данные отчеты, в которой юзеры смотрят отчеты по прибыли и определении рентабельности/эффективности
3)Посмотреть в какие регистры, которые используются в отчетах пишет данные измененный документ
4)Изменить запись в эти регистры, согласно требованиям
5)Протестировать
Как-то так)
2 HeKrendel
 
17.12.17
18:33
(0) Решил добавить себестоимость из ЕРП?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн