ЗаписатьКонтактнуюИнформацию (БСП)

Автор: 1С
ОбщийМодуль.УправлениеКонтактнойИнформацией
1С БСП

Записать контактную информацию. Записывает контактную информацию из XML в поля табличной части Контактная информация объекта.

// Записывает контактную информацию из XML в поля табличной части Контактная информация объекта.
//
// Параметры:
//    Объект - ЛюбаяСсылка -  ссылка на объект конфигурации, содержащий табличную часть контактная информация.
//    Значение - Строка - контактная информация в внутреннем формате JSON.
//    ВидИнформации - Справочник.ВидыКонтактнойИнформация - ссылка на вид контактной информации.
//    ТипИнформации - Перечисление.ТипыКонтактнойИнформация - тип контактной информации.
//    ИдентификаторСтроки - Число - идентификатор строки табличной части.
//    Дата - Дата - Дата, с которой действует запись контактной информации,
//                  используется при хранении истории изменения контактной информации.
Процедура ЗаписатьКонтактнуюИнформацию(Объект, Знач Значение, ВидИнформации, ТипИнформации, ИдентификаторСтроки = 0, Дата = Неопределено) Экспорт
	
	Если ПустаяСтрока(Значение) Тогда
		Возврат;
	КонецЕсли;
	
	Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(Значение) Тогда
		ОбъектКИ = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(Значение, ТипИнформации);
	Иначе
		ОбъектКИ = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(Значение, ТипИнформации);
	КонецЕсли;
	
	Если Не УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияЗаполнена(ОбъектКИ) Тогда
		Возврат;
	КонецЕсли;
	
	НоваяСтрока = Объект.КонтактнаяИнформация.Добавить();
	НоваяСтрока.Представление = ОбъектКИ.Value;
	НоваяСтрока.Значение      = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ОбъектКИ);
	НоваяСтрока.ЗначенияПолей = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияИзJSONВXML(ОбъектКИ, ТипИнформации);
	НоваяСтрока.Вид           = ВидИнформации;
	НоваяСтрока.Тип           = ТипИнформации;
	Если ЗначениеЗаполнено(Дата) Тогда
		НоваяСтрока.ДействуетС    = Дата;
	КонецЕсли;
	
	Если ЗначениеЗаполнено(ИдентификаторСтроки) Тогда
		НоваяСтрока.ИдентификаторСтрокиТабличнойЧасти = ИдентификаторСтроки;
	КонецЕсли;
	
	// Заполнение дополнительных реквизитов ТЧ.
	ЗаполнитьТехническиеПоляКонтактнойИнформации(НоваяСтрока, ОбъектКИ, ТипИнформации);
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

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

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

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

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

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

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

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

РазличияКонтактнойИнформации (БСП)

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

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз