Имя: Пароль:
1C
1С v8
Алгоритм нахождения подстрок в строке
,
0 Garykom
 
гуру
28.08.14
15:17
Для проги распознавания/загрузки эл.накладных из Excel'я (форма Торг-12) требуется алгоритм для поиска подстрок "по образцу".

Tсть такие строки (позиции накладной)

1-я строка: кольцо арт.111 17,5 585 3,5 гр. фианит
2-я строка: 222 кольцо ag925 18 4,0 гранат
3-я строка: кольцо 333 (925) 5,4 гр куб циркония
4-я строка: 444 кольцо 17 585AU 5,0 агат
5-я строка: серьги арт.555 18,5 750 3,9 гр. фианит

нужно выделить для каждой строки: артикул, вид изделия, вес, пробу, размер и вставки

например для 1-й строки
артикул: 111
вид изделия: кольцо
вес: 3,5
проба: 585
размер: 17,5
вставки: фианит

Пусть для 1-й строки пользователь указывает вручную соответствие подстрок новым колонкам куда нужно перенести данные.

Какой алгоритм/способ лучше использовать чтобы например для 5-й строки (у которой формат такой же) прога сама выполнила эту разбивку?

Т.е. программа должна работать на основе некоего обучения.

ЗЫ
Нейронные сети не предлагать )) точнее не предлагать без конкретных указаний каким образом их заюзать, что на вход и что будет на выходе...
1 vde69
 
28.08.14
15:18
в поиск "регулярные выражения"
2 Господин ПЖ
 
28.08.14
15:19
regexp
3 Garykom
 
гуру
28.08.14
15:19
(1) пробовал, каким образом реализовать обучение?
4 Garykom
 
гуру
28.08.14
15:19
(2) см. (3)
5 vde69
 
28.08.14
15:20
(3) путем сохранения шаблонов
6 vde69
 
28.08.14
15:21
для каждого поставщика делаешь свой шаблон для регулярки и все....
7 fmrlex
 
28.08.14
15:21
(0) Без стандартизации входных данных нефиг заморачиваться с их распознаванием. Потом загребешься вылавливать ошибки. Помочь юзеру загрузить и подсказать (примерно определить) - это можно.
8 Garykom
 
гуру
28.08.14
15:22
(1)(2) чистый regexp не покатит, даже в одной накладной может быть 2-3 формата строк

(5) поставщиков, точнее форматов различных от 80 видов, в (0) приведены только 3 примера в реальности оно может быть как угодно
9 Garykom
 
гуру
28.08.14
15:22
(6) не прокатит от 80 поставщиков и они постоянно меняются + форматы у них меняются, нужна прога для оператора а не для программиста
10 Rebelx
 
28.08.14
15:23
можно путем поиска известных подстрок, перебором, возможно заюзав регулярные выражения

т.е. создадим список возможных типов - кольцо, серьги, ....
список возможных проб 995, 345, ...
...
и ищем в строках нужные слова
11 _fvadim
 
28.08.14
15:23
(8) чистый регэксп умеет наборы шаблонов.
если можно формализовать условия разбора строк - регэксп, если нет - нанять девочку.
12 Garykom
 
гуру
28.08.14
15:23
(7) правильно, но надо максимально облегчить работу оператора, счас вручную в екселе подгоняем под стандартный формат а это долго
13 Garykom
 
гуру
28.08.14
15:24
(11) девочки заняты другим...
14 Господин ПЖ
 
28.08.14
15:24
>Т.е. программа должна работать на основе некоего обучения.

алгоритмизация бардака
15 Garykom
 
гуру
28.08.14
15:25
(14) Абсолютно согласен, но нереально у всех поставщиков выпросить накладные в нормальном формате типа DBF или тот же ексель но разбитые по реквизитам...


А вот форму ТОРГ-12 любой менагер без проблем в Excel'е скидывает...
16 _fvadim
 
28.08.14
15:26
я в похожей ситуации писал программку, которая упрощала операторам работу, т.е. полуавтоматический режим.
17 Господин ПЖ
 
28.08.14
15:26
>счас вручную в екселе подгоняем под стандартный формат а это долго

я тут вообще ни одного "формата" как такового не увидел

садите "девочку", пусть грузит прайс. Не прошел - обновление/новая версия формата.

все эти "нейросети" здесь - куита на палке
18 Garykom
 
гуру
28.08.14
15:27
Нужен маханизм обработки с обучением, т.е. прога что то сделала а оператор говорит - это хорошо, в а вот эти строки плохо. надо их вот так сделать и давай по образцу как я сказал пробуй другие...
19 Господин ПЖ
 
28.08.14
15:27
(16) +1

так с прайсами и работают.
20 Garykom
 
гуру
28.08.14
15:27
(17) Сча скину примеры накладных... реальных
21 _fvadim
 
28.08.14
15:28
(17) "все эти "нейросети" здесь - куита на палке"
хотел написать "сомнительный выхлоп + никто не оценит трудозатраты", но так ёмче, да :)
22 Господин ПЖ
 
28.08.14
15:29
(18) забудь

>Петрович.Выполни
>Удалил файл прайс.dbf
>Петрович.НаказатьПетровича
23 Господин ПЖ
 
28.08.14
15:30
(22) + это только в лурке смотрится весело...
24 Garykom
 
гуру
28.08.14
15:35
(20)+ примеры накладных https://cloud.mail.ru/public/51e2610e27e4/Примеры%20накладных.zip

выбраны не самые сложные и не самые большие, просто какие попались
25 Garykom
 
гуру
28.08.14
15:36
(21) не не не, я себе хочу работу облегчить... точнее свалить ее на девачек... ))
26 _fvadim
 
28.08.14
15:40
напиши шаблоны регэкспов для каждого вида, предлагай на этапе загрузки пользователю выбор - пусть выбирает тот, который правильно разобрал строку, если все неправильно - тебе придётся дополнить новым шаблоном.
27 Garykom
 
гуру
28.08.14
15:40
Да 1-й этап, который выбор их всей таблицы только нужных ячеек и выкидывание ненужных у меня уже сделан.

Т.е. оператор кликает на ячейку и команды

"Строка включить", "Строка исключить"
и "Колонка включить, "Колонка исключить"

Остальные при этом пересчитываются и показываются разными цветами (Включить/Исключить авто признаки)

Т.е. несколько простых действий и нужная таблица очищена...
28 Garykom
 
гуру
28.08.14
15:42
(26) без проблем предложу даже сама прога выберет по поставщику

нужен алгоритм формирования этих регэкспов хотя бы полуавтоматичеки а не сидеть вручную над каждым новым форматом

причем форматы как пропадают так и новые появляются каждый месяц до 5 новых поставщиков ломятся... а старые пропадают или отказываемся
29 _fvadim
 
28.08.14
15:43
(28) после 3-го шаблона, будешь тратить по 2 минуты на новый
30 Garykom
 
гуру
28.08.14
15:49
(10) во! я так почти и сделал но не совсем

подумал что у каждой возможной подстроки есть некоторые признаки

но сначала сделал разделение на подстроки - т.е. указывам что например пробел это разделитель, автоматом все делит на подстроки по пробелу, но некоторые говорю что это не разделитель а разделитель ", "

далее признаки подстрок-разделителей это значение подстроки, кол-во таких подстрок всего в строке, номер подстроки в строке, крайне левая подстрока, крайне правая подстрока и т.д.
31 mistеr
 
28.08.14
15:53
Ну где же Маня...
32 Garykom
 
гуру
28.08.14
15:53
(30)+ тоже самое для подстрок, там признаки формат данных, длина подстроки, содержание подстроки и т.д.

и далее механизм "положительных" и "отрицательных" и сравнение для каждой подстроки сколько больше признаков если больше признаков "+" то это нужная подстрока иначе ненужная

но такой алгоритм хотя и надежно работает слишком медлителен, если 200-300 позиций в накладной и уже пройдено несколько таких накладных и распознано то тормоза такие что 10-20 минут ждать после каждого указания компу...

нужен более шустрый
33 _fvadim
 
28.08.14
15:53
(30) в итоге ты напишешь свой механизм регулярных выражений :)
34 Garykom
 
гуру
28.08.14
15:55
(33) дык да написал, теперь надо его как то ускорить...
35 _fvadim
 
28.08.14
15:55
это называется изобретать велосипед
36 Garykom
 
гуру
28.08.14
15:55
(34)+ или нафик другой заюзать
37 Garykom
 
гуру
28.08.14
15:55
(35) да велосипед

но нужно ехать причем быстрее чем ножками/ручками вот и спрашиваю про хотя бы мопеды/скутеры...
38 КонецЦикла
 
28.08.14
15:57
Нужно стараться получить артикул, шк или нечто подобное, а не заниматься онанизмом
39 _fvadim
 
