Нарушена последовательность партионного учета для выполнения расчета себестоимости необходимо произвести восстановление. Один из вариантов восстановления последовательности партионного учета - избранное перепроведение документов

Многие помнят о проблеме медленного проведения и перепроведения документов в связке 1С 7.7 - MS SQL.

С этой же проблемой и я столкнулся когда-то, после того, как перевел торговую базу своего предприятия с DBF на SQL.

Тогда же и была реализована эта технология. Хотя сама идея появилась у меня несколько раньше.

Дано: партионный учет товаров, FIFO, списание себестоимости в момент перепроведения документа. До 2500 документов с движениями по регистрам товарного и денежного учета в день, что составляло около 60000 в месяц. В среднем, 22 строки на документ Реализации ТМЦ. Частые корректировки в товарных документах текущего месяца "задним" числом. Продажи в разрезе ТП. Контроль директором себестоимости/наценки on-line. Среднее время проведения документов Реализация ТМЦ (как самых "тяжелых") 2-2,5 секунды.

Надо: быстро, желательно в пределах 4-5 часов восстанавливать всю последовательность перед закрытием месяца. Причем жизнь показала, что процесс может повториться 2-3 раза. При этом - не внося никаких изменений в структуру и кодинг конфигурации.

Посмотрим на движения по регистру "Партии Наличие" документа Реализация ТМЦ:

Мы знаем, что при списании Партий ТМЦ списывается остаток с той партии, что пришла первой. Если количество списываемого товара более количества на остатке данной партии, происходит списание с последующих партий.

Посмотрим в "Ведомость по партиям ТМЦ":

Есть пересписание по партии. А какие условия могут привести к этому?

1. "Переползание" документов из предыдущей партии;

2. Уменьшение количества/стоимости в документе поступления/оприходования;

3. Увеличение количества в документах списания;

4. Возможно, был удален возврат товара с этой партии;

5. Возможно перемещен документ по времени журнала документов - из конца дня в начало, или более того - из одного дня в другой.

Нас уже не волнует кто, когда, что, где и зачем. Наша цель - убрать "красноту".

Если это делать "руками" что для этого надо? Правильно, перепровести последовательно документы под номерами 3845 и 3846. После этого они "соскользнут" на следующую партию. Затем обновляем отчет, и смотрим, нет ли "красноты" на следующей партии.

При этом для всех остальных документов перепроведение не сыграет никакой роли! Все товары так и останутся в пределах своих "родных" партий.

Ну а что нам мешает написать аналитический модуль, который будет проверять это соответсвие партий? Ничего.

Анализ показал, что подобные подвижки в общей массе движений составляют не более 10% от общего числа документов в месяц. А перепровести 6000 все же проще, чем 60000.

Значит, последовательно, для каждого документа из обрабатываемого периода, строим таблицу соотношения количества товаров в документе, остатков по партиям и движений по регистру партий данного документа:

Расхождения в остатках и партиях выделены цветом.

Собственно, сам факт хотя бы одного расхождения в подобной таблице - уже сигнал, что данный документ должен быть перепроведен.

Кстати, в прямом SQL-запросе возможно реализовать вариант полного анализа подобных ситуаций, что нам и удалось в результате сделать: запрос возвращал нам только строки с недостатком товара. Для данного примера, это были бы строки товаров №№ 3, 6, 8.

Нашли расхождения - перепровели. Потом следующий.

По аналогии был организован анализ оплаты.

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

23/10/2015

Параллельное восстановление партий

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

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

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

Первое, с чем приходится сталкиваться при выполнении проектов по оптимизации производительности процедуры восстановления партий - это устаревшие методы выполнения этой процедуры, а именно - полное перепроведение документов. Иногда это только определенные виды документов, участвующие в «партиях», иногда вообще все без разбора. Нам кажется, что данный подход идет с тех времен, когда действительно других альтернатив и не было, либо с тех конфигураций, в которых это единственный способ. Однако, сейчас для рассматриваемой нами конфигурации УПП это не так. В УПП есть более аккуратные и производительные механизмы для выполнения этих задач, а именно:

  • Процедура восстановления последовательности партионного учета (отдельно УУ, БУ, организациям)
  • Процедура восстановления взаиморасчетов (определения авансов)

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

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

По нашему опыту, время обработки одного документа не превышает 0,2 - 0,8 секунд и сам код по корректировке движений написан достаточно хорошо. Чтобы получить существенный прирост, нужно сократить это время, например, с 0,2 сек до 0,05, что кажется практически невыполнимой задачей, даже если рассматривать возможность изменения не только кода конфигурации, но и тотальной замены оборудования на последние поколения процессоров и систем хранения данных на Flash/SSD. Неужели нет выхода?

Оказывается, он есть! Тут нам на помощь приходит наш опыт олимпиадного программирования и пытливый ум, который шепчет, казалось бы, абсурдную фразу - давайте сделаем процесс восстановления "последовательности" - "параллельным"! Казалось бы, это невозможно, ведь мы намеренно "расставляем" документы строго друг за другом и именно так их и обрабатываем. Это и объясняет медлительность процесса - он идет в один поток, ограничен производительностью одного ядра процессора серверов, которые, как правило, имеют достаточно много простаивающих в это время других ядер.

На самом деле, расположение документов друг за другом - это некоторое упрощение, которое намеренно используется и гарантирует корректность учета, но не является единственно возможным решением. Каждый документ в последовательности зависит не от всех предыдущих документов, а только от некоторых, например, от тех документов, в которых есть та же самая номенклатура. При этом все другие документы не требуется проводить «до» нашего выбранного документа, и их можно проводить параллельно!

