Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Как из наименования вытащить цифру? (http://forums.kuban.ru/f1040/kak_iz_naimenovaniya_vytashit-_cifru-3099062.html)

Капуста 24.09.2012 14:16

Как из наименования вытащить цифру?
 
пр. Куликова дом 30 кв 1
пр.Победы дом 37 кв 1
ул. Придонская дом 12 кв 30

Как вытащить номер дома?

УСН.УК.ЖилСервис.

roma n 24.09.2012 14:25

СтрПолучитьСтроку(СтрЗаменить(СокрЛ(Сред(МояСтрока,Найти(Врег(МояСтрока)," ДОМ ")+5))," ",Символы.ПС),1)
Как-то так...

Капуста 24.09.2012 14:29

Спасибо. А если "ДОМ" не везде?

lalex23 24.09.2012 14:30

тогда сажаем оператора и он всё вытащит, что не вытащит - нафантазирует

roma n 24.09.2012 14:31

+ в случае, если данные хранятся более формализовано, а в строку лишь "собираются" для отображения в [печатных] формах, парсить строку,- моветон. ИМХО

Капуста 24.09.2012 14:34

Хорошо, понял, спасибо.

roma n 24.09.2012 14:34

2-Капуста > а если между первой и второй цифрой в номере дома случайно затесался пробел? А если после "дом" будет точка, а не пробел как в строке поиска? А если.... А если...
ЗЫ парсинг вообще дело неблагодарное. Могу и другие алгоритмы предложить на вскидку :)

qweqwe123123 24.09.2012 14:37

Число(СтрЗаменить(Сред(МояСтрока,Найти(МояСтрока," кв "))," кв ",""))

roma n 24.09.2012 14:38

7-Зелёный тролль > улица 1905 года. Да

qweqwe123123 24.09.2012 14:39

если ДОМ не везде, то и номера видимо у него не будет

qweqwe123123 24.09.2012 14:39

8-roma n > да я ваще не правильно написал, я про квартиру

Капуста 24.09.2012 14:45

7-Зелёный тролль > Так тоже красиво получается :)

Капуста 24.09.2012 14:46

8-roma n >9-Зелёный тролль >Будем проставлять ДОМ

Капуста 24.09.2012 14:46

Где нет.

qweqwe123123 24.09.2012 14:53

?(Найти(Врег(МояСтрока)," ДОМ ") > 0,Число(СтрЗаменить(Сред(ВРЕГ(МояСтрока),Найти(Врег(МояСтрока)," ДОМ "))," ДОМ ","")),"")

qweqwe123123 24.09.2012 14:53

для дома, и для случая если дома (а значит и номера его) нет

VadimB 24.09.2012 14:56

nVar1=Find(xAdres,”дом”); nVar2=Find(xAdres,”кв”); xHouse=””;
if nVar1>0 then
xHouse=TrimAll( ?(nVar2=0, Mid(xAdres,nVar1+3), Mid(xAdres,nVar1+3,nVar2-nVar1-3) ) );
endif;

qweqwe123123 24.09.2012 15:00

?(Найти(Врег(МояСтрока)," ДОМ ") > 0,Число(СтрЗаменить(СтрЗаменить(Сред(ВРЕГ(МояСтрока),Найти(Врег(МояСтрока)," ДОМ "))," ДОМ ","")," ","")),"")

убирает пробелы в номере дома

qweqwe123123 24.09.2012 15:01

ещё автор не уточнил, надо ли выводи букву дома или если номер дома с дробью.
в этих случаях одной строкой кода обойтись будет сложно

qweqwe123123 24.09.2012 15:03

16-VadimB > ул Надомная дом 42

VadimB 24.09.2012 15:14

19-Зелёный тролль > Есть такое дело. :-)

Ткачик 24.09.2012 15:15

Как показывает многолетний опыт, предусмотрительность программиста рано или поздно проиграет фантазии пользователей.

Капуста 24.09.2012 15:17

Выгружаю в файл дбф, плохо то, что лицевые счета в спр. контрагенты, забиты в наименования как в (0)

[img]http://s51.radikal.ru/i133/1209/0d/8a1b9879f95a.jpg[/img]

Ткачик 24.09.2012 15:25

(22) Два вопроса:

1. Зачем?
2. Сколько?

Капуста 24.09.2012 15:33

23-Ткачик > В Собесе (кажется оттуда) льготу по коммуналке предоставляют, ребята приволокли от туда файлик и сказали забивать туда данные.
Ну, а так как в любом учете присутствует бардак, пытаемся вытянуть данные отовсюду.

По поводу сколько, вроде все почти уже сделал. :)

Ткачик 24.09.2012 15:36

Так ты еще жалуешься (22) или уже хвастаешься (24)?

Капуста 24.09.2012 15:38

25-Ткачик >Жалуюсь в (22) на то, что из начально забивали куда не надо, а (24) там в принципе и хвастаться нечем.:)

angro 24.09.2012 15:48

(26) так вот на Арканцева нет "ДОМ", ищи первую цифру.
по кладру посмотри есть ли в Семикаракорске улицы с цифрами и их учти. вряд ли их много.

Капуста 24.09.2012 15:52

27-angro > Есть переулки, их от 1 до 23-его, но там часное домовладение.

bma1 24.09.2012 19:16

Кстати, встречаю иногда в адресах вместо слова "дом", слово "строение". Это тоже надо учесть...

qweqwe123123 24.09.2012 21:02

тьфу ты ну ты, выбираем все различные адреса с номером дома 0, и отдаём юзеру править.

Капуста 24.09.2012 22:35

30-Зелёный тролль > Мне вот понравилась

[url]http://infostart.ru/public/89095/#postform[/url]

qweqwe123123 24.09.2012 23:12

31-Капуста > и каким оно боком?


Текущее время: 20:16. Часовой пояс GMT +3.