MRP 1.0.0-alpha.4
dotnet add package MRP --version 1.0.0-alpha.4
NuGet\Install-Package MRP -Version 1.0.0-alpha.4
<PackageReference Include="MRP" Version="1.0.0-alpha.4" />
paket add MRP --version 1.0.0-alpha.4
#r "nuget: MRP, 1.0.0-alpha.4"
// Install MRP as a Cake Addin
#addin nuget:?package=MRP&version=1.0.0-alpha.4&prerelease
// Install MRP as a Cake Tool
#tool nuget:?package=MRP&version=1.0.0-alpha.4&prerelease
MRP-K/S API pro autonomní režim
Neoficiální implementace API pro komunikaci s účetním systémem MRP-K/S pomocí autonomního režimu s podporou šifrování a komprese. https://www.mrp.cz/software/ucetnictvi/ks/autonomni-rezim.asp
Aktuální stav: ALPHA
Knihovna není dostatečně otestována v reálném nasazení a chybí serializace pro některé příkazy viz tabulka:
Příkaz | Stav |
---|---|
ADREO0 | |
CENEO0 | |
EXPEO0 | |
EXPEO1 | |
EXPFP0 | |
EXPFP1 | |
EXPFV0 | |
EXPFV1 | |
IMPEO0 |
Jak začít
Tyto instrukce popisují použití knihovny pro klientské aplikace. Pro nastavení autonomního režimu na serveru navštivte prosím oficiální dokumentaci.
Instalace pomocí NuGet
Install-Package MRP –IncludePrerelease
Použití
Základní použití s kompresí a šifrováním:
var mrpApi = new MrpApi(new MrpApiConfig()
{
// Povinný údaj. Kam se mají zasílat požadavky včetně portu.
Url = "http://xxx.xxx.xxx.xxx:ppppp",
// Nepovinný údaj. Pokud je SecretKey uveden bude komunikace šifrovaná.
// JE NUTNÉ VYGENEROVAT VLASTNÍ KLÍČ NA SERVERU!
SecretKey = "tXxAJQ4RKX8S6g699Tg71ZhObveBExGvEJ0+QAKfT7Y=",
//UseCompression = false, // Tímto lze vypnout kompresi, která je jinak vždy zapnutá.
//CompressionLevel = CompressionLevel.Default, // Možnost nastavení míry komprese.
});
// Zašleme příkaz EXPEO0 a použijeme přídavné filtrování výsledků podle oficiální dokumentace
EXPEO0 result = await mrpApi.EXPEO0(new List<NameValueItem>() {
new NameValueItem() { Name = "cisloSkladu", Value = "1" },
new NameValueItem() { Name = "SKKAR.CISLO", Value = "1..10000" }
});
// Pokud se něco pokazilo, můžeme to vyhodit jako aplikační chybu
if (result.HasError)
{
throw new Exception(result.ErrorMessage);
}
Console.WriteLine($"Zvoleným filtrům odpovídá {result.Products.Count} produktů a {result.Categories.Count} kategorií.");
var produktySkladem = result.Products.Where(x => x.PocetMJ > 0);
Console.WriteLine($"Z toho je {produktySkladem.Count()} produktů skladem.");
Console.WriteLine($"V celkové hodnotě {produktySkladem.Sum(x => x.CenaSDPH)} {produktySkladem.First().Mena}.");
Úspěšný výstup:
Zvoleným filtrům odpovídá 183 produktů a 29 kategorií.
Z toho je 125 produktů skladem.
V celkové hodnotě 44793 CZK.
Spuštění testů
Testy API vyžadují tajné parametry, které se načítají z UserSecrets nebo EnvironmentVariables.
dotnet user-secrets set SecretKey tXxAJQ4RKX8S6g699Tg71ZhObveBExGvEJ0+QAKfT7Y= --project MRP.Tests
dotnet user-secrets set ApiUrl http://xxx.xxx.xxx.xxx:ppppp --project MRP.Tests
Použité balíky
- Portable.BouncyCastle - Šifrování
- SharpCompress - Komprese
- xUnit.net - Testování
Verze
Tato knihovna používá SemVer 2.0.0 pro číslování verzí.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Portable.BouncyCastle (>= 1.8.5)
- SharpCompress (>= 0.23.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|