Как найти и настроить отображение остатков в карточке номенклатуры 1С:Управление торговлей 11.4?

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

В типовых решениях на платформе 1С, таких как 1С:Управление торговлей 11.4, часто возникает ситуация, когда пользователь видит в интерфейсе элементы, которых нет в стандартной поставке. Одной из популярных доработок является вывод остатков товаров непосредственно в форму элемента справочника Номенклатура. Рассмотрим подробно, почему эти данные могут отображаться, если конфигурация находится на полной поддержке («на замке»), и как управлять этим функционалом.

Почему в стандартной УТ 11 нет остатков в карточке?

Для начала проанализируем архитектурное решение фирмы «1С». В программе Управление торговлей 11 остатки товаров не выводятся на главную страницу карточки номенклатуры по умолчанию. Это обусловлено вопросами производительности. Если в базе данных работают сотни пользователей, и каждый при открытии карточки товара будет инициировать запрос к регистру накопления ТоварыНаСкладах для расчета текущих остатков по всем складам, это создаст колоссальную нагрузку на сервер СУБД. Штатный механизм предполагает переход по гиперссылке «Остатки на складах» в панели навигации или использование специализированных отчетов.

Где искать скрытые доработки: Механизм расширений

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

Выясним, как проверить наличие таких расширений. Рассмотрим два способа:

  1. Через Конфигуратор: Откроем меню Конфигурация — Расширения конфигурации. В появившемся списке нужно найти расширения, которые заимствуют объект Справочник.Номенклатура.Форма.ФормаЭлемента. Именно там программисты обычно добавляют новые реквизиты и программный код для вывода цифр остатков.
  2. В режиме 1С:Предприятие: Это самый надежный метод, если вы подозреваете, что расширение работает, но не видите его в списке (например, из-за прав доступа). Перейдем в меню Сервис и настройки (пиктограмма «три полоски» или «шестеренка» в правом верхнем углу) — О программе. Прокрутим список вниз до раздела Расширения конфигурации. Там перечислены все подключенные и активные модули, которые влияют на работу системы в данный момент.

Техническая реализация отображения остатков

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

Метод 1: Перехват события формы

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


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

Метод 2: Использование ОбработкаПолученияФормы

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

Как выключить отображение остатков?

Если вам необходимо убрать отображение остатков, выполним следующие действия:

Рекомендации по оптимизации

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

  1. Кеширование данных: Не стоит пересчитывать остатки при каждом движении мыши по форме. Достаточно получить их один раз при открытии.
  2. Асинхронность: В идеале получение остатков должно происходить после открытия формы, чтобы пользователь не ждал лишние секунды перед тем, как карточка отобразится на экране.
  3. Ограничение по складам: Если складов сотни, лучше выводить остаток только по основному складу текущего пользователя или текущего магазина.

Таким образом, мы выяснили, что «магическое» появление остатков в типовой УТ 11.4 всегда связано с использованием механизмов расширений. Для управления этим функционалом необходимо анализировать активные расширения через окно О программе и редактировать заимствованные формы в конфигураторе.

← На главную