Как настроить закрытие месяца в 1С:КА 2.5 при действующей дате запрета редактирования?

Программист 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация Управленческий учет
← На главную

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

Разберем базовый механизм настройки даты запрета

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

Выполним следующие шаги для настройки:

  1. Перейдем в раздел НСИ и администрирование — Настройка пользователей и прав — Даты запрета изменения.
  2. Установим флаг Даты запрета изменения.
  3. В поле Настраивать дату запрета выберем значение По пользователям.
  4. В появившемся списке добавим группу «Все пользователи» и установим для них дату (например, конец прошлого месяца).
  5. Отдельной строкой добавим пользователя (Главного бухгалтера), для которого выберем либо более раннюю дату, либо установим значение Запрет не установлен.

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

Влияние кэширования параметров сеанса

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

Если администратор изменил настройки даты запрета, а у бухгалтера в этот момент уже открыта программа 1С, его текущий сеанс ничего не знает о новых правилах. Система продолжает использовать старые значения, хранящиеся в памяти. Рассмотрим, как правильно обновить эти данные:

  1. Перезапуск сеанса: Самый надежный способ. Бухгалтеру необходимо полностью закрыть 1С и зайти заново. При старте система пересчитает ПараметрыСеанса.ДатаЗапретаИзмененияДанных.
  2. Переоткрытие формы: В некоторых случаях достаточно закрыть саму форму обработки Закрытие месяца и открыть ее заново, однако это не гарантирует обновление глобальных параметров проверки на уровне сервера.

Технические нюансы: фоновые задания и регламентные операции

В современных версиях 1С:КА 2.5 процедура закрытия месяца — это не просто проведение документов. Это сложный комплекс расчетов, которые запускаются как Фоновые задания. Посмотрим на этот процесс с технической стороны.

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

Проанализируем типичный код проверки, который может вызываться при записи регламентных документов, таких как РасчетСебестоимостиТоваров или АмортизацияОС:


// Пример логики проверки даты запрета в коде БСП
Если ДатыЗапретаИзменения.ПериодИзмененияЗапрещен(Объект.Дата, Пользователь) Тогда
    Отказ = Истина;
    Сообщение = "Редактирование данных в этом периоде запрещено.";
КонецЕсли;

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

Разделение по разделам учета

Иногда бухгалтер жалуется, что «дата для него открыта», но закрытие все равно не проходит. Разберем ситуацию глубже. В настройках 1С:КА 2.5 есть вкладка По разделам учета. Проверьте, не задана ли там частная дата для разделов:

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

Практические рекомендации для стабильной работы

Для того чтобы механизм закрытия месяца работал предсказуемо, следуйте алгоритму:

  1. Убедитесь, что для учетной записи бухгалтера, выполняющего закрытие, в справочнике Пользователи не установлены лишние ограничения в составе групп доступа.
  2. При смене даты запрета всегда просите пользователя перезайти в систему.
  3. Если используется механизм Интеркампани, убедитесь, что даты запрета корректно настроены для всех организаций, участвующих в цепочке передач товаров, так как закрытие месяца в КА 2.5 анализирует движения по всей структуре предприятия.
  4. Если проблема сохраняется, проверьте наличие активных сеансов под другими именами, которые могут блокировать объекты или держать старые транзакции в кэше.

Таким образом, эффективная работа бухгалтера в закрытом периоде обеспечивается не только правами доступа, но и пониманием того, как платформа 1С управляет состоянием сеанса и фоновыми вычислениями. Корректная настройка индивидуальных дат запрета и своевременное обновление сеанса решают большинство проблем «мистического» блокирования закрытия месяца.

← На главную