При работе в 1С:Комплексная автоматизация 2 многие пользователи сталкиваются с тем, что при создании нового Заказа клиента срок оплаты не заполняется или устанавливается равным нулю. Если бизнес-процессы вашей компании подразумевают фиксированную отсрочку платежа (например, 5 дней), логично автоматизировать этот процесс, чтобы менеджеры не тратили время на ручной ввод данных. Давайте разберем, как реализовать это наиболее эффективными способами.
Это методологически верный путь, который рекомендуют разработчики фирмы «1С». Использование соглашений позволяет гибко управлять условиями работы с контрагентами без вмешательства в программный код.
Соглашения с клиентами. Создайте новое типовое соглашение (например, с названием «Стандартные условия оплаты»).Условия продаж выберите нужный график оплаты, который предусматривает отсрочку в 5 дней. Если такого графика нет, создайте новый в справочнике Графики оплаты, указав в составе этапов вариант Кредит (платеж) с указанием количества дней — 5.Если использование соглашений не вписывается в вашу модель учета, или вы хотите принудительно устанавливать значение «5 дней» для всех новых заказов независимо от настроек контрагента, необходимо воспользоваться механизмом Расширения конфигурации. Это позволит внести изменения, не снимая конфигурацию с поддержки.
Для реализации задачи нам потребуется обработать событие при создании нового документа. Рассмотрим, как это сделать:
ЗаказКлиента.ЗаказКлиента выберите обработчик события ПриСозданииНаСервере.Примерный алгоритм кода в модуле формы документа может выглядеть следующим образом:
&НаСервере
Процедура Расширение_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Проверяем, что документ новый и еще не записан
Если Объект.Ссылка.Пустая() Тогда
// Проверяем, не заполнен ли уже график оплаты
Если Не ЗначениеЗаполнено(Объект.ГрафикОплаты) Тогда
// Устанавливаем ссылку на заранее созданный график оплаты (например, через запрос или поиск по наименованию)
Объект.ГрафикОплаты = Справочники.ГрафикиОплаты.НайтиПоНаименованию("5 дней отсрочки");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Важное примечание: Перед написанием кода убедитесь, что вы создали в справочнике Графики оплаты элемент с соответствующими настройками. Также рекомендуется использовать НайтиПоНаименованию с осторожностью; лучше всего найти Ссылка на график через Константы или через ПараметрыСеанса, если этот график является системным стандартом.
При использовании программного подхода будьте внимательны. Если вы принудительно пропишете логику заполнения, она будет срабатывать для всех заказов. Подумайте, не потребуется ли в будущем разным клиентам иметь разные сроки оплаты. Мы рекомендуем:
1С.Выяснив эти нюансы, вы сможете выбрать наиболее подходящий вариант: простой пользовательский метод через типовые соглашения или более гибкую автоматизацию через расширение. Оба способа позволяют добиться цели — сократить рутинные операции в работе менеджеров и исключить ошибки при вводе данных в заказе клиента.