Почему в документе «Отчет комиссионера о продажах» не отображаются поля «Номер ГТД» и «Страна происхождения»?

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

В работе с конфигурацией 1С:ERP Управление предприятием специалисты часто сталкиваются с ситуацией, когда в табличной части «Товары» документа Отчет комиссионера о продажах внезапно исчезают колонки Номер ГТД и Страна происхождения. Проблема выглядит странно: функциональные опции включены, в настройках формы галочки стоят, а при отладке конфигуратор бодро рапортует, что Видимость = Истина. Однако пользователь колонок не видит.

Рассмотрим подробно, почему это происходит, и разберем по шагам все возможные причины — от простых настроек интерфейса до глубоких системных механизмов платформы.

1. Проверка условного оформления формы

Как показывает практика и обсуждение на форумах, самой частой «невидимой» причиной является Условное оформление формы. В управляемых формах 1С 8.3 этот механизм имеет приоритет над программным изменением свойств элементов в коде или через пользовательские настройки видимости.

Проанализируем ситуацию: если в системе настроено правило, которое при определенных условиях скрывает колонку, то даже если в свойстве элемента стоит флаг Видимость, на экране она не появится. Чтобы проверить это, выполним следующие действия:

  1. Откроем форму документа в режиме 1С:Предприятие.
  2. Перейдем в меню «Еще» — «Изменить форму».
  3. В окне настройки формы выделим корень (самую верхнюю строку «Форма»).
  4. Нажмем на кнопку Условное оформление (обычно находится в правой части окна или в свойствах формы).
  5. Внимательно изучим список правил. Ищем те, где в колонке «Оформляемые поля» указаны ТоварыНомерГТД или ТоварыСтранаПроисхождения, а в колонке «Оформление» установлено Видимость = Ложь.

Если такое правило найдено, проанализируем условие, при котором оно срабатывает. Часто это связано с типом операции или спецификой договора.

2. Влияние настроек налогообложения в шапке документа

Выясним еще одну причину, связанную с бизнес-логикой ERP. Видимость колонок ГТД в табличной части «Товары» напрямую зависит от выбранного типа налогообложения в шапке документа (поле Налогообложение).

Система 1С:ERP работает по принципу контекстной релевантности. Разберем пример: если в документе выбрано «Продажа не облагается НДС» или «Продажа на экспорт», программная логика может счесть, что детальный учет ГТД в данном конкретном отчете не требуется, и скроет колонки. Чтобы колонки появились, тип налогообложения должен предполагать учет импортных товаров, например, «Продажа облагается НДС».

3. Учетная политика организации

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

  1. Перейдем в раздел «НСИ и администрирование» — «Организации».
  2. Откроем карточку нужной организации и перейдем в «Настройку налогов и отчетов».
  3. Убедимся, что включен «Раздельный учет товаров по номерам ГТД».

Если эта опция отключена для конкретной организации, от которой оформляется отчет, система программно скроет колонки, считая их лишними для данного субъекта учета.

4. Тип договора и хозяйственная операция

В 1С:ERP логика отображения ГТД жестко завязана на поле Хозяйственная операция. Проанализируем ситуацию с комиссионерами. Если в соглашении или договоре указаны специфические условия (например, комиссионер является нерезидентом или используется схема Интеркампани — «между организациями»), программный код формы переопределяет видимость колонок при выборе такого партнера.

Колонки ГТД часто скрываются автоматически, если система определяет, что товар по данной схеме не является импортным в контексте текущей сделки или если остатки этого товара числятся как «Собственный товар», а не «Товар на комиссии (импортный)».

5. Программное управление через функциональные опции

Рассмотрим, как это реализовано в коде. В модуле формы документа часто вызывается процедура, подобная ОбщегоНазначения.УстановитьЭлементыФормыПоФункциональнымОпциям. Она проверяет не только глобальный флаг «Использовать импортные товары», но и специфические вложенные опции.

Иногда встречается логика (или программная ошибка), когда колонки скрываются, если в базе нет ни одного фактического остатка товара с номером ГТД на складах, закрепленных за данной схемой продажи. Система пытается «упростить» интерфейс для пользователя, скрывая пустые, по ее мнению, поля.

Пример кода, который может управлять видимостью (в процедуре ПриЧтенииНаСервере или ПриСозданииНаСервере):


// Упрощенный пример логики управления видимостью ГТД
ПараметрыВидимости = Новый Структура;
ПараметрыВидимости.Вставить("ИспользоватьГТД", ПолучитьФункциональнуюОпцию("ИспользоватьИмпортныеТовары"));
ПараметрыВидимости.Вставить("УчетПоГТД", Объект.Организация.ИспользоватьРаздельныйУчетПоГТД);

Элементы.ТоварыНомерГТД.Видимость = ПараметрыВидимости.ИспользоватьГТД И ПараметрыВидимости.УчетПоГТД;

6. Права доступа и механизм RLS

Не забудем проверить права доступа. Если у текущего пользователя ограничены права на чтение справочника Номера ГТД или связанных регистров, платформа может автоматически скрывать элементы управления, связанные с этими данными. При этом в конфигураторе свойство Видимость все равно будет отображаться как Истина, так как программный код «считает», что поле должно быть, но платформа блокирует его вывод на уровне ядра из-за нехватки прав доступа (RLS).

7. Группировка элементов на форме

Проверим структуру элементов формы. Даже если сами реквизиты Номер ГТД и Страна происхождения не находятся в явно скрытой группе, они могут быть вложены в родительскую группу (например, «ГруппаИмпорт» или «КолонкиГТД»). Если код формы решит, что группа должна быть скрыта (свойство Видимость = Ложь), то все вложенные в нее реквизиты исчезнут из таблицы, несмотря на их персональные настройки. Всегда проверяйте видимость всей цепочки родительских элементов в дереве формы.

Итоги и рекомендации

Подведем итог нашему исследованию. Если вы столкнулись с пропажей ГТД в отчете комиссионера:

  1. Первым делом проверьте Условное оформление формы.
  2. Убедитесь, что в шапке документа выбрано налогообложение с НДС.
  3. Проверьте учетную политику организации на предмет раздельного учета по ГТД.
  4. Попробуйте очистить кэш пользователя, если настройки «зависли».

Подобный системный подход позволит быстро найти причину и вернуть необходимые поля в рабочий интерфейс пользователя.

← На главную