Как в «1С:Комплексная автоматизация 2» настроить срок оплаты по умолчанию в 5 дней для заказов клиентов?

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

При работе в 1С:Комплексная автоматизация 2 многие пользователи сталкиваются с тем, что при создании нового Заказа клиента срок оплаты не заполняется или устанавливается равным нулю. Если бизнес-процессы вашей компании подразумевают фиксированную отсрочку платежа (например, 5 дней), логично автоматизировать этот процесс, чтобы менеджеры не тратили время на ручной ввод данных. Давайте разберем, как реализовать это наиболее эффективными способами.

Решение 1: Использование типового соглашения об условиях продаж

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

  1. Активируйте использование соглашений: убедитесь, что в настройках системы включено использование типовых соглашений.
  2. Создайте типовое соглашение: перейдите в раздел CRM и маркетинг или Продажи, найдите справочник Соглашения с клиентами. Создайте новое типовое соглашение (например, с названием «Стандартные условия оплаты»).
  3. Настройте график оплаты: на закладке Условия продаж выберите нужный график оплаты, который предусматривает отсрочку в 5 дней. Если такого графика нет, создайте новый в справочнике Графики оплаты, указав в составе этапов вариант Кредит (платеж) с указанием количества дней — 5.
  4. Назначьте соглашение: чтобы оно подставлялось автоматически, вы можете указать его в карточке клиента как основное соглашение. Теперь при выборе этого клиента в заказе, условия оплаты будут подтягиваться сами.
  5. Массовое применение: если клиентов много, используйте групповую обработку справочников, чтобы проставить это соглашение всем нужным контрагентам сразу.

Решение 2: Программная реализация через расширение конфигурации

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

Для реализации задачи нам потребуется обработать событие при создании нового документа. Рассмотрим, как это сделать:

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

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


&НаСервере
Процедура Расширение_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Проверяем, что документ новый и еще не записан
    Если Объект.Ссылка.Пустая() Тогда
        // Проверяем, не заполнен ли уже график оплаты
        Если Не ЗначениеЗаполнено(Объект.ГрафикОплаты) Тогда
            // Устанавливаем ссылку на заранее созданный график оплаты (например, через запрос или поиск по наименованию)
            Объект.ГрафикОплаты = Справочники.ГрафикиОплаты.НайтиПоНаименованию("5 дней отсрочки");
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Важное примечание: Перед написанием кода убедитесь, что вы создали в справочнике Графики оплаты элемент с соответствующими настройками. Также рекомендуется использовать НайтиПоНаименованию с осторожностью; лучше всего найти Ссылка на график через Константы или через ПараметрыСеанса, если этот график является системным стандартом.

Почему важно избегать «жесткого» кодирования

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

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

← На главную