Вход | Регистрация
 

Парсинг выписки по карте Альфа-Банка

Парсинг выписки по карте Альфа-Банка
Я
   Trance_1C
 
28.07.21 - 11:21
Всем привет, дорабатываю загрузку выписки в 1С:Деньги (для себя). Выписку выгружаю в формате .csv и она содержит примерно следующие строки:
Дата операции, Референс,        Описание                                                                                     Приход,   Расход.
15.07.2021    CRD_9N23BZ    458443++++++5555 23517454\VLADIVOSTOK\643\SAMBERI 15.07.21 12.07.21 793.32 RUR MCC5411      0    793,32
25.07.2021    CRD_7009XZ    458443++++++5555 33333575\VLADIVOSTOK\643\AZS N 2 25.07.21 23.07.21 1079.80 RUR MCC5541     0    1079,8
26.07.2021    CRD_1XK2Y8    458443++++++5556 21758960\VLADIVOSTOK\643\OOO RADNIKA 26.07.21 24.07.21 259.00 RUR MCC5912     0    259

В каждой строке есть код банковского терминала и имя продавца: 23517454 SAMBERI
Я внес эти данные в РСВ шаблоны операций, который содержит измерения: статья, аналитика и ресурсом этот код: 23517454;SAMBERI и таких записей в РСВ получилось около 100.  
Проблема в том чтобы при заполнении таблицы операций по выписке сверять строку описания со всем списком шаблонов в РСВ и подбирать подходящую строку РСВ со статьей и аналитикой, заполнять операцию.
Собственно, вопрос - как одним запросом проверить соответствие строки описания всем шаблонам в РСВ.
Допустим из РСВ я могу собрать таблицу
СтатьяРасхода,Аналитика,"ВЫБОР КОГДА &СтрокаОписания ПОДОБНО %23517454% И &СтрокаОписания ПОДОБНО %SAMBERI%" - это будет шаблон поиска для одной строки, и обойти все это в цикле,  что не очень изящно получается...
   Лефмихалыч
 
1 - 28.07.21 - 11:26
1. загрузить csv в нормализованном виде в свой регистр, в которм будет соответствие между строковыми ключами из csv и ссылками на аналитику
2. сделать внутреннее соединение с этим регистром, из которого добыть аналитику
3. не левое потому, что мы же подставляем только там, где нашли


раздели задачу на две: сначала загрузка и синтетические ключи, потом трансформация. С разбегу и одним куском слонов не едят.

ЗЫ все вот эти выборы-когда-тогда-подобно-преподобно - это всё от диавлоа. Такой код и человеку не прочесть, и компьютер его исполняет долго
   RomanYS
 
2 - 28.07.21 - 11:27
(0)добавь просто в справочник поле "строка поиска" типа "23517454\VLADIVOSTOK\643\SAMBERI" и соединяй по нему
ИЗ ТЗ левое соединение Спр по ТЗ.СтрокаОписания подобно "% "+Спр.СтрокаПоиска+" %"
   RomanYS
 
3 - 28.07.21 - 11:28
(1) 1. Зачем для временных данных регистр? Чем ТЗ плоха?
   Garykom
 
4 - 28.07.21 - 11:31
(0) упрости задачу и целиком по "23517454\VLADIVOSTOK\643\SAMBERI"
   Лефмихалыч
 
5 - 28.07.21 - 11:34
(3) проф.деформация. для домашних целей можно и ТЗ
   Trance_1C
 
6 - 28.07.21 - 11:40
(5) РСВ содержит постоянные данные о том что терминал 23517454 установлен в торговой точке SAMBERI, в измерениях статья расходов, в аналитике торговая точка в ресурсе строка поиска.
А где хранить эту ТЗ? Добавить таб. часть в справочники статей? А как потом обновлять? Я добавил РСВ в свое расширение, команду и она появилась на типовой форме, которая на поддержке, о какой ТЗ вы говорите не пойму..
   Trance_1C
 
7 - 28.07.21 - 11:43
(2) В одной торговой точке может быть 10 терминалов, по одной статье расходов могут быть покупки в разных торговых точках, я же не буду заводить отдельные статьи под каждый продуктовый магазин :)
   RomanYS
 
8 - 28.07.21 - 11:47
(6) ТЗ с данными файла, её засунуть в запрос и соединять со справочниками
(7) тогда зачем тебе вообще терминалы? оставь "\VLADIVOSTOK\643\SAMBERI " для поиска
   Garykom
 
9 - 28.07.21 - 11:49
(7) так ты список идентификаторов (торговых точек) привяжи к статье
   Trance_1C
 
10 - 28.07.21 - 11:55
(8) ТЗ с данными файла создает обработка загрузки выписки, эта ТЗ есть в программном виде в РСВ мне ее грузить не нужно, а номера терминалов нужны т.к. магазины в разных районах города. Но в подписи это всегда 643\SAMBERI
точно, попробую прямым соединением, Всем спасибо :)

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.