Добрый день! Подскажите пожалуйста в почему не удается получить значения структуры Улица. ЗУП 3.1.6.5
АдресаОрганизаций = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресаОрганизаций(Выборка.Организация);
ОписаниеЮридическогоАдреса = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресОрганизации(АдресаОрганизаций, Выборка.Организация, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
СтруктураАдресаОрганизации = ЗарплатаКадры.СтруктураАдресаИзXML(ОписаниеЮридическогоАдреса.Представление, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
Улица = СтруктураАдресаОрганизации.Улица;
По теме из базы знаний
- Направляем список пользователей, не закрывающих терминальные сессии 1С, на почту ИТ директору
- Универсальные функции: разложение произвольной строки адреса в структуру
- Сравнение адресов: случай из практики
- 1С 7.7 и новый 1С:Контрагент
- Наука о чеках. Глава 2. Обработка для просмотра структуры и значений параметров кассовых чеков в json-файле
Найденные решения
Спасибо всем.
Надо было вот это значение ОписаниеЮридическогоАдреса.ЗначенияПолей раскладывать по структуре
АдресаОрганизаций = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресаОрганизаций(Выборка.Организация);
ОписаниеЮридическогоАдреса = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресОрганизации(АдресаОрганизаций, Выборка.Организация, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
СтруктураАдресаОрганизации = ЗарплатаКадры.СтруктураАдресаИзXML(ОписаниеЮридическогоАдреса.ЗначенияПолей, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
Улица = СтруктураАдресаОрганизации.Улица;
Надо было вот это значение ОписаниеЮридическогоАдреса.ЗначенияПолей раскладывать по структуре
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Я думаю можно так:
АдресаОрганизаций = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресаОрганизаций(Выборка.Организация);
ОписаниеЮридическогоАдреса = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресОрганизации(АдресаОрганизаций, Выборка.Организация, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
Улица = ОписаниеЮридическогоАдреса.Поле6;
Сама функция:
// Функция возвращает юридический и фактический адреса, указанной организации.
//
// Параметры:
// Организации - Массив ссылок или ссылка на элемент справочника Организации.
// ДатаАктуальности - Дата
//
// Возвращаемое значение:
// Соответствие:
// Ключ - СправочникСсылка.Организации
// Значение - Соответствие
// Ключ - СправочникСсылка.ВидыКонтактнойИнформации
// Значение - Структура
// Представление
// Город
// ЗначенияПолей
//
Функция АдресаОрганизаций(Организации, Знач ДатаАктуальности = '00010101') Экспорт
ВозвращаемоеЗначение = Новый Соответствие;
Если Не ЗначениеЗаполнено(ДатаАктуальности) Тогда
ДатаАктуальности = ТекущаяДатаСеанса();
КонецЕсли;
ТипСправочникСсылкаОрганизации = Тип("СправочникСсылка.Организации");
// Определение соответствия видов контактной информации в зависимости от
// типа объекта, содержащего контактную информацию.
СоответствиеАдресовОрганизаций = Новый Соответствие;
СоответствиеВидов = Новый Соответствие;
СоответствиеВидов.Вставить(Справочники.ВидыКонтактнойИнформации.ФактАдресОрганизации, Справочники.ВидыКонтактнойИнформации.ФактАдресОрганизации);
СоответствиеВидов.Вставить(Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
СоответствиеАдресовОрганизаций.Вставить(ТипСправочникСсылкаОрганизации, СоответствиеВидов);
ЗарплатаКадрыПереопределяемый.ДополнитьСоответствиеАдресовОрганизаций(СоответствиеАдресовОрганизаций);
// Деление организаций по типу объекта, содержащего контактную информацию.
КоллекцияПоТипам = Новый Соответствие;
Если ТипЗнч(Организации) = ТипСправочникСсылкаОрганизации Тогда
КоллекцияПоТипам.Вставить(ТипСправочникСсылкаОрганизации, ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Организации));
Иначе
КоллекцияПоТипам.Вставить(ТипСправочникСсылкаОрганизации, Организации);
КонецЕсли;
ЗарплатаКадрыПереопределяемый.ОпределитьТипыВладельцевАдресовОрганизаций(КоллекцияПоТипам);
// Получение адресов
Для каждого КоллекцияПоТипу Из КоллекцияПоТипам Цикл
Если КоллекцияПоТипу.Ключ = Тип("СправочникСсылка.Организации") Тогда
МассивСсылок = КоллекцияПоТипу.Значение;
СоответствиеВидовКИ = СоответствиеАдресовОрганизаций.Получить(ТипСправочникСсылкаОрганизации);
Иначе
МассивСсылок = ОбщегоНазначения.ВыгрузитьКолонку(КоллекцияПоТипу.Значение, "Ключ");
СоответствиеВидовКИ = СоответствиеАдресовОрганизаций.Получить(КоллекцияПоТипу.Ключ);
КонецЕсли;
ВидыАдресов = ОбщегоНазначения.ВыгрузитьКолонку(СоответствиеВидовКИ, "Ключ");
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
УправлениеКонтактнойИнформацией.СоздатьВТКонтактнаяИнформация(Запрос.МенеджерВременныхТаблиц, МассивСсылок, , ВидыАдресов, ДатаАктуальности);
Запрос.Текст =
"ВЫБРАТЬ
| КонтактнаяИнформация.Объект КАК Объект,
| КонтактнаяИнформация.Вид,
| КонтактнаяИнформация.Представление,
| КонтактнаяИнформация.ЗначенияПолей
|ИЗ
| ВТКонтактнаяИнформация КАК КонтактнаяИнформация
|ИТОГИ ПО
| Объект";
ВыборкаОрганизаций = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаОрганизаций.Следующий() Цикл
СоответствиеАдресовОрганизации = Новый Соответствие;
ВыборкаПоВидам = ВыборкаОрганизаций.Выбрать();
Пока ВыборкаПоВидам.Следующий() Цикл
СтруктураАдреса = СтруктураПустогоАдресаОрганизации();
ЗаполнитьЗначенияСвойств(СтруктураАдреса, ВыборкаПоВидам);
АдресСтруктура = ЗарплатаКадры.СтруктураАдресаИзXML(
ВыборкаПоВидам.ЗначенияПолей, ВыборкаПоВидам.Вид);
Сокращение = "";
Если АдресСтруктура.Свойство("Город") И НЕ ПустаяСтрока(АдресСтруктура.Город) Тогда
СтруктураАдреса.Город = АдресСтруктура.Город;
АдресСтруктура.Свойство("ГородСокращение", Сокращение);
ИначеЕсли АдресСтруктура.Свойство("НаселенныйПункт") И НЕ ПустаяСтрока(АдресСтруктура.НаселенныйПункт) Тогда
СтруктураАдреса.Город = АдресСтруктура.НаселенныйПункт;
АдресСтруктура.Свойство("НаселенныйПунктСокращение", Сокращение);
ИначеЕсли АдресСтруктура.Свойство("Регион") И НЕ ПустаяСтрока(АдресСтруктура.Регион) Тогда
СтруктураАдреса.Город = АдресСтруктура.Регион;
АдресСтруктура.Свойство("РегионСокращение", Сокращение);
КонецЕсли;
Если НЕ ПустаяСтрока(СтруктураАдреса.Город) И НЕ ПустаяСтрока(Сокращение) Тогда
СтруктураАдреса.Город = Сокращение + ". " + Лев(СтруктураАдреса.Город, СтрДлина(СтруктураАдреса.Город) - СтрДлина(Сокращение) - 1);
КонецЕсли;
ВидАдреса = СоответствиеВидовКИ.Получить(ВыборкаПоВидам.Вид);
СоответствиеАдресовОрганизации.Вставить(ВидАдреса, СтруктураАдреса);
КонецЦикла;
Если КоллекцияПоТипу.Ключ = Тип("СправочникСсылка.Организации") Тогда
СсылкаНаОрганизацию = ВыборкаОрганизаций.Объект;
Иначе
СсылкаНаОрганизацию = КоллекцияПоТипу.Значение.Получить(ВыборкаОрганизаций.Объект);
КонецЕсли;
ВозвращаемоеЗначение.Вставить(СсылкаНаОрганизацию, СоответствиеАдресовОрганизации);
КонецЦикла;
КонецЦикла;
Возврат ВозвращаемоеЗначение;
КонецФункции
Показать
Спасибо всем.
Надо было вот это значение ОписаниеЮридическогоАдреса.ЗначенияПолей раскладывать по структуре
АдресаОрганизаций = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресаОрганизаций(Выборка.Организация);
ОписаниеЮридическогоАдреса = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресОрганизации(АдресаОрганизаций, Выборка.Организация, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
СтруктураАдресаОрганизации = ЗарплатаКадры.СтруктураАдресаИзXML(ОписаниеЮридическогоАдреса.ЗначенияПолей, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
Улица = СтруктураАдресаОрганизации.Улица;
Надо было вот это значение ОписаниеЮридическогоАдреса.ЗначенияПолей раскладывать по структуре
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот