УТ 10.3 -БП 3.0 Нужно перенести юридический .адрес контрагентов

1. pentanom 30 23.03.25 13:30 Сейчас в теме
Организована передача документов "Реализация ..." из самописной УТ в типовую БП, Контрагенты при этом передавались без адреса (в бухгалтерии он был не нужен). Теперь, в связи с переходом ЭДО на формат 5.03, при формировании файла (Еще... - ЭДО - Выгрузить документ в файл) выдается сообщение
СведенияОСчетеФактуре - СведенияОПокупателях - НомерСтроки - Покупатель - Адрес - ТипАдреса: значение указано неверно
Как организовать передачу адреса, учитывая, что в УТ используется КЛАДР, а в БП - ФИАС (или ГАР)? Или как-то обойти эту ситуацию?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. natz78 7 23.03.25 18:12 Сейчас в теме
(1) Есть типовые правила переноса данных из УТ10.3 в УТ11. В части хранения контактной информации контрагентов структура данных совпадает в УТ11 и в БП. Можете взять за образец эти типовые правила и доработать правила передачи которые у вас документы переносят из базы в базу.
3. pentanom 30 23.03.25 21:58 Сейчас в теме
(2) Попробую, если в правилах переноса данных из УТ10.3 в УТ11 такая возможность есть.
4. pentanom 30 24.03.25 17:51 Сейчас в теме
(2)
(1) Есть типовые правила переноса данных из УТ10.3 в УТ11. В части хранения контактной информации контрагентов структура данных совпадает в УТ11 и в БП. Можете взять за образец эти типовые правила и доработать правила передачи которые у вас документы переносят из базы в базу.
Посмотрел правила. Осталось непонятным, как из
        НоваяСтрока.ЗначенияПолей = ?(ЗначениеЗаполнено(Выборка.Поле1), "Индекс=" + Выборка.Поле1 + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(Выборка.Поле2), "Регион="            + Выборка.Поле2 + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(Выборка.Поле3), "Район="            + Выборка.Поле3 + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(Выборка.Поле4), "Город="            + Выборка.Поле4 + Символы.ПС, "") 
           + ?(ЗначениеЗаполнено(Выборка.Поле5), "НаселенныйПункт="    + Выборка.Поле5 + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(Выборка.Поле6), "Улица="            + Выборка.Поле6 + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(Выборка.Поле7), "Дом="                + Выборка.Поле7 + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(Выборка.Поле8), "Корпус="            + Выборка.Поле8 + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(Выборка.Поле9), "Квартира="        + Выборка.Поле9 + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(ТипДома),         "ТипДома="            + ТипДома        + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(ТипКорпуса),     "ТипКорпуса="        + ТипКорпуса    + Символы.ПС, "")
           + ?(ЗначениеЗаполнено(ТипКвартиры),     "ТипКвартиры="        + ТипКвартиры, "");

Показать
получается
<КонтактнаяИнформация xmlns="http://www.v8.1c.ru/ssl/contactinfo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Представление="192000, Город Санкт-Петербург"><Состав xsi:type="Адрес" Страна="РОССИЯ"><Состав xsi:type="АдресРФ"><СубъектРФ>Санкт-Петербург г</СубъектРФ><ОКТМО>40000000</ОКТМО><ДопАдрЭл ТипАдрЭл="10100000" Значение="192000"/></Состав></Состав></КонтактнаяИнформация>
"Получается" - это условно, т.к. формирование строки "Значение полей" я взял из правил (УТ 10-УТ 11), а контактную информацию из БП. Вероятно, где-то должна быть процедура преобразования, но я ее не нашел:(
5. natz78 7 24.03.25 19:50 Сейчас в теме
(4) Попробовала на типовой УТ перенести контрагентов. Сразу после переноса контактная информация - см. рис1. Если открыть форму партнера и нажать Записать, то значение преобразуется в нужный формат (см. рис.2).
Если бы можно было как то эмулировать открытие формы и запись для всех контрагентов это решило бы проблему.
Где то в недрах подсистемы БСП управления контактной информацией есть алгоритмы преобразования из одной формы записи в другую.
Прикрепленные файлы:
6. natz78 7 24.03.25 20:23 Сейчас в теме
(5) После загрузки через обработку группового изменения Контрагентов надо выполнить следующий код
// Доступные переменные:
// Объект - обрабатываемый объект
ДанныеЗаполнения = УправлениеКонтактнойИнформацией.НоваяКонтактнаяИнформация(Ложь);

Для Каждого КИ Из Объект.КонтактнаяИнформация Цикл
СтрокаЗаполнения = ДанныеЗаполнения.Добавить();
СтрокаЗаполнения.Вид = КИ.Вид;
СтрокаЗаполнения.Тип = КИ.Тип;
СтрокаЗаполнения.ЗначенияПолей = КИ.ЗначенияПолей;
СтрокаЗаполнения.Представление = КИ.Представление;
КонецЦикла;

Попытка
УправлениеКонтактнойИнформацией.УстановитьКонтактнуюИнформациюОбъекта(Объект, ДанныеЗаполнения);
Исключение
КонецПопытки;
Показать

Тогда в полях контактной информации заполнится поле Значение.
ЗначенияПолей - этот реквизит устаревший и оставлен для обратной совместимости, судя по комментариям в типовом модуле УправлениеКонтактнойИнформацией
7. karamazoff 124 24.03.25 21:06 Сейчас в теме
Можно пойти другим путем, при условии, что есть подписка ИТС + сервис контрагент. Написать коротенькое расширение для БП которая пробежится по контрагентам и нажмет там кнопку Заполнить по ИНН. Заодно, данные будут точно актуальные. У меня время реализации заняло 15 минут. Можно запускать по расписанию
8. karamazoff 124 24.03.25 21:37 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот