Поля в формах 1С 8.3: правим значения, состав формы и реквизиты конфигурации
Содержание
Чтобы отредактировать поле в 1С, откройте карточку документа или справочника, щёлкните в поле, введите значение и нажмите Записать или Записать и закрыть. Если поле серое, его закрыли права, дата запрета изменения или блокировка реквизитов. Чтобы скрыть или показать поле на форме, используйте Ещё → Изменить форму. Добавить новое поле, которого в программе нет, можно только в конфигураторе, а лучше через расширение.
Всё ниже относится к платформе 1С:Предприятие 8.3 с интерфейсом «Такси». Механизм общий для типовых конфигураций: Бухгалтерии 3.0, ЗУП 3.1, УТ 11. Различаются только названия разделов меню, и это оговорено отдельно.
Что такое поле в 1С и где хранятся его данные
Для пользователя поле — это клетка на экране, куда вводится контрагент, сумма или дата. Для программы за ним стоят три разных уровня. От того, какой из них нужно менять, зависит инструмент.
| Уровень | Что это | Чем меняют |
|---|---|---|
| Значение | Конкретные данные: ИНН, цена, склад в документе | Обычный ввод в форме, групповая обработка |
| Элемент формы | Как поле показано: виден ли, где стоит, можно ли править | Изменить форму в пользовательском режиме или редактор форм в конфигураторе |
| Реквизит объекта | Колонка в таблице базы данных, в которой лежит значение | Конфигуратор или расширение конфигурации |
Значения хранятся в информационной базе: в файле 1Cv8.1CD у файловой базы или в таблицах СУБД у клиент-серверной. Править их напрямую в файле или в SQL нельзя. Так ломаются ссылки, итоги регистров и обмены. Любое изменение данных проходит через формы 1С, обработки или код на встроенном языке.
У документов поля бывают двух видов:
- 📄 реквизиты шапки — дата, организация, контрагент, договор;
- 📋 реквизиты табличной части — колонки списка товаров или услуг: номенклатура, количество, цена.
Как изменить значение поля в пользовательском режиме
Это самая частая задача: поменять склад в документе, исправить наименование контрагента, поставить другую цену.
- Откройте нужный список. Например,
Покупки → Поступление (акты, накладные, УПД)в Бухгалтерии 3.0 илиСправочники → Контрагенты. - Двойным щелчком откройте карточку.
- Щёлкните в поле. Текст вводите с клавиатуры. Для ссылочных полей (контрагент, склад) начните печатать название — 1С подскажет варианты из справочника. Кнопка
...справа от поля открывает полный список для выбора. - Чтобы очистить ссылочное поле, нажмите
Shift+F4или кнопку с крестиком, если она есть в поле. - Нажмите
Записать. У документа —Провести, если он должен формировать движения.
Если документ уже проведён, после правки его нужно провести заново. Иначе в учёте останутся старые проводки и движения регистров, а на экране будут новые значения. При нажатии Записать и закрыть 1С обычно сама предлагает перепровести документ.
Поля с красным пунктирным подчёркиванием обязательны к заполнению. Без них документ не запишется: 1С покажет сообщение внизу формы, и щелчок по нему ставит курсор в нужное поле.
Поля, которые не видны сразу
Часть полей типовые формы прячут в свёрнутые группы. Чаще всего это блоки «Дополнительно», «Расчёты», «Счета учёта». Щёлкните по заголовку группы со стрелкой, и она раскроется. Счета учёта в строках табличной части Бухгалтерии 3.0 обычно открываются по ссылке в самой строке или в отдельной колонке.
Как настроить форму без конфигуратора: видимость и порядок полей
Каждый пользователь может перестроить форму под себя. Конфигурация при этом не меняется, обновлениям это не мешает.
- Откройте форму документа, справочника или списка.
- Нажмите
Ещё → Изменить форму. - Откроется дерево элементов. Снимите флажок у поля, чтобы скрыть его, или поставьте, чтобы показать.
- Стрелками вверх и вниз на панели настройки меняйте порядок полей внутри группы.
- В правой части окна у выделенного поля можно поменять заголовок, ширину и некоторые другие свойства. Сделать нередактируемым поле, которое программа разрешает править, здесь не всегда получится. Это задача прав доступа.
- Нажмите
ОК.
Настройка сохраняется для текущего пользователя. Если форму «сломали», откройте снова Изменить форму и выберите в меню Ещё команду возврата к стандартным настройкам.
Изменение формы не добавляет новых полей. В дереве видны только элементы, которые разработчик уже положил на форму, в том числе скрытые. Если нужного поля нет даже среди снятых флажков, его нет в форме — нужен конфигуратор или расширение.
Дополнительные реквизиты без программиста
В типовых конфигурациях на БСП есть механизм дополнительных реквизитов и сведений. Он позволяет завести своё поле (например, «Менеджер клиента» у контрагента) без доработки конфигурации.
- В Бухгалтерии 3.0 откройте
Администрирование → Общие настройкии включите флажок «Дополнительные реквизиты и сведения». - По ссылке рядом откройте список наборов, выберите объект (например, справочник «Контрагенты»).
- Добавьте новый реквизит: название, тип значения (строка, число, дата, ссылка на справочник).
- Откройте карточку контрагента. Поле появится на форме, обычно в группе дополнительных реквизитов.
Такие поля попадают в отборы списков и в отчёты через настройку варианта.
Редактирование полей в табличных частях документов и справочников
В табличной части поле — это ячейка строки.
- Выделите строку и дважды щёлкните по ячейке или нажмите
F2. - Введите значение и нажмите
EnterилиTab. Курсор перейдёт к следующей ячейке. Insertдобавляет строку,Deleteудаляет выделенную,F9копирует текущую строку.- Сумма в строке обычно пересчитывается автоматически после ввода количества и цены.
Колонки табличной части тоже настраиваются через Ещё → Изменить форму: скрытую колонку «Счёт учёта» или «Страна происхождения» можно вывести, лишнюю — убрать.
Для массовой правки строк ищите команды в командной панели над таблицей. Их состав зависит от документа и конфигурации: в одних есть заполнение колонки по всем строкам, в других — подбор или пересчёт цен по виду цен.
Если в документе 200 строк и нужно поменять одну цену у всех, не правьте строки по одной. Это долго и легко пропустить строку. Используйте команду массового изменения над таблицей или групповую обработку (раздел ниже).
Как изменить поле в конфигураторе: реквизит, форма, обновление базы
Конфигуратор нужен, когда поля нет в программе или когда нужно изменить его тип, длину, проверку заполнения. Перед доработкой сделайте резервную копию: Администрирование → Выгрузить информационную базу в конфигураторе, файл .dt.
Шаг 1. Выберите, где вести доработку
| Способ | Когда подходит | Риски |
|---|---|---|
| Расширение конфигурации | Типовая конфигурация на поддержке, нужно добавить реквизит или поменять форму | Минимальные: обновления ставятся как обычно, расширение проверяется после обновления |
| Изменение основной конфигурации | Своя конфигурация или уже снятая с поддержки | Каждое обновление типовой придётся сравнивать и объединять вручную |
| Дополнительный реквизит (БСП) | Нужно простое поле без логики | Ограничены типы и поведение, нет проверок в коде |
Для типовой конфигурации выбирайте расширение. Включение возможности изменения основной конфигурации усложняет все будущие обновления.
Шаг 2. Добавьте реквизит
В расширении:
- Откройте конфигуратор,
Конфигурация → Расширения конфигурации, создайте расширение. - В дереве основной конфигурации найдите объект (например,
Справочники → Контрагенты), правой кнопкой —Добавить в расширение. - В расширении откройте заимствованный объект, вкладка
Данные, разделРеквизиты→Добавить. - Задайте имя латиницей или кириллицей без пробелов (
МенеджерКлиента), синоним для экрана и тип.
В основной конфигурации порядок тот же, только объект открывается сразу в дереве конфигурации.
Ключевые свойства реквизита в палитре свойств:
- 🔤 Тип — строка, число, дата, булево или ссылка;
- 📏 Длина и точность — для строки и числа;
- ✅ Проверка заполнения — «Выдавать ошибку», если поле обязательное;
- 🔍 Индексировать — если по полю часто ищут и отбирают.
Шаг 3. Выведите поле на форму
- Откройте форму объекта (в расширении её тоже нужно заимствовать).
- На вкладке
Реквизитыредактора формы развернитеОбъекти найдите новый реквизит. - Перетащите его мышью в дерево
Элементы, в нужную группу. - В свойствах элемента настройте
Видимость,ДоступностьиТолькоПросмотр.
Разница между последними двумя: при Доступность = Ложь поле серое целиком, при ТолькоПросмотр = Истина значение видно и копируется, но не меняется.
Шаг 4. Обновите базу
Нажмите F7 (Конфигурация → Обновить конфигурацию базы данных). Добавление реквизита меняет структуру таблиц. Для этого нужен монопольный доступ к базе: попросите пользователей выйти, иначе обновление не применится и сеансы получат сообщение о необходимости перезапуска.
Почему поле не редактируется и как это исправить
Серое поле — самая частая жалоба. Причин несколько, и они проверяются по порядку.
Администрирование → Пользователи и права.Администрирование → Пользователи и права → Даты запрета изменения.Ещё → Разрешить редактирование реквизитов 1С проверит, где элемент уже используется, и снимет блокировку.Ещё одна частая ошибка — пытаться поменять поле в документе, созданном на основании или загруженном обменом. После следующей синхронизации значение перезапишется данными из другой базы. Правьте в той базе, которая является источником данных.
При доработке в конфигураторе типичная проблема — реквизит добавили, а на форме его нет. Реквизит объекта и элемент формы — разные вещи: после добавления реквизита его всегда нужно отдельно вывести на форму.
Массовое редактирование полей: групповая обработка и запрос
Групповое изменение реквизитов
Типовой способ поменять одно поле у сотен элементов.
- Откройте список, например контрагентов или номенклатуры.
- Выделите нужные строки (
Ctrl+ щелчок илиCtrl+A). - Нажмите
Ещё → Изменить выделенные. - В открывшейся обработке «Групповое изменение реквизитов» отметьте реквизит, задайте новое значение.
- Нажмите
Изменить реквизиты.
Обработку можно открыть и отдельно: в Бухгалтерии 3.0 она находится в Администрирование → Обслуживание → Корректировка данных. Там выбирают тип объектов, ставят отбор по условию и меняют реквизиты, в том числе в табличных частях.
Групповое изменение проведённых документов перезаписывает их. Изменение может потребовать перепроведения, а в закрытом периоде запись не пройдёт из-за даты запрета. Перед массовой правкой документов выгрузите базу в .dt.
Своя обработка с запросом
Когда условие сложное, программист пишет внешнюю обработку . Пример: заполнить пустой комментарий у контрагентов, помеченных на удаление.
&НаСервереБезКонтекста
Процедура ЗаполнитьКомментарийНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка КАК Ссылка
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ПометкаУдаления
| И Контрагенты.Комментарий ПОДОБНО """"";
Выборка = Запрос.Выполнить().Выбрать();
Изменено = 0;
Пока Выборка.Следующий() Цикл
Объект = Выборка.Ссылка.ПолучитьОбъект();
Объект.Комментарий = "Помечен на удаление, не использовать";
Попытка
Объект.Записать();
Изменено = Изменено + 1;
Исключение
Сообщить(СтрШаблон("Не записан %1: %2",
Выборка.Ссылка, ОписаниеОшибки()));
КонецПопытки;
КонецЦикла;
Сообщить(СтрШаблон("Изменено элементов: %1", Формат(Изменено, "ЧГ=0")));
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьКомментарий(Команда)
ЗаполнитьКомментарийНаСервере();
КонецПроцедуры
Работа с объектами идёт на сервере: в тонком клиенте ПолучитьОбъект() на клиенте недоступен. Ошибка записи одного элемента не останавливает обработку, а попадает в сообщения.
Не ставьте ОбменДанными.Загрузка = Истина ради скорости. Этот флаг отключает проверки и обработчики записи, и в базе появятся объекты без обязательных данных.
Можно ли изменить поле в закрытом периоде, не сдвигая дату запрета?
Сохранятся ли настройки формы после обновления конфигурации?
Как настроить форму сразу для всех пользователей?
Администрирование → Пользователи и права. Для жёсткой настройки для всех правят форму в расширении.