Откровенно говоря, подобная идея и подход конечно не новы, например, в базе знаний фирмы "1С"по технологическим вопросам есть статья (http://kb.1c.ru/articleView.jsp?id=72), которая описывала подобные подходы. В интернете также можно найти и другие подобные темы, в том числе различные интерпретации таких подходов (например, "блокировочный механизм" http://www.softpoint.ru/article_id375.htm и т.д.). Однако, проблемами всех указанных подходов является то, что они основываются на некоторых допущениях или искусственно формируемых "блоках" обработки данных, и не имеют четкой последовательности обработки. Мы захотели устранить эти недостатки, используя максимально «академический» подход, и считаем, нам это удалось.

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

Второй этап - это непосредственное восстановление (корректировка движений), только уже не по последовательности, в которой регистрируются документы платформой, а по нашему графу. При этом вот что важно - собственно код и алгоритмы формирования движений остаются полностью типовыми, а значит, конфигурация сохраняет возможность обновления. Все наши доработки находятся в отдельной подсистеме и только используют функции общих модулей, которые используются и в типовых обработках. Это гарантирует также и корректность результата - он всегда будет совпадать с типовым, последовательным восстановлением. Более того, это справедливо и для отраслевых решений (например, "1С:Управление птицефабрикой"), где в последовательности могут присутствовать специфические документы. Наличие первого этапа и дальнейший классический обход графа в глубину позволяют даже спрогнозировать и время выполнения обработки, и степень "параллельности" процесса, которая, очевидно, зависит от конкретных данных в базе. С помощью данных механизмов мы можем понять необходимые ресурсы сервера, а также эффективно управлять ими.


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


Итак, проблема, казалось бы, решена, алгоритм написан, проверен и оттестирован в мельчайших деталях, однако запуск на реальной рабочей базе, начав работать в штатном режиме, стал существенно деградировать по производительности к середине обработки графа. Время обработки одного документа стало превышать 10 секунд (вместо плановых - не более секунды), и тут уже были применены стандартные подходы к оптимизации - анализ планов запросов и их оптимизация. В результате этих работ мы нашли типовой запрос в УПП, слегка переписав который можно устранить такую деградацию, при этом его результаты остаются точно такими же, как в типовом виде. Данный "патч" можно применять и при последовательном восстановлении последовательности, и при полном перепроведении документов. Можем предоставить его абсолютно бесплатно, по запросу на нашу электронную почту: .

Вот теперь мы получили именно то, что планировали: многократное сокращение времени восстановления последовательности (более чем в 16 раз!), эффективная загрузка оборудования, удобные и гибкие инструменты для управления процессом. Но самое главное - это наш довольный заказчик, что для нас всегда является главной целью и наивысшей ценностью.


С отзывом совсем скоро Вы сможете ознакомиться на нашем сайте.

И напоследок, небольшой чек-лист для Вас.

Основные приемы восстановления последовательности, от самых простых, до самых инновационных:

  • Перепроведение документов для восстановления последовательности вы выполняете только в части тех документов, что используются в последовательности партионного учета и с сортировкой по моменту времени, а не по дате?
  • Вместо перепроведения используете специализированный механизм восстановления партий и взаиморасчетов (в УПП и аналогичных конфигурациях)?
  • Используете наше фирменное многопоточное, параллельное восстановление партий? J

Что упрощать?

Партионный учет, пожалуй, самая сложная подсистема любой конфигурации 1С.
Простое проведение документа, списывающего партии, ощутимо по времени. И чем больше в нем строк, тем существеннее время ожидания проведения документа.

Но это ещё полбеды. Дальше могут возникать ситуации, когда товар не распределился по партиям. Причины этого могут быть различными: непоследовательное занесение поступления партий и их списание, пересорт товара, просто отсутствие партий и т.д. Но результат этого всегда один и тот же - невозможность определить себестоимость списанного товара и, следовательно, некорректная информация по валовой прибыли, затратам и т.п. Следовательно, такие ситуации необходимо отслеживать и своевременно корректировать. Первая же проблема на пути корректировки: информация по не распределенным товарам выдаётся только непосредственно при перепроведении документов! Даже при однопользовательской работе на процесс сбора такой информации без жалости смотреть невозможно. Что уж говорить о многопользовательском варианте... Процесс же корректировки ситуаций нераспределения по партиям - вообще творческая и кропотливая работа!

И, наконец, актуальность полученных данных. Да, да! Корректировкой дело не заканчивается. Работа с документами "задним числом" (корректировка, добавление, изменение, удаление) приводит к неактуальности текущего распределения партий товаров. Например, себестоимость уже списанной партии может просто изменится, либо появится новая партия, а то и, вообще, списанная партия может быть удалена. В любом случае, данные о списанной себестоимости товара уже не будут отвечать выбранному методу распределения (FIFO, LIFO, По-среднему) и снова будут вводить в заблуждение менеджеров, изучающих отчеты, устанавливающих цены, закупающих товар... Во избежание такого развития событий предусмотрен механизм восстановления последовательности партий товаров. Но, как правило, работа с ним не отличается удобством: требуется монопольный режим, невозможно прервать восстановление, любое перепроведение документа (даже без внесения изменений) расценивается как нарушение последовательности и т.д.

Как упрощать?

Компания ИТЦ "Мотива" предлагает систему, позволяющую значительно упростить работу с партионным учетом в Вашей конфигурации! Упрощение идет по таким направлениям, как поиск не распределенных, корректировка не распределенных, восстановление последовательности.

Система состоит из модулей:

* Быстрое восстановление последовательности партий товаров.

* Отчет по товарам, не распределенным по партиям.

* Автокорректировка ситуаций нераспределения.

* Корректировка методом буфера.

Указанные модули позволяют забыть о проблемах партионного учета и переводят работу с базой данных на качественно новый уровень. Актуальность последовательности восстанавливается незаметно в реальном времени или раз в день, отнимая 5-15 минут. Информация по товарам, нераспределенным по партиям появляется за секунду нажатием кнопки. Рутинные работы по корректировке не распределения автоматизированы.

И это не далекое будущее - для использующих эту систему это счастливое настоящее! Наша система приносит радость людям и, безусловно, уменьшает трудозатраты многократно.

Быстрое восстановление последовательности партий товаров.

Данные о списанных партиях критичны к правильной последовательности проведения документов - они только тогда отражают действительное положение вещей, когда документы проводятся последовательно!

Если в Вашем оперативном учете Вы используете учет партий товаров, тогда Вы, наверное, знаете, что периодически, вследствие проведения документов задним числом, последовательность партий может быть нарушена и данные по списанной себестоимости могут быть неактуальны.

Различные варианты нарушения последовательности (корректировка, добавление, удаление товаров или документов, изменение даты документа) очень часто встречаются в оперативном учете. И, чтобы получать актуальную информацию, необходимо восстанавливать последовательность каждый день и чаще. В идеале - перед каждым формированием отчёта по прибыли и ему подобных.

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

Система оптимизированного (ускоренного) восстановления, которую предлагает компания ИТЦ "Мотива", выполняя ту же задачу, что и стандартная, позволяет восстановить последовательность на порядок быстрее, поскольку:

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

· Перепроводит только документы, содержащие товары, по которым последовательность была нарушена .

· При перепроведении тратит время только для восстановления партионного учета - остальные алгоритмы проведения нет нужды задействовать. Не перепроводит документы образования партий («Поступление», «Оприходование» и пр.) по аналогичным соображениям.

· Не требует монопольного режима (отсутствия других пользователей в базе). Для восстановления даже не требуется, чтобы перепроводимый документ был закрыт пользователем!

· Позволяет прерывать выполнение восстановления и продолжать дальше в более удобное время.

· Позволяет автоматически поддерживать актуальность партий товаров в реальном времени либо автозапуск восстановления по расписанию.

Резюмируя, эта система оптимизирует восстановление путем введения детального анализа на стадии нарушения последовательности. Основное преимущество - уникальный алгоритм, отслеживающий, было ли нарушение последовательности при перепроведении документа. В сочетании с остальными методами оптимизации разработка позволяет для восстановлении последовательности перепроводить в среднем на 85-95% меньше документов! Другими словами, не перепроводятся те документы, которые после этого заведомо не изменят свои движения по партиям.

Компания ИТЦ "Мотива" предлагает Систему упрощения партионного учета (далее СУПУ), которая наилучшим образом выполнит задачи восстановления любых последовательностей документов!

Отчет по товарам, не распределенным по партиям.

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

Вероятно Вы задавались вопросом, как быстро посмотреть эти сообщения без перепроведения документов?

Вот и ответ: для того, чтобы в любой момент за считанные секунды увидеть все ситуации не распределения (документ, товар, недостающее количество) служит данный отчет. Теперь проверка списания товаров по партиям станет удобным и увлекательным занятием! Удивительно, но отчёт способен работать с любыми периодами документов сразу после установки. Так что если Вам предстоит битва с запущенной последовательностью за последние N лет - Вам окажет неоценимую помощь!

Автокорректировка ситуаций нераспределения.

При обнаружении ситуаций нераспределения из-за разницы во времени прихода и расхода, находящихся в одном дне, данная процедура перемещает приход на секунду раньше расхода.

Корректировка методом буфера.

Иногда, чтобы не разбираться в прошлых периодах с распределением партий, проще оприходовать определенное количество товара до момента возникновения ошибок нераспределения, чтобы списать его позже, когда череда ошибок пройдёт. Определением оптимальных параметров такой операции с попутным созданием документов Оприходования / Списания и занимается этот модуль.

Как видите, управлять партиями при наличии такого инструмента легко! А успешное внедрение этой системы на десятках баз данных, преимущественно крупных и очень крупных, позволяет нам уверенно предлагать её Вам в качестве надёжного помощника!

Сомневаетесь в безопасности и эффективности работы СУПУ? Данный продукт начиная с 2006 года и 1с версии 8.0 успешно работает в промышленной эксплуатации на многих предприятиях самого различного профиля. За всё это время мы не получили нареканий относительно его функционала - только пожелания по улучшению сервисных механизмов, которые реализовываем в новых версиях. К тому же СУПУ не меняет данные, он просто перепроводит документы, используя их стандартный алгоритм проведения. И в отличие от типовых аналогов, далеко не все, а только необходимые. Система упрощения партионного учета - абсолютно безопасный и эффективный помощник!

* Система встраивается в конфигурации на базе типовых 1С 8.1 "Управление торговлей", "Управление производственным предприятием". О возможности использования в других конфигурациях или для восстановления других последовательностей документов уточняйте.

* Продукт устанавливается "сбоку" и не требует внесения изменений в типовой код конфигурации. Т.е. обновление новыми версиями типовых конфигураций происходит как обычно. Установка занимает 10 минут.

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

Начнем с детального рассмотрения бизнес-процесса закрытия месяца.

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

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

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

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

Настройка процедуры закрытия месяца

Рассмотрим схему закрытия периода. Она представлена в виде бизнес-процесса. Механизм закрытия месяца доступен из интерфейсов «Бухгалтерский и налоговый учет» и «Заведующий учетом».

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

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

Рис. 1

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

Отдельно указана схема расчета НДС.

На закладке Распределение затрат указываются способы распределение затрат для расчета себестоимости. Для правильного распределения указывается также соответствие Подразделений Подразделениям Организации в справочнике «Подразделения».

Запуск процедуры

Настройка закрытия месяца создана, теперь можно приступить к запуску самой процедуры. Перейдем к пункту меню «Регламентные операции» и выберем пункт «Процедура закрытия месяца». Здесь укажем «Организацию» и «Настройку». Признаки отражать в бухгалтерском, налоговом и управленческом учете будут установлены сами в зависимости от настройки закрытия месяца, если щелкнуть по кнопке «Загрузить настройки».

Итак, все готово для запуска. Нажимаем кнопку «Запустить процедуру» и перейдя по кнопке «Регламентные операции» увидим, что пользователю автоматически сформировалась задача, в соответствии с которой он должен оформить регламентные документы необходимые на данном этапе.

После выполнения этапа, программа автоматически переходит к следующему. Некоторые этапы могут выполняться параллельно.

После того как все задания будут выполнены процедура считается завершенной.

Этапы выполнения регламентных операций

После запуска процедуры закрытия месяца система назначит ответственному первую задачу. Он сможет увидеть ее из пункта меню Регламентные, переключившись на интерфейс «Бухгалтерский и налоговый учет».

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

Рис. 2

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

Рассмотрим основные операции, входящие в процедуру закрытия месяца.

Допроведение документов

Если в программе используется механизм отложенного проведения, то при завершении месяца будет запущена обработка «Допроведение документов», чтобы документы были проведены по всем регистрам. При большом документообороте данная обработка запускается регулярно.

В журнале «Отложенное проведение документов» можно увидеть те документы, которые подчиняются механизму допроведения. С помощью операции «Действия -> Провести полностью» документ проводится по всем регистрам.

Восстановление состояния расчетов

Если в учетной политике предприятия обозначено, что зачет авансов производится обработкой «Восстановление последовательности расчетов», то по завершении периода запускается данная обработка. Ее можно найти, переключившись на интерфейс «Заведующий учетом» пункт меню «Регламентные операции -> Восстановление последовательности расчетов». Обработка восстанавливает правильную последовательность документов по зачету авансов. После ее использования документы поступления и реализации не перепроводят, иначе проводка по зачету аванса исчезнет.

Восстановить последовательность партионного учета

Если в программе используется партионный учет, то при списании партий можно облегчить работу прикладного решения, отложив списание в управленческом и регламентированном учете и запустив специальную обработку в конце месяца, которая проведет документы по регистрам партионного учета. Для этого снимаются галочки в «Настройках параметров учета -> Списывать партии при отражении документов» и запускается обработка «Проведение по партиям». Даже если документы вводились задним числом, то запускать эту обработку тоже полезно, потому как она восстанавливается последовательность партионного учета.

Скорректировать стоимость списания МПЗ

Используется при партионном учете. При проведении документа выполняется корректировка стоимостных движений по партионному учету за месяц. Корректировка необходима для: расчета средневзвешенной стоимости списания партий при использовании способа оценки МПЗ «По средней», а также учета дополнительных расходов на приобретение товаров, оприходованных после списания товаров.

Начислить амортизацию ОС

Из формы регламентной операции, нажав на кнопку «Создать документы» последним днем месяца автоматически создается документ «Амортизация ОС». Далее следует провести и посмотреть результат проведения.

Если для каких-то ОС используется способ амортизации пропорционально объему продукции или по единым нормам амортизационных отчислений, то сначала заполняется документ «Выработка ОС».

Начислить амортизацию НМА

Суммы амортизации и списания расходов на НИОКР рассчитываются при проведении документа «Амортизация НМА». Аналогично если амортизация начисляется пропорционально объему произведенной продукции, то следует указать объем продукции, произведенной в этом месяце.

Погасить стоимость спецодежды

На этом этапе будет создан документ «Погашение стоимости (спецодежда, спецоснастка, инвентарь)», при проведении списывается часть стоимости спецодежды и спецостнастки, которая была не полностью погашена при вводе в эксплуатацию.

Списать РБП

При проведении документа «Списание расходов будущих периодов» часть расходов будущих расходов переносится на текущие. Суммы и счета, на которые эта часть будет списываться, указывается в справочнике «РБП».

Рассчитать расходы по страхованию

Документ предназначен для списания расходов будущих периодов по добровольному страхованию работников в бухгалтерском (76.01.2 «Платежи (взносы) по добровольному страхованию работников») и налоговом учете (97.02 «Расходы будущих периодов на добровольное страхование работников»).

Переоценить валютные средства

С помощью документа «Переоценка валютных средств» производится переоценка сумм в валюте управленческого учета по регистрам денежных средств и взаиморасчетов с контрагентами и подотчетными лицами.

Для расчета НДС существует отдельная схема. На вкладке «Схема расчета НДС» отмечаются те операции, которые следует выполнить. Программа сама создаст необходимые документы, предложит их заполнить и провести. Прикладное решение автоматически формирует формы отчетности: книга покупок, книга продаж, декларация по НДС. Все регламентные операции хранятся в журнале (интерфейс «Бухгалтерский и налоговый учет», меню «НДС –> Регламентные документы НДС»).

Документ «Расчет себестоимости» формируется для каждого вида учета отдельно, если необходимо рассчитать себестоимость по всем видам учета, то проводим несколько документов (по управленческому учету и бухгалтерскому и налоговому учету). Данный документ производит расчет фактической стоимости списания запасов на расходы, списывает материалы из незавершенного производства, распределяет общепроизводственные и общехозяйственные расходы на выпуск () Используется только при расширенной аналитике учета затрат.

Рис. 3

Расчет себестоимости состоит из следующих операций:


  • Если учет ТЗР ведется на отдельном счете, тогда выполняется «Распределение ТЗР».
  • Определяется список услуг по документам «Реализация товаров и услуг», себестоимость которых будет рассчитана.
  • Расчет базы распределения расходов – способы распределения задаются в регистре сведений «Способы распределения статей затрат» или из справочника «Статьи затрат» для каждой статьи отдельно. Выполняется расчет всех баз, по которым будут распределены расходы. Рассчитанные базы записываются в регистры сведений «База распределения затрат» и «База распределения затрат (бухгалтерский учет)»
  • Распределение расходов по базе – после расчета базы выполняется распределение расходов на стоимость готовой продукции и услуг.
  • Расчет фактической себестоимости - выполняется суммовая оценка стоимости МПЗ.
  • Формирование движений по регистрам бухгалтерии (для регламентированного учета) и стоимости основных средств (для управленческого учета).

Сформировать финансовый результат

Документ «Определение финансовых результатов» делает проводки по закрытию счетов 90 и 91. Документ может быть отражен в бухгалтерском и налоговом учетах. При отражении документа в налоговом учете может быть выполнена операция списания убытков прошлых лет.

При закрытии 90 счета будет сформирована проводка, отражающая прибыль или убыток. При закрытии 91счета будет рассчитан финансовый результат по прочим видам деятельности.

Рассчитать налог на прибыль

С помощью документа «Расчеты по налогу на прибыль» можно выполнить расчет постоянных и отложенных налоговых активов и обязательств в соответствии с нормами ПБУ 18/02 «Учет расчетов по налогу на прибыль» и расчет налога на прибыль. Этот документ можно использовать для ввода остатков по отложенным налоговым активам и обязательствам.

Закрыть год

Документ «Закрытие года» проводится только в декабре каждого года. В результате проведения все сальдо субсчетов счетов 90 и 91 бухгалтерского учета списываются на соответствующие субсчета с кодом 99. Все сальдо субсчетов счета 99 "Прочие доходы и расходы" списываются на счет 99.01.1 (2), а сальдо этого счета списывается на счет 84 "Нераспределенная прибыль (непокрытый убыток)".

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


Представляет собой последовательное создание и проведение определенного вида документов и выполнение специальных обработок.

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

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

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

Процедуры по шагам

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

Получите 267 видеоуроков по 1С бесплатно:

Исходя из вышесказанного, проводить их целесообразно в нерабочее время. Выполнение обозначенных обработок выполняется перед закрытием месяца в базе 1С УПП 8.2, в случае использования режима учета затрат – . Если используется РАУЗ, исполнение данных обработок не предполагается.

  • Восстановить последовательность расчетов по приобретению – обработка (Восстановление последовательности расчетов).
  • Восстановить последовательность расчетов по реализации – обработка (Восстановление последовательности расчетов).
  • Восстановить последовательность партионного учета – обработка (Проведение по партиям).
  • Корректировка стоимости списания товаров – документ (приводит стоимость к средней скользящей).
  • Амортизация ОС — документ.
  • Погашение стоимости () – документ.
  • – документ.
  • Переоценка валютных средств – документ.
  • – обработка. Находит авансы полученные (остатки на счете 62.02), при нажатии кнопки «Выполнить» создает счета-фактуры на аванс, если такие счета-фактуры уже присутствуют в системе, перезаписывает их (не задваивает).
  • Подтверждение нулевой ставки НДС – документ. Заполняется в случае присутствия в системе соответствующего учета.
  • Формирование записей книги покупок – документ.
  • Формирование записей книги покупок (0%) – документ. Заполняется в случае присутствия в системе соответствующего учета.
  • Формирование записей книги продаж – документ.
  • Формирование записей книги продаж (0%) – документ. Заполняется в случае присутствия в системе соответствующего учета.
  • Расчет себестоимости – документ. Самый важный документ, закрывает затратные счета.
  • Определение финансовых результатов – документ.
  • Расчеты по налогу на прибыль – документ.
gastroguru © 2017