Отчет Валовая прибыль для УТ. Как сделать этот отчет на СКД. step by step

20.10.10

Задачи пользователя - Анализ учета

Сделано принципиально на СКД. Принципиально, потому что СКД при соединении таблиц (не на уровне запроса а на уровне СКД) не суммирует ресурсы, даже если задана агрегатная функция Сумма(). Учитывает возвраты покупателей.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Валовая_прибыль
.erf 16,35Kb
503
503 Скачать (1 SM) Купить за 1 850 руб.

Дело в том, что одной строке состава реализации может соответствовать несколько строк списываемых партий и если мы бы соединяли в запросе то ресурсы реализации могут задвоиться, затроиться и т.д. На скриншоте выделена колонка суммы количества из реализации и видно, что отдельные партии не суммируются, но отдельные реализации суммируются. Вычисляемые поля прибыли и рентабельности (Рентабельность=(Цена продажи-Цена поступления)*100/Цена поступления ), диаграммы.

step by step

1. Создаём новый отчет и открываем схему компоновки данных (СКД).

2. Нам надо создать два набора данных. Продажи и Партии.

      Текст запроса продаж:

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

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

 

 

Текст запроса  партий:

 

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

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

Первый запрос тривиален. Все самое интересное во втором.

Я соединяю те движения партий, которые сделаны реализацией, с движениями которые делает возврат покупателя. Чтобы правильно их соединить (для вычитания сторно) , надо соединять по номенклатуре, характеристике, документу оприходования и документу продажи. С документом оприходования все понятно, но откуда в партиях взять документ продажи? Ответ прост. Возврат делает движения по продажам тоже и мы можем во вложеном запросе возвратов сделать соединение с продажами по регистратору (номенклатуре, характеристике) и вытащить таким образом документ продажи.

В СКД всегда так. Сначала долго думаешь, потом быстро делаешь.

Далее номера скриншотов соответствуют пунктам.

3. Теперь на уровне СКД делаем соединение наших наборов данных.

4. Создаем вычисляемые поля.

5. Ресурсы. Для цен продаж, списания и рентабельности задаём агрегатную функцию Среднее()

6. Параметры. Надо проверить ограничение доступности.

7. Настройки. Так должны выглядеть в конечном итоге. Для этого правой кнопкой на корне дерева, добавляем контрагента, номенклатуру. Характеристику добавляем в группировку номенклатуры. Потом документы.

8. Выбираем поля ресурсов, которые хотим видеть.

9. Отключаем рентабельность в группировке документа оприходования. она там не нужна.

10. Сортируем отчет по убыванию прибыли.

11. Задаем макет оформления.

12. Правой кнопкой на корне и добавляем новую диаграмму.

13. Добавляем серии и выбранные поля у диаграммы. Устанавливаем её тип.

См. также

Анализ учета Закрытие периода Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Налог на прибыль НДС Платные (руб)

Каждый бухгалтер не раз сталкивался с требованием от налоговой инспекции пояснить расхождения в показателях декларации по Налогу на прибыль («Доходы от реализации» + «Внереализационные доходы») и налоговой базой по НДС за год. Являются ли ошибкой подобные расхождения? Как пояснить налоговой их причину? Отчет «Анализ расхождений выручки НДС и Налога на прибыль в декларациях» для 1С (БП 3.0 ПРОФ и КОРП, КА 2, ЕRP) поможет найти все расхождения.

7200 руб.

21.10.2017    88056    323    172    

291

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Анализ учета Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

19200 руб.

27.10.2017    42424    25    13    

43

Анализ учета Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Платные (руб)

Обработка позволяет сравнивать количественные остатки номенклатуры между Бухгалтерия 3.0 и УТ 11.5

3600 руб.

06.02.2023    4727    15    3    

18

Взаиморасчеты Анализ учета Бухгалтер Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка позволяет сравнивать по документам и сверять по долгам покупателей и поставщиков между базами УНФ 1.6, УНФ 3.0 и Бухгалтерия 3.0,

6000 руб.

24.08.2022    6788    7    1    

10

Анализ учета Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Расширение автоматически анализирует управленческий учёт 1С:УНФ, помогает находить и исправлять ошибки, а также проверять те места, которые хорошо бы проверить. Разработка для тех, кто хочет построить управленческий финансовый учет в УНФ.

12000 руб.

28.07.2022    9616    9    25    

27

Рабочее место Загрузка и выгрузка в Excel Анализ учета Бизнес-аналитик Бухгалтер Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Конструктор отчетов, при помощи которого можно создавать различные отчеты без помощи программиста. Программа позволяет создавать отчеты на основании данных как из одной базы 1С так и из нескольких баз 1С, и еще использовать данные из .xls файлов.

