Регулярные выражения (шаблоны)

В этом справочнике содержатся шаблоны регулярных выражений, по которым осуществляется разбор назначения платежа. Применяется (может применяться) в следующих случаях:

Редактирование

Выражение - формула регулярного выражения.

Наименование - произвольное понятное пользователю наименование.

Активен - ВКЛ/ОТКЛ шаблона. Неактивные шаблоны игнорируются. Поле предназначено для временного отключения каких-либо шаблонов, либо для заведения образцовых/эталонных шаблонов.

Разбираемое поле - для разбора какого реквизита платежного документа предназначен шаблон.

Применение - в каких случаях применяется шаблон:
Контроль и снос реквизитов при ЭОД - контроль назначения платежа при электронным приеме платежных документов, а так же снос найденных показателей КБК (если включена настройка приема соответствующего документа);
Анализ реквизитов при обработке выписки - при электронном приеме выписок/ведомостей для поиска и заполнения лс и КБК.

Счета бюджета - предназначено для разделения шаблонов по бюджетам и видам выписок. Например разные шаблоны для разбора назначения платежа по 032х4 р/с бюджета БУ/АУ и 02/032х1 счетам бюджета казенных учреждений. Все активные шаблоны должны иметь привязку к соответствующим счетам бюджета, если есть привязка хотя бы у одного шаблона.

Режим Тестирование

По кнопке "Тестирование" открывается режим, позволяющий проверить любой шаблон на предмет успешного разбора заданного текста (назначения платежа), либо проверить какой шаблон первым разберет заданный текст (назначение платежа).

В этом режиме слева показываются шаблоны справочника, справа - текстовое поле "Тестируемые строки" для ввода текста назначения платежа. По кнопке "Анализ" отмеченнные слевы шаблоны по очереди, сверху вниз (как и при реальном применении), пытаются разобрать заданное назначение платежа до первого успешного. Если найдется шаблон, успешно разобравший текст назначения, то его имя и результаты разбора отображаются в нижней таблице "Результат". Иначе - когда ни один из отмеченный шаблонов не смог разобрать текст назначения - результатом будет сообщение "Не удалось разобрать назначение платежа", и нужно изменить выражение тестируемого шаблона и тестировать снова.

Тестовое выражение шаблона - поле предназначено для оперативного тестирования какого-то одного шаблона: его выражение (формулу) следует вписать/скопировать в это поле, тогда анализ будет проводится только по нему. Если это поле пустое, то анализ проводится по выделенным слева шаблонам.

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

Специальные шаблоны

Доп.классификаторы - используется при электронном приеме документов для разбора текста в специальных полях документов по ТФФ с целью передачи дополнительных классификаторов. Для платежек это поле "Резерв" PPST.REZERV, для ЗКР поле "Примечание на строку" ZRST.NOTE_KBK, для БО поле "примечание на строку" BNDESCR.NOTE, для РР поле "Примечание на строку" APPOFSTR.NOTE_POFSTR . Подробности см в описании приема платежных поручений.

Особенности

1) Пустой шаблон.

Если требуется шаблон для разбора назначения платежа, не содержащего БК и л/с, то следует составить выражение шаблона, чтоб оно содержало хотя бы один примитив. Иначе, отсутствие каких-либо данных из шаблона , будет расценено как отсутствие шаблона для разбора "Не удалось разобрать строку назначения платежа".

Пример такого шаблона .* NUMBER

2) Разбор текста в квадратных скобках.

Если нужно разобрать текст, заключенный в квадратные скобки, то сами скобки надо описать в примитивах следующим образом:

открывающая скобка: наименование - любое, формула - [[] , приемник - оставить пустым. Например: kvadro , [[] .

закрывающая скобка: наименование - любое, формула - []] , приемник - оставить пустым. Например: kvadrz , []] .

Далее в выражении шаблона применить новые примитивы. Например, для разбора назначения платежа вида

(801.0101.25007R3333.244.18-001 [25ыы] л/с 02012000010) л/с03801000070 Оплата

, где 18-001 код дополнительной классификации, 25ыы код региональной классификации, применим шаблон:

^ \( GLAVA SEPKL RAZDEL SEPKL STATIA SEPKL VID SEPKL ADDKLASS kvadro REGKLASS kvadrz [SEPLS] LS02 \) [SEPLS] LS0302

Настройки

1. Подключение контроля назначения платежа.

НАВИГАТОР - Платежные поручения (выплаты) - настройка - Платежные документы (прием) - Дополнительный контроль входящих документов, п.1 "Контроль назначения платежа".

2. Включение разбора назначения платежа по шаблонам при анализе реквизитов.

Дерево настроек - НАСТРОЙКИ - Взаимодействие с РКЦ/КО/ОрФК - Анализ реквизитов - Использовать режим разбора на основе шаблонов.

Примеры шаблонов

1. Разбор обычного назначения платежа

Назначение: (901.0101.1234567890.244 =123.00 02770000001) л/с03801000001 ДК 7777 БО 1234567890 контракт №123 за услуги тепловизора .

Шаблон: ^ \( GLAVA (SEPKL) RAZDEL \1 STATIA \1 VID SEPSUM SUMMA [SEPLS] LS02 \) [SEPLS] LS0302 [ДК ADDKLASS] [БО NBO]

2. Разбор разных видов префиксов через создание своего примитива.

Пример для для разного написания префикса "л/с": л\с или л\сч или л\сч. или лс или Л/с и т.д.

Шаблон: SEPLSX LS0302

где SEPLSX - пользовательский (не системный) примитив с выражением: [лЛ][/\\]?[сСcC](?:[чЧ][.]?)?

где [лЛ] - один из "л", [/\\]? - слэш прямой или обратный или может отсутствовать, [сСcC] - один из "с", (?:[чЧ][.]?)? - один из "ч" с точкой или без, или совсем без "ч" (?: - не заполминать найденное в скобке).

3. Разбор регистронечувствительного префикса

Пример разбора различного написания префикса "РК" (для регинальной классификации) .

Назначение платежа вида: (00000000000000000180) РК 241011 субсидии на ЦБС на ... ,

Шаблон: .*\b(?:РК|рк|Рк|рК) REGKLASS

(?:РК|рк) - ищет словосочетание "РК" или "рк".

4. Многострочная БК в назначении

Назначение: (123.1234.1234567890.111.222 =123.00, 112.290 =125.00 02270000001) 03801000001 контракт №123 за услуги тепловизора.

Разбирает системный "шаблон-1" : ^ \( RASH3 [RASH3M] [SEPLS] LS02 \) [SEPLS] LS0302 [ \1 NBO] .