При настройке и сопровождении конфигурации «1С:Управление торговлей» (в частности, в релизе 11.5.11.96) специалисты иногда сталкиваются с ситуацией, когда в форме списка справочника «Партнеры» реквизит ИНН отображается не полностью: вместо 10 или 12 знаков виден только один начальный символ. Данная неполадка фиксируется, в том числе, в специализированной форме Справочник.Партнеры.Форма.ФормаСпискаБезПолнотекстовогоПоиска при отключенном разделении партнеров и контрагентов, когда система концептуально работает в режиме взаимно-однозначного соответствия сущностей.
Поскольку однозначное готовое решение на исходном обсуждении зафиксировано не было, для выяснения причин требуется последовательная проверка архитектурных связей данных, запроса динамического списка и настроек интерфейсных элементов.
В типовых конфигурациях линейки УТ 11, КА 2 и ERP справочник «Партнеры» отвечает за управленческий учет отношений, а справочник «Контрагенты» — за регламентированные юридические данные. Реквизит ИНН физически хранится в таблице контрагентов, а не партнеров. Даже когда функциональная опция разделения выключена («Партнеры и контрагенты не разделены»), физическая структура метаданных сохраняется: программа автоматически создает пару «Партнер — Контрагент» и поддерживает их связь.
Если в информационной базе нарушается целостность данных — например, в результате переноса, некорректного обмена или сбоя создаются дубли контрагентов, ссылающиеся на одного партнера, либо связь теряется — запрос динамического списка может возвращать непредвиденные результаты. При соединении таблиц в динамическом списке дублирование записей или неоднозначность выборки могут приводить к аномалиям вывода связанных строковых данных.
Одной из наиболее распространенных причин усечения строки до одного символа в управляемых формах 1С является поведение платформы при вычислении типов полей запроса динамического списка. Если колонка добавлена через произвольный запрос динамического списка, платформа определяет тип и длину реквизита на основе синтаксического анализа выражений.
Проверьте текст запроса динамического списка (основная таблица Список) на следующие характерные конструкции:
ВЫБОР КОГДА ... ТО Контрагенты.ИНН ИНАЧЕ "" КОНЕЦ или функция ЕСТЬNULL(Контрагенты.ИНН, ""), платформа при автоматическом выводе типов может назначить полю тип Строка(0) или Строка(1), ориентируясь на длину литерала по умолчанию. В результате любые реальные значения обрезаются до первого символа.ВЫРАЗИТЬ(Контрагенты.ИНН КАК СТРОКА(1)) либо применение строковой функции ПОДСТРОКА(..., 1, 1).ВЫРАЗИТЬ(Контрагенты.ИНН КАК СТРОКА(12))
Это гарантирует, что платформа выделит под реквизит строку достаточного размера (для ИНН юридических лиц требуется 10 символов, для физических лиц и ИП — 12 символов).Если в данных и запросе динамического списка ошибок не обнаружено, причиной может быть визуальное скрытие символов интерфейсом платформы. Рекомендуется проверить свойства элемента формы в конфигураторе или через расширение:
Для локализации проблемы в вашей конфигурации выполните следующие шаги:
Справочник.Партнеры.Форма.ФормаСпискаБезПолнотекстовогоПоиска: является ли она типовой или изменена расширением/доработкой.Список, перейдите в текст запроса и найдите поле, отвечающее за вывод ИНН. Убедитесь, что для него используется явное приведение типа до 12 символов и отсутствуют пустые литералы без фиксации длины.ПриСозданииНаСервере.