При работе в конфигурации 1С:ERP Управление предприятием (а также в родственных решениях «1С:Комплексная автоматизация» и «1С:Управление торговлей») пользователи часто сталкиваются с неприятной ситуацией при начале ведения учета. Вы выбираете первый рабочий месяц (например, январь), но кнопка «Выполнить операции» оказывается неактивной. Рядом горит предупреждение: «Расчет возможен только с периода [Месяц Год]», а в расшифровке этапов закрытия система настойчиво требует пересчитать операции за предыдущий месяц (например, декабрь), который вы закрыть физически не можете.
В этой статье мы подробно разберем, почему возникает этот замкнутый круг, как устроен этот механизм с технической точки зрения и какими способами можно быстро решить проблему, не нарушая целостность информационной базы.
Для того чтобы понять, почему система ведет себя подобным образом, рассмотрим стандартный сценарий запуска новой информационной базы. Предположим, предприятие начинает вести оперативный и финансовый учет с 1 января 2019 года. Согласно методологии 1С, все документы ввода начальных остатков (такие как ВводОстатковВзаиморасчетов, ВводОстатковТоваров, ВводОстатковВнеоборотныхАктивов) должны быть оформлены датой, предшествующей началу учета — то есть 31 декабря 2018 года.
Когда вы проводите любой документ в системе, автоматически срабатывают специальные подписки на события. Их задача — зафиксировать изменения в системе и сообщить механизму закрытия месяца, что данные изменились и их нужно пересчитать. Технически эта информация записывается в специализированные служебные таблицы — регистры сведений заданий к расчету.
Поскольку ввод начальных остатков был выполнен в декабре 2018 года, система зафиксировала изменения («задания») именно в декабре. Для программы это сигнал: «В декабре изменились данные, значит, нужно заново рассчитать себестоимость, партионный учет и сформировать проводки за декабрь». Однако учетная политика вашей организации создана и применяется только начиная с января 2019 года. Без действующей учетной политики за декабрь программа блокирует возможность расчета этого месяца, создавая тупиковую ситуацию: декабрь закрыть нельзя, а без его закрытия невозможно рассчитать январь.
Для координации регламентных операций закрытия месяца в 1С:ERP используется целое семейство служебных регистров. Наличие записей в любом из них за «предысторический» период блокирует расчет текущего месяца. Рассмотрим основные регистры, в которых могут зависнуть записи:
РегистрСведений.ЗаданияКЗакрытиюМесяца — основной управляющий регистр, который хранит информацию о необходимости выполнения тех или иных шагов в разрезе организаций и периодов.РегистрСведений.ЗаданияКРасчетуСебестоимости — регистр, контролирующий необходимость пересчета партий товаров, себестоимости и распределения расходов.РегистрСведений.ЗаданияКОтражениюВРегламентированномУчете — отвечает за формирование проводок по документам.РегистрСведений.ЗаданияКРасчетуАмортизацииОсновныхСредств и РегистрСведений.ЗаданияКРасчетуАмортизацииНМА — регистры, фиксирующие изменения в необоротных активах, требующие пересчета амортизации.Если в любом из этих регистров есть записи за декабрь 2018 года (или более ранние периоды), программа не позволит запустить закрытие января 2019 года. Для автоматического снятия таких блокировок подойдёт обработка для пропуска этапов закрытия месяца в 1С:ERP и 1С:КА.
Рассмотрим несколько практических способов очистки зависших заданий, начиная от самых простых пользовательских и заканчивая административными.
Это самый простой и безопасный способ, который доступен пользователям с правами бухгалтера или финансового аналитика прямо в интерфейсе программы.
После удаления записей вернемся в форму закрытия месяца и обновим ее статус (кнопка с круговой стрелкой). Требование пересчета за прошлый период должно исчезнуть, а кнопка «Выполнить операции» станет активной.
Если первый способ по какой-то причине недоступен (например, в вашем релизе ERP данный пункт меню скрыт или ограничен правами), администратор системы может очистить регистры напрямую.
Задания к закрытию месяца и Задания к расчету себестоимости.Аналогичную операцию при необходимости следует проделать и для других регистров заданий (например, по расчету амортизации или отражению в рег. учете), если по ним также висят требования пересчета. Для автоматизации этой задачи подойдёт обработка для удаления записей регистров заданий к закрытию месяца на выбранную дату.
В некоторых релизах 1С:ERP сбросить статус операции можно интерактивно прямо из дерева шагов закрытия месяца:
Проанализируем последствия ручного удаления заданий к расчету. Этот вопрос обоснованно беспокоит многих пользователей, ведь ручное вмешательство в системные регистры может казаться опасным решением.
Когда это абсолютно безопасно:
Если речь идет о месяце, в котором вводились исключительно начальные остатки (в нашем примере — декабрь 2018 года). В этом периоде еще не велась оперативная деятельность, не было выпусков продукции, продаж и других хозяйственных операций. Остатки зафиксированы документами ввода, и рассчитывать там нечего. В данном случае удаление заданий — это единственный верный и безопасный шаг, который никак не повлияет на дальнейший учет.
Когда это может быть опасно:
Если вы решите удалить задания к расчету в уже рабочем периоде (например, в марте 2019 года, когда в базе вовсю ведутся продажи и производство). Если кто-то изменил мартовский документ, система создала задание на пересчет марта. Если вы просто удалите это задание, чтобы «побыстрее закрыть апрель», программа проигнорирует мартовские изменения. В итоге себестоимость, финансовый результат и проводки апреля рассчитаются некорректно, так как они не учтут изменения марта. Делать так в рабочем периоде категорически не рекомендуется!
Чтобы вам не приходилось регулярно чистить регистры вручную, мы рекомендуем выполнить следующие профилактические действия:
Мы успешно разобрались в причинах блокировки регламентных операций и рассмотрели три надежных способа решения этой проблемы. Теперь вы сможете без препятствий завершить закрытие первого рабочего месяца в 1С:ERP!