2500 руб.

28.08.2020    22634    27    50    

45

Анализ учета Анализ продаж Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

ABC-анализ — метод, позволяющий классифицировать ресурсы фирмы по степени их важности. Отличный отчет для анализа выручки и продаж! Может применяться в сфере деятельности любого предприятия. В его основе лежит принцип Парето — 20% усилий обеспечивают 80% результата.

6000 руб.

26.06.2022    12351    17    7    

22
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. rasswet 82 13.01.10 12:08 Сейчас в теме
а скин можно покрупнее прицепить? не могу понять надо мне это или нет.
2. sashtet 13.01.10 13:15 Сейчас в теме
Мне пондравилась,буду изучать,думать что улучшить...
3. zlgen10 14.01.10 16:44 Сейчас в теме
Круть, по сравнению со стандартным в торговли мега прост, считает лучше, во всяком случае более развернут, и не дает 100 рентабельности при минусах как в стандарте, респект!
4. ZLG07 167 18.01.10 11:41 Сейчас в теме
Нашел пару ошибок, при возврате товара от покупателя, считает рентабельность 100, и также же возникает по некоторым движениям ошибка деления на 0
5. sashtet 18.01.10 11:46 Сейчас в теме
А что скажет автор?Будешь доделывать?
6. Boris-Leleko 318 18.01.10 20:14 Сейчас в теме
Сложная задачка, буду думать...
7. Boris-Leleko 318 24.01.10 03:48 Сейчас в теме
Ура! теперь фунциклирует. Возвраты учитываются и прибыль между партиями правильно теперь распределяется.
8. Boris-Leleko 318 20.10.10 10:44 Сейчас в теме
изменил ф-лу расчета рентабельности: Рентабельность=(Цена продажи-Цена поступления)*100/Цена поступления
9. tim2004 09.04.11 20:47 Сейчас в теме
Прибыль по услугам не считает. Поправьте, плиз.
10. Katerina_S 18.11.11 14:04 Сейчас в теме
+ для примера в освоении скд пригодилась
11. harisov_r 26 03.02.12 14:14 Сейчас в теме
Есть ошибки в отчете:
- Если есть документ "Поступление доп.расходов", который сделан после документа РТиУ, и сделан в конце месяца док-т "Корректировка стоимости списания товаров" - Ваш отчет не учитывает этого, и себестоимость подсчитывает неправильно. Типовой стандартный отчет "Валовая прибыль" - учитывает.
Рис.1 -

Рис.2 - Типовой стандартный отчет "Валовая прибыль" -


Рис.3 - Ваш отчет:
12. mig090874 06.02.12 14:40 Сейчас в теме
А если партия была создана документом "Приходный ордер", возникает ситуация деления на ноль. А будет ли сделана доработка отчета, чтобы по закрытым ордерам цену брать из документов поступлений, введенных на основании ордеров.
А так отчет нужный, можно много головной боли снять.
13. Boris-Leleko 318 06.02.12 15:39 Сейчас в теме
Спасибо за тест. В ближайшее время времени к сожалению не смогу найти... Но вообще конечно всё это надо учесть.
14. Светлый ум 423 21.05.13 10:58 Сейчас в теме
А как же колонка себестоимость?
15. Boris-Leleko 318 24.05.13 11:54 Сейчас в теме
Это отчет для УТ. В УТ нет такого понятия как себестоимость.
16. Pawlick 10 02.11.13 23:52 Сейчас в теме
(15)Boris-Leleko,
Как это нет ?!?
А регистр ПродажиСебестоимость ?
17. ivankudinr 01.02.14 11:49 Сейчас в теме
В отчет не попадают услуги. (УТ 10.3)
18. zif74 11 12.05.15 22:40 Сейчас в теме
Суммы отличаются от стандартной валовой прибыли..
19. vas2005 8 31.01.17 23:50 Сейчас в теме
Есть косячёк, который все путает((((
Если в базе есть поставки и нал и безнал, то вылезает следующее:
По безналу товар с НДС, а за наличку без НДС
Вот и получается что в некоторой прибыли не хватает НДС((((((
Пример:
по безналу стоит 816=680+136(ндс)
за наличку стоит просто 816
В Этом отчете колонка "Стоимость расход партии" если поступление безналичное то 680, а если наличное то 816

Понятно что эти данные берутся из Регистр накопления "Партии товаров на складах (управленческий учет)", но все же.

Надо что бы в "Стоимость расход партии" попадала цена с учетом НДС.
Прикрепленные файлы:
Оставьте свое сообщение