Skip to content

Commit

Permalink
Fix v1.2 xsd
Browse files Browse the repository at this point in the history
  • Loading branch information
diev committed Jul 18, 2024
1 parent c068f7a commit 367a81a
Show file tree
Hide file tree
Showing 11 changed files with 361 additions and 347 deletions.
4 changes: 3 additions & 1 deletion Api5704/Api.cs
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,9 @@ public static async Task<int> PostRequestAsync(string cmd, string file, string r
return result;
}

Thread.Sleep(1000);
Console.WriteLine("Даем 5 секунд серверу подготовить сведения...");

Thread.Sleep(5000); // Up to 4 seconds to answer is allowed in v1.3

// GetAnswerAsync

Expand Down
4 changes: 2 additions & 2 deletions Api5704/Api5704.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<TargetFrameworks>net8.0</TargetFrameworks>
<RootNamespace>Api5704</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>8.2024.710</Version>
<Version>8.2024.718</Version>
<Company>diev</Company>
<Copyright>2022-2024 Dmitrii Evdokimov</Copyright>
<Description>Предоставление ССП при обращении пользователя к НБКИ как КБКИ-контрагенту в режиме «одного окна» по Указанию Банка России № 5704-У.</Description>
Expand Down
6 changes: 3 additions & 3 deletions Api5704/ApiExtra.cs
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,15 @@ public static async Task<int> MakeReportAsync(string answer, string report)
sb.AppendLine(fio3).AppendLine();
long total = 0;

foreach (var item in list.Values.ToList<Agreement>())
foreach (var item in list.Values.ToList())
{
sb.AppendLine($"Договор {item.Id} на {item.Date} {item.Val} {item.Sum}");
total += long.Parse(item.Sum.Replace(".", "")); //TODO separate RUB, etc.
}

sb.AppendLine().AppendLine($"Total: {total/100:#.00}");
sb.AppendLine().AppendLine($"Total: {total/100:#.00}"); //TODO XSLT

await File.WriteAllTextAsync(report, sb.ToString(), Encoding.UTF8); //TODO Condig Encoding
await File.WriteAllTextAsync(report, sb.ToString(), Encoding.UTF8); //TODO Config Encoding

return File.Exists(report) ? 0 : 1;
}
Expand Down
31 changes: 17 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@

<https://cbr.ru/ckki/transfer_inform/>

По этой ссылке важно отслеживать вступление в силу новых версий форматов.
Так, версия 1.3 вступает в силу с 10.07.2024.
По этой ссылке важно отслеживать вступление в силу новых версий форматов
и не путать версии документов и версии xsd.

Адрес базового URL API тестовой системы:
<https://reports.demo.nbki.ru/qbch/>
Expand All @@ -32,7 +32,6 @@
<https://reports.test-alfa.nbki.ru/qbch/>

Адрес базового URL API промышленной системы:
<https://reports.nbki.ru/qbch/> (до 15.07.2024)
<https://ssp.nbki.ru/qbch/>

Для подключения требуется зарегистрированный через ЛК сертификат
Expand All @@ -48,18 +47,15 @@
шаблонных XML-запросов - <https://github.com/diev/ReplForms>.
Для этой программы положен файл шаблона в папку [Templates](Templates).

Разница между тем, запрашивает клиент ССП только в БКИ или в режиме
одного окна определяется значением параметра `ТипЗапроса`:
Ныне запросы ССП могут быть только в режиме одного окна,
что определяется значением параметра `ТипЗапроса`:

* ТипЗапроса="`1`" – запрашивает только в БКИ (до 01.07.2024);
* ТипЗапроса="`2`" – запрашивает одно окно КБКИ.

СНИЛС требуется указывать по формату `\d\d\d-\d\d\d-\d\d\d \d\d`.

ХэшКод требуется переводить в нижний регистр `[\da-f]{64}`.

С 10.07.2024 вступает в силу версия формата `1.3`.

## Config

При первом запуске будет создан файл настроек `Api5704.config.json`
Expand Down Expand Up @@ -258,17 +254,24 @@

## Versioning

Номер версии программы указывается по нарастающему принципу:
Номер версии программы указывается по нарастающему принципу и строится
от актуальной версии .NET на момент разработки и даты редакции:

* Требуемая версия .NET (8);
* Актуальная версия .NET (8);
* Год текущей разработки (2024);
* Месяц без первого нуля и день редакции (624 - 24.06.2024);
* Номер билда - просто нарастающее число для внутренних отличий.
Если настроен сервис AppVeyor, то это его автоинкремент.
* Номер билда, если указан - просто нарастающее число для внутренних отличий.

