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