К статье
Практический материал

Администрирование · 11 мин

Как задать конец дня в 1С: все способы и настройки

Как задать конец дня в 1С: закрытие кассовой смены, установка даты сеанса, дата запрета редактирования и типичные ошибки. Пошаговые инструкции.

Фраза «задать конец дня» в 1С может означать несколько разных задач, и способ решения зависит от того, что именно требуется. Чаще всего под этим понимают закрытие кассовой смены в розничной торговле, установку рабочей даты сеанса для ввода документов задним числом или настройку даты запрета редактирования данных после закрытия периода. Реже — программное изменение времени окончания дня в документах и отчётах.

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

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

Определите, какой именно «конец дня» вам нужен

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

Есть и четвёртый сценарий — разработчику или внедренцу нужно программно задать границу дня при формировании отчёта или проведении документа, то есть получить дату со временем 23:59:59. Это решается функцией встроенного языка и не требует настроек в интерфейсе.

Маршрут решения

Как выбрать действие

Нужно закрыть рабочий день кассы и снять Z-отчётЗакройте кассовую смену в РМК или в разделе «Продажи»
Нужно вводить документы другой датой, не меняя системное времяУстановите дату сеанса через «Параметры» или настройки пользователя
Нужно запретить правку документов прошлых периодовНастройте дату запрета изменения данных в разделе «Администрирование»
Нужно получить конец дня программно в коде или отчётеИспользуйте функцию КонецДня() встроенного языка

Закрытие кассовой смены в конце рабочего дня

В торговых конфигурациях (1С:Розница, Управление торговлей, УНФ с подключённой кассой) конец рабочего дня оформляется закрытием кассовой смены. Это регламентная операция: по её итогам формируется Z-отчёт на фискальном регистраторе или онлайн-кассе, а в программе создаётся документ «Отчет о розничных продажах», который списывает проданные товары и отражает выручку.

Стандартный порядок действий в 1С:Розница и аналогичных решениях: откройте рабочее место кассира (РМК), нажмите кнопку «Закрыть смену» (обычно доступна в нижней панели или по комбинации клавиш), подтвердите операцию. Программа запросит выемку денежных средств, если она настроена, и выполнит фискальную операцию закрытия смены на кассе.

Если работа ведётся не через РМК, а через список документов, закрытие выполняется из раздела «Продажи» — «Кассовые смены» или непосредственно созданием документа «Отчет о розничных продажах» с автоматическим заполнением по открытой смене. После проведения документа смена считается закрытой.

Порядок закрытия кассовой смены
  1. 1
    Проверьте, что все чеки дня пробиты и нет зависших операций
  2. 2
    Откройте РМК и нажмите «Закрыть смену»
  3. 3
    При необходимости оформите выемку денег из кассы
  4. 4
    Дождитесь печати Z-отчёта на фискальном регистраторе
  5. 5
    Проверьте, что в программе создан и проведён «Отчет о розничных продажах»

Обратите внимание: по требованиям законодательства о контрольно-кассовой технике кассовая смена не может длиться дольше 24 часов. Если смену вовремя не закрыть, касса заблокирует пробитие чеков до выполнения операции закрытия. Поэтому закрытие смены — обязательное ежедневное действие, а не формальность.

Установка рабочей даты сеанса

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

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

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

Дата запрета изменения данных: закрытие периода

Если под «концом дня» понимается окончательное закрытие периода, чтобы никто не мог изменить документы задним числом, используется механизм даты запрета изменения данных. Он есть в большинстве типовых конфигураций на платформе 8.3 и работает на уровне прав доступа.

Настройка выполняется в разделе «Администрирование» — «Настройки пользователей и прав» — «Даты запрета изменения данных». Включите использование механизма, затем задайте дату: все документы раньше этой даты станут недоступны для редактирования и проведения. Дату можно задать общей для всех пользователей или индивидуально — например, бухгалтеру оставить доступ до конца квартала, а менеджерам закрыть всё, что старше вчерашнего дня.

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

Программное задание конца дня в коде

Разработчикам и внедренцам «конец дня» нужен как значение — дата со временем 23:59:59. Для этого во встроенном языке 1С есть функция КонецДня(). Она принимает дату и возвращает ту же дату с временем конца дня.

Типичное применение — границы периода в запросах и отчётах. Если сравнивать дату документа просто с датой без времени, документы, проведённые в течение дня, могут не попасть в выборку, потому что у даты документа есть время, а «дата окончания» без времени означает 00:00:00. Поэтому верхнюю границу периода всегда задают через КонецДня() либо используют объект «Граница».

bsl
// Пример: получить конец текущего дня
КонецТекущегоДня = КонецДня(ТекущаяДатаСеанса());

// Пример: границы периода для запроса
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ДатаНачала));
Запрос.УстановитьПараметр("КонецПериода", КонецДня(ДатаОкончания));

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

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

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

Если закрывали кассовую смену — откройте список кассовых смен и убедитесь, что текущая смена имеет статус «Закрыта», а «Отчет о розничных продажах» проведён без ошибок. Сверьте сумму выручки в отчёте с Z-отчётом кассы.

Если устанавливали дату запрета — войдите под пользователем с обычными правами (не администратором) и попробуйте изменить документ датой раньше границы: программа должна выдать сообщение о запрете. Документ позже границы при этом должен редактироваться свободно.

Контрольные точки

Как проверить результат

Статус кассовой смены
Норма

Смена закрыта, отчёт о розничных продажах проведён

Тревожный признак

Смена открыта, чеки не пробиваются или отчёт не создан

Дата новых документов
Норма

Новые документы создаются с датой сеанса

Тревожный признак

Дата подставляется текущая системная — дата сеанса не применилась

Запрет редактирования
Норма

Старые документы заблокированы, новые доступны

Тревожный признак

Заблокированы все документы или, наоборот, запрет не срабатывает

Сумма выручки
Норма

Совпадает с Z-отчётом кассы

Тревожный признак

Расхождения — есть непробитые или отменённые чеки

Типичные ошибки и ограничения

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

Ещё одна частая ситуация — закрытие смены при неразрешённых расхождениях: непробитые чеки, зависшие оплаты по карте, расхождение наличных. Сначала устраните причину, иначе документ закрытия смены либо не проведётся, либо проведётся с ошибочными суммами.

Типичные ошибки
01
Установка даты сеанса вместо даты запрета — старые документы остаются доступными для правки
02
Закрытие смены с непробитыми чеками — отчёт о розничных продажах не проводится или искажает выручку
03
Дата запрета «вчерашний день» без исключений — кассиры не могут закрыть ночную смену, перешедшую через полночь
04
Забытая открытая смена дольше 24 часов — касса блокирует пробитие чеков до закрытия
05
Сравнение дат в запросе без КонецДня() — документы последнего дня периода не попадают в отчёт

Отдельно стоит упомянуть ночные смены. Если магазин работает после полуночи and смена открыта вчера, а закрывается сегодня, документы могут формироваться разными датами. Настройте исключения в датах запрета для кассиров или закрывайте смену до полуночи — это проще для учёта.

Итог

Что важно запомнить

«Конец дня» в 1С задаётся по-разному: кассовая смена закрывается через РМК, рабочая дата сеанса — в параметрах, период закрывается датой запрета изменения данных, а в коде используется функция КонецДня(). Перед изменением настроек сделайте резервную копию и проверьте результат под обычным пользователем.

Частые вопросы

Как закрыть смену, если касса выдаёт ошибку при закрытии?

Сначала проверьте связь с фискальным регистратором и наличие незавершённых операций — непробитых чеков или зависших оплат. Затем посмотрите журнал ошибок драйвера кассы. Если смена зависла на стороне кассы, попробуйте закрыть её штатной кнопкой в РМК повторно после перезапуска сеанса; принудительное удаление документов смены вручную недопустимо — это приведёт к расхождению учёта с фискальными данными.

Почему дата сеанса сбрасывается после перезапуска программы?

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

Можно ли задать дату запрета только для отдельных пользователей?

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

Что делать, если нужно исправить документ в закрытом периоде?

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

Чем КонецДня() отличается от указания даты вручную с временем 23:59:59?

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

Смена не закрыта несколько дней — что будет?

Касса заблокирует пробитие чеков уже после 24 часов открытой смены, поэтому работать так долго не получится. При закрытии «просроченной» смены в отчёт о розничных продажах попадут все продажи за весь период, что исказит ежедневную аналитику. Закрывайте смену ежедневно, даже если продаж не было.