Текущее время: Вс, июл 06 2025, 14:07

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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