Почему дата отгрузки в заказе покупателя 1С:УНФ остается обязательной и как решить проблему?

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

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

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

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

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

  1. Она указывает системе, нужно ли автоматически прибавлять рабочие или календарные дни к дате создания заказа или оставлять реквизит незаполненным при открытии формы.
  2. Она не отменяет проверку заполнения реквизита. Свойство проверки установлено на уровне метаданных или в коде формы самого документа ЗаказПокупателя.

В конфигурации 1С:УНФ реквизит ДатаОтгрузки является ключевым для многих подсистем. Рассмотрим, какие последствия для логики учета влечет за собой отсутствие этой даты:

  1. Планирование движения запасов и резервирование. При проведении заказа формируются движения по регистрам накопления, отвечающим за график движения товаров и потребность в обеспечении. Без фиксированной даты программа не может распределить запасы по временной шкале.
  2. Расчет потребностей в запасах. Обработка Расчет потребностей в запасах группирует дефицит товаров по календарным периодам на основе даты отгрузки из заказов клиентов. Пустая дата нарушает этот расчет.
  3. Индикация состояния заказов. Графические индикаторы («кружки-светофоры») в журнале заказов вычисляют состояние просрочки и готовности именно по отношению к установленной дате отгрузки.

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

Вариант 1. Установка заведомо будущей контрольной даты

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

  1. При создании первичной заявки менеджер указывает в поле «Отгрузка» заведомо далекую дату (например, конец текущего или следующего года).
  2. Документ успешно проводится, товары ставятся в резерв (если это предусмотрено), а заявка передается в отдел закупок.
  3. После того как менеджер по закупкам связывается с поставщиком и утверждает график поступления, ответственный сотрудник возвращается в заказ покупателя и корректирует дату отгрузки на точное согласованное число.

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

Вариант 2. Использование коммерческих предложений и блока CRM

Разберем типовой документооборот, который разработчики 1С:УНФ заложили для сценариев с неопределенными сроками:

  1. Вместо немедленного создания документа Заказ покупателя оформляем документ «Коммерческое предложение». В нем фиксируется полный перечень номенклатуры, цены и пожелания заказчика, но жесткого контроля даты отгрузки не требуется.
  2. Если работа с клиентом находится на стадии первичного общения, фиксируем потребность через сущности блока CRM — Лид или Событие.
  3. Отдел закупок предварительно прорабатывает позиции под коммерческое предложение или сделку.
  4. Как только поставщик подтверждает возможность поставки и называет сроки, на основании коммерческого предложения в один клик вводим полноценный «Заказ покупателя» с уже известной реальной датой отгрузки.

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

Вариант 3. Перенос даты отгрузки в табличную часть документа

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

  1. Откроем документ Заказ покупателя.
  2. Нажмем кнопку «Еще» в правом верхнем углу формы и перейдем в пункт «Шапка / табличная часть» (или выберем значок настроек отображения параметров документа).
  3. Переключим положение реквизита «Отгрузка» из положения «В шапке» в положение «В табличной части».
  4. После сохранения настройки в табличной части «Товары и услуги» появится отдельная колонка даты отгрузки для каждой строки.

Это действие не снимает требование заполнить дату для проведения, но дает возможность детализировать сроки по каждой позиции отдельно по мере поступления информации от отдела снабжения.

Вариант 4. Снятие обязательности заполнения через расширение конфигурации

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

Разберем по шагам, как реализуется эта доработка:

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

Важное предостережение: перед применением данного метода проанализируем его последствия. Если документ проводится с пустой датой, в регистры планирования будет записано пустое значение даты (01.01.0001). В результате в типовых отчетах по выполнению заказов и контролю обязательств такие заказы будут отображаться как глубоко просроченные с первого же дня создания.

← На главную