Универсальный анализ себестоимости по партиям (в разрезе двух субконто: Номенклатура, Склад)

25.01.24

Учетные задачи - Учет доходов и расходов

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

Скачать исходный код

Наименование Файл Версия Размер
: внешний Отчет ERF
.erf 19,20Kb
3
.erf 19,20Kb 3 Скачать

1) На большом объеме данных может сильно задумываться. Таблицы для определения партий не обрезаются левой датой, используется много больших по объему временных таблиц. Поэтому, чем меньше выбранной номенклатуры, тем быстрее формирование. Лучше всего формировать с отбором по одной номенклатуре (использовался именно для этого), формируется мгновенно. 

2) Для определения суммы списания в рамках склада, необходимо, чтобы на выбранном счете номенклатуры для субконто вида "Склады" велся суммовой учет и оно присутствовало в составе субконто счета, иначе разворот сумм списания по таблицам остатков и оборотов по складу не будет выполняться.

Предполагается, что пользователь в зависимости от установленной политики учета себестоимости на предприятии в "целом" выставит параметр "Номер субконто склад" в параметрах отчета. Если значение параметра = 0, тогда разворот по складу не будет использоваться (разрез будет заполняться пустыми значениями). Если параметр от 1 до 3, то разрез отчета по складам будет зависеть от того есть ли на счете субконто типа "Склады" и стоит ли на этом субконто признак суммовой. Для каждого выбранного в настройке счета производится отдельное определение данного принципа.

 

Листинг определения разворота по складу счета

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

а) Листинг получения данных по списанию

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

                СГРУППИРОВАТЬ ПО
                                ТоварыПериоды.ДатаТаблицы,
                                ТоварыПериоды.Номенклатура,
                                ТоварыПериоды.Склад,
                                ТоварыПериоды.Счет

                ИМЕЮЩИЕ
                                (СУММА(ЕСТЬNULL(Обороты.КоличествоОборотКт, 0)) > 0
                                                ИЛИ СУММА(ЕСТЬNULL(Обороты.СуммаОборотКт, 0)) > 0)

б) Приходы собираются по физическим таблицам движений и субконто регистра бухгалтерии, т.к. необходим разрез по регистратору.

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

                СГРУППИРОВАТЬ ПО
                                НАЧАЛОПЕРИОДА(Вложенный.Период, ДЕНЬ),
                                Вложенный.Регистратор,
                                Вложенный.Номенклатура,
                                Вложенный.СчетУчета,
                                Вложенный.Склад

                //////////////////////////////////////////////////////////////////

 

Принцип построения отчета на примере из ЕРП 2.4/2.5

Отчет строится в разрезе Номенклатуры, Склада, СчетаУчета и Даты (до дня) оборота

а) Выбираются обороты списания по отобранной номенклатуре за выбранный период отчета.

Важно делать отбор по номенклатуре (в идеале до одной позиции)

 

 

б) Выбираются все поступления до даты конца отчета

 

 

в) Для того чтобы однозначно определить приход в рамках одного дня, рассчитывается системный период

 

 

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

Таким образом нарастающим итогом учитываются все списания, идущие до рассматриваемого.

 

 

д) Далее, еще через пару временных таблиц подсчитывается количество,
списанное по определенному приходу, если по рассматриваемому приходу есть остаток на конец дня списания (списание берется оборотами за день).

 

 

Так же рассчитывается сумма списания по данному приходу, исходя из формулы:
СуммаСписаноВПромежутке = РасходВсегоСумма * СписаноВПромежутке / РасходВсего

 

 

е) Далее таблица распределенных расходов по дням объединяется с таблицей оборотов приходов по датам приходов.

Данные группируются в итоговую таблицу (приходов за день и расходов, закрытых приходами).

На каждую дату результирующей таблицы получается начальный остаток, и последовательно по каждой строке рассчитывается конечный остаток.

 

 

ОСВ для данного примера:

 

 

Еще несколько тестов для других конфигураций

Расчет в БП 3 (склад - субконто3).

 

 

Расчет в КА 1.1 (склад - субконто2, не стоит признак "суммовой")

 

 

Универсально работает на всех бухгалтерских конфигурациях 1С (проверено ЕРП 2.4/2.5, Бухгалтерия 2.0/3.0, УПП 1.3, КА 1.1/2).

Тестировалось на:

  • ЕРП 2.5.6.195
  • БП 3.0.66.60
  • БП 2.0.67.25

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.6.195
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.66.60
  • Бухгалтерия предприятия, редакция 2.0, релизы 2.0.67.25

Себестоимость Бухгалтерия ERP ЕРП УПП Комплексная автоматизация Номенклатура Партионный учет анализ склад.

См. также

Учет по проектам в 1С:Бухгалтерии 3.0

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

Расширение "Проекты" добавляет в типовую конфигурацию управленческий учет по проектам: позволяет вести список проектов, привязывать проекты к документам, подсчитывать доходы и расходы в разрезе проектов.

12000 руб.

30.11.2021    20840    84    44    

75

Модуль Фонды: Простое управление финансами для УНФ, УТ 10/11, КА, УПП / ERP, КА, БП

Учет доходов и расходов БДР, БДДС Бюджетный учет 8.3.14 Конфигурации 1cv8 1С:Управление торговлей 11 Беларусь Россия Казахстан Бюджетный учет Управленческий учет Платные (руб)

Как держать деньги под контролем с помощью 1С УНФ, УТ, КА, ERP или БП и 2 часов в неделю без внедрения бюджетирования и найма финансиста. Дополнение для 1С 8.3 Модуль реализован в виде конфигурации и рассчитан для собственников компаний с чистой прибылью до 10 млн руб. / мес. То есть, пока вам не рентабельно вести сложные модули типа «Бюджетирование», «Казначейство», но нужно знать, сколько платить на этой неделе и хватит ли средств, чтобы отложить в дивиденды, обучение сотрудников, закупку и ремонт оборудования

45000 руб.

20.07.2023    3753    5    0    

35

Отчет "Полный анализ себестоимости выпущенной продукции" для 1С:ERP (ЕРП), 1С:КА, 1С:ERP УХ

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

Данный отчет показывает себестоимость выпущенной продукции с разузлованием полуфабрикатов любых уровней, входящих в ее состав, до статей затрат и материалов. Отчет работает независимо от метода оценки стоимости товаров и подходит для любых производственных компаний с многопередельным производством. Отчет можно использовать как в типовой 1С:ERP, так и в отраслевых решениях на ее базе (например, 1С:ERP Управление птицеводческим предприятием и т.д.). Отчет подходит для анализа затрат на гособоронзаказы ГОЗ.

70000 руб.

08.12.2021    24194    18    72    

28

Отчет "Полный анализ себестоимости реализованной продукции" для 1С:ERP (ЕРП), 1С:КА, 1С:ERP УХ

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

Данный отчет показывает себестоимость реализованной продукции в разузлованном виде, как с выделением входящих в нее полуфабрикатов любых уровней, так и свернутый до статей затрат и материалов, видов работ. Отчет работает независимо от метода оценки стоимости товаров и подходит для любых производственных компаний с многопередельным производством. Отчет можно использовать как в типовой 1С:ERP, так и в отраслевых решениях на ее базе (например, 1С:ERP Управление птицеводческим предприятием, Молокозавод и т.д.).Отчет подходит для анализа затрат на гособоронзаказы ГОЗ.

70000 руб.

30.11.2022    11724    13    22    

17

Убираем НДС из прибыли в 1С:УНФ

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

Убрали НДС из всех операций, где налог влияет на прибыль. Учли это во всех нужных регистрах и отчётах, сделали нужные проводки. Так как расширение влияет на расчёт прибыли, мы особенно внимательно отнеслись к его тестированию. Проверили всё на фреймворке Vanessa Automation. Это позволяет избежать ошибок и защищает учёт.

12000 руб.

28.03.2022    12474    25    26    

32

Обработка "Списание доходов будущих периодов" и расширение

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

Решение регламентирует учет доходов будущих периодов(ДБП) в организации: сохраняет подробную информацию о объекте ДБП. По окончании месяца на основе введенной информации формируются проводки списания ДБП, отчеты для бухгалтерского и налогового учета. Подходит как для различных версий Бухгалтерии 8.3, так и для ERP и КА.

5500 руб.

09.10.2020    18868    41    18    

38

Отчеты по учету проектов для 1С:Бухгалтерии 3.0

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

Комплект внешних управленческих отчетов по учету в разрезе проектов. Отчеты показывают доходы и расходы, продажи и валовую прибыль, движение денежных средств и товарно-материальных ценностей по каждому проекту.

9000 руб.

08.02.2024    864    5    13    

4

Дополнительный анализ расходов УСН в 1С:Бухгалтерии 3.0

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

Мы добавили девять новых проверок в Экспресс-проверку учета. Цель таких проверок — узнать, есть ли потенциальные проблемы в учёте УСН.

7200 руб.

27.09.2021    13696    28    11    

36
Оставьте свое сообщение