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

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

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

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

Выясним причину автоматического сброса периода

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

При открытии выполняются следующие действия:

  1. Форма журнала кассовых книг инициирует открытие отчета, передавая в процедуру структуру параметров. В эту структуру жестко зашиваются отборы (по текущей организации или кассе), а также временной интервал — как правило, границы текущего месяца.
  2. Механизмы БСП считывают переданные параметры и записывают их в так называемые фиксированные настройки компоновщика схемы компоновки данных (СКД). Фиксированные настройки имеют приоритет над любыми пользовательскими и расширенными настройками отчета.
  3. Даже если пользователь корректирует даты в окне настроек, при нажатии кнопки формирования отчет повторно обращается к переданным параметрам формы и перезаписывает введенный интервал исходными значениями.

Штатными пользовательскими кнопками внутри формы кассовой книги переопределить эту жестко зашитую логику невозможно. Однако существует несколько удобных способов обойти данное ограничение.

Решение 1: Доработка команды через расширение конфигурации (без снятия с поддержки)

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

Разберем по шагам порядок действий:

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

Решение 2: Добавление типового отчета в «Избранное»

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

  1. Перейдем в раздел Казначейство и откроем панель Отчеты по казначейству.
  2. Найдем в списке отчет Ведомость по денежным средствам.
  3. Нажмем на значок звездочки рядом с названием отчета или воспользуемся комбинацией клавиш Ctrl + D, находясь в открытой форме отчета.
  4. Теперь отчет доступен в один клик из панели избранного в верхней части окна программы. Он сохраняет пользовательский период и не сбрасывает настройки при формировании.

Решение 3: Создание и сохранение персонального варианта отчета

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

  1. Откроем отчет Ведомость по денежным средствам из общего раздела отчетов.
  2. Нажмем кнопку Настройки, переключимся в режим Расширенный и установим нужный тип периода (например, значение Этот день).
  3. В подменю Еще выберем команду Сохранить вариант отчета.
  4. Укажем понятное наименование (например, «Ведомость по ДС за день») и определим видимость для пользователей.
  5. Сохраненный вариант можно поместить на панель избранного и открывать в любой момент без сброса настроек.

Решение 4: Подключение отчета как внешнего через дополнительные отчеты и обработки

Рассмотрим еще один административный вариант, исключающий изменение конфигурации:

  1. Выгрузим схему отчета во внешний файл через меню Конфигуратор или создадим внешний отчет.
  2. Зарегистрируем его в пользовательском режиме через раздел НСИ и администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки.
  3. Назначим размещение отчета в нужных разделах учета. Внешний отчет полностью автономен, запускается по стандартной схеме и не подчиняется контекстным ограничениям формы кассовой книги.
← На главную