Продукт развивается для собственных нужд, а не по коробочной
стратегии, и поэтому *Breaking Changes* могут случаться чаще,
чем это принято в *SemVer*. Поэтому проще по датам актуализации кода.

Продукт развивается для собственных нужд, и поэтому
Breaking Changes могут случаться чаще, чем это в SemVer.
При обновлении программы рекомендуется сохранить предыдущий конфиг,
удалить его из папки с программой, чтобы она создала новый, перенести
необходимые старые значения в новый конфиг перед новым запуском
программы.

## License

Licensed under the [Apache License, Version 2.0](LICENSE).
Вы можете использовать эти материалы под свою ответственность.
2 changes: 1 addition & 1 deletion Templates/_ССП_Request.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<ЗапросСведенийОПлатежах
Версия="`Версия;1.2;1.2|1.3 - с 10.07;1\.\d'"
Версия="1.2"
ИдентификаторЗапроса="`Идентификатор запроса;GUID;не изменять;[\da-f]{8}-([\da-f]{4}-){3}[\da-f]{12}'"
ТипЗапроса="2">
<Абонент>
Expand Down
Binary file modified XLSM/Api5704.xlsm
Binary file not shown.
3 changes: 1 addition & 2 deletions XLSM/VBA/GuidModule.bas
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Attribute VB_Name = "GuidModule"
Option Explicit

'Ðåäàêöèÿ: 2024-07-10
'Редакция: 2024-07-10

Public Type GUID_TYPE
Data1 As Long
Expand Down Expand Up @@ -42,4 +42,3 @@ End Function
Public Sub guid()
ActiveCell = CreateGuidStr()
End Sub

14 changes: 7 additions & 7 deletions XLSM/VBA/HashModule.bas
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Attribute VB_Name = "HashModule"
Option Explicit

'Ðåäàêöèÿ: 2024-07-10
'Редакция: 2024-07-10

Const UTIL As String = "C:\Program Files (x86)\Crypto Pro\CSP\cpverify.exe"
Const ARGS As String = " -logfile %2 -mk -alg GR3411_2012_256 %1"
Expand All @@ -10,21 +10,21 @@ Public Sub CalcHash()
Dim Answer As Variant
Dim Pdf As String, Hash As String

Answer = Application.GetOpenFilename("PDF (*.pdf),*.pdf,Âñå ôàéëû (*.*),*.*", , "Âûáåðèòå ôàéë PDF äëÿ ðàñ÷åòà ÕýøÊîäà")
Answer = Application.GetOpenFilename("PDF (*.pdf),*.pdf,Все файлы (*.*),*.*", , "Выберите файл PDF для расчета ХэшКода")
If Answer <> False Then
Pdf = Answer
Hash = GetHash(Pdf)
End If

'MsgBox Pdf & vbCrLf & Hash, , "ÕýøÊîä"
Answer = InputBox(Pdf & vbCrLf & "ñêîïèðóéòå è âñòàâüòå", "ÕýøÊîä", Hash)
'MsgBox Pdf & vbCrLf & Hash, , "ХэшКод"
Answer = InputBox(Pdf & vbCrLf & "скопируйте и вставьте", "ХэшКод", Hash)
End Sub

Public Sub ReadHash()
Dim Answer As Variant
Dim Txt As String, Hash As String

Answer = Application.GetOpenFilename("TXT (*.txt),*.txt,Âñå ôàéëû (*.*),*.*", , "Âûáåðèòå ôàéë TXT ñ ÕýøÊîäîì")
Answer = Application.GetOpenFilename("TXT (*.txt),*.txt,Все файлы (*.*),*.*", , "Выберите файл TXT с ХэшКодом")
If Answer <> False Then
Txt = Answer
fn = FreeFile
Expand All @@ -33,8 +33,8 @@ Public Sub ReadHash()
Close fn
End If

'MsgBox Txt & vbCrLf & Hash, , "ÕýøÊîä"
Answer = InputBox(Txt & vbCrLf & "ñêîïèðóéòå è âñòàâüòå", "ÕýøÊîä", Hash)
'MsgBox Txt & vbCrLf & Hash, , "ХэшКод"
Answer = InputBox(Txt & vbCrLf & "скопируйте и вставьте", "ХэшКод", Hash)
End Sub

Public Function GetHash(Pdf) As String
Expand Down
Loading

0 comments on commit 367a81a

Please sign in to comment.