Как подключить контактную информацию к справочнику или документу в БСП 2.3
БСП 2.3;

1) В нашем объекте добавляем табличную часть "КонтактнаяИнформация", а точнее копируем ее из другого существующего справочника или документа, например, из справочника Пользователи, который изначально находится в составе конфигурации БСП.
2) На форме элемента нашего объекта добавляем группу с наименованием "ГруппаКонтактнаяИнформация". Именно в этой группе и будет отображаться интерфейс контактной информации.
3) В справочнике "ВидыКонтактнойИнформации"  находим его предопределенные элементы и по этим примерам добавляем новую предопределенную группу, например по шаблону - СправочникПользователи, а внутри нее все необходимые элементы контакной информации, по тем же примерам.
4) В дереве конфигурации находим определяемый тип "ВладелецКонтактнойИнформации" и добавляем в него тип нашего объекта.
5) В модуле формы элемента нашего объекта размещаем следующие куски кода:

    В процедуре ПриСозданииНаСервере добавляем:

    //СтандартныеПодсистемы.КонтактнаяИнформация
     УправлениеКонтактнойИнформацией.ПриСозданииНаСервере(ЭтотОбъект, Объект, "ГруппаКонтактнаяИнформация", ПоложениеЗаголовкаЭлементаФормы.Лево);
    // Конец СтандартныеПодсистемы.КонтактнаяИнформация

    В процедуре ПриЧтенииНаСервере добавляем:

    // СтандартныеПодсистемы.КонтактнаяИнформация    
    УправлениеКонтактнойИнформацией.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);   
    // Конец СтандартныеПодсистемы.КонтактнаяИнформация   

     В процедуре ОбработкаПроверкиЗаполненияНаСервере добавляем:

    // СтандартныеПодсистемы.КонтактнаяИнформация
    УправлениеКонтактнойИнформацией.ОбработкаПроверкиЗаполненияНаСервере(ЭтотОбъект, Объект, Отказ);
    // Конец СтандартныеПодсистемы.КонтактнаяИнформация

     В процедуре ПередЗаписьюНаСервере  добавляем:

    // СтандартныеПодсистемы.КонтактнаяИнформация
    УправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
    // Конец СтандартныеПодсистемы.КонтактнаяИнформация

    Добавляем следующие процедуры:

    // ПРОЦЕДУРЫ ПОДСИСТЕМЫ "КОНТАКТНАЯ ИНФОРМАЦИЯ"
    
   &НаКлиенте    
   Процедура Подключаемый_КонтактнаяИнформацияПриИзменении(Элемент)
       УправлениеКонтактнойИнформациейКлиент.ПриИзменении(ЭтотОбъект, Элемент);    
   КонецПроцедуры

   &НаКлиенте    
   Процедура Подключаемый_КонтактнаяИнформацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
       УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент, , СтандартнаяОбработка);
   КонецПроцедуры

   &НаКлиенте
   Процедура Подключаемый_КонтактнаяИнформацияПриНажатии(Элемент, СтандартнаяОбработка)
       УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент,, СтандартнаяОбработка);
   КонецПроцедуры

   &НаКлиенте
   Процедура Подключаемый_КонтактнаяИнформацияОчистка(Элемент, СтандартнаяОбработка)
      УправлениеКонтактнойИнформациейКлиент.Очистка(ЭтотОбъект, Элемент.Имя);
   КонецПроцедуры

   &НаКлиенте
   Процедура Подключаемый_КонтактнаяИнформацияВыполнитьКоманду(Команда)
       УправлениеКонтактнойИнформациейКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда.Имя);
   КонецПроцедуры

   &НаСервере    
   Процедура Подключаемый_ОбновитьКонтактнуюИнформацию(Результат)
       УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
   КонецПроцедуры

6) На этом шаге добавление механизма контактной информации готово. Но остается один важный момент, необходимо установить нужные свойства для каждого добавленного элемента контактной информации для нашего объекта. Это делается только программным путем. В общем модуле "ПользователиСлужебный" находим процедуру "ОбновитьПредопределенныеВидыКонтактнойИнформацииПользователей". Берем ее в качестве шаблона и копируем в модуль менеджера нашего объекта, изменив наименование на ОбновитьПредопределенныеВидыКонтактнойИнформацииОрганизации (например если наш справочник Организации). И в этой процедуре таким же образом прописываем все наши добавленные элементы контактной информации. После этого выполняем эту процедуру, например, через внешнюю обработку.

 

Вы можете посетить сайт для фрилансеров freelancing.md