К статье
Практический материал

Разработка и Конфигурация · 12 мин

Как расширить поля в 1С: практическое руководство

Как расширить поля в 1С: увеличить ширину колонок и полей на форме, добавить новые реквизиты через расширение конфигурации или конфигуратор. Пошаговые инструкции.

Под запросом «расширить поля в 1С» обычно скрываются три разные задачи: увеличить ширину поля или колонки на форме, чтобы текст не обрезался; добавить новое поле (реквизит) в документ или справочник; расширить состав полей в запросе или отчёте. Каждая задача решается своим инструментом, и смешивать их нельзя — изменение ширины поля на форме никак не влияет на хранимые данные, а добавление реквизита требует изменения конфигурации или расширения.

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

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

Определите, что именно нужно расширить

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

Третий случай — ограничение длины строкового реквизита. Например, поле «Комментарий» позволяет ввести только 100 символов, потому что в свойствах реквизита задана длина строки. Тогда нужно менять не форму, а длину строки в свойствах объекта конфигурации, и это уже затрагивает структуру базы данных.

Текст обрезан визуально, но вводится полностьюПроблема ширины элемента формы

Проверьте свойство «Ширина» поля в редакторе формы

Поле не даёт ввести больше символовОграничение длины строки реквизита

Откройте свойства реквизита, параметр «Длина»

Нужного поля нет в документе вообщеТребуется добавление реквизита

Используйте доп. реквизиты или расширение конфигурации

Как расширить ширину поля на форме в конфигураторе

Откройте конфигуратор, найдите нужный объект (документ, справочник), перейдите на вкладку «Формы» и откройте основную форму. В редакторе формы выделите нужное поле — справа в палитре свойств найдите параметр «Ширина». Значение задаётся в символах для обычных полей ввода. Увеличьте значение, сохраните форму и обновите конфигурацию базы данных (F7), если изменения затрагивали структуру, либо просто сохраните форму.

Альтернатива — работа мышью непосредственно в визуальном редакторе формы: потяните границу поля до нужного размера. Однако в управляемых формах (такси-интерфейс) размеры часто вычисляются автоматически, и жёсткая фиксация ширины может ломать адаптивность формы на разных разрешениях экрана. В таких случаях лучше использовать свойства «Растягивать по горизонтали» и «Автоотметка незаполненного», а не абсолютную ширину.

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

Как пользователю расширить колонки без конфигуратора

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

Если настройка сбросилась или форма открывается в исходном виде, используйте меню «Ещё» → «Изменить форму» (в управляемых формах). Там можно включать и отключать видимость полей, а для некоторых элементов — менять их расположение. Учтите: эта настройка индивидуальна для каждого пользователя и не распространяется на коллег автоматически.

Когда требуется одинаковая настройка для всех пользователей, администратор может скопировать пользовательские настройки форм другим сотрудникам через раздел «Администрирование» → «Пользователи и права» → «Копирование настроек» (точное название пункта зависит от конфигурации). Либо изменения вносятся в саму форму в конфигураторе — тогда они станут стандартными для всех.

Как добавить новое поле через дополнительные реквизиты

Это самый безопасный способ расширить состав полей типового документа или справочника, не снимая конфигурацию с поддержки. В типовых конфигурациях (УТ, ERP, Бухгалтерия, ЗУП) перейдите в «Администрирование» → «Общие настройки» и включите флажок «Дополнительные реквизиты и сведения». Затем откройте «Дополнительные реквизиты», выберите нужный объект (например, «Реализация товаров и услуг») и создайте новый реквизит.

При создании задайте заголовок поля и тип значения: строка, число, дата, булево или ссылка на справочник. Для строки укажите длину — она и определяет, сколько символов можно ввести. После сохранения поле появится на форме документа в группе «Дополнительно» или на отдельной закладке, станет доступно в списках, отчётах и при печати через макеты.

Добавление дополнительного реквизита
  1. 1
    Администрирование → Общие настройки → включить «Дополнительные реквизиты и сведения»
  2. 2
    Открыть «Дополнительные реквизиты» и выбрать нужный объект конфигурации
  3. 3
    Создать реквизит: указать заголовок, тип значения и длину строки
  4. 4
    Сохранить и открыть форму документа — проверить, что поле появилось и сохраняет значение
  5. 5
    Проверить доступность поля в отчётах и, при необходимости, добавить его в печатную форму

Ограничение метода: дополнительные реквизиты хранятся в отдельной таблице, поэтому сложные проверки заполнения, участие в проведении и в произвольных запросах требуют дополнительной доработки. Для простых задач — «поле для заметки», «дополнительный номер», «признак согласования» — этого варианта достаточно.

Как добавить поле через расширение конфигурации

Когда дополнительных реквизитов недостаточно — например, поле должно участвовать в движениях документа, в запросах отчётов или в обменах — используйте расширение конфигурации. В конфигураторе откройте «Конфигурация» → «Расширения конфигурации» → «Создать». Задайте имя, префикс (например, «Расш1_») и назначение «Дополнение».

В дереве расширения добавьте нужный объект: щёлкните по документу правой кнопкой → «Добавить в расширение». Затем добавьте в него новый реквизит с собственным префиксом в имени, задайте тип и длину строки. Чтобы поле появилось на форме, добавьте форму документа в расширение и перетащите новый реквизит в дерево элементов формы. После сохранения нажмите F7 — платформа выполнит реструктуризацию, добавив колонку в таблицу базы данных.

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

Как увеличить длину строкового поля

Если поле существует, но обрезает ввод, причина в свойстве «Длина» строкового реквизита. В конфигураторе откройте свойства реквизита и измените длину строки с фиксированной на нужную, либо установите «Неограниченная длина». Учтите: неограниченные строки хранятся иначе, не индексируются и не могут использоваться в некоторых сравнениях и отборах — включайте её только там, где действительно нужны длинные тексты (описания, комментарии).

Для типовых реквизитов изменение длины возможно только через расширение (для ряда объектов платформа позволяет менять длину заимствованного реквизита) или через снятие конфигурации с поддержки. Последний вариант усложнит будущие обновления, поэтому сначала оцените, нельзя ли решить задачу дополнительным реквизитом большей длины.

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

Сравнение способов расширения полей

Настройка формы пользователем

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

Дополнительные реквизиты

Быстрое добавление полей без конфигуратора, конфигурация остаётся на поддержке. Ограничено в проведении и запросах

Расширение конфигурации

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

Прямая доработка конфигурации

Максимальная гибкость, но конфигурация снимается с поддержки, обновления становятся ручными и трудоёмкими

Проверка результата и типичные ошибки

После любого изменения проверьте результат в режиме 1С:Предприятие: откройте форму, введите тестовое значение в новое или расширенное поле, запишите объект и откройте его повторно. Значение должно сохраниться полностью, без обрезки. Для дополнительных реквизитов дополнительно проверьте их отображение в списке документов и в отчётах, где поле планируется использовать.

Если поле добавлено через расширение, убедитесь, что расширение подключено у всех пользователей и активно («Конфигурация» → «Расширения конфигурации», флажок «Используется»). Частая ситуация: после обновления платформы или конфигурации расширение отключается автоматически из-за несовместимости, и добавленные поля «пропадают» — данные при этом не теряются, достаточно устранить несовместимость и включить расширение снова.

Типичные ошибки
01
Снятие типовой конфигурации с поддержки ради одного поля — обновления превращаются в ручное сравнение и объединение
02
Уменьшение длины строки без проверки данных — длинные значения обрезаются при реструктуризации без возможности восстановления
03
Жёсткая фиксация ширины полей в управляемой форме — на другом разрешении экрана форма разъезжается
04
Забытый префикс в имени реквизита расширения — при обновлении типовой конфигурации возможен конфликт имён
05
Изменение формы без проверки у всех ролей — у пользователя без прав на реквизит поле вызывает ошибку доступа
Контрольные точки

Как проверить результат

Ввод и сохранение значения в новом поле
Норма

Значение сохраняется полностью после перезаписи и переоткрытия объекта

Тревожный признак

Значение обрезается или исчезает — проверьте длину строки и запись объекта

Отображение поля у других пользователей
Норма

Поле видимо и доступно всем, кому нужно

Тревожный признак

Поле видно только разработчику — проверьте права и активность расширения

Работа формы при разном масштабе
Норма

Элементы не перекрываются, полос прокрутки нет

Тревожный признак

Часть полей уходит за границу — уберите жёсткую ширину

Частые вопросы

Можно ли расширить поле в 1С без конфигуратора?

Да, в двух случаях: ширину колонок таблиц пользователь меняет мышью прямо в режиме 1С:Предприятие, а новые поля добавляются механизмом «Дополнительные реквизиты и сведения» через раздел «Администрирование». Для изменения длины существующего реквизита конфигуратор всё же потребуется.

Почему после обновления конфигурации пропали добавленные поля?

Чаще всего причина в автоматическом отключении расширения конфигурации из-за несовместимости с новой версией. Откройте список расширений, устраните конфликт (обычно требуется повторно заимствовать изменённую форму) и включите расширение. Данные в добавленных реквизитах при этом сохраняются в базе.

Потеряются ли данные при увеличении длины строкового поля?

Нет. Увеличение длины строки — безопасная операция, реструктуризация сохраняет все значения. Опасно обратное действие: при уменьшении длины значения, превышающие новый лимит, будут обрезаны безвозвратно.

Чем дополнительный реквизит отличается от реквизита, добавленного в конфигураторе?

Дополнительный реквизит хранится в отдельной служебной таблице и не требует изменения конфигурации, но ограничен в использовании внутри проведения и произвольных запросов. Реквизит из конфигуратора или расширения — полноценная колонка таблицы объекта, доступная везде, но требует реструктуризации базы.

Как сделать, чтобы новая ширина колонок была у всех пользователей одинаковой?

Либо задайте ширину колонок в самой форме через конфигуратор — тогда она станет стандартной для всех, либо настройте форму у одного пользователя и скопируйте его настройки остальным через механизм копирования пользовательских настроек в разделе администрирования.

Что делать, если в управляемой форме нельзя задать точную ширину поля?

Это нормальное поведение: платформа управляет компоновкой автоматически. Используйте свойства «Растягивать по горизонтали», группировку элементов в горизонтальные группы и настройку ширины колонок группы. Точная пиксельная фиксация в управляемых формах не предусмотрена и обычно не нужна.

Итог

Что важно запомнить

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