При работе в программе 1С:Бухгалтерия предприятия 3.0 пользователи часто сталкиваются с тем, что официальные названия государственных учреждений (например, отделений УФК или Федеральной службы судебных приставов) не помещаются в отведенное для них поле. В типовой конфигурации реквизит НаименованиеПолное справочника Контрагенты имеет жесткое ограничение — 250 символов. Если название вашего контрагента длиннее хотя бы на несколько знаков, программа просто не даст его сохранить.
В этой статье мы разберем по шагам, как решить эту проблему, проанализируем допустимые способы сокращения и выясним, почему простое увеличение длины поля в программе не всегда является лучшим выходом.
Первым делом проанализируем структуру названия контрагента. Чаще всего лишние символы появляются из-за того, что в поле «Полное наименование» вписываются расшифровки, которые по закону могут быть заменены общепринятыми аббревиатурами. Рассмотрим наиболее распространенные случаи для государственных органов:
Согласно Гражданскому кодексу РФ и учредительным документам большинства ведомств, сокращенное наименование имеет ту же юридическую силу, что и полное. Посмотрим на пример из практики: если название «Управление Федерального казначейства по Ломоносовскому муниципальному округу Ленинградской области (ОСП по Ломоносовскому району УФССП России по Ленинградской области)» не влезает в строку, мы можем трансформировать его в «УФК по Ленинградской обл. (ОСП по Ломоносовскому р-ну УФССП России по Ленинградской обл.)». Это позволит сэкономить десятки символов без потери смысла.
Разберем типичную ошибку: многие пользователи пытаются включить номер лицевого счета прямо в название контрагента. Например: «УФК по г. Москве (Департамент финансов г. Москвы, л/с 01234567890)». Это в корне неверно для архитектуры 1С.
Проанализируем ситуацию: в программе предусмотрены отдельные поля для хранения банковских реквизитов. Лицевой счет должен указываться не в наименовании контрагента, а в реквизитах его банковского счета. При создании платежного поручения программа автоматически подставит данные из соответствующих полей (наименование получателя и его счет в казначействе). Если мы вынесем номер лицевого счета из названия, то освободим 15–25 символов, которых часто как раз и не хватает.
Если сокращения не помогают, и регламент вашей организации требует указания именно полного названия «слово в слово», мы можем прибегнуть к изменению метаданных. В 1С 8.3 для этого крайне не рекомендуется снимать конфигурацию с поддержки. Вместо этого воспользуемся механизмом Расширений.
Рассмотрим по шагам, как увеличить длину реквизита:
Администрирование — Печатные формы, отчеты и обработки — Расширения.Контрагенты.НаименованиеПолное и в свойствах расширения изменим его длину с 250 на необходимое значение (например, 500).Важный технический нюанс: при увеличении длины поля в расширении необходимо убедиться, что тип данных остается Строка. Пример программного обращения к такому реквизиту в коде не меняется, однако стоит помнить, что неограниченная длина строки может повлечь сложности при работе с запросами (невозможность группировки или сортировки в некоторых СУБД).
// Пример проверки длины перед записью, если вы используете подписку на событие
Процедура ПередЗаписьюКонтрагента(Источник, Отказ)
Если СтрДлина(Источник.НаименованиеПолное) > 250 Тогда
// Программа теперь позволит записать более 250 символов
// благодаря изменению в расширении
КонецЕсли;
КонецПроцедуры
Выясним причину, по которой разработчики 1С установили лимит именно в 250 символов. Дело не только во внутренней архитектуре базы данных, но и во внешних стандартах:
Рекомендация: Всегда старайтесь уложиться в 250 символов, используя сокращения. Это гарантирует корректную передачу данных в банковские системы. В поле Наименование (краткое) пишите удобное для вас имя (например, «Приставы (Ломоносов)»), а в НаименованиеПолное — официальное название с использованием стандартных аббревиатур (УФК, ОСП, ГУ).
Подведем итог: если название контрагента не помещается, сначала проверьте, нет ли там лишней информации (лицевых счетов), затем примените официальные аббревиатуры, и только в самом крайнем случае используйте расширение конфигурации для изменения длины поля, помня о возможных проблемах с выгрузкой в банк.