Учебный курс: Подготовка на 1С:Специалист по платформе 1С:Предприятие 8.3
Задачи оперативного учета – тема № 12:
Как на экзамене правильно спроектировать структуру регистров, чтобы построить отчет по продажам самым простым образом
На аттестации в большинстве задач по оперативному учету недостаточно только реализовать программный код для формирования движений документов по регистрам. Практически во всех задачах требуется построить отчет, при помощи которого можно проанализировать такие показатели, как сумма продаж, себестоимость, прибыль и т.д. Рассмотрим такую задачу на примере.
В конфигурации, созданной при решении задачи из главы «11. Как выполнить списание товаров по приоритетам складов», необходимо создать отчет для анализа продаж товаров за период. Отчет должен иметь следующий вид:
Отчет по продажам с 01.10.2018 по 31.10.2018:
В отчете необходимо вывести следующие показатели:
- Количество (количество проданной номенклатуры)
- Сумма продажи (выручка от продажи номенклатуры)
- Себестоимость (себестоимость проданной номенклатуры)
- Прибыль (валовая прибыль от продажи номенклатуры). Рассчитывается по формуле:
Прибыль = Сумма продаж – Себестоимость
- Интервал (среднее количество дней между продажами). Рассчитывается по формуле:
Интервал = (Дата последней продажи – Дата первой продажи) / Количество продаж за период
Если за период была только одна продажа товара, в колонке Интервал необходимо вывести слово «однократно».
- Срок (количество дней с момента последней продажи). Рассчитывается по формуле:
Срок = Конец периода отчета – Дата последней продажи
Отчет должен быть реализован с использованием системы компоновки данных.
Разработать похожие отчеты потребуется, например, в задачах 1.3, 1.4, 1.5 и т.д. из экзаменационного сборника.
Рассмотрим подробнее, как создать такой отчет.
Анализ постановки задачи
В предыдущем разделе был реализован алгоритм списания товаров по приоритетам складов. Таким образом, в регистре накопления ОстаткиНоменклатуры есть данные по себестоимости, которые можно использовать в отчете.
Сведения о количестве и сумме проданных товаров присутствуют только в табличной части документа РасходнаяНакладная. Однако на экзамене использовать эти данные для разработки отчета нельзя.
В списке наиболее часто встречающихся на экзамене ошибок есть следующий пункт:
Получение расчетных данных не из регистра. Единственной достоверной информацией в системе учета следует считать информацию регистров. Информация из документов может рассматриваться лишь как вспомогательная и не может быть абсолютно достоверной.
Это серьезная ошибка, за нее снимается 3 балла.
Поэтому для хранения данных о продажах необходимо создать отдельный регистр накопления ПродажиНоменклатуры. Поскольку для данных о продажах нет смысла в получении остатков, регистр накопления ПродажиНоменклатуры должен быть оборотным.
Таким образом, для получения отчета требуемого вида нужно выполнить соединение двух регистров: ПродажиНоменклатуры и ОстаткиНоменклатуры. Подобное решение можно оптимизировать. Для этого в регистр накопления ПродажиНоменклатуры следует добавить ресурс для хранения себестоимости. Может возникнуть вопрос, для чего это делать, если все данные уже есть в регистре ОстаткиНоменклатуры? У такого подхода есть следующие преимущества:
- Для получения в отчете данных о продажах и себестоимости не придется выполнять соединение таблиц, поскольку вся необходимая информация хранится в одном регистре ПродажиНоменклатуры
- В отчет требуется вывести оборотные данные, а не остатки. Поэтому использование оборотного регистра в данном случае предпочтительнее с точки зрения быстродействия, т.к. его структура хранения в базе данных специально приспособлена для решения задачи получения оборотов в отличие от остаточного регистра накопления
- В регистре ОстаткиНоменклатуры есть данные, которые не нужны для построения отчета. В данном случае это информация по складам, поскольку отчет строится только в разрезе номенклатуры. Также на экзамене может встретиться другое условие по списанию себестоимости, например, по партиям. Поэтому построение отчета будет гораздо проще, если данные о себестоимости будут храниться в регистре накопления ПродажиНоменклатуры.
Теперь разделим исходную задачу на ряд отдельных подзадач:
- Создать необходимые объекты метаданных
- Изменить алгоритм проведения документов
- Создать отчет по продажам.
Рассмотрим подробнее, как решить каждую из подзадач.
Создание в конфигурации необходимых объектов метаданных
Создадим в конфигурации оборотный регистр накопления ПродажиНоменклатуры:
Рисунок 1 – Оборотный регистр накопления «Продажи номенклатуры»
Структура регистра накопления будет выглядеть следующим образом:
- Измерения:
- Номенклатура (тип – СправочникСсылка.Номенклатура)
- Ресурсы:
- Количество (тип – Число 10, 0)
- СуммаПродажи (тип – Число 12, 2)
- Себестоимость (тип – Число 12, 2).
Рисунок 2 – Структура регистра накопления «Продажи номенклатуры»
В качестве регистратора укажем документ «Расходная накладная»:
Рисунок 3 – Регистратор регистра накопления «Продажи номенклатуры»
Необходимый объект метаданных добавлен в конфигурацию, можно переходить к доработке алгоритма проведения.
К сожалению, у Вас недостаточно прав для дальнейшего просмотра.
Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.
Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.
Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.
Комментарии закрыты