Импорт из Excel двух адресов контрагента

В excel файле для каждого контрагента указано два адреса - фактический и юридический. Допустим для какого-то контрагента заполнены все поля фактического адреса, а в юридическом только "страна", "регион" и "город", причем значения в этих полях такие же как и в фактическом адресе. Как настроить импорт чтоб на детали появились оба адреса?
Если в ключевых полях только "контрагент" и установлена галочка "обновлять записи", то при импорте второго адреса обновляется первый. Думаю, если б поле по умолчанию ("тип адреса") можно было добавить в ключевые поля, то это бы решило проблему.

Нравится

9 комментариев

Для решения проблемы можно выполнить дополнительную настройку импорта адреса на соответствующую деталь раздела. Первичный импорт будет вносить основной адрес, а дополнительный оставшийся адрес только на деталь.

Олег, хотелось бы чтоб оба адреса попали на деталь. Как вариант, можно конечно основной адрес вносить только в карточку, а потом перенести на деталь скриптом, но это обходной путь.

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

Как я писал ранее, если ключевым полем выбрать AccountID, то второй импорт не создает новую запись с адресом, а обновляет существующую. Если же не ставить галочку "обновлять существующие записи", то второй импорт создает дубль контрагента.

В случаи импорта на деталь Контрагент не может выступать как значение ключевого поля, скорее уже значение адреса.

Думаю, нужно создать 2 источника импорта. Первый будет импортировать контрагента и первый адрес в карточку, ключевое поле тут должно быть контрагент. Второй источник импорта будет заполнять деталь "Адреса", но тут нужно правильно определить, что является первичным ключом. Если у Вас есть какая-то колонка, в которой хранятся данные, отличающие первый адрес от второго, то можно использовать ее + контрагент в качестве первичного ключа. Если же адреса отличить таким образом нельзя и Вы хотите, чтобы адрес из каждой строчки фала попал на деталь "Адреса" соответствующего контрагента, то можно в фале для импорта создать еще одну колонку, в которой будут значения от 1 до.. и указать ее как первичный ключ.

В самом общем случае адреса отличаются только типом адреса. Кстати похожая проблема может быть и со средствами связи, если номер факса такой же как и номер телефона.
Нумерация строк в файле не спасет, так как оба адреса записаны в одной строке. Как вариант можно добавить две колонки, в одной везде будет написано "фактический адрес", а во второй "юридический адрес". Потом импортировать эти поля вместо значений по умолчанию и сделать их ключевыми.
Для себя я эту проблему решил скриптом, который переносит адрес и средства связи из карточки. Но вообще было бы неплохо если б поле по умолчанию можно было бы сделать ключевым.

Если ключевым сделать тип адреса, то в Вашем случаи будет импортировано 2-е записи: одна с юридическим адресом, другая с фактическим.

Я имел в виду два ключевых поля - контрагент и тип адреса.

Показать все комментарии