Почему в договоре с комитентом не виден флаг «Счета-фактуры перевыставляются от имени организации» в 1С:Бухгалтерия?

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

В этой статье разберем распространенную ситуацию в 1С:Бухгалтерия 8.3, когда при создании договора с видом «С комитентом (принципалом) на закупку» на форме отсутствует необходимый флаг «Счета-фактуры перевыставляются от имени организации». Часто это вводит в заблуждение, поскольку при отладке кода формы можно увидеть, что видимость соответствующего элемента устанавливается в значение Истина, но на самой форме он так и не появляется. Выясним, является ли это ошибкой программы или скрытой настройкой.

Проанализируем ситуацию по шагам: от основной причины до конкретных решений для разных версий программы.

Причина №1: Ограничения версий ПРОФ и КОРП

Самая главная и частая причина отсутствия флажка — это версия вашей программы 1С:Бухгалтерия. Данный функционал является штатным и доступен «из коробки» только в конфигурации «Бухгалтерия предприятия КОРП».

В версиях ПРОФ и Базовая этот реквизит и связанная с ним логика скрыты на уровне конфигурации. Это не является ошибкой или багом, а представляет собой намеренное функциональное разграничение версий, установленное разработчиком.

Техническое объяснение: Механизм функциональных опций

Давайте разберемся, почему даже если в коде формы явно указано сделать элемент видимым, он все равно не отображается. Дело в механизме функциональных опций.

В конфигурациях 1С видимость многих элементов интерфейса (полей, кнопок, групп) может быть привязана к определенной функциональной опции. Если опция выключена, платформа автоматически скрывает все связанные с ней элементы, и никакие программные установки видимости в коде формы (например, Элементы.ИмяЭлемента.Видимость = Истина;) не смогут это переопределить.

В нашем случае, видимость реквизита СчетаФактурыОтИмениОрганизации в справочнике «ДоговорыКонтрагентов» и группы полей на форме, где он расположен, жестко связана с функциональной опцией РасширенныйФункционал. Эта опция по умолчанию доступна для включения только в версии КОРП.

Именно поэтому отладчик показывает, что строка кода, устанавливающая видимость, отрабатывает корректно, но на итоговый результат это не влияет — платформа скрывает элемент из-за отключенной функциональной опции.

Решение для пользователей версии КОРП

Даже если у вас установлена версия КОРП, флажок может не отображаться, если соответствующая настройка не была включена вручную. Рассмотрим, как это исправить.

Для появления флага «Счета-фактуры перевыставляются от имени организации» в 1С:Бухгалтерия КОРП, необходимо включить расширенный функционал.

Сделаем это по шагам:

  1. Перейдите в раздел «Администрирование» или «Главное» (в зависимости от настроек интерфейса).
  2. Найдите и откройте пункт «Функциональность».
  3. В открывшемся окне перейдите на вкладку «Дополнительно».
  4. Установите флажок напротив пункта «Расширенный функционал».
  5. Нажмите «ОК» и закройте настройки.

После выполнения этих действий заново откройте или создайте договор с видом «С комитентом (принципалом) на закупку». Нужный флажок должен появиться на форме.

Что делать пользователям версий ПРОФ и Базовая?

Как мы уже выяснили, стандартными средствами включить этот функционал в версиях ПРОФ и Базовая нельзя. Однако существуют обходные пути, требующие доработки конфигурации. Рассмотрим два основных способа.

Способ 1: Использование расширения конфигурации (рекомендуется)

Это самый безопасный и правильный способ, так как он не требует снятия конфигурации с поддержки и не усложнит ее дальнейшие обновления.

Суть метода в том, чтобы создать небольшое расширение, которое принудительно сделает видимым нужный элемент на форме договора. Программист 1С может выполнить это, "отвязав" в расширении элемент формы от функциональной опции или установив его видимость принудительно.

Способ 2: Внешняя обработка

Если нет возможности или желания создавать расширение, можно использовать внешнюю обработку для изменения реквизита. Обработка будет программно устанавливать значение Истина для реквизита СчетаФактурыОтИмениОрганизации у выбранного договора.

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

В заключение, проанализируем код, который управляет видимостью на форме. В модуле формы элемента справочника «Договоры» есть процедура УправлениеФормой, которая содержит примерно такую строку:


Элементы.ГруппаПеревыставлениеСФ.Видимость = Объект.ВидДоговора = ПредопределенноеЗначение("Перечисление.ВидыДоговоровКонтрагентов.СКомитентомНаЗакупку");

Эта строка отвечает за видимость группы полей в зависимости от выбранного вида договора. Но, как мы теперь знаем, ее действие будет отменено, если функциональная опция РасширенныйФункционал отключена.

Итог: Отсутствие флага «Счета-фактуры перевыставляются от имени организации» — это не баг, а особенность настроек и лицензионной политики 1С. Для пользователей КОРП достаточно включить опцию в настройках функциональности, а для пользователей ПРОФ и Базовой версий потребуется доработка системы с помощью расширений или внешних обработок.

← На главную