Текущее время: Сб, июл 05 2025, 13:24

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Распарсить строку адреса
СообщениеДобавлено: Ср, апр 23 2014, 13:05 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 19 2012, 08:33
Сообщения: 182
Пол: Мужской
Добрый день, коллеги.
Есть одна большая проблема, которая постоянно порождает кучу маленьких проблем.
Есть на проекте старая система ULTIMA ERP и есть SAP ERP.
Из ультимы регулярно обновляются партнеры, по PI интерфейсу прилетают данные по физикам и юрикам, программа обновляет соответствующих партнеров в сапе.
Проблема в следующем: Адрес партнера в ультиме хранится одной строкой.
Нужно распихать эту строку по соответствующим полям but000
Как это сделать - я даже не знаю, мое воспаленное воображение рисует простыню кода с лексическим анализом строки, поиском города ( г. гор. пос. город ) итд итп.
Подскажите в каком направлении можно покопаться и как эту проблему решить?

_________________
crusty написал(а):
Логистика - понятие растяжимое


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Распарсить строку адреса
СообщениеДобавлено: Ср, апр 23 2014, 13:37 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Думается вариантов решения ровно 2:
1. предъявить требования в системе-источнику данных присылать данные разбитые по полям
2. в SAP хранить адрес строкой.

Парсить - не вариант.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Распарсить строку адреса
СообщениеДобавлено: Ср, апр 23 2014, 16:00 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 19 2012, 08:33
Сообщения: 182
Пол: Мужской
первый вариант - разработчиков этой системы уже не сыщешь, а под адрес там ровно 1 длинное поле, других просто нет.
второй вариант - из сапа предстоит дергать не весь адрес, а допустим без индекса, или в другом порядке, не в том, как их заведут кривые пользаки.

_________________
crusty написал(а):
Логистика - понятие растяжимое


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Распарсить строку адреса
СообщениеДобавлено: Ср, апр 23 2014, 20:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 22 2013, 01:09
Сообщения: 108
Откуда: г. Жлобин, Республика Беларусь
Пол: Мужской
Orgazm написал:
первый вариант - разработчиков этой системы уже не сыщешь, а под адрес там ровно 1 длинное поле, других просто нет.
второй вариант - из сапа предстоит дергать не весь адрес, а допустим без индекса, или в другом порядке, не в том, как их заведут кривые пользаки.

А нельзя стандартизировать вид адреса в ULTIMA ERP ? Что бы он был определенного формата, например *222120*такая то область*такой то город*... Если чего то нет, то ставить ** в этом месте. Тогда вам будет легче на стороне SAP проводить анализ полученного адреса и распихивать его по полям. И бить по рукам юзеров, если не так ввели, так как формат будет официально утвержден и шаг влево, шаг вправо от него - расстрел без обжалования :-).

_________________
Когда другие слепо следуют за истиной, помни - ничто не истина.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Распарсить строку адреса
СообщениеДобавлено: Чт, апр 24 2014, 06:54 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 479
а кем партнеры обновляются в системе ультима и как?
если пользовательски, то нельзя ли их любезно попросить готовить эксель по определенной форме.

а что если пользователи будут вести партнеров в SAP ERP? этот вариант не рассматривался?

и еще вопрос:
а зачем Вам распихивать по полям тот текст? также загрузите в длинный текст эту строку и все.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Распарсить строку адреса
СообщениеДобавлено: Чт, апр 24 2014, 10:52 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 19 2012, 08:33
Сообщения: 182
Пол: Мужской
Nick_Papkov написал:
А нельзя стандартизировать вид адреса в ULTIMA ERP ? .

Над этим можно подумать
Цитата:
а что если пользователи будут вести партнеров в SAP ERP?

часть ведут в сапе - часть в ультиме. В регионах ( типа ленобласть, другие мелкие города ) и в москве - стоит еще старая система, на сап не мигрировали.
Цитата:
а зачем Вам распихивать по полям тот текст? также загрузите в длинный текст эту строку и все.

Чтоб потом я мог из этих полей достать данные в печатные формы, у которых у каждой свои требования по адресу - в каком порядке, как город выводить, где регион надо добавить, где еще телефон с факсом. Тот еще гемор на самом деле.

_________________
crusty написал(а):
Логистика - понятие растяжимое


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Распарсить строку адреса
СообщениеДобавлено: Чт, апр 24 2014, 12:43 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
Существует общероссийский классификатор адресов КЛАДР,
в соответствии с которым, любой адрес имеет определенную последовательность составляющих его элементов. Что-то вроде этого:
  • 'Код страны',
  • 'Индекс',
  • 'Код региона',
  • 'Район',
  • 'Город',
  • 'Населенный пункт',
  • 'Улица',
  • 'Дом',
  • 'Корпус',
  • 'Литера',
  • 'Квартира'.

Orgazm написал:
Адрес партнера в ультиме хранится одной строкой.

Необходимо обязать пользователей Ультимы заполнять строку адреса именно в этой последовательности, разделяя элементы запятой. При этом, какие-либо элементы могут отсутствовать, но количество запятых должно быть всегда 10, например:
Цитата:
43,670013,03,,Улан-Удэ г,Жердева ул,22,,,,

На стороне SAP, вам останется только поделить строку по запятым (оператор SPLIT) и раскидать по целевым полям.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Распарсить строку адреса
СообщениеДобавлено: Пт, апр 25 2014, 04:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
замечено, напр в случае москвы, юр. адрес для налоговой имеет вид:
..., 77, МОСКВА Г, , , ПРОСПЕКТ МИРА, 1, , А, 12

т.е. поле "город" пусто, у них какой то свой КЛАДР?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Распарсить строку адреса
СообщениеДобавлено: Пт, апр 25 2014, 12:58 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
trop написал(а):
поле "город" пусто, у них какой то свой КЛАДР?
по-идее, он должен быть единым. Есть тонкость в том, что Москва (возможно и Питер тоже) позиционируется в КЛАДР как регион, а не как город.
Цитата:
..., 77, МОСКВА Г, , , ПРОСПЕКТ МИРА, 1, , А, 12
В приведенном примере мне непонятно, как там оказалась "МОСКВА Г", т.к. наличие региона 77 это исключает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Распарсить строку адреса
СообщениеДобавлено: Ср, май 14 2014, 16:43 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, авг 05 2008, 19:46
Сообщения: 96
Откуда: С Урала
Давненько не кодировал, это к делу не относится, но про КЛАДР помню - он гласит что населенные пункты в России построены по древовидной структуре и делятся на некие административные уровни - причем подчиненность исключительно законодательная и логике не подчиняется. Как пример адрес г.Москва,г.Долгопрудный ( ну москвичам то это не знать). В другом случае может быть г.ХХХ, деревня УУУУ. Может быть край в подчинении области, может наоборот. Лет 7 назад до 7 уровней насчитывал. Так что алгоритмизировать очень не просто.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB