Как правильно написать правила КД по переносу контактной информации контрагента из Альфа-Авто (регистр сведений) в ERP (таблица значений)? Данные Адреса заполняются, а вот Телефон и Электронная почта нет. В чем ошибка?
Код алгоритма ПереносКИ, используется перед обработкой
КоллекцияОбъектов = Новый ТаблицаЗначений;
КоллекцияОбъектов.Колонки.Добавить("Тип");
КоллекцияОбъектов.Колонки.Добавить("Вид");
КоллекцияОбъектов.Колонки.Добавить("Представление");
КоллекцияОбъектов.Колонки.Добавить("ЗначенияПолей");
КоллекцияОбъектов.Колонки.Добавить("Страна");
КоллекцияОбъектов.Колонки.Добавить("Регион");
КоллекцияОбъектов.Колонки.Добавить("Город");
КоллекцияОбъектов.Колонки.Добавить("АдресЭП");
КоллекцияОбъектов.Колонки.Добавить("ДоменноеИмяСервера");
КоллекцияОбъектов.Колонки.Добавить("НомерТелефона");
КоллекцияОбъектов.Колонки.Добавить("НомерТелефонаБезКодов");
Запрос = Новый Запрос(
"ВЫБРАТЬ
| КонтактнаяИнформация.Тип КАК Тип,
| КонтактнаяИнформация.Вид КАК Вид,
| КонтактнаяИнформация.Представление КАК Представление,
| КонтактнаяИнформация.Поле1 КАК Поле1,
| КонтактнаяИнформация.Поле2 КАК Поле2,
| КонтактнаяИнформация.Поле3 КАК Поле3,
| КонтактнаяИнформация.Поле4 КАК Поле4,
| КонтактнаяИнформация.Поле5 КАК Поле5,
| КонтактнаяИнформация.Поле6 КАК Поле6,
| КонтактнаяИнформация.Поле7 КАК Поле7,
| КонтактнаяИнформация.Поле8 КАК Поле8,
| КонтактнаяИнформация.Поле9 КАК Поле9,
| КонтактнаяИнформация.Поле10 КАК Поле10,
| КонтактнаяИнформация.Поле11 КАК Поле11,
| КонтактнаяИнформация.Поле12 КАК Поле12,
| КонтактнаяИнформация.Комментарий КАК Комментарий,
| КонтактнаяИнформация.СтанцияМетро КАК СтанцияМетро,
| КонтактнаяИнформация.ГородскойРайон КАК ГородскойРайон,
| КонтактнаяИнформация.ТипКвартиры КАК ТипКвартиры
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &Контрагент");
Запрос.УстановитьПараметр("Контрагент", Источник.Ссылка);
СтрокиКИ = Запрос.Выполнить().Выгрузить();
Для Каждого СтрокаКИ Из СтрокиКИ Цикл
ВидКИ = СтрокаКИ.Вид;
ТипКИ = СтрокаКИ.Тип;
ЗначенияПолей = Новый Структура;
Если ВидКИ = Справочники.ВидыКонтактнойИнформации.АдресИностранный Тогда
ЗначенияПолей.Вставить("Представление", СтрокаКИ.Представление);
ЗначенияПолей.Вставить("Страна", СтрокаКИ.Поле1);
ЗначенияПолей.Вставить("КодСтраны", "");
ЗначенияПолей.Вставить("Индекс", "");
ЗначенияПолей.Вставить("Регион", "");
ЗначенияПолей.Вставить("КодРегиона", "");
ЗначенияПолей.Вставить("РегионСокращение", "");
ЗначенияПолей.Вставить("Район", "");
ЗначенияПолей.Вставить("РайонСокращение", "");
ЗначенияПолей.Вставить("Город", "");
ЗначенияПолей.Вставить("ГородСокращение", "");
ЗначенияПолей.Вставить("НаселенныйПункт", "");
ЗначенияПолей.Вставить("НаселенныйПунктСокращение", "");
ЗначенияПолей.Вставить("Улица", "");
ЗначенияПолей.Вставить("УлицаСокращение", "");
ЗначенияПолей.Вставить("ТипДома", "");
ЗначенияПолей.Вставить("Дом", "");
ЗначенияПолей.Вставить("ТипКорпуса", "");
ЗначенияПолей.Вставить("Корпус", "");
ЗначенияПолей.Вставить("ТипКвартиры", "");
ЗначенияПолей.Вставить("Квартира", "");
ЗначенияПолей.Вставить("Комментарий", СтрокаКИ.Комментарий);
ИначеЕсли ТипКИ = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
ЗначенияПолей.Вставить("Представление", СтрокаКИ.Представление);
ЗначенияПолей.Вставить("Страна", "РОССИЯ");
ЗначенияПолей.Вставить("КодСтраны", "643");
ЗначенияПолей.Вставить("Индекс", СтрокаКИ.Поле1);
ЗначенияПолей.Вставить("Регион", СтрокаКИ.Поле2);
ЗначенияПолей.Вставить("КодРегиона", "");
ЗначенияПолей.Вставить("РегионСокращение", "");
ЗначенияПолей.Вставить("Район", СтрокаКИ.Поле3);
ЗначенияПолей.Вставить("РайонСокращение", "");
ЗначенияПолей.Вставить("Город", СтрокаКИ.Поле4);
ЗначенияПолей.Вставить("ГородСокращение", "");
ЗначенияПолей.Вставить("НаселенныйПункт", СтрокаКИ.Поле5);
ЗначенияПолей.Вставить("НаселенныйПунктСокращение", "");
ЗначенияПолей.Вставить("Улица", СтрокаКИ.Поле6);
ЗначенияПолей.Вставить("УлицаСокращение", "");
ЗначенияПолей.Вставить("ТипДома", "");
ЗначенияПолей.Вставить("Дом", СтрокаКИ.Поле7);
ЗначенияПолей.Вставить("ТипКорпуса", "");
ЗначенияПолей.Вставить("Корпус", "");
ЗначенияПолей.Вставить("ТипКвартиры", ?(ЗначениеЗаполнено(СтрокаКИ.ТипКвартиры),Метаданные.Перечисления.ТипыКвартир.ЗначенияПеречисления.Получить(Перечисления.ТипыКвартир.Индекс(СтрокаКИ.ТипКвартиры)).Имя,""));
ЗначенияПолей.Вставить("Квартира", СтрокаКИ.Поле9);
ЗначенияПолей.Вставить("Комментарий", СтрокаКИ.Комментарий);
ИначеЕсли ТипКИ = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
ЗначенияПолей.Вставить("Представление", СтрокаКИ.Представление);
ЗначенияПолей.Вставить("КодСтраны", СтрокаКИ.Поле1);
ЗначенияПолей.Вставить("КодГорода", СтрокаКИ.Поле2);
ЗначенияПолей.Вставить("НомерТелефона", СтрокаКИ.Поле3);
ЗначенияПолей.Вставить("Добавочный", СтрокаКИ.Поле4);
ЗначенияПолей.Вставить("Комментарий", СтрокаКИ.Комментарий);
Иначе
ЗначенияПолей.Вставить("Представление", СтрокаКИ.Представление);
ЗначенияПолей.Вставить("Комментарий", СтрокаКИ.Комментарий);
КонецЕсли;
Результат = "";
Для Каждого КлючИЗначение Из ЗначенияПолей Цикл
Если ПустаяСтрока(КлючИЗначение.Значение) Тогда
Продолжить;
КонецЕсли;
Результат = Результат + ?(Результат = "", "", Символы.ПС)+ КлючИЗначение.Ключ + "=" + СтрЗаменить(КлючИЗначение.Значение, Символы.ПС, Символы.ПС + Символы.Таб);
КонецЦикла;
НоваяСтрокаКИ = КоллекцияОбъектов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаКИ, СтрокаКИ);
НоваяСтрокаКИ.ЗначенияПолей = Результат;
КонецЦикла;
Алгоритм "КонтактнаяИнформация_ПослеЗагрузки"
ОбъектМодифицирован = Истина;
ДанныеЗаполнения = УправлениеКонтактнойИнформацией.НоваяКонтактнаяИнформация(Ложь);
Для Каждого КИ Из Объект.КонтактнаяИнформация Цикл
СтрокаЗаполнения = ДанныеЗаполнения.Добавить();
СтрокаЗаполнения.Вид = КИ.Вид;
СтрокаЗаполнения.Тип = КИ.Тип;
СтрокаЗаполнения.ЗначенияПолей = КИ.ЗначенияПолей;
СтрокаЗаполнения.Представление = КИ.Представление;
//СтрокаЗаполнения.Значение = КИ.Значение;
КонецЦикла;
Попытка
УправлениеКонтактнойИнформацией.УстановитьКонтактнуюИнформациюОбъекта(Объект, ДанныеЗаполнения);
Исключение
КонецПопытки;