Имя: Пароль:
1C
 
1С: управление вет.сертификатами, система хранения адресов
0 YurAnt
 
09.07.18
06:59
Доброго времени суток, уважаемые форумчане.
Возникла необходимость внедрить 1С:УВС, и автоматизировать всё, что можно автоматизировать.

Столкнулся с тем, что адрес предприятия хранится в таб.части "Контактная информация"
вот в таком виде:

<КонтактнаяИнформация 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";
    Представление="Свердловская обл., г. Екатеринбург, Радищева ул., дом № 20">
        <Комментарий/>
        <Состав xsi:type="Адрес" Страна="Российская Федерация">
            <Состав xsi:type="АдресРФ">
                <СубъектРФ>Свердловская обл.</СубъектРФ>
                <Город>г. Екатеринбург</Город>
                <Улица>Радищева ул.</Улица>
                <ОКТМО>0</ОКТМО>
                <ДопАдрЭл>
                    <Номер Тип="1010" Значение="20"/>
                </ДопАдрЭл>
                <ДопАдрЭл ТипАдрЭл="10100000" Значение=""/>
                <IDРегион>92b30014-4d52-4e2e-892d-928142b924bf</IDРегион>
                <IDГород>2763c110-cb8b-416a-9dac-ad28a55b4402</IDГород>
                <IDУлица>0c243723-8e44-4d00-9299-0e6ece669198</IDУлица>
            </Состав>
        </Состав>
    </КонтактнаяИнформация>

Возник вопрос, откуда собственно цивилизованно выдергиваются айдишники?
Т.е. имея на руках адрес - записать его, и соответственно синхронизировать предприятие с Ветисом. Поскольку без адресов (что вполне логично) - сервер записать "предприятие" не позволяет.

PS: с системой ФИАСа увы не довелось до сих пор столкнуться... это вот оно и есть?

В общем, заранее благодарен за любые советы,
С ув. YurAnt
1 spectre1978
 
09.07.18
07:06
Да, есть такая информация что Икар в общем-то использует данные ФИАС для хранения адресов.
2 Мимохожий Однако
 
09.07.18
07:21
В типовой БП3.0 должны быть модули и процедуры чтения контактной информации формата ФИАС.
3 d4rkmesa
 
гуру
09.07.18
09:16
(0) Можно воспользоваться сторонним сервисом dadata, чтобы синхронизировать адреса и получить идентификатор. Но это будет в полуручном режиме, т.к. адреса формата "Трасса М-4, 67 километр, поворот налево" сложно будет автоматически синхронизировать.
4 spectre1978
 
09.07.18
09:29
В принципе, айдишники можно получить из Икара бесплатно. И заодно иметь гарантию что это будут именно те айдишники, которые используются в Ветисе. Другой вопрос - зачем это нужно. Вы собираетесь регистрировать в Ветисе много предприятий?
5 spectre1978
 
09.07.18
09:31
я заморачивался этим вопросом году в 16, когда в Меркурии ничерта не было и нужно было регистрировать контрагентов чтобы хоть чего-то сделать. Но сейчас вроде уже всех вздрючили и регистрирутся сами, вследствие чего механизм работы с адресами оказался не так уж и нужен
6 YurAnt
 
09.07.18
09:53
(3) унифицирую через geocode-maps.yandex.ru
(25к запросов в сутки, но какбе пофиг, ибо один раз завести все точки - много не нужно)
вопрос пока стоит только в том, чтобы унифицированную структуру скормить куда-то и получить ИДшники города, улицы и т.д.

пока копаю в сторону АдресныйКлассификатор.ИдентификаторыАдреса(Адрес)

будет супер, если структура яндекса и XDTO-пакета сопоставимы...
7 YurAnt
 
09.07.18
09:57
(4) >>> Вы собираетесь регистрировать в Ветисе много предприятий?

да, и по хорошему автоматизировать этот процесс настолько насколько это возможно.
8 YurAnt
 
11.07.18
10:38
Итак, остановился вот на таком моменте

// НайденныйАдрес.value - Это более менее приведенная в порядок в соответствии с ФИАСом "строка" с адресом

//ТекПодр - Справочники.Предприятия.Ссылка

ТекПодрОбъект = ТекПодр.ПолучитьОбъект();
            
МассивПредприятий = новый Массив;
МассивПредприятий.Добавить(ТекПодр);
                
XMLСтруктура = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияXMLПоПредставлению(    НайденныйАдрес.value,
                                                                                        Справочники.ВидыКонтактнойИнформации.АдресПредприятия);
                                                                                        
РезультатВыполненияОперации = ИнтеграцияВетисAPIВызовСервера.ПолучитьАктуальныеДанныеПоПредприятию(МассивПредприятий);
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(    ТекПодр,
                                                                XMLСтруктура,
                                                                Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента,
                                                                Неопределено,
                                                                Истина);

РезультатВыполненияОперации = ИнтеграцияВетисAPIВызовСервера.ОбновитьДанныеПоПредприятиям(    МассивПредприятий,
                                                                                            ПолучитьОсновнуюОрганизацию_СпрОрг(),
                                                                                            Справочники.Пользователи.НайтиПоНаименованию("Хаяров Евгений Муртазович"),
                                                                                            "актуализация данных");
9 YurAnt
 
11.07.18
10:42
однако адрес пишется одной большой строкой в "Адрес в свободной форме"

поля город, улица, дом и т.п. не заполняются,
соответственно при отправке на сервак ветиса - отваливаются с ошибкой некорректного адреса
10 YurAnt
 
11.07.18
10:43
уважаемые, никто не сталкивался с подобным?
11 ks_83
 
11.07.18
12:02
Смысл этой затеи не понятен. Предприятия снихронизируются по гуиду а не по адресу. Дублей адресов  в меркурии предостаточно.
12 YurAnt
 
11.07.18
12:21
смысл этой затеи: если у вас магазин переехал в соседнее здание, не сидеть и не заполнять ручками.
или если речь не о магазине - а скажем о "месте перегрузки"
где не происходит смены владельца, но происходит смена машины, а значит нужна выписка ветки.
а еще если у вас не 1 предприятие/тт а например 300.
и еще 300 точек перегрузки товара.

но прежде всего - смысл в том, что актуальность адресов поддерживается в системе отличной от 1с.
и никто не будет сажать деффачку которая будет сидеть и жать кнопочки и контролировать каждый день 600+ записей только чтоб адреса были в порядке.
13 YurAnt
 
11.07.18
12:25
>>> но прежде всего - смысл в том, что актуальность адресов поддерживается в системе отличной от 1с

и соответственно нужно получить адрес в нестандартном формате, преобразовать к стандарту,
получить из него XMLку которая будет соответствовать данным табчасти КИ из 1с:УВС, чтоб можно было благополучно отправить это на сервер Ветиса, и актуализировать данные.
14 YurAnt
 
11.07.18
12:31
хм, судя по всему

УправлениеКонтактнойИнформацией.КонтактнаяИнформацияXMLПоПредставлению

не может нормально распарсить адрес