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