52 Commits

Author SHA1 Message Date
Raykov-MS
beeb190601 Apply report formatting fixes requested on 24.09.2026
- Draw a grid on the two header rows only, data cells stay borderless.
- Align column names to the top so the start of a long name stays visible.
- Narrow the 14 code columns to the length of their values; the rule matches
  by column name, so identical indicators in every block get equal widths.
- Halve both payment system name columns (32 -> 16).
- Give "Характеристика операции" the same width as "Назначение платежа".
- Drop the group title above "Статус перевода": it duplicated the column name.
  The group cell stays in place so the header grid is not broken.
- Pass the cell format to write_string. Identifier columns (БИК, ИНН, ОГРН,
  КПП, СВИФТ, account numbers) were written without one, so text wrapping and
  vertical alignment never applied to them - this is why БИК had no line break.

The width padding and the header rotation are single constants: the customer
has not confirmed yet whether "N знаков" means the value length (implemented)
or an amount to subtract, and whether narrow headers should be rotated.
2026-09-24 12:40:47 +03:00
Raykov-MS
6cc68862c1 Fix column 99: assemble foreign card address from structured components
The АдрМестаПриемаВыдача block under СведенияКартаИнБанк (code 1009) has no
single АдресСтрока tag, unlike the same-named block under
СведенияВнесениеПолучениеНалДС — column 99 was mapped directly onto that
nonexistent tag and stayed empty. It now assembles the value from the
individual address components (Индекс, КодОКСМ, КодСубъектаПоОКАТО, Район,
Пункт, Улица, Дом, Корп, Оф), the same way column 153 already does for
registration place. Also disabled allow_short_lookup for this column, since
it was previously able to pick up a same-named tag (e.g. Улица) from an
unrelated address elsewhere in the file.

Added regression tests at both the mapping level and a full parse_xml_content
-> build_fixed_row_by_index pipeline level with a synthetic code-1009 XML.
2026-09-18 11:20:07 +03:00
Raykov-MS
1d46f8cc6d Fix Errors 2026-09-16 11:58:29 +03:00
Raykov-MS
44f23947a3 diagntostic fix 2026-09-02 10:51:54 +03:00
Raykov-MS
f49a384e69 fix сдвиг columns 2026-08-28 10:30:20 +03:00
Raykov-MS
7beeb710ce fix 2026-08-25 17:17:05 +03:00
Raykov-MS
fb83c8c805 fix 2026-08-25 15:14:32 +03:00
Raykov-MS
2e570fb386 fix errors 2026-08-25 14:56:20 +03:00
Raykov-MS
7aeca7a45a . 2026-08-24 12:22:33 +03:00
Raykov-MS
39ab4c4824 . 2026-08-24 11:53:23 +03:00
Raykov-MS
07056e6266 . 2026-08-24 11:44:32 +03:00
Raykov-MS
5935eceadf optimize 11.8x 2026-08-11 15:38:11 +03:00
Raykov-MS
510d668ab8 fix 2026-08-11 13:42:46 +03:00
Raykov-MS
bef38dedd8 fix 2026-08-11 13:08:00 +03:00
Raykov-MS
9968d84e3b fix 2026-08-11 01:09:07 +03:00
Raykov-MS
d6b3e73cb7 refactor 2026-08-01 10:00:29 +03:00
Raykov-MS
d1cb2dda71 fix bugs 2026-08-01 08:42:46 +03:00
Raykov-MS
eee68ab4e2 full rule 2026-07-31 11:37:58 +03:00
Raykov-MS
55f0312929 75-123 rule 2026-07-30 13:23:44 +03:00
Raykov-MS
25f96438b1 1-74 rule 2026-07-30 12:37:18 +03:00
Raykov-MS
fe37cf3660 Revert diagntostics changes 2026-07-29 12:04:26 +03:00
Raykov-MS
fc9fa79050 try to know error in smb 2026-07-29 11:14:04 +03:00
Raykov-MS
a4379e5513 move to xlsxwriter 2026-07-29 10:28:17 +03:00
Raykov-MS
f8d587275b Merge branch 'parser' of ssh://git.aepif.ru:2222/RSHB/SFM into parser 2026-07-17 11:21:54 +03:00
Raykov-MS
a717cab182 fix invalid error 2026-07-17 11:20:58 +03:00
d9747380f2 Update app/app_config.py 2026-07-17 11:03:29 +03:00
Raykov-MS
50c69fb882 Add auto-create dir Input 2026-07-17 10:56:26 +03:00
Raykov-MS
ae78c67952 '.' 2026-07-13 16:25:15 +03:00
Raykov-MS
6403f5f585 prod version 2026-07-10 16:09:04 +03:00
Raykov-MS
9f55eeeecb if get delete error move to processed 2026-07-10 15:26:42 +03:00
Raykov-MS
d454cf1577 stage 3 2026-07-10 15:19:40 +03:00
Raykov-MS
6f6ed4afc0 stage 2 2026-07-10 14:50:21 +03:00
Raykov-MS
f9e01a72a0 stage 1 2026-07-10 14:33:45 +03:00
Raykov-MS
6494f9d52a Fix write runtime file in repo 2026-07-10 12:20:33 +03:00
Raykov-MS
32e83c5b21 Правка отчета 2026-07-09 10:16:44 +03:00
Raykov-MS
197d26f050 del profiling 2026-07-07 11:37:03 +03:00
Raykov-MS
91ad3f8003 optimization 2026-07-07 11:05:28 +03:00
Raykov-MS
4482179e82 optimization 2026-07-07 10:04:09 +03:00
Raykov-MS
b9d4ba6573 preflight 2026-07-06 23:08:23 +03:00
Raykov-MS
12ad103a00 '.' 2026-07-06 22:45:05 +03:00
Raykov-MS
400a218fc7 fix smb 2026-07-06 22:42:25 +03:00
Raykov-MS
27a11ae3ee fix 10% write in report to 95% 2026-07-06 13:27:10 +03:00
Raykov-MS
636acd1087 fixes 2026-06-22 11:48:39 +03:00
Raykov-MS
eccfcc543f fixes 2026-06-22 10:48:49 +03:00
Raykov-MS
ec5ab34686 fix 2026-06-22 08:03:22 +03:00
Raykov-MS
9cbfbd041f parser 2026-06-22 07:25:27 +03:00
Raykov-MS
a2e9b1c65f fix 2026-06-04 16:57:08 +03:00
Raykov-MS
998354293b precommit 2026-06-04 16:45:18 +03:00
Raykov-MS
1657fdf67d fix 2026-06-04 16:37:36 +03:00
Raykov-MS
2d31aa1f66 Правик 2026-06-04 16:27:02 +03:00