Имя: Пароль:
1C
1C 7.7
v7: Как выделить дату и сумму из строки?
,
0 Gal4onok
 
22.02.12
20:21
Подскажите пожалуйста, как в строке найти дату и сумму. строка может быть разная.
Например: "ООО Фирма Улица 4. Согласно реестра торговых операций. Мерчант № 8989898989. Дата реестра 17.02.2012. Комиссия 5.47. НДС не облагается"
1 andrewks
 
22.02.12
20:22
ключевые слова + Найти() + Сред()
2 aleks-id
 
22.02.12
20:23
+(1) искать "Дата реестра ", ". Комиссия" и ". НДС"
3 Gal4onok
 
22.02.12
20:24
а как?
4 Deon
 
22.02.12
20:26
(3) А в каком конкретно месте возникает трудность?
5 aleks-id
 
22.02.12
20:28
(3) ну ты ваще...
ПозицияДатыРеестра = Найти(СтрокаПоиска,"Дата реестра ")+13;
НайденнаяДата = Сред(СтрокаПоиска,ПозицияДатыРеестра,10);
6 Gal4onok
 
22.02.12
20:30
а как мне сделать, если есть комиссии за рко, чтобы эти строкине попадали?
7 Deon
 
22.02.12
20:31
Вообще, в (0) услови
8 Deon
 
22.02.12
20:31
блин
9 andrewks
 
22.02.12
20:32
(6) а ты точно мужик?
10 Deon
 
22.02.12
20:32
Вообще, в (0) условий задачи маловато. Насколько разными могут быть строки?
А в (6) не совсем понятно, а точнее совсем не понятно, куда не должны попасть эти строки?
11 Deon
 
22.02.12
20:33
(9) Судя по предыдущим темам, она не мужик
12 andrewks
 
22.02.12
20:34
тогда фоту в студию
13 Gal4onok
 
22.02.12
20:35
(9) точно нет...
(10) если более контретно- это зачисление денег при оплате банковскими картами, строки разные в зависмости от фирмы и торговых точек.
в выписке есть комиссии за рко- и эти данные не должны попадать в обработку
14 andrewks
 
22.02.12
20:36
тэк-тэк-тэк. точно, я вспомнил, когда я в прошлый раз помогал ТС, пол был женский, и фота такая была романтическая, чёрно-белая. некрасиво вводить общественность в заблуждение
15 Deon
 
22.02.12
20:37
(13) Ну у тебя, скорее всего, цикл, в котором ты бежишь по строкам
И ты правда не знаешь как не выполнять обработку строки, в которой встречается надпись "рко" ?
16 Gal4onok
 
22.02.12
20:39
(14) почему то слетели настройки в карточке) значит фоту можно не выкладывать?)

(15) у меня не получается. строки разные -я ж не могу все варианты перебирать
17 Deon
 
22.02.12
20:39
(16) нельзя
18 Deon
 
22.02.12
20:41
Я так понимаю, что ты пытаешься сделать интеллектуальный парсер строк "Назначение платежа", который заполняется без всяких правил по личному усмотрению кого-попало
19 Gal4onok
 
22.02.12
20:42
да.но заполняются в банке- и каждый раз назначение может отличаться.
20 andrewks
 
22.02.12
20:44
печалька. тогда дата может быть как "17.02.2012", "17.02.12", "17,02,12", "17/02/12", и даже "17 фев 2012"
21 ПесняПроЗайцев
 
22.02.12
20:44
(19) качай права в банке о правильном заполнении пункта "Назначение". Бывают чудеса.
22 ПесняПроЗайцев
 
22.02.12
20:45
(20) да дату вообще могут никакими сопутствующими словями не сопроводить. ппц парсеру.
23 Deon
 
22.02.12
20:46
(20) К счастью, вариантов конечное число и здесь можно поизвращаться, но таки выловить даже 17/II/12
24 Gal4onok
 
22.02.12
20:46
и суммой тоже
25 andrewks
 
22.02.12
20:47
чё-то без фото не думается...
26 Deon
 
22.02.12
20:47
А вот с суммой полная Ж. В примере из (0) сумму 4 можно брать с таким же успехом, как и 5,47
27 andrewks
 
22.02.12
20:49
(26) ну, если допустить, что слово "комиссия" ключевое, то всё не так уж плохо.
28 Deon
 
22.02.12
20:51
(19) Приведи ещё примеры, отличающиеся от 0
29 Gal4onok
 
22.02.12
20:54
"ХХХ, Ул. 6. Согласно реестра торговых операций. Мерчант № 656565656566. Дата реестра от 17.02.2012.Комиссия 16.83. Без НДС"
30 Gal4onok
 
22.02.12
20:54
(25) ты ж видел уже?! не грузиться через радикал, а в карточку не помещаеться
31 Gal4onok
 
22.02.12
20:55
"ООО ХХХ, Улица 6. Согласно реестра торговых операций. Мерчант № 656565656566. Дата от 17.02.2012.Комиссия 16.83. Без НДС"
32 andrewks
 
22.02.12
20:56
(30) на прекрасное я могу смотреть по много раз. а почему не помещается в карточку? не может быть
33 Deon
 
22.02.12
20:56
(31) Правильно ли я понимаю, что в любом случае есть слово "дата", за которым где-то написана сама дата и всегда есть слово "комиссия"?
34 aka AMIGO
 
22.02.12
20:57
"автоматизация бардака имеет своим результатом автоматизированный бардак" © все.

(28) ключевая фраза ""строка может быть разная."", т.е. дата есть -> даты нет, сумма есть -> суммы нет.
в принципе задача может быть решена, но усилия, затраченные на её решение, не стоят самой задачи..
ИМХО - ничего личного..

ЗЫ. решение практически уже есть - (1),(5), с учетом (20) и + СП под рукой.

ЗЗЫ. (0) ты хотя-бы начала кодить алгоритм поиска? приведи код
35 Deon
 
22.02.12
20:58
(30) Кстати, специалист в 1ю очередь должен решать приоритетные задачи, т.е., в твоем случае, проблему, почему не грузится фото. А уже потом всё остальное из (0)
36 Gal4onok
 
22.02.12
21:01
(35) в карточке
37 Ахиллес
 
22.02.12
21:02
Если в слове цифры и одна точка тогда это сумма, если нет точек то номер иначе дата.
Примерно так, естественно это не окончательный вариант, надо на массиве исходных данных обработать и посмотреть какие ошибки будут и допилить.
38 Deon
 
22.02.12
21:04
(36) на 33 ответь
39 zak555
 
22.02.12
21:05
нанять девочку Gal4onok , которая будет парсить не предлагать ?
40 Deon
 
22.02.12
21:06
(39) Зачем ей девочка? Тогда уж мальчика
41 zak555
 
22.02.12
21:09
(40) надо подумать
42 БибиГон
 
22.02.12
21:13
(41) чем? ;)
43 zak555
 
22.02.12
21:14
(42) головой
чем ещё ?
44 БибиГон
 
22.02.12
21:16
(0) почему нужно находить именно в строке? задача то непонятная какая. Такие строки пишутся вообще от балды.
45 Deon
 
22.02.12
21:17
(44) А больше не в чем искать )
46 БибиГон
 
22.02.12
21:18
(45) вот и интересуюсь. Почему это негде искать и почему такая задача странная. Может и найдется где еще искать. :)
47 Mikeware
 
22.02.12
21:22
(45) ну, смотря где берутся эти строки... Если в клиент-банке, то есть еще куча всяких данных.
Да и из этого - дату можно выдернуть регулярными выражениями. Из оставшегося - удалить тексты - получим числа. их регулярными тоже проверить, сравнить с суммой.
48 БибиГон
 
22.02.12
21:24
(47) так числа бессмысленными будут. Сравнивать не с чем. Такие тексты как в (0) пишутся не по строгому формату. Т.е. тупо нет формата.
49 БибиГон
 
22.02.12
21:25
т.е. шаблона.
50 Gal4onok
 
22.02.12
21:25
(47) а можно примерно кодом это все? варианты перебирать не хочеться. пока остановилась на таком
текПодстрока = СокрЛП(Сред(СокрЛП(ТекСтрока),ПозицияСуммыРеестра+СтрДлина(вариантКомиссия)));
   ИтСтр = СтрЗаменить(текПодстрока," ",РазделительСтрок);
   
   Результат = СокрЛП(СтрПолучитьСтроку(ИтСтр,1));
   
   
   СуммаКоммисии = Сред(Результат,1,СтрДлина(Результат)-1);
51 andrewalexk
 
22.02.12
21:30
:) для подобного анализа текста существует механизм регулярных выражений но по определению подобный метод стохастический...
52 Gal4onok
 
22.02.12
21:34
(51) эммм, не сильна в этом....сорри
53 БибиГон
 
22.02.12
21:34
(51) да да, искусственный разум здесь не помешает. :))
54 Deon
 
22.02.12
21:35
(53) Я тоже всё удивляюсь, почему такого сервиса не придумали. И отсутсвие телепортов меня убивает
55 Gal4onok
 
22.02.12
21:39
понятно, спс за помощь
56 БибиГон
 
22.02.12
21:40
(55) на вопросы из принципа не отвечаем?
57 Gal4onok
 
22.02.12
21:44
(56) на какие?
58 Mikeware
 
22.02.12
21:44
(48) ну почему же сразу бессмысленными?
10-значное число - однозначно не сумма. Иначе контора, оперируюшяа такими суммами, либо наняла бы оператора, либо наняла бы хотя бы программиста... остаются числа с разделителями, две цифры после разделителя,  и оканчивающиеся на "=" - с большой долей вероятности это будет сумма. если в исходной строке в районе выделеной суммы стоит слово "НДС" - то скорее всего, это будет сумма НДС...
ну и так далее....
59 BlackSeaCat
 
22.02.12
21:46
Нанять программиста еще не предлагали?
60 Mikeware
 
22.02.12
21:47
(59) Видимо, не вариант.... дикие места.
61 Deon
 
22.02.12
21:47
(59) Нет программистов на рынке.
62 BlackSeaCat
 
22.02.12
21:50
(60) Интернет есть - значит, не такие уж и дикие.

Но я подозреваю, что не в дикости дело.

(61) Ага, одни птицы кругом...
64 Mikeware
 
22.02.12
21:52
(62) Конечно, птЫцы. Зато с какими они клювами!!!
65 Gal4onok
 
22.02.12
21:54
(64) да и все на этом форуме...
66 andrewalexk
 
22.02.12
21:54
(61+) :) кончились...утром последнего взяли...после праздников обещали подвезти еще
67 БибиГон
 
22.02.12
21:56
(66) ой ли, после праздников. :))
68 mikecool
 
22.02.12
22:14
(0) смотри остальные данные файла клиент-банка
ибо все эти данные там есть
69 Mikeware
 
22.02.12
22:17
(68) Это может быть не платежки, а реестр к документу зачисления...
70 mikecool
 
22.02.12
22:19
(69) имхо - всегда можно получить структурированную информацию от банка, нежели ломать голову над бардаком )
71 БибиГон
 
22.02.12
22:21
(70) + 100500
72 Mikeware
 
22.02.12
22:22
(70) За неимением горничной - имеют конюха...
имхо, информации у ТС вполне достаточно. Тем более, мы делаем вывод на основании примера двух строк, а у ТС их гораздо больше. надо просто приложить голову....