Данная статья относится к теме настройки видов контактной информации в БСП (библиотеке стандартных подсистем).
Допустим нам требуется создать новый Справочник "Торговые отделы" и в данном справочнике организовать выбор адреса из КЛАДРа (Классификатора адресов России). Данная задача реализуется механизмами БСП.
Порядок действий:
- Создаем Справочник ТорговыеОтделы
- Добавляем в данный справочник табличную часть КонтактнаяИнформация (все реквизиты ТЧ являются обязательными):
Реквизит табличной части |
Тип |
Тип |
ПеречислениеСсылка.ТипыКонтактнойИнформации |
Вид |
СправочникСсылка.ВидыКонтактнойИнформации |
Представление |
Строка, 500 |
ЗначенияПолей |
Строка (неогр. длина) |
Страна |
Строка, 100 |
Регион |
Строка, 50 |
Город |
Строка, 50 |
АдресЭП |
Строка, 100 |
ДоменноеИмяСервера |
Строка, 100 |
НомерТелефона |
Строка, 20 |
НомерТелефонаБезКодов |
Строка, 20 |
3. Добавляем на форму Справочника группу ГруппаКонтактнаяИнформация (обычная группа).
4. Добавить новый Справочник в Определяемые типы (Общие – Определяемые типы – ВладелецКонтактнойИнформации - Свойства).
5. В модуле формы прописать следующие процедуры:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // СтандартныеПодсистемы.КонтактнаяИнформация
    УправлениеКонтактнойИнформацией.ПриСозданииНаСервере(ЭтаФорма, Объект, "ГруппаКонтактнаяИнформация");
    // Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    // СтандартныеПодсистемы.КонтактнаяИнформация
    УправлениеКонтактнойИнформацией.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
    // Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    // СтандартныеПодсистемы.КонтактнаяИнформация
    УправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
    // Конец СтандартныеПодсистемы.КонтактнаяИнформация
   
    ОбъектЗаписан = Истина;
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
    // СтандартныеПодсистемы.КонтактнаяИнформация
    УправлениеКонтактнойИнформацией.ОбработкаПроверкиЗаполненияНаСервере(ЭтотОбъект, Объект, Отказ);
    // Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры
// СтандартныеПодсистемы.КонтактнаяИнформация
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриИзменении(Элемент)
    УправлениеКонтактнойИнформациейКлиент.ПредставлениеПриИзменении(ЭтаФорма, Элемент);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    УправлениеКонтактнойИнформациейКлиент.ПредставлениеНачалоВыбора(ЭтаФорма, Элемент, Модифицированность, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриНажатии(Элемент, СтандартнаяОбработка)
    УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент,, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОчистка(Элемент, СтандартнаяОбработка)
    УправлениеКонтактнойИнформациейКлиент.Очистка(ЭтотОбъект, Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияВыполнитьКоманду(Команда)
    УправлениеКонтактнойИнформациейКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда.Имя);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ОбновитьКонтактнуюИнформацию(Результат)
    УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
КонецПроцедуры
// Конец СтандартныеПодсистемы.КонтактнаяИнформация
6. Открываем в конфигураторе Справочник ВидыКонтактнойИнформации. Добавляем в предопределенные группу: СправочникТорговыеОтделы и предопределенный элемент Адрес.
7. Обновить виды контактной информации при помощи обработки:
УправлениеКонтактнойИнформацией.ОбновитьВидКИ(Справочники.ВидыКонтактнойИнформации.Адрес, Перечисления.ТипыКонтактнойИнформации.Адрес, Истина, Ложь, Истина, 1);
Теперь на форме появится поле Адрес с кнопкой выбора из КЛАДРа