1C-CodeКак сделать → Как добавить реквизит расширением конфигурации

Как добавить реквизит расширением, не снимая конфигурацию с поддержки

Заимствовать объект в расширение, добавить в него реквизит, заимствовать форму и вывести реквизит на неё. Типовая при этом не меняется и обновляется штатно.

Код

// 1. В расширении: правой кнопкой по справочнику в типовой →
//    «Добавить в расширение» (объект станет заимствованным)
// 2. В заимствованном объекте добавить реквизит, например «КодПоставщика»
// 3. Заимствовать нужную форму и перетащить реквизит на неё
// 4. Заполнять — обработчиком в модуле объекта расширения:

&После("ОбработкаЗаполнения")
Процедура Расш_ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
	Если ЗначениеЗаполнено(ДанныеЗаполнения) Тогда
		КодПоставщика = ...;
	КонецЕсли;
КонецПроцедуры

Что здесь важно

1. Реквизит ложится в ту же таблицу

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

2. Заимствовать надо и форму тоже

Реквизит сам на форме не появится. Форму заимствуют отдельно и правят уже её. Заимствовать стоит только те формы, которые действительно меняете: каждая заимствованная — это ещё одно место, которое может отвалиться при обновлении типовой.

3. Заполнять — через &После, а не &Вместо

&После добавляет своё после типового кода, ничего не ломая. &Вместо подменяет метод целиком, и обновление типовой оставит вас с её старой копией.

Где обычно спотыкаются

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

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

Открыть тренажёр

Разобраться глубже

Другие вопросы

Как получить остатки на дату запросом в 1С Как программно провести документ в 1С Как избавиться от запроса в цикле в 1С Как добавить колонку в таблицу значений программно Как свернуть таблицу значений Как найти строку в таблице значений Как выгрузить колонку таблицы значений в массив Как превратить массив в таблицу значений Как передать таблицу значений с сервера на клиент Как отобрать строки в таблице значений Как отсортировать таблицу значений Как записать движения регистра накопления программно Чем регистр остатков отличается от регистра оборотов Как контролировать остатки при проведении документа Как сравнить две таблицы значений Какие бывают соединения в запросе 1С и чем отличаются Как выгрузить таблицу значений в Excel Чем дерево значений отличается от таблицы значений Как задать условное оформление таблицы на форме