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

25.01.24

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

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

Файлы

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

Наименование Скачано Купить файл
: внешний Отчет ERF
.erf 19,20Kb
8 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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 ЕРП УПП Комплексная автоматизация Номенклатура Партионный учет анализ склад.

См. также

SALE! 50%

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

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

96600 48300 руб.

30.11.2022    38291    402    37    

58

Учет доходов и расходов Бухгалтер Пользователь 1С:Предприятие 8 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Готовый модуль для управленческого учета по проектам в 1С:Бухгалтерии 3.0. Ведите список проектов, привязывайте проекты к документам, контролируйте доходы и расходы в разрезе каждого проекта в 1С.

15250 руб.

30.11.2021    35945    255    88    

153

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

Расширение для 1С, которое реализует ключевые функции MES-системы прямо в вашей конфигурации. Вы получите инструменты для планирования производства, управления ресурсами, формирования заданий цехам и анализа выпуска продукции. Интеграция с 1С обеспечит сквозной учет без дублирования данных. Решение позволяет контролировать простои оборудования, потребность в материалах и качество продукции, помогая повысить эффективность производства без перехода на сложные специализированные системы.

60000 руб.

25.06.2025    7971    10    3    

9

SALE! 50%

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

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

96600 48300 руб.

08.12.2021    36717    537    77    

64

Учет доходов и расходов Бизнес-аналитик Бухгалтер Руководитель проекта 1С:Предприятие 8 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

61000 руб.

20.08.2025    4304    16    23    

12

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

Конкурсные процедуры поставщика - это модуль для 1С:УТ, КА и ERP, предназначенный для автоматизации учета и управления тендерной деятельностью. Решение позволяет сократить время на подготовку документов, снизить риск ошибок, увеличить количество выигранных тендеров и повысить эффективность работы тендерного отдела. Модуль легко интегрируется с другими системами 1С и обеспечивает полный контроль над финансовыми потоками, связанными с участием в тендерах.

48800 руб.

07.05.2025    2550    3    2    

6

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

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

15250 руб.

28.03.2022    16832    37    26    

41

Учет доходов и расходов Взаиморасчеты Бюджетный учет 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Предприятие 8. Транспортная логистика, экспедирование и управление автотранспортом КОРП Россия Управленческий учет Платные (руб)

Автоматизируйте согласование платежей в 1С. Модуль "Маршруты согласования заявок на расходование средств" для 1С:ERP устраняет хаос в утверждении платежей, заменяя ручные процессы четким автоматизированным workflow. Будет полезен для финансовых директоров, бухгалтеров и руководителей, стремящихся исключить потерю заявок и ускорить платежи.

30500 руб.

15.05.2025    2238    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. e.kogan 1909 18.11.24 18:41 Сейчас в теме
Не работает. БП 3.1.158.23, полная таблица выборки кончается в 2023 году и напрочь игнорирует всё последующее. Из регистраторов только оприходование и перемещение, остального не видит. Поступлений вроде как нет, реализаций нет, ничего нет ) и перемещений на самом деле тоже нет, и по какому принципу он видит/не видит документы - непонятно. Проводка на 10 счёте есть, товара в таблице - нет.
Для отправки сообщения требуется регистрация/авторизация