В конфигурации 1С:Управление торговлей 11 (начиная с версий 11.4 и выше) многие пользователи сталкиваются с жесткой логикой системы при выставлении счетов на оплату. Программа требует обязательного заполнения этапов графика платежей, что часто не соответствует реальным бизнес-процессам, где оплата происходит «в режиме реального времени» без предварительного планирования. Рассмотрим подробнее, почему возникает эта проблема и какими методами ее можно решить. При переходе с предыдущей версии программы полезно использовать качественный инструмент для переноса данных из УТ 10.3 в УТ 11.
В отличие от старых версий программы (например, УТ 10.3), в УТ 11 документ СчетНаОплату является не просто печатной формой, а инструментом контроля денежных потоков. Его поведение напрямую зависит от настроек Соглашения с клиентом или Договора. Проанализируем ситуацию: когда вы пытаетесь создать счет, система обращается к объекту расчетов (Заказу или Реализации) и проверяет табличную часть ЭтапыГрафикаОплаты. Если эта таблица пуста, возникает критическая ошибка, которая в некоторых случаях блокирует даже открытие формы счета.
Основная логика системы строится на Детализации расчетов:
Заказе клиента. Счет в этом случае — это требование оплатить конкретный этап (предоплату или кредит) по этому заказу.Реализация товаров и услуг. Выставление счета из заказа при такой настройке может конфликтовать с логикой программы, так как долг еще не возник в финансовом контуре.Если ваша компания не планирует оплаты по дням, мы можем настроить систему так, чтобы она требовала минимум информации. Рассмотрим первый способ — методическую настройку программы.
Шаг 1. Настройка НСИ и администрирования
Перейдем в раздел НСИ и администрирование — Настройка разделов — Продажи. Найдем пункт Вариант планирования оплаты. Установим значение Упрощенный (предоплата и/или кредит). Это позволит не расписывать детальные графики по дням, а использовать всего одну строку в правилах оплаты.
Шаг 2. Использование шаблонов графиков в Соглашениях
Чтобы сотрудники не заполняли этапы вручную в каждом документе, проанализируем настройки Соглашения с клиентом. На вкладке Условия продаж можно выбрать предопределенный График оплаты (например, «100% предоплата»). В этом случае при создании Заказа клиента таблица этапов заполнится автоматически. Система увидит, что график есть, и позволит беспрепятственно создать Счет на оплату.
Многие пользователи хотят видеть в счете только «список товаров и сумму». Если функционал документа СчетНаОплату (контроль статусов «Выставлен», «Аннулирован») вам не нужен, мы рекомендуем использовать печатную форму самого документа Заказ клиента. Посмотрим на пример: в типовой конфигурации макет Заказа клиента можно отредактировать через меню Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм.
Выбрав макет Заказ клиента, вы можете:
Преимущество этого метода в том, что Заказ клиента проводится без обязательного заполнения этапов оплаты (если в настройках соглашения не стоит жесткий флаг «Требуется указание графика оплаты»), а печатная форма будет выглядеть для клиента как полноценный счет. Для этой задачи подойдет внешняя печатная форма счета из документа заказ клиента.
Если же вам необходимо печатать именно документ Счет на оплату, но при этом игнорировать правила оплаты, лучшим решением будет создание Внешней печатной формы (ВПФ). Это позволит не снимать конфигурацию с поддержки и не переписывать модуль менеджера документа СчетНаОплату. При необходимости можно использовать внешнюю печатную форму счета на оплату из реализации товаров и услуг.
Проанализируем программную логику, которую нужно заложить в ВПФ. Мы должны извлечь данные о товарах напрямую из документа-основания (Заказа или Реализации), минуя проверку этапов оплаты. Посмотрим на пример кода, который может использоваться в модуле обработки для получения данных:
Функция СформироватьПечатнуюФормуСчета(МассивОбъектов, ОбъектыПечати) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказКлиентаТовары.Номенклатура,
| ЗаказКлиентаТовары.Количество,
| ЗаказКлиентаТовары.Цена,
| ЗаказКлиентаТовары.Сумма,
| ЗаказКлиентаТовары.СтавкаНДС
|ИЗ
| Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
|ГДЕ
| ЗаказКлиентаТовары.Ссылка В(&МассивОбъектов)";
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
РезультатЗапроса = Запрос.Выполнить();
// Далее следует логика вывода в ТабличныйДокумент
// ...
КонецФункции
Такой подход полностью решает проблему автора сообщения №10, который пытался «переписывать документ». Внешняя печатная форма просто берет табличную часть Товары и подставляет ее в макет счета, игнорируя вкладку Правила оплаты. Это самый чистый способ с точки зрения сопровождения системы 1С.
Автор темы спрашивал: «Можно ли делать это смешанным образом. Т.е. создал заказ, из него реализацию, из него же счета?». Выясним, как это работает в типовой логике 1С:УТ 11. Если в системе используется детализация расчетов «По заказам», то счет, выписанный из Реализации, все равно будет ссылаться на Заказ как на основной объект расчетов. Ошибка «Не заполнены этапы графика» будет преследовать пользователя до тех пор, пока в Заказе не появится хотя бы одна строка в этапах оплаты.
Важный момент: Если вы создаете реализацию на основании заказа, в реализации на вкладке Основное появляется поле Объект расчетов. Если там указан Заказ клиента, то правила оплаты копируются из него. Чтобы разорвать эту связь и вводить графики только в реализации, необходимо изменить настройки договора на детализацию «По накладным». Однако помните, что это существенно изменит порядок отражения взаиморасчетов и формирования отчета Задолженность клиентов.
Подведем итог. Чтобы избавиться от навязчивого требования графиков оплаты и ошибок в УТ 11.4, рекомендуем выполнить следующие действия:
СчетНаОплату и заполнять графики.Соглашениях автоматическое заполнение упрощенного графика «100% предоплата». Это минимизирует ручной ввод и устранит ошибку при открытии формы счета.Товары любого документа-основания. Это обеспечит максимальную гибкость и независимость от финансового контура планирования оплат.Используя эти методы, мы сможем адаптировать сложную логику 1С:Управление торговлей 11 под простые задачи оперативного выставления счетов, сохраняя при этом целостность базы данных и возможность ее типового обновления. Для регулярного выполнения этой задачи и автоматического обновления типовых баз 1С без участия пользователя удобно использовать специализированное ПО.