УТ 10.3 -БП 3.0 Нужно перенести юридический .адрес контрагентов
Организована передача документов "Реализация ..." из самописной УТ в типовую БП, Контрагенты при этом передавались без адреса (в бухгалтерии он был не нужен). Теперь, в связи с переходом ЭДО на формат 5.03, при формировании файла (Еще... - ЭДО - Выгрузить документ в файл) выдается сообщение
СведенияОСчетеФактуре - СведенияОПокупателях - НомерСтроки - Покупатель - Адрес - ТипАдреса: значение указано неверно
Как организовать передачу адреса, учитывая, что в УТ используется КЛАДР, а в БП - ФИАС (или ГАР)? Или как-то обойти эту ситуацию?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Есть типовые правила переноса данных из УТ10.3 в УТ11. В части хранения контактной информации контрагентов структура данных совпадает в УТ11 и в БП. Можете взять за образец эти типовые правила и доработать правила передачи которые у вас документы переносят из базы в базу.
(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), а контактную информацию из БП. Вероятно, где-то должна быть процедура преобразования, но я ее не нашел:(
(4) Попробовала на типовой УТ перенести контрагентов. Сразу после переноса контактная информация - см. рис1. Если открыть форму партнера и нажать Записать, то значение преобразуется в нужный формат (см. рис.2).
Если бы можно было как то эмулировать открытие формы и запись для всех контрагентов это решило бы проблему.
Где то в недрах подсистемы БСП управления контактной информацией есть алгоритмы преобразования из одной формы записи в другую.
Если бы можно было как то эмулировать открытие формы и запись для всех контрагентов это решило бы проблему.
Где то в недрах подсистемы БСП управления контактной информацией есть алгоритмы преобразования из одной формы записи в другую.
Прикрепленные файлы:


(5) После загрузки через обработку группового изменения Контрагентов надо выполнить следующий код
Тогда в полях контактной информации заполнится поле Значение.
ЗначенияПолей - этот реквизит устаревший и оставлен для обратной совместимости, судя по комментариям в типовом модуле УправлениеКонтактнойИнформацией
// Доступные переменные:
// Объект - обрабатываемый объект
ДанныеЗаполнения = УправлениеКонтактнойИнформацией.НоваяКонтактнаяИнформация(Ложь);
Для Каждого КИ Из Объект.КонтактнаяИнформация Цикл
СтрокаЗаполнения = ДанныеЗаполнения.Добавить();
СтрокаЗаполнения.Вид = КИ.Вид;
СтрокаЗаполнения.Тип = КИ.Тип;
СтрокаЗаполнения.ЗначенияПолей = КИ.ЗначенияПолей;
СтрокаЗаполнения.Представление = КИ.Представление;
КонецЦикла;
Попытка
УправлениеКонтактнойИнформацией.УстановитьКонтактнуюИнформациюОбъекта(Объект, ДанныеЗаполнения);
Исключение
КонецПопытки;
Показать// Объект - обрабатываемый объект
ДанныеЗаполнения = УправлениеКонтактнойИнформацией.НоваяКонтактнаяИнформация(Ложь);
Для Каждого КИ Из Объект.КонтактнаяИнформация Цикл
СтрокаЗаполнения = ДанныеЗаполнения.Добавить();
СтрокаЗаполнения.Вид = КИ.Вид;
СтрокаЗаполнения.Тип = КИ.Тип;
СтрокаЗаполнения.ЗначенияПолей = КИ.ЗначенияПолей;
СтрокаЗаполнения.Представление = КИ.Представление;
КонецЦикла;
Попытка
УправлениеКонтактнойИнформацией.УстановитьКонтактнуюИнформациюОбъекта(Объект, ДанныеЗаполнения);
Исключение
КонецПопытки;
Тогда в полях контактной информации заполнится поле Значение.
ЗначенияПолей - этот реквизит устаревший и оставлен для обратной совместимости, судя по комментариям в типовом модуле УправлениеКонтактнойИнформацией
Можно пойти другим путем, при условии, что есть подписка ИТС + сервис контрагент. Написать коротенькое расширение для БП которая пробежится по контрагентам и нажмет там кнопку Заполнить по ИНН. Заодно, данные будут точно актуальные. У меня время реализации заняло 15 минут. Можно запускать по расписанию
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот