1. Создание Дополнительных реквизитов.
Для примера буду использовать конфигурацию 1С ЗУП КОРП и справочник "Подразделения".
Создаем два дополнительных реквизита типа Строка "Адрес" и "АдресЗначение". "АдресЗначение" нам необходим чтобы хранить значение адреса в том формате в котором его распознает классификатор.
Для удобства сделаем этот реквизит скрытым, добавив любое невыполнимое условие видимости.

2. Добавляем дополнительному реквизиту кнопку выбора и назначаем на нее команду
В конфигураторе создаем расширение и добавляем в него процедуру нашей формы элемента справочника "Подразделения": "ПриСозданииНаСервереПосле" или "ПриОткрытииПосле".
В этой процедуре ищем название нашего дополнительного реквизита "Адрес" и ставим ему свойство КнопкаВыбора = ИСТИНА и назначаем этой кнопке команду. Основная трудность, с которой я здесь столкнулся была связана с тем, что для дополнительных реквизитов генерируется неудобоваримое наименование, которое не меняется в рамках одной БД, и его даже можно прописать в коде, но уж очень безобразно это все будет выглядеть и расширение каждый раз придется править перенося на другую БД.

Спасение из данной ситуации нашел здесь:

Пройдя циклом по ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов находим нужный нам элемент формы и назначаем ему нужные нам свойства
&НаСервере
Процедура Расш_ЗАДРПКПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
Для Каждого Эл Из ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов Цикл
Если Эл.Наименование = "Адрес" Тогда
ИмяДопРек = Эл.ИмяРеквизитаЗначение;
ЭтаФорма.Элементы[ИмяДопРек].КнопкаВыбора = Истина;
ЭтаФорма.Элементы[ИмяДопРек].УстановитьДействие("НачалоВыбора","Расш_ЗАДРПК_ЗаполнитьАдресНаКлиенте");
КонецЕсли;
КонецЦикла;
КонецПроцедуры
3. Пишем процедуру для нашей кнопки выбора
Не забываем назначить параметры работы с элементом формы "Элемент, ДанныеВыбора, СтандартнаяОбработка".
&НаКлиенте
Процедура Расш_ЗАДРПК_ЗаполнитьАдресНаКлиенте(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Для начала нам необходимо получить значение нашего дополнительного реквизита "АдресЗначение" для его передачи в адресный классификатор.
Для Каждого Эл Из ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов Цикл
Если Эл.Наименование = "АдресЗначение" Тогда
ИмяРеквизита = Эл.ИмяРеквизитаЗначение;
Если ЗначениеЗаполнено(ЭтотОбъект[ИмяРеквизита]) Тогда
ЗнАдреса = ЭтотОбъект[ИмяРеквизита ];
Иначе
ЗнАдреса = Элемент.ТекстРедактирования;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Далее добавляем в наше расширение предопределенный объект справочника "ВидыКонтактнойИнформации" и заполняем параметры открытия формы адресного классификатора
ПараметрыКИ = Новый Структура;
ПараметрыКИ.Вставить("ВидКонтактнойИнформации",ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.ПочтовыйАдресОрганизации"));
ПараметрыКИ.Вставить("Значение",ЗнАдреса);
ПараметрыКИ.Вставить("Представление",Элемент.ТекстРедактирования);
ПараметрыКИ.Вставить("Индекс",Неопределено);
ПараметрыКИ.Вставить("Комментарий","Исходный адрес: " + Элемент.ТекстРедактирования);
ПараметрыКИ.Вставить("ОткрытаПоСценарию",Истина);
ПараметрыКИ.Вставить("ТолькоПросмотр",Ложь);
ПараметрыКИ.Вставить("ТипПомещения","Квартира");
И завершаем нашу процедуру назначением обработчика и открытием формы Адресного классификатора:
Оповещение = Новый ОписаниеОповещения("Расш_ЗАДРПК_ЗаполнитьАдресЗавершениеНаКлиенте",ЭтаФорма);
УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыКИ,,Оповещение);
4. Пишем экспортную процедуру обработки результата, вызываемую после заполнения адреса:
&НаКлиенте
Процедура Расш_ЗАДРПК_ЗаполнитьАдресЗавершениеНаКлиенте(Результат, Чтото) Экспорт
Если Результат <> Неопределено тогда
Для Каждого Эл Из ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов Цикл
Если Эл.Наименование = "Адрес" Тогда
ИмяДопРек = Эл.ИмяРеквизитаЗначение;
ЭтотОбъект[ИмяДопРек] = Результат.Представление;
КонецЕсли;
Если Эл.Наименование = "АдресЗначение" Тогда
ИмяДопРек = Эл.ИмяРеквизитаЗначение;
ЭтотОбъект[ИмяДопРек] = Результат.Значение;
КонецЕсли;
КонецЦикла;
ЭтотОбъект.Модифицированность = Истина;
КонецЕсли;
КонецПроцедуры
Готово!
Сейчас при открытии Подразделения у нас есть доп. реквизит с кнопкой выбора, при нажатии на кнопку выбора открывается форма заполнения адреса. После заполнения, адрес переносится на наш доп. реквизит "Адрес", а благодаря доп. реквизиту "АдресЗначение" при следующем редактировании адреса, классификатор откроется в том же виде, что был при закрытии:

Без доп. реквизита "АдресЗначение" при повторном открытии классификатор бы открывался с адресом в свободной форме, что неудобно.
Проверено на следующих конфигурациях и релизах:
- Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.35.48
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.35.48
Вступайте в нашу телеграмм-группу Инфостарт