28.08.14
15:57
если у тебя 200-300 позиций парсится больше секунды, где-то в программе изъян.
40 Rebelx
 
28.08.14
15:58
(32) но количество поставщиков же ограничено? и номенклатура ограничена. Что мешает после распознавания сохранять результаты на будущее?
41 КонецЦикла
 
28.08.14
15:59
Делал для аптечной сети загрузку прайса - 5 секунд на дохлом компе для более 6000 позиций, без участия человека.
42 Garykom
 
гуру
28.08.14
16:03
(41) не путай сопоставление номенклатуры поставщиков (Протек, Сия, Шрея и т.д.) с собственной номенклатурой аптеки (и автосоздание если такой нету)

с заполнением реквизитов всегда НОВОЙ номенклатуры с предварительным выделением их из одной строки...
43 Господин ПЖ
 
28.08.14
16:05
(42) +1
44 Garykom
 
гуру
28.08.14
16:07
(41) и (42)+ а вот попробуй хотя бы со списками фальсификатов поработать )) поймешь многа многа головной боль

когда там к примеру аспирин серия 11С хотя у тебя и везде Аспирин-Акри 11С причем одна C латинская а друга С русская ))
45 КонецЦикла
 
28.08.14
16:08
(42) Не учите дедушку кашлять, там даже наименования совершенно отличаются
Что, у поставщика нет даже идентификатора, кода?
46 Garykom
 
гуру
28.08.14
16:09
(40) нет к сожалению огромному ничего не ограничено, поставщики периодически добавляются/убираются/меняются а номенклатура всегда новая - это ювелирка тута поштучный учет, т.е. даже одинаковые изделия имеют разный вес и шк соответсвенно...
47 КонецЦикла
 
28.08.14
16:09
+(45) Как это всегда новой?
48 Garykom
 
гуру
28.08.14
16:10
(45) наименовая отличаются в виде ТАБ. тб. и прочие формы выпуска и номер по разному да? дык пофиг есть код поставщика и его можно сопоставить нашему коду

у тут нет кодов поставщиков, точнее они бесполезны так как всегда новые...
49 КонецЦикла
 
28.08.14
16:10
(46) Значит нужен организационный подход
50 Garykom
 
гуру
28.08.14
16:11
(47) женат? глянь бирку от обручалки... там вес указан так вот если найдешь такое же кольцо даже за такую же цену вес будет другой с вероятностью 99% ))
51 Garykom
 
гуру
28.08.14
16:13
(49) какой? все что можно вручную сделали, раньше вообще ручками перебивали все счас хотя бы сначала формат подгоняем и грузим из стандартной формы во  из такой

Артикул    Проба    Размер    Кол-во    Вес    Цена    Сумма    Вставка
64 КО-0135     925        2    3,4        800    13,5 CZ Тайланд
64 КО-0135     925        4    6,8        1600    14,5 CZ Тайланд
64 КО-0135     925        4    7,2        1600    15,0 CZ Тайланд
64 КН-049     925        2    3,8        1050    им. Хризопраз Марказит Тайланд
64 КН-049     925        2    4        1050    Сердолик Марказит Тайланд
64 СИ-001     925        9    6,3        5400    Опал син. Тайланд
64 КН-051     925        2    8,2        1350    им. Хризопраз Марказит Тайланд
64 КН-051     925        2    8,2        1350    Агат Марказит Тайланд
52 Garykom
 
гуру
28.08.14
16:14
(51) сорри недокопировал
№ п/п    Товар    Артикул    Проба    Размер    Кол-во    Вес    Цена    Сумма    Вставка
1    Кольцо      64 КО-0135     925        2    3,4        800    13,5 CZ Тайланд
2    Кольцо      64 КО-0135     925        4    6,8        1600    14,5 CZ Тайланд
3    Кольцо      64 КО-0135     925        4    7,2        1600    15,0 CZ Тайланд
53 Garykom
 
гуру
28.08.14
16:15
(52) да тут прикол еще эти му... поставщики неудачники объединили позиции и указали общий вес, т.е. прога у меня делит в поз1 вес пополам а при проверке изделий уже операторы правят вес на верный с бирок для каждого изделия
54 Зойч
 
28.08.14
16:38
(0) в твоей задачи разные реквизиты не пресекаются между собой. Поэтому можно легко разделить
55 Garykom
 
гуру
28.08.14
16:39
(54) вес и размер пересекаются еще во вставках может быть что угодно, там описание камней и прочего неметалла
56 Garykom
 
гуру
28.08.14
16:40
(55)+ про артикулы не забываем там тоже что угодно может быть и даже с разделителями типа пробелов ((
57 Злопчинский
 
28.08.14
20:40
(44) у себя автораспознавание фальсификатов и забракованных серий при загрузке накладных/прайсов - автоалгоритм работал весьма неплохо по совершенно простому "регекспу" - совпадение номера серии и первых 5 букв названия... ;-)
58 Злопчинский
 
28.08.14
20:41
(48) таб тб это все не было помехой. нечеткой идентификацией новый прайс идентифицировался достатчоно быстро
59 Злопчинский
 
28.08.14
20:43
А манины загрузки для ТС не помогут. у него они хорошо работают на "регулярных" структурах
.
а когда 444 - может быть и вес и проба - хз.. тут уже "интеллект" надо включать при загрузке новыъх позиций для нормального вычленения...
.
60 Злопчинский
 
28.08.14
20:44
С другой стороны - нахрена ТС вычленять что-то из присланного наименования...? непонятно что хочет добиться ТС - отнести номенклатуру к конкретному виду (типа золото/серебро) или что..?
61 Злопчинский
 
28.08.14
20:54
..эвристику придется какую-то писать самообучающуюся.. типа
что если шаблон
X.XX и ЭтоЧисло(X.XX)=1 и X.XX < 5 - скорее всего это вес...
тупо на начальном этапе набирать вручную множества весов, проб, артикулов, итд.
Полученное наименование - парсить по разделителям, получившийся состав прогонять по множествам, вычисляя вероятность/вес принадлежности "слова" множеству, потом суммировать вероятности/веса - оператору давать "список своих наименований" по убыванию весов - оператор выбирает лучшше.
.
каждое выбранное соответсвие/раскладку запоминать надолго (регистр/кэш):
НаименованиеПоставщика-НашеПравильноеКлассифицированноеНаименование.
.
При поступлении очередного наименования поставщика - смотреть в уже установленных соответствиях. нашли - зашиьись.Не нашли - нечетким поиском прогоняем по уже проклассифицированным наименованиям поставщиков - с наибольшим весом какое наименование поставщика (из проклассифицированных) похоже на новое наименование - ту классификацию и применять к новому наименованию...
.
как-то так...
.
62 Garykom
 
гуру
28.08.14
21:36
(60) да почти, нуна по строчке номенклатуры указанной в накладной создать новую номенклатуру в базе и заполнить ее реквизиты

чтобы ручками это не делать (учитываем что каждая позиция в накл = новая номенклатура)

т.е. нужно выделить
1. вид изделия (кольцо, серьги, подвеска, обручальное кольцо, подвеска с драг.камнем, серьги с полудраг. камнем, часы, сувенир и т.д.)
2. размер изделия (длина цепей в см, диаметр колец в мм, браслетов в см, у подвесок и серег размера нет, колье в см. и т.д.)
3. проба (тут относительно легко пробы по числам почти не перекрываются 585, 750 золото, 925, 825 серебро и т.д.)
4. артикул - ну это понятно
5. вставки - это строковое описание, т.е. камни и прочее что не классифицируем, просто строка где все что не попало в классификацию нашу
63 Garykom
 
гуру
28.08.14
21:38
(61) да так и думаю, но то что сделал эвристику (наборы условий) тормозит вот и думал что то поумнее сделать, та же классификация из data mining - алгоритм ближайшего соседа через вектора признаков...
64 Злопчинский
 
29.08.14
01:10
(63) сомневаюсь, имхо хировата это все будет.. барадк он и есть бардак. затрат н аего разгребание/автоматизацию много - выхлоп мизерный.
65 Злопчинский
 
29.08.14
01:12
так и не понял - нахрена как-то классифицировать практически каждую уникальную номенклатуру...?
.
ну пришла к вам номенклатура типа "сережки из березки диаметро 5 мм, весом полпуда красного цвета изподвыподвертом" 400 рублей - ну и нехрен классифицировать. вносите как есть - каждую новую номенклатуру отдельно. чистый поштучный учет.
66 КонецЦикла
 
29.08.14
02:07
(65) Тоже хотел типа такого написать
При таком подходе - плодить номенклатуру все равно какой-то анализ затруднителен
Выделить ключевые слова типа "серьги" да и хватит :)
67 _fvadim
 
29.08.14
09:54
(63) сделай замер. 100% что тормоза не в эвристике.
68 anatoly
 
29.08.14
10:05
(7) +1
проще и логичнее заставить в определенном порядке заполнять этот файл тех кто это делает.
69 Garykom
 
гуру
29.08.14
10:12
(65) дык заново и вносим, но полное наименование должно быть в одном стиле это раз и самое главное нужно эти реквизиты знать для каждой номенклатуры

учет не просто поштучный, а поштучно-весовой )), т.е. требуется знать сколько у нас чего по весу и пробе, а также виды изделий и размеры это для пополнения надо или поискать такое же изделие другого (нужного) размера в других отделах
70 IVT_2009
 
29.08.14
10:22
http://habrahabr.ru/post/234723/

тут нечто подобное описано
71 Garykom
 
гуру
29.08.14
10:36
(70) угу у автора статьи возникла та же проблема но вместо решения стал ее в лоб решать, не решился разобрать на подстроки

"расстояние Левенштейна для разных товаров «Линекс капс. х16» и «Линекс капс. х32» (расстояние равно двум), меньше чем у одинаковых товаров «Линекс капс. х16» и «Линекс N16 капс» (расстояние равно девяти)"

и

"Алгоритм объединяет препараты с «x10» и «x20», «г.» и «мг.» и т.д."

ЗЫ
а ведь можно разделить на собственно торговое наименование, форму выпуска и номер упаковки/фасовки

так например сделано в нормальных справочниках типа того же регистра лексредств
72 IVT_2009
 
29.08.14
10:50
Я в свое время пробовал так же разобрать адреса из реестра лицензий местного департамента. Мена кажется нужно распознать текст по частям. Распознаем , что имеет логический смысл и сопостовляем
73 IVT_2009
 
29.08.14
10:54
3-я строка: кольцо 333 (925) 5,4 гр куб циркония

что обозначает (925) ?
74 IVT_2009
 
29.08.14
11:01
1. Первое что мне видится , нужно составить словарь слов которые попадаются в наименованиях. В данном словаре нужно проставить признак того , что слово имеет смысл.
2. Определить признак осмысленности цифр и сокращений. Например пробы будут иметь свой список и он фиксирован.
По комбинации признаков - можно построить варианты разбора строки. Таким образом уйдет большая часть. Остальное - нужно думать
75 Garykom
 
гуру
29.08.14
11:18
(73) 925 проба серебра
76 Garykom
 
гуру
29.08.14
11:23
(74) да один из используемых методов это поиск ключевых слов, но хочется некий "универсальный" способ для указания этих ключевых слов и последующего использования их и выделения нужных значений на основе ключевых и взаимного расположения


типа если есть гр или гр. или г. то скорее всего число слева это вес, но не всегда и чтоб исключения тоже куда то прописаны/запомнены были

вот не могу придумать алгоритм с реализацией то смогу и сам
77 VladZ
 
29.08.14
11:29
(0) Для каких целей это делается? Вопрос к тому, что хорошо автоматизируется то, что приведено к стандартам.

Если с целью электронного документооборота - разработайте стандарт обмена и не занимайтесь "высокими материями". Хотите, текстом, хотите XML. Нет желания придумывать стандарты - см. в сторону EDI.
78 тарам пам пам
 
29.08.14
12:08
(74), я бы сделал примерно так:
таблица:
шаблон|куда должно попасть (реквизит справочника)|приоритет

Соответственно, исключения и наиболее конкретные правила (пробы, например) будут иметь более высокий приоритет.
При разборе скармливать строку каждому шаблону по порядку и удалять из строки все, что подошло под шаблон.
79 IVT_2009
 
29.08.14
12:16
так или иначе систему придется обучать
80 тарам пам пам
 
29.08.14
12:27
(79), обучение все равно должен будет контролировать программист, поэтому, ИМХО, оно будет просто ненужно.
Если обучение очень хочется, можно сделать примерно как в AdBlock при добавлении фильтра - он предлагает несколько вариантов подходящих шаблонов, либо задать шаблон целиком вручную.
81 IVT_2009
 
29.08.14
12:33
Еще несколько отстраненный вопрос. У нас виноводочная продукция и при ее приходе - заводят в четкой последовательности например: Беленькая 0,1 (Уралалко) стакан

Вопрос: что мешает делать так же ? или накладные импортируются в программу из электронного вида поставщика ?
82 Garykom
 
гуру
29.08.14
12:54
(77)(81) объединю так сказать

накладные импортируются из формы приходной накладной ТОРГ-12 скинутой в формате экселя менагером поставщика

у большинства поставщиков стандартов обмена накладными нет (редкие исключения это 5 поставщиков из 100 к примеру с ними проблем нет)

поэтому и нужен импорт из екселя из кривых таблиц - примеры накладных есть выше в архиве
83 Garykom
 
гуру
29.08.14
13:00
(81) кстати да ручное заведение есть и замечательно очень шустро работает (просто ввод значений по справочникам и спискам), но все равно быстрее просто проверять чем забивать вручную

скриншот ручного ввода/исправления
https://cloud.mail.ru/public/d0cd13b1e7fe/Ввод%20товара.png
84 Garykom
 
гуру
29.08.14
13:39
(80) да шаблоны подойдут наверно но нужен механизм создания новых шаблонов простыми пользователями (не программистами) простым указанием в примерах где что

вот как такие шаблоны построить?

как их хранить и обрабатывать причем когда шаблоны перекрываться могут, т.е. часть надо взять от 1-го шаблона а остальные реквизиты делаем по 2-му шаблону ))
85 РенеДекарт
 
29.08.14
15:38
(2)>regexp
- когда regexp будет официально поддержан 1с, тогда пожалуйста.
А пока нужны ВК для этого - советуйте regexp тихо, шепотом, как последнюю альтренативу после перебора десятка встроенных вариантов )
86 _fvadim
 
29.08.14
15:39
(85) правильно! не разбираюсь, но осуждаю!
87 РенеДекарт
 
29.08.14
15:57
(86) я-то разбираюсь.
Когда будешь писать не только под одну конфу - поймешь, в чем дело.
Оно или есть, или его нет. А костылей и так достаточно в 1С. Работало бы нормально то, что в платформу вшито, и то хорошо.
88 Garykom
 
гуру
29.08.14
16:01
(85) да я согласен и на regexp, но вот как его формировать с обучением по образцу?
89 _fvadim
 
29.08.14
16:09
(87) оно и видно как ты разбираешься. регэкспы можно нарисовать хоть под 100500 конф. и столько же баз.
для регэкспов не нужны ВК ибо обычно используется wsh-скрипты через COM, имеющиеся в любой винде, начиная с 98.
или COM тоже нельзя?

(88) никак. шаблоны рисовать руками.
или писать надстройку, которая будет формировать шаблоны, только это уже извращения. раз в месяц нарисовать новый шаблон не такая уж большая проблема.
90 Господин ПЖ
 
29.08.14
16:11
>- когда regexp будет официально поддержан 1с, тогда пожалуйста.

не поддержан, а "сертифицирован"... совсем упоролись уже
91 Господин ПЖ
 
29.08.14
16:12
(89) речь очевидно про возню с пингвином и браузерами хз на чем
92 _fvadim
 
29.08.14
16:17
(91)
для линя - вся мощь консоли
для браузера - обработка на сервере

всё решаемо, при необходимости можно даж нарисовать универсальную и платформонезависимую процедуру.
93 Garykom
 
гуру
29.08.14
19:03
(89) если бы раз в месяц новый шаблон то тогда б не заморачивался, но когда активно закупки идут бывает 1-2 недели ежедневно по 10-20 новых шаблонов придется рисовать...
94 _fvadim
 
29.08.14
19:05
(93) 10-20 новых поставщиков/новых форматов в день? не верю.
95 Garykom
 
гуру
29.08.14
19:09
(94) ну лень выборку делать накладных но могу подтвердить если не веришь, да там конечно мелкие накладные но их многа (и от кучи разных поставщиков) когда с отборки с выставки приезжают...
96 Garykom
 
гуру
29.08.14
19:10
(95)+ да бывают периоды когда закупок нет почти и тогда 0 новых форматов
97 Garykom
 
гуру
29.08.14
19:11
(95)++ но блин новая выставка и снова куча новых поставщиков ))
98 Garykom
 
гуру
30.08.14
23:28
Вместо up'а

Какие можно в данном случае выделить признаки (числовые, булевы и прочие характеристики) у искомых подстрок - значений реквизитов?

Пока придумал такие:
1. Длина подстроки
2. Порядковый номер подстроки в строке
3. Содержание подстроки (принадлежность данных к одному из справочников)
4. Формат данных в подстроке (число, строка)
5. Взаимное расположение с уже классифицированными подстроками (слева, справа)

Какие можно использовать еще?
Ошибка? Это не ошибка, это системная функция.