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