![]() |
![]() |
![]() |
|
каким кодом вы ищете даты в строках ? | ☑ | ||
---|---|---|---|---|
0
Холст
30.03.11
✎
21:58
|
например, задача, из произвольной строки вида "счет № 2345 от 30.11.2009, сч. N 2 25.05.08" получить СписокЗначений или ТаблицуЗначений с датами и желательно с текстом перед этой датой до предыдущей даты
дату могут указать в виде ЧЧ.ММ.ГГ или ЧЧ.ММ.ГГГГ, иногда даже в виде ЧЧ месяц прописью год, 3й вариант редко правда |
|||
1
Хряк
30.03.11
✎
22:02
|
создай список
".01." ... ".12." |
|||
2
Armando
30.03.11
✎
22:03
|
регексп
|
|||
3
G-Re
30.03.11
✎
22:06
|
(1)+ 2 списка второй "января"...."декабря".
И перед поиском желательно удалить из строки множественные пробелы. |
|||
4
nop
30.03.11
✎
22:08
|
(0) клиент-банк подключаешь ?
|
|||
5
ДенисЧ
30.03.11
✎
22:09
|
я с таким вопросом обычно посылаю туда, где гений мобилки раздаёт...
|
|||
6
NikVars
30.03.11
✎
22:09
|
(0) Сам 3 варианта и перечислил.
Мыслю через Если Тогда ИначеЕсли Тогда ... |
|||
7
zak555
30.03.11
✎
22:10
|
(0) что тут произвольного :?
|
|||
8
NikVars
30.03.11
✎
22:11
|
Вариаций в разделителях число-месяц-год может быть много и точка не единственный разделитель.
Сегодня 30-03-2011 а так же 2011-03-30. |
|||
9
nop
30.03.11
✎
22:13
|
(8) есть через / , а есть членисторукие операторши копируют строку с 01.01.11 правят её и получают 05,02.11
|
|||
10
zak555
30.03.11
✎
22:34
|
кстати, в вдруг вместо 25.05.08 будет двоичные числа ?
|
|||
11
Armando
30.03.11
✎
22:41
|
или месяц римскими цифрами))
|
|||
12
nop
30.03.11
✎
22:42
|
(11) или палочками написано, число 25 = |||||||||||||||||||||||||. итд
|
|||
13
unknown181538
30.03.11
✎
22:43
|
Например, СтрЗаменить все варианты разделителей на ".", потом все, что в двух цифрах до и 4х после точки (если они не включают пробелы) заменить на ##. Потом Найти(Стр,"##.##.##"), запомнить символы начал, и из исходной собрать даты.
Или тупой посимвольный цикл, от каждого символа "заглядываем" на 2 вперед, если не подходит смещаемся.... |
|||
14
nop
30.03.11
✎
22:44
|
(13) ужас
|
|||
15
zak555
30.03.11
✎
22:44
|
(12) у тебя и вправду 25 =)
|
|||
16
unknown181538
30.03.11
✎
22:45
|
+(12) Еще может быть "Счет позавчерашний для Васи" или "Перед пасхой выставили".
|
|||
17
zak555
30.03.11
✎
22:45
|
(13) криптография ?
|
|||
18
nop
30.03.11
✎
22:46
|
"от каждого символа "заглядываем" на 2 вперед"
двойной ужас (15) 2 года в племени Чувача учетчиком коров работал |
|||
19
unknown181538
30.03.11
✎
22:46
|
(14) в чем?)
|
|||
20
nop
30.03.11
✎
22:47
|
(19) ни один нормальный парсер не читает вперед. Только уже прочитанное в буффер обрабатывается
|
|||
21
opty
30.03.11
✎
22:48
|
нет такого извращения с вводом даты в строку которе не мог бы сделать криворукий оператор :)
|
|||
22
opty
30.03.11
✎
22:54
|
Либо делать доп реквизит с типом значения "Дата" , либо парсить строку при записи документа на проверку корректного ввода даты в строку , и не давать записывать пока правильно не введут
|
|||
23
G-Re
30.03.11
✎
23:41
|
Задача без формализации ввода даты полностью не решается никогда. Мне как-то нужно было выловить из текста платежки выловить сумму НДС, которая обычно пишется, например, в т.ч. НДС 123.45. Оказывается это "в т.ч. НДС" можно написать и было написано реально бесчисленным количеством способом(+ язык то рус, то укр). Где-то полгода добавлял варианты, потом бросил, сказал, все, процентов 98 правильно ловит, остальное глазками.
|
|||
24
nop
30.03.11
✎
23:42
|
(23) я за 2 недели сделал по выборке за год
|
|||
25
nop
30.03.11
✎
23:44
|
а даты я решил, дав допуск на самые отвратительные написания даты. Они заносятся в список предполагаемых дат. Каждый подходящий по длине набор символов из строки проверяется по выборке документов (не номер ли документа это), далее проверяются варианты дат, с вариантами номера документа. Опираясь на выборку документов, вышло 100% попадание при ежедневной обработке свыше 100 платежей
|
|||
26
G-Re
30.03.11
✎
23:45
|
(24) У тебя была выборка... У меня до перехода на Клиент-Банк Содержание не вводилось.
|
|||
27
opty
30.03.11
✎
23:47
|
(24) Дата в строке произвольная , никакого отношения к дате документа не имеет ? Если есть возможность лучше эту строку генерировать в коде , она тогда будет формализована и будет легко парсится
|
|||
28
nop
30.03.11
✎
23:47
|
(26) а откуда же ты даты выдирал тогда? (содержание полагаю = назначение платежа)
|
|||
29
G-Re
30.03.11
✎
23:54
|
(28) Не понял, в (26) я продолжаю (23) по НДС, с датами не заморачивался.
Да, Содержание=Назначение платежа, но это Наименование реквизита в Документ.ПлатежноеПоречение. |
|||
30
nop
30.03.11
✎
23:57
|
(29) не знаю, по моему мы говорим об одном "оплата за то то согласно дог. 5891 от 12/03/10 в т.ч. ПДВ 800 гр"
|
|||
31
nop
30.03.11
✎
23:58
|
(30) но это ещё красота: тут сравнительно мало суржека, разделитель даты постоянный, есть пробелы, и главное все по одному договору, а не счета разных договоров намешаны
|
|||
32
G-Re
31.03.11
✎
00:09
|
(31) Согласен, не зря же Казначейство формализовало основание платежа, в отличие от ПФ. Как они будут разбираться, какие ЕСВ за какой период и пр...
|
|||
33
nop
31.03.11
✎
00:11
|
(32) ничего об этом не знаю, я не бюджетник
|
|||
34
Лефмихалыч
31.03.11
✎
00:13
|
(0) регэкспом.
|
|||
35
G-Re
31.03.11
✎
00:16
|
(33) А как же налоги платишь? ;КодОКПО;КодПлатежа;;;; и т.д.
У них(Казначейства) разделитель ; и обязательные реквизиты для заполнения через него, а после этого пиши буквами, что хочешь |
|||
36
NikVars
31.03.11
✎
00:34
|
(23) Я афигеваю... ловить НДС в платежках...
НДС в платежках очень часто берется от суммы платежки и вписывается автоматом. В итоге получаем, что НДС в другом документе, который считается построчно, может не совпасть с НДС в плажеке от той же суммы, который берется от конечной суммы. Еще не видел учетчиков, считающих НДС в платежках. Интересно, бухи тот платежный НДС на 19 счет не складывали?! |
|||
37
nop
31.03.11
✎
00:37
|
(35) это делает операционист, не я же
|
|||
38
Aleksey
31.03.11
✎
00:39
|
(36) А еще может быть в накладной товар с 10 и 18%. а в платежки просто НДС 18% от общей суммы
|
|||
39
nop
31.03.11
✎
00:40
|
есть в сумму включен НДС, есть не включен, и вся эта информация приходит ввиде текстовой строки. Что тут не понятно?
|
|||
40
NikVars
31.03.11
✎
01:00
|
С таким же успехом можно в тексте платежки считать количество знаков препинания и в ежедневном режиме городить диаграммы из этого собранного добра своем диру.
К учету эта деятельность имеет только такое отношение, чтобы к реальной базе не подпускать одноруких, одноглазых, одноголовых битовых падаванов, у которых должно быть дело с утра до вечера. |
|||
41
Злопчинский
31.03.11
✎
03:29
|
Сзтемп = глРазложить(СтрокаЧегоТо," ");
ДатаСчета=Дата(Сзтемп.ПолучитьЗначение(Сзтемп.размерСписка())); |
|||
42
zak555
31.03.11
✎
08:17
|
(41) а там будет 01 апреля 2011 г
|
|||
43
1Сергей
31.03.11
✎
08:39
|
СписокДат = НайтиДатыВСтроке(СтрокаСДатами);
|
|||
44
acsent
31.03.11
✎
08:44
|
С помощью генетических алгоритмов
|
|||
45
DrZombi
гуру
31.03.11
✎
08:50
|
(0)Обычно, тут же, пользователь посылается туда, где он был зачат.
И создается полноценный реквизит типа Дата... ...Читать не стал, просто ляпнул ;)... |
|||
46
DrZombi
гуру
31.03.11
✎
08:51
|
+(0)ИМХО - ты потом еще будешь удивлятся, когда люди будут писать дату, то с запятой, то просто без точек с пробелом, то полным годом, то вообще без года.
|
|||
47
opty
31.03.11
✎
09:02
|
(46) Ага , и О вместо 0 :)
|
|||
48
1Сергей
31.03.11
✎
09:03
|
первае опрелю динннатсатова г.
|
|||
49
opty
31.03.11
✎
09:04
|
Так что вариантов три
Реквизит Генерация строки на основании реквизитов без участия пользователя Парсинг при записи , чтоб не правильно не записали Кстати платежка например может идти по счетам от разных дат , что тогда ? |
|||
50
DrZombi
гуру
31.03.11
✎
09:11
|
+(47)И это тоже будет :)
|
|||
51
opty
31.03.11
✎
09:15
|
Так что без знания алгоритмов с нечеткой логикой , а так же телепатического модуля не обойтись :)
|
|||
52
Armando
31.03.11
✎
09:20
|
Автору пох. Не напрягайтесь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |