Как вернуть исчезающую колонку Аналитика в документе РКО в 1С:УТ 11.5

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

В конфигурации 1С:Управление торговлей 11.5 (а также в ERP 2.5 и КА 2.5) пользователи часто сталкиваются со странным поведением интерфейса в документах движения денежных средств. Одной из таких проблем является исчезновение колонки Аналитика в табличной части документа Расходный кассовый ордер (РКО) при работе в режиме «Списком». Ситуация выглядит следующим образом: при создании нового документа и выборе статьи расходов колонка видна и доступна для заполнения, но после сохранения, закрытия и повторного открытия документа она бесследно исчезает, хотя данные в базе сохранены.

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

Проверка настроек Статьи расходов

Первым делом проанализируем настройки самой Статьи расходов, которая выбрана в строке документа. В системе 1С:УТ 11 управление видимостью полей «умное» и динамическое. Если система считает, что поле не должно быть заполнено, она скрывает его, чтобы не перегружать интерфейс.

Выясним причину в справочнике:

  1. Перейдем в справочник СтатьиРасходов.
  2. Найдем статью, которая указана в «проблемном» РКО.
  3. Проверим значение реквизита Тип аналитики расходов.

Если в статье расходов установлено значение Не используется, то колонка АналитикаРасходов в документе будет автоматически скрыта программным кодом при чтении документа. Даже если вы принудительно поставите галочку в меню «Изменить форму», свойство Видимость = Ложь, установленное кодом, будет иметь приоритет. Система при открытии документа проверяет настройки статьи и, если аналитика не предусмотрена, скрывает колонку.

Сброс кэша и стандартных настроек формы

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

Рассмотрим порядок действий для сброса настроек:

  1. В открытом документе РКО нажмем кнопку Еще в верхней части формы.
  2. Выберем пункт Изменить форму....
  3. В открывшемся окне нажмем Еще и выберем команду Установить стандартные настройки.
  4. Нажмем ОК, закроем документ и откроем его снова.

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

Программное управление видимостью в коде

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

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


// Пример логики в общем модуле
Процедура ОпределитьВидимостьРеквизитовПлатежа(Форма, ТекущаяСтрока = Неопределено) Экспорт
    
    // Система проверяет, какой режим выбран: Списком или Одной строкой
    Если Форма.Объект.ФормаОплаты = ПредопределенноеЗначение("Перечисление.ФормыОплаты.Безналичная") Тогда
        // Логика для безналичных платежей
    Иначе
        // Логика для РКО
        ВидимостьАналитики = ЛогикаУчетаДенежныхСредств.НужнаАналитика(ТекущаяСтрока.СтатьяРасходов);
        Форма.Элементы.РасшифровкаПлатежаАналитикаРасходов.Видимость = ВидимостьАналитики;
    КонецЕсли;

КонецПроцедуры

Выясним техническую причину исчезновения. При создании нового документа (ПриСозданииНаСервере) система может устанавливать видимость Истина по умолчанию. Однако при повторном открытии срабатывает событие ПриЧтенииНаСервере, где выполняется жесткая проверка всех строк табличной части. Если в списке есть пустые строки или строки со статьями без аналитики, в некоторых релизах УТ 11.5 наблюдалась ошибка, когда колонка скрывалась для всей таблицы целиком.

Влияние функциональных опций

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

Рекомендуется проверить:

Рекомендации по исправлению через расширение

Если вы убедились, что данные заполнены корректно, а колонка все равно скрывается из-за специфики типового кода, можно прибегнуть к созданию небольшого расширения. Рассмотрим пример кода, который можно добавить в модуль формы документа РКО, чтобы принудительно возвращать видимость колонке:


&НаСервере
Процедура ПослеЧтенияНаСервере(ТекущийОбъект)
    // Проверяем наличие строк в расшифровке платежа
    Если Объект.РасшифровкаПлатежа.Количество() > 0 Тогда
        // Принудительно включаем видимость колонки, если есть данные
        Элементы.РасшифровкаПлатежаАналитикаРасходов.Видимость = Истина;
    КонецЕсли;
КонецПроцедуры

Использование события ПослеЧтенияНаСервере гарантирует, что ваша установка видимости сработает после того, как отработают все типовые механизмы 1С. Однако помните, что правильнее всего — проверить соответствие Статьи расходов и выбранного Типа аналитики в ней, так как в 90% случаев причина кроется именно в нестыковке этих данных.

← На главную