Как установить рабочую дату в 1С:Управление торговлей 11, ERP и Комплексной автоматизации 2?

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

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

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

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

Почему разработчики убрали рабочую дату из интерфейса?

Прежде чем переходить к техническим решениям, проанализируем ситуацию и выясним методологические причины этого шага. В таких конфигурациях, как «1С:Бухгалтерия 3.0» или «1С:Зарплата и управление персоналом 3.1», настройка рабочей даты осталась на своем месте (в разделе «Главное — Персональные настройки»). Почему же ее вырезали из торговых систем?

Все дело в специфике оперативного учета и партионного расчета себестоимости:

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

Способ 1. Программный вызов через внешнюю обработку (Рекомендуемый)

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

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

  1. Откроем конфигуратор и создадим новую внешнюю обработку.
  2. Добавим основную форму обработки.
  3. На форме создадим реквизит с именем РабочаяДата и типом Дата. Вынесем его на форму в виде поля ввода.
  4. Добавим на форму команду УстановитьДату и свяжем ее с кнопкой.
  5. Напишем обработчик этой команды в модуле формы.

Разберем пример кода, который необходимо прописать в модуле формы обработки:


&НаКлиенте
Процедура УстановитьДату(Команда)
    УстановитьРабочуюДатуНаСервере(РабочаяДата);
    ПоказатьПредупреждение(, "Рабочая дата успешно изменена для текущего сеанса!");
КонецПроцедуры

&НаСервереБезКонтекста
Процедура УстановитьРабочуюДатуНаСервере(Знач ВыбраннаяДата)
    // Вызываем стандартный метод БСП для записи настройки в профиль пользователя
    ОбщегоНазначения.УстановитьРабочуюДатуПользователя(ВыбраннаяДата);
КонецПроцедуры

Как это работает? При нажатии на кнопку метод БСП записывает выбранное значение в ХранилищеОбщихНастроек под ключом РабочаяДата. Платформа 1С при создании любого нового документа автоматически проверяет это хранилище. Если там записана отличная от текущей дата, она подставится в поле нового документа.

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

Способ 2. Использование встроенного группового изменения реквизитов

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

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

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

Способ 3. Создание легкого расширения конфигурации

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

  1. Создадим новое расширение конфигурации с назначением Адаптация.
  2. Добавим в расширение общую команду или добавим кнопку в область начальной страницы (информационной панели пользователя).
  3. При нажатии на эту кнопку будет открываться небольшое диалоговое окно для выбора даты.
  4. После выбора даты вызываем аналогичный метод:

ОбщегоНазначения.УстановитьРабочуюДатуПользователя(ВыбраннаяДата);

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

Важные предупреждения и рекомендации

Разберем несколько критически важных моментов, о которых должен помнить как администратор, так и сам пользователь при работе с измененной рабочей датой:

← На главную