Имя: Пароль:
1C
 
Запись адреса контрагента в УНФ
0 DrekTarX
 
19.09.25
08:23
Столкнулся с ситуацией, когда требуется получать адрес контрагента, разделенный на индекс, регион, город, улицу и т.д.
Проблема заключается в том, что представление адреса часто записывалось просто строкой, вместо корректного заполнения формы "РасширенныйВводКонтактнойИнформации.Форма.ВводАдреса".
Соответвенно получение отдельных частей из XML или реквизита "КонтактнаяИнформация.Значение" не получается возможным.
А парсинг строки по разделителю не подходит из-за неоднородности заполнения, у кого-то только индекс, город, а у кого-то и регион, и улица, и номер дома.

Поэтому задача заключается в программном перезаписывании адреса корректно, из структуры с данными, однако найти нужную процедуру пока не удалось. Прошу помощи.
1 Мультук
 
гуру
19.09.25
08:30
2 lucky_
 
19.09.25
08:33
(0)
[А парсинг строки по разделителю не подходит из-за неоднородности заполнения"]
сделай свой парсинг.
3 DrekTarX
 
19.09.25
13:05
(1) Благодарю, но это не подходит в данном случае.
Все же требуется процедура, которая из структуры вида:
{
zip:"123456",
area:"Московская область",
city:"Москва",
street:"Пушкина",
house:"15"
}
Соберет соответствующий адрес внутри 1С.

То есть правильная структура у меня уже есть, мне нужно правильно внести ее в контактную информацию.
4 DrekTarX
 
19.09.25
08:42
(2) Вероятно это было бы гораздо проще, но в любом случае, задачу мне поставили именно по корректной перезаписи адреса.
5 Мультук
 
гуру
19.09.25
11:33
(3)

а) Проблема заключается в том, что представление адреса часто записывалось просто строкой

б) Вот пример строки (показывает json) (3)

И становится непонятно:
или Вы на ходу "переобулись"
или просто не можете из JSON  сделать Структура
или {что-то еще}
6 DrekTarX
 
19.09.25
12:14
(5) Представление адреса контрагента в 1С на данный момент записано строкой, без внутреннего разбития контактной информации на части(КонтактнаяИнформация.Значение содержало только строку value, без city, area и т.д.).
Соответвенно, при попытке эту контактную информацию выудить, приходилось парсить строку через запятую, что уже чревато последствиями.

Поэтому была поставлена задача оперативно привести адрес контрагента в надлежащий вид, путем записывания уже имеющихся извне данных об адресе, уже разбитых в формате JSON, в контактную информацию.

Вопрос заключается в чем: Какая процедура (вероятно из модуля УправлениеКонтактнойИнформацией) может записать в контрагента данные из JSON/Структуры/Массива, чтобы они корректно отображались в поле КонтактнаяИнформация.Значение?
7 craxx
 
19.09.25
12:44
(6) любым редактором объектов или запросом смотрите, что в корректном адресе в этом поле, и делаете процедуру, которая формирует Значение
8 lucky_
 
19.09.25
12:34
(6) вбить в поисковик тот же запрос религия запрещает?
9 trk415e76
 
19.09.25
13:20
(1) для меня актуально. Попробую. Использовал какой-то другой сервис, тоже с инфостарта - не взлетело. Благодарю за идею.
10 DrekTarX
 
19.09.25
14:00
По итогам нужная мне процедура называлась УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию.
К сожалению, нашел я ее далеко не так быстро, как хотелось бы для столь очевидного названия.
(7) Увы, требовалось использование уже имеющихся процедур, а не "дублирование велосипеда", поэтому создать свое мне не позволили.
(8) Поверхностное изучение ответов поисковика успехов не дало. Собственно, поэтому я обратился сюда.
В любом случае, благодарю всех за ответы.