Как правильно добавить контактную информацию (БСП)

Фрагмент программного добавления контактной информации

//вид контактной информации (адрес партнера, адрес контрагента, телефон партнера и т.д.)
ВидКИ = Справочники.ВидыКонтактнойИнформации.АдресПартнера;
//тип контактной информации (Адрес, Телефон, ЭлектроннаяПочта)
ТипКИ = ВидКИ.Тип;
			
//получение объекта XDTO по представлению контактной информации
ОбъектXDTOКИ = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOПоПредставлению("г. Минск, ул. Пинская, 28А", ТипКИ);
ЗначенияПолей = 

//преобразование объекта XDTO в xml
УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML(ОбъектXDTOКИ);

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

Комментарии

nixel2007
#1, 29 февраля 2020 16:16

Использовать служебный программный интерфейс стоит с большой осторожностью. А лучше вообще не использовать 😃


Max_faks
#2, 21 января 2021 15:19

(1) nixel2007, Почему?


bodrechkom
#3, 06 июля 2021 10:29

не работает, ни какой ошибки но и не заполняет


АлисаКиШ
#4, ред. 29 июня 2022 13:56

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

не работает в ЗКГУ и БГУ, поэтому пишите вот так и будет вам счастье

для каждого СтрокаФЛ из Объект.ФизическиеЛица цикл

		ПочтаСтруктура = Новый Структура;
	    Вид = Справочники.ВидыКонтактнойИнформации.EMailФизическиеЛица;
		ВидДляФЛ = Справочники.ВидыКонтактнойИнформации.EmailФизическиеЛица;
	    ПочтаСтруктура.Вставить("Представление",  СтрокаФЛ.emailИзФайла);
		ПочтаСтруктура.Вставить("АдресЭП", СтрокаФЛ.emailИзФайла);
	    ЭПАДРЕС_XML = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(ПочтаСтруктура,"", Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
	    ЭПАДРЕС_JSON = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(ЭПАДРЕС_XML);
		УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(СтрокаФЛ.ФизЛицо, ЭПАДРЕС_JSON, ВидДляФЛ, ТекущаяДата(), Истина);
		

конеццикла;


ДмитрийЛ
#5, ред. 21 марта 2025 12:42

не сработало, сработало так:


ДанныеЗаполненияКИ = Новый Структура("Представление,КонтактнаяИнформация,Комментарий,Значение, Корректный");
	СтруктураДанных = Новый Структура("Комментарий");
	Если ДанныеКонтрагента.Свойство("ЮридическийАдрес")
		И ДанныеКонтрагента.ЮридическийАдрес <> Неопределено Тогда
		
		ДанныеЗаполненияКИ.Представление = ДанныеКонтрагента.ЮридическийАдрес;
		ДанныеЗаполненияКИ.Комментарий = "";
		
				
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////
		// 									В свободной форме   
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//вид контактной информации (адрес партнера, адрес контрагента, телефон партнера и т.д.)
		ВидКИ = Справочники.ВидыКонтактнойИнформации.ЮридическийАдресКонтрагента;
		//тип контактной информации (Адрес, Телефон, ЭлектроннаяПочта)
		ТипКИ = ВидКИ.Тип;
		
		//получение объекта XDTO по представлению контактной информации
		ОбъектXDTOКИ = УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияXDTOПоПредставлению( ДанныеКонтрагента.ЮридическийАдрес, ТипКИ);
		ЗначенияПолей = 
		
		//преобразование объекта XDTO в xml
		УправлениеКонтактнойИнформациейЛокализация.КонтактнаяИнформацияXDTOВXML(ОбъектXDTOКИ);
		
		ДанныеЗаполненияКИ.Значение = ЗначенияПолей;
		
		ЗаполнитьЭлементКонтактнойИнформации(ВидКИ,ДанныеЗаполненияКИ);   
		
	КонецЕсли;


&НаСервере
Процедура ЗаполнитьЭлементКонтактнойИнформации(ВидКонтактнойИнформации, СтруктураДанных)
	
		Если СтруктураДанных = Неопределено 
		ИЛИ НЕ ЗначениеЗаполнено(СтруктураДанных.Представление) Тогда
		Возврат;
	КонецЕсли;
	
	Отбор  = Новый Структура("Вид", ВидКонтактнойИнформации);
	Строки = ЭтотОбъект.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов.НайтиСтроки(Отбор);
	ДанныеСтроки = ?(Строки.Количество() = 0, Неопределено, Строки[0]);
	Если ДанныеСтроки = Неопределено Тогда
		Возврат;
	КонецЕсли;
	ДанныеСтроки.Представление = СтруктураДанных.Представление;
	ДанныеСтроки.Значение = СтруктураДанных.КонтактнаяИнформация;
	ЭтотОбъект[ДанныеСтроки.ИмяРеквизита] = СтруктураДанных.Представление;
КонецПроцедуры


См. также

ДобавитьКонтактнуюИнформацию (БСП)

КонтактнаяИнформацияДобавитьПолеВводаЗавершение (БСП)

КонтактнаяИнформацияИзJSONВXML (БСП)

УстановитьКонтактнуюИнформациюОбъекта (БСП)

JSONВКонтактнуюИнформациюПоПолям (БСП)

ДобавитьСтатистическуюИнформацию (БСП)

НоваяКонтактнаяИнформация (БСП)

КонтактнаяИнформацияВXML (БСП)

ТипКонтактнойИнформации (БСП)

Модератору