Markieren Sie markiert, markiert und markiert. Markieren ist einfach !?

In diesem Jahr wurden mehrere Artikel gleichzeitig über die Arbeit mit dem neuen Markierungssystem "Honest Mark" veröffentlicht. Sie wurden von „IT-Spezialisten“ der IT-Abteilungen der am Umsatz beteiligten Unternehmen verfasst, was ihre Sicht auf den Fortschritt des Pilotprojekts und die ersten Tage nach dem Start des Kampfsystems widerspiegelt. Zum Beispiel hier und da .



Das System wurde häufig kritisiert und kritisiert, hauptsächlich aufgrund häufiger Änderungen an der API, Fehlern im persönlichen Konto und weißen Flecken in einigen Prozessen.


Wir haben beschlossen, wenn auch nicht als erste, unsere Erfahrungen und Gedanken zu diesem neuen ehrgeizigen Projekt des Staates zu veröffentlichen, an dem wir aktiv teilnehmen.



Es mag scheinen, dass der Artikel ein Chaos ist, aber die Kennzeichnung als Ganzes ist so ein Chaos, dass viele Aspekte an einem Ort zusammenlaufen.



Bild



Kurz über uns



Cleverens beschäftigt sich mit Software für mobile Mitarbeiter, hauptsächlich für spezielle Geräte von Datenerfassungsterminals (TSD) und Ruhestandsschreibern (RV).



Es mag jemandem so vorkommen, als gäbe es einen Wald, einen Baum im Wald, einen Käfer auf einem Baum und eine Mikrobe lebt auf einem Käfer, und in der Software-Nische für TSD geht es um Mikroben auf einem Käfer.



Darauf können wir antworten, dass die Mobilität der Mitarbeiter ein sehr großer wachsender Markt ist und spezielle Hardware mit vorgefertigter Software im Allgemeinen die Zukunft aller aktuellen Hardware ist. Am Ende ist jede wirklich bahnbrechende Sache das Ergebnis langjähriger Arbeit in einer engen Nische ( siehe Andrey Doronichevs berühmtes Interview über mobiles YouTube).



Grundsätzlich werden Cleverence-Produkte mit vorgefertigter Integration in Buchhaltungssysteme verkauft, die wir selbst schreiben und unterstützen (z. B. Warehouse 15 ).



Wir versuchen, die gesamte Software und Hardware in realen Branchen, Lagern, Geschäften usw. auszuführen. Als das Schuhkennzeichnungsprojekt gerade erst begann, gingen wir nach China, um Geschäftsprozesse zu testen, und gleichzeitig drehten sie ein Video darüber.



Was ist das Kennzeichnungssystem und "Fair Mark"



Grob gesagt handelt es sich hierbei um ein öffentlich-privates Internet der Dinge auf Barcodes und RFID zur vollständigen Verfolgung des Warenverkehrs.



Es gibt viele Informationen zum Kennzeichnungssystem, die Hauptressource ist die Honest Sign- Website .



Bild



Die Einstellung der Marktteilnehmer zur Kennzeichnung



Es ist kein Geheimnis, dass die Einstellung der Marktteilnehmer zur Kennzeichnung polar ist. Ab "Russland, vorwärts!" und "Die Idee ist gut, aber die Umsetzung hat uns im Stich gelassen" zu "sie haben die Kleinen wieder verletzt".



Zu den Vorteilen gehören das Tünchen des Marktes und die Kontrolle der Lieferketten. Von den Minuspunkten - Entfernung von UTII beim Handel mit markierten Waren.



Fast alle großen Unternehmen für die Kennzeichnung. Kleinunternehmer, die schön und in Weiß arbeiten wollen - auch für die Kennzeichnung - für sie ist dies ein Wettbewerbsvorteil gegenüber grauen Märkten.



Meistens sind kleine und mittlere Unternehmen gegen die Kennzeichnung, was all dies als unnötige Belastung für sich selbst ansieht.


Behauptungen werden hauptsächlich formuliert als "Kleinunternehmen werden wieder erwürgt" oder "Sie haben so viel Geld und Menschen, Sie hätten dies und das tun können", "so und so ein Geschäftsprozess ist nicht gut durchdacht". Obwohl das Hauptgeld für ein kleines Unternehmen und seine Prozesse ausgegeben wurde, handelt es sich um eine Website mit dem persönlichen Konto eines Teilnehmers, einem Cloud-basierten Code-Emissionsrekorder usw.



Erwähnenswert ist auch die Position von IT-Spezialisten.



Gleichzeitig ist das Informationsportal "Honest Mark", das Informationen veröffentlicht, in Ordnung. Wo finde ich beispielsweise Informationen auf Englisch? Genau hier . Und auf Chinesisch? Genau hier .



Startprobleme, über die alle sprachen



Während der Pilot ging, gab es viele Fehler im System. Grundsätzlich gelang es ihnen, sie vor dem 1. Juli 2020 zu heilen.



Sie versprachen, dass das EGAIS zu Beginn besser funktionieren würde und im Allgemeinen die Verfügbarkeit der Dienste höher ist.



Jetzt ist das System immer in Tabak und Schuhen erhältlich. Bis auf eine seltene Abschaltung für technologische Arbeiten am Abend für ein paar Stunden funktioniert alles schnell.



Bild



Das Hauptproblem am Anfang war jedoch, dass „man nicht ohne Kabelbaum auskommen kann“ und 99% der Umsatzteilnehmer (in Bezug auf die Menge) dieses System dumm ignorierten, sich nicht registrierten, keine Ladung gaben, auf den Tag des Urteils warteten und dann eine Verschiebung forderten.



2019 «» , 10 , ( ). 10 .



, , .


Jeder wusste von diesem Problem, sie bereiteten sich darauf vor, aber als die Schuhfrist abgelaufen war, brach es immer noch zusammen. Einige UOTs beeilten sich, 20 Jahre im Voraus kostenlose Codes für die verbleibenden zu schreiben. Dies führte auf ihrem Höhepunkt zu einer 40-fachen Erhöhung der Serverlast. Solche Spiele werden natürlich nicht umsonst sein, da das System digital ist und, wie sie sagen, „alle Bewegungen aufgezeichnet werden“.



Leider haben auch die Pioniere der Kennzeichnung gelitten - dies sind die Unternehmen, die seit dem ersten Tag im Markierungspiloten sind und es in gutem Glauben versucht haben, aber am Ende haben sie auch um eine Verschiebung gebeten.



Es muss hier gesagt werden, dass das staatliche System kein iPhone ist, das vom ersten Verkaufstag an Freude bereitet. Der Zweck der Erstellung bestand nicht darin, Likes von IT-Spezialisten zu sammeln oder Videobewertungen wie „Wenn es herauskommt, werde ich selbst entscheiden, ob ich es kaufe“ zu drehen.



Aus irgendeinem Grund erwarten die Leute, dass das System vom ersten Tag an so funktioniert, als ob es seit 5 Jahren in Produktion ist.



Wenn Sie nach dieser Logik warten und alles perfekt sein wird, sollte im Allgemeinen alles auf 2030 oder besser nach der Eroberung des Mars verschoben werden, ja.



Position von IT-Spezialisten



Die Position von IT-Spezialisten ist nicht "für" oder "gegen", sondern "geben". Alle Änderungen müssen im Voraus angekündigt werden, eine bessere Dokumentation, mehr Testfälle, Sandboxen und weniger Einschränkungen.



Im Allgemeinen hat das Projekt viele verschiedene Hardware- und internationale Standards, was den klassischen IT-Spezialisten nur Schmerzen und Leiden bereitet.



IT-Spezialisten sind sehr ätzende und intelligente Menschen, die zu jedem Thema ihre eigene Meinung haben. Und es gibt keinen Konsens über die Kennzeichnung, außer für Behauptungen über die API, im Allgemeinen gibt es keinen.



Die API des Systems ändert sich häufiger, als wir es uns für ein "Make and Forget" -Szenario wünschen. Gleichzeitig wird davon ausgegangen, dass der API eine Reihe von Methoden hinzugefügt werden sollten, um mit Gruppenpaketen (Aggregaten) zu arbeiten, die Autorisierung zu vereinfachen usw. Dies bedeutet jedoch wiederum, dass die API geändert wird.



Wir sind selbst IT-Mitarbeiter und haben die gleiche doppelte Position, dass der API Methoden fehlen, aber die API ändert sich zu oft. Hier, wie sie sagen, "ist die Flagge rassistisch, aber das ist unsere Geschichte ."



Im Allgemeinen muss die API verbessert werden. Es ist jedoch ratsam, 1-2 Monate im Voraus darüber zu warnen und den Benutzern Zeit zu geben, Änderungen an ihren Systemen vorzunehmen. Und das war die Zeit, als es eine neuere Version der API in der Tabakmarkierungs-Kampfschleife gab als in der Testschleife.


Technische Aspekte der Kennzeichnung



Die technischen Herausforderungen für IT-Profis beschränken sich im Wesentlichen auf die folgende Liste:



  • Sysadmin-Fragen an UKEP, die es gab und geben wird, solange es eine Fragmentierung nach Versionen von Betriebssystemen und Browsern gibt
  • Codierungsprobleme, die nicht durch Googeln in StackOverflow gelöst werden können, da das System trotz der Verwendung von Open Source-Software neu und einzigartig ist
  • Implementierungsfragen, wenn Leute "Online-Barcode-Generator" oder "Tastaturbrecher" verwenden und sich dann fragen, warum Unsinn herauskam


Schauen Sie, hier sind Java und Reactive (RxJava) sowie Spring und sogar Netflix:



Bild



Um sich eine eigene Meinung zu bilden, können Sie den Techno-Chat im Warenkorb lesen .



Genehmigung



Die Autorisierung im IS MT erfolgt in 2 Schritten.



Zuerst müssen Sie einen bestimmten pseudozufälligen "Schlüssel" anfordern, der signiert und an die URL "/ api / v3 / auth / cert /" gesendet werden muss (und zum Zeitpunkt dieses Schreibens muss das Ende der URL einen Schrägstrich "/" haben, sonst hat es nicht funktioniert. was seltsam aussieht).



Das Erhalten des "Schlüssels" ist wie folgt (Sie müssen den gewünschten Host ersetzen, es gibt viele verschiedene, je nachdem, ob es sich um eine Sandbox oder eine Kampfbox, Kleidung oder etwas anderes handelt):



//   /api/v3/auth/cert/key “”  ,   
var uri1 = new Uri("< >/api/v3/auth/cert/key")
var randomDataResponse = REST.Invoke<RandomDataResponse>(uri1, "GET", timeout);


Anschließend müssen Sie diesen pseudozufälligen "Schlüssel" mit dem ausgewählten CEP signieren und an das GIS MT senden, um als Antwort ein Autorisierungstoken zu erhalten.



Dazu suchen wir ein CEP-Zertifikat für einen vom Benutzer ausgewählten Fingerabdruck (certificateThumb). Das Zertifikat befindet sich in diesem Fall im "Personal" des lokalen Computers. Außerdem muss der Zertifikatkontext dem Schlüsselpaarspeicher zugeordnet sein (solche Zertifikate sind in der Liste der Zertifikate im Windows-Snap-In mit einem Schlüsselsymbol gekennzeichnet):



Bild



Abrufen eines Zertifikats im Code zum Generieren einer Signatur:



X509Certificate2 cert = null;
using(store = new X509Store(StoreName.My, StoreLocation.LocalMachine))
{
    store.Open(OpenFlags.ReadOnly);
    cert = from c in store.Certificates where string.Compare(c.Thumbprint, certificateThumb, true) == 0 select c;
}


Wir unterschreiben folgendermaßen:



//   
var content = new ContentInfo(randomDataResponse.Data);
var signedCms = new SignedCms(content, false);

//    ,  
var signer = new CmsSigner(SubjectIdentifierType.IssuerAndSerialNumber, cert);
signer.SignedAttributes.Add(new Pkcs9SigningTime(DateTime.Now));

//  
signedCms.ComputeSignature(signer, false);
var sign = signedCms.Encode();


Eine signierte CMS-Nachricht (sign) ist die Verifizierungssignatur, die nach der Konvertierung in das Base64-Format zur Autorisierung gesendet werden muss.



var tokenRequest = new TokenRequest();
tokenRequest.UUID = randomDataResponse.UUID;
tokenRequest.Data = Convert.ToBase64String(sign);

//    /api/v3/auth/cert/
var uri2 = new Uri("< >/api/v3/auth/cert/")
var tokenResponse = REST.Invoke<TokenResponse>(uri2, "POST", tokenRequest);


Als Antwort wird ein JWT- Token empfangen , das in Base64 codiert ist.



Übrigens werden die zu sendenden Dokumente auf die gleiche Weise signiert, nur die sogenannte "getrennte" Signatur wird gebildet:



var signedCms = new SignedCms(content, true);


Hilfsklassen (mit einem Schema, das mit den XSD-Dokumentschemata der API identisch ist):



/// <summary>
///    GET /api/v3/auth/cert/key  .
/// </summary>
public class RandomDataResponse
{
    /// <summary>
    ///     ,  string
    /// </summary>
    [Newtonsoft.Json.JsonProperty(PropertyName = "uuid")]
    public string UUID { get; set; }

    /// <summary>
    ///  ,  string
    /// </summary>
    [Newtonsoft.Json.JsonProperty(PropertyName = "data")]
    public string Data { get; set; }
}

/// <summary>
///     .
/// POST /api/v3/auth/cert/
/// </summary>
public class TokenRequest
{
    /// <summary>
    /// uuid -      /api/v3/auth/cert/key
    /// </summary>
    [Newtonsoft.Json.JsonProperty(PropertyName = "uuid")]
    public string UUID { get; set; }

    /// <summary>
    ///        base64
    /// </summary>
    [Newtonsoft.Json.JsonProperty(PropertyName = "data")]
    public string Data { get; set; }
}

/// <summary>
///     .
/// POST /api/v3/auth/cert/
/// </summary>
public class TokenResponse
{
    /// <summary>
    ///    base64-
    /// </summary>
    [Newtonsoft.Json.JsonProperty(PropertyName = "token")]
    public string EncodedTokenBase64 { get; set; }
}


Wenn Sie sich angemeldet haben, haben Sie eine kleine Quest abgeschlossen.



Probleme beim Generieren und Lesen von Barcodes



Das Markierungssystem basiert auf internationalen Standards, mit Ausnahme des Teils mit Kryptographie. Das ist ausgezeichnet und lobenswert.



Leider liest der durchschnittliche IT-Spezialist keine Standards, studiert nichts, sondern formt seine Fahrräder sofort aus kostenlosen Komponenten wie Barcode-Generierung, Druck, Geschäftsprozessen usw.



Die erste Schwierigkeit besteht darin, den Beschriftungs-Barcode in Ihrem Design zu drucken. "Honest Sign" bietet ein kostenloses Tool, aber natürlich hat sich niemand damit befasst, da es in 1C / SAP / NAV / DAX einen "Online-Barcode-Generator" und integrierte Berichtseditoren gibt.



Der Hinterhalt ist, dass der moderne Barcode nicht nur eine grafische Darstellung von Symbolen ist (wir werden einen separaten Artikel darüber haben). Daher tauchten die Probleme von Präfixen, Trennzeichen, Codierungen, obligatorischen nicht druckbaren Zeichen usw. auf, von denen niemand etwas wusste und die er nicht sofort verstehen wollte.



Beispiel mit GS-Sonderzeichen (ASCII 29)



Bild



Beispiel mit FNC1-Sonderzeichen (ASCII 232)



Bild



Screenshots stammen aus der Checkmark- Anwendung .



Hier ist ein Teil des Checkmark-Quellcodes, der einen von einer Kamera gescannten und von unserer Plattform analysierten Barcode analysiert:



var km = BarcodeData.GS1;
if (km.Contains("01") && km.Contains("21"))
{
    if ((km.Contains("17") || km.Contains("7003")) && !km.Contains("10"))
    {
         = true;

        if ((km.GetValue("01").Length == 14) && (km.GetValue("21").Length == 7 || 
             km.GetValue("21").Length == 13) && (km.GetValue("17").Length == 6 || 
             km.Getvalue("7003").Length == 10) && (km.GetValue("93").Length == 4))
        {
              = true;
             MSG2 = " KM   .";
             if (km.GetValue("21").Length == 7)
                 MSG2 = "      .";
        }
        else
        {
             //        (EntriesRows)
             //    -     
             EntriesRows = I(EntriesRows, Al = 93, BarcodeData);
             MSG2Error = "   3!     .";
             Msg = "<b>#N005</b>" + Msg;
         }
    }
    else if (km.Contains("8005") || km.Contains("93"))
    {
          = true;

         if (km.GetValue("01").Length == 14 && km.GetValue("21").Length == 7 && 
             km.GetValue("8005").Length == 6 && km.GetValue("93").Length == 4)
         {
              = true;
             MSG2 = "    .";
         }
         else
         {
             EntriesRows = I(EntriesRows, AI = 8005, BarcodeData)
             EntriesRows = I(EntriesRows, Al = 93, BarcodeData)
             MSG2Error = "   3!     .";
             Msg = "<b>#N004</b>" + sg;
         }
    }
    else if (km.Contains("92") && km.Contains("92").Length > 66)
    {
         = true;
        if (km.GetValue("01").Length == 14 && km.GetValue("21").Length == 13 &&
            km.GetValue("91").Length == 4 && km.GetValue("92").Length == 88)
        {
            ... ( ..) ...


Woher kamen die Sonderzeichen? Aus dem Standard. "Honest Sign" hat alles nach dem Standard gemacht, und die Teilnehmer am Warenumsatz mussten auch den Standard lesen.



Übrigens: Sie können die Richtigkeit des DataMatrix-Inhalts nur durch Scannen mit einer Kamera überprüfen (selbst wenn Sie von einer TSD scannen, benötigen Sie Zugriff auf die Kamera). Da alle Barcodescanner gemäß dem Standard nicht 1in1 zurückgeben sollten, was sie gelesen haben, sollten sie zumindest das erste FNC1- Zeichen wegwerfen . Im Allgemeinen können Scanner beim Scannen wichtige Barcodesymbole hinzufügen oder entfernen und Blöcke an bestimmten Stellen neu anordnen, abhängig von den Einstellungen. Dies alles beeinträchtigt die Überprüfung.



weil Da es bei der Systemintegration nicht um Programme geht, sondern um Personen und wie sie Spezifikationen schreiben und lesen, führte das Vorhandensein dieser Sonderzeichen beim Austausch von Barcodes sofort zu Meinungsverschiedenheiten.



Zum Beispiel könnten sie, ohne die Spezifikationen wirklich zu lesen, dem Barcode eine Zeichenfolge mit 4 Zeichen „FNC1“ anstelle eines ASCII 232 ( FNC1) -Zeichens hinzufügen . Beim Austausch zwischen Subsystemen werden solche Zeichen jedoch häufig gefiltert und gehen verloren. Sie erreichen den Druck ohne solche Zeichen, während dies in normalen Texteditoren besonders ist. Zeichen werden oft nicht angezeigt und die Leute fragen sich, warum etwas nicht stimmt, wenn die Barcodes übereinstimmen.



Ebenso, wenn Sie das Symbol FNC1 nicht angebenIm Barcode verstehen einige Hard- oder Software möglicherweise nicht, was es ist und wie es zerlegt werden soll, weil Dieses Symbol am Anfang des Barcodes zeigt lediglich an, dass es sich um ein GS1 DataMatrix-Format handelt.



Ein aktuelles Beispiel, auf das fast jeder gestoßen ist, war das Auftreten von Klammern und Satzzeichen in der Seriennummer.



Bild



Woher kommen die Klammern und Satzzeichen in der Seriennummer? Aus dem Standard! Der GS1-Standard ermöglicht die Verwendung. weil Die Seriennummer ist nur 13 Zeichen lang und es gibt viele Waren zum Markieren. Sie müssen alle verfügbaren Zeichen verwenden.



Separate Lulzen - Klammern in der Seriennummer. Sie sind dort nach dem Standard erlaubt, aber niemand hat sie erwartet. In der sogenannten human-readable Notation (HID) haben Klammern eine besondere Bedeutung: Sie rahmen die Anzahl der aussagekräftigen Zeichengruppen ein. Zum Beispiel bedeutet "(21)", dass die Seriennummer weiter unten in der Zeile steht.



Wenn es naiv ist zu glauben, dass der Barcode nur eine Zeichenfolge enthält, dann scheint in der Zeile „(21) abcd12 (3) d (1, (91)“) die Seriennummer „abcd12“ zu sein, und der Teil über „(1“ scheint überhaupt ein Fehler zu sein.



Tatsächlich lautet die Seriennummer hier „abcd12 (3) d (1“, und nach dem Komma steht ein unlesbares GS- Symbol .) Und der Punkt ist nicht, dass die Seriennummer 13 Zeichen umfassen sollte (da die Länge der Seriennummer in GS1 DataMatrix formal unterschiedlich sein kann und bei Reifen können es beispielsweise 20 Zeichen sein. Der Punkt liegt genau im UnsichtbarenGS , das berücksichtigt werden muss und in den Feldern eines Buchhaltungssystems nicht angezeigt wird, wird nicht zur Eingabe akzeptiert und ist generell verboten (und es ist auch in einem normalen Editor nicht sichtbar, es wird nicht angezeigt, Sie benötigen Notepad ++).



Das Vorhandensein solcher Sonderzeichen führt zu Einschränkungen bei der Übertragung und Speicherung von Barcode-Daten. Sie müssen beispielsweise in Base64 überprüft oder codiert werden.



Übrigens: Es gibt einen Standard zum Speichern und Übertragen solcher Barcodes als Zeichenfolge (ISO / IEC 15424-2018), der jedoch aus irgendeinem Grund von niemandem verwendet wird. GS1 DataMatrix-Barcode-Daten, die als Zeichenfolge gespeichert sind, müssen mit „] d2“ beginnen.



Jetzt hat fast jeder (wahrscheinlich) seine Barcode-Druckkomponenten repariert. Aber wer liest die Standards überhaupt, oder?



Zur Überprüfung Hausaufgaben:Hier ist das Thema: Wenn das Feld eine feste Länge hat, muss GS nicht eingefügt werden. Wenn die Länge variabel ist und der Wert des Felds nicht die maximale Länge hat, müssen Sie einfügen. In der Tat funktioniert diese Regel nicht so. Das Sonderzeichen GS wird nicht nur eingefügt, wenn AI mit einem Ziffernpaar aus dieser Tabelle beginnt:



Bild

In allen anderen Fällen wird es eingefügt. Funktioniert Ihr Barcode-Generierungs- / Parsing-Code genauso?



Ein weiteres Problem ist das Scannen der Barcode-Markierung mit lameren Werkzeugen wie „Scanner im Tastaturkeil“. Vor dem Etikettieren bestand das größte Problem darin, dass irgendwo eine zusätzliche Null geschnitten oder eingefügt wird. Mit der Einführung neuer Codes werden gescannte Lulz-Markierungen auf ein völlig neues Niveau gebracht.



Oft handelt es sich nicht um Probleme mit dem Scanner selbst oder seinen Einstellungen, sondern um Probleme mit mangelnder Erfahrung und mangelndem Verständnis der Barcode-Prinzipien.



Wenn Sie beispielsweise den Scanner "an einen Tastaturkeil" anschließen (oder diesen Modus emulieren) oder wenn Sie den Scanner als HID-Gerät anschließen, kann es Probleme geben, einige Zeichen in einem gescannten Barcode durch andere zu ersetzen oder bestimmte Zeichen zu verschwinden.



Bild

Schema zum Anschließen des Scanners an die Tastatur Unterbrechung



Wenn in den angegebenen Modi gearbeitet wird, überträgt der Scanner nicht die Symbole des Barcodes (sic!) An den Computer, sondern die Codes der Tastenanschläge auf der Tastatur, die gedrückt werden müssten, um Symbole aus diesem Barcode auf der Tastatur einzugeben.



Gleichzeitig ist es offensichtlich, dass je nach Layoutsprache und Drücken der Modifikatortasten (Umschalt, Feststelltaste, Alt und Strg) mehrere mögliche Zeichen gleichzeitig einer Tastaturtaste entsprechen können.



Zum Beispiel, wenn Sie diese Taste im unteren rechten Teil der Tastatur drücken:



Bild



Das Ergebnis kann eines der Zeichen '?', '/', ',' Oder '.' Sein, abhängig vom ausgewählten Layout und der Verwendung von Modifizierertasten. Welches bestimmte Zeichen eingegeben wird, hängt von den Tastatureinstellungen des Betriebssystems und nicht vom Scanner ab.



Aus diesem Grund fallen an der Kasse anstelle einiger Serien völlig andere aus, oder der Code wird überhaupt nicht gefunden.



Übrigens hätten diese Probleme vermieden werden können, wenn die Seriennummer eine Prüfsumme gehabt hätte, wenn mit der letzten Ziffer überprüft werden kann, ob der Code korrekt ist, ob er richtig gelesen / eingegeben wurde. Bei Girokonten, TIN, Kartennummern und EAN13 ist die letzte Ziffer ein Scheckbetrag zur Überprüfung, damit Personen und Autos bei der Eingabe keine Fehler machen.



Bild



Offensichtlich hofften sie, dass DataMatrix sich selbst überprüft und es einen Crypto-Tail gibt. Aber eines ist der gesamte Barcode, der sich selbst überprüft, und das andere ist ein Code mit einer Seriennummer, der überhaupt über die Tastatur eingegeben werden könnte.



Separate Streitigkeiten von IT-Spezialisten wurden durch den sogenannten „Crypto Tail“ verursacht.



"Cryptotail" ist ein notwendiger Bestandteil des Markierungs-Barcodes, dank dessen mit einem symmetrischen Schlüssel überprüft werden kann, ob die Seriennummer des Artikels nicht aus dem Finger gesaugt wird.



Bild



Der Crypto-Tail befindet sich nur im Barcode und wird nicht in der Markierungsdatenbank gespeichert, sodass kein Hacker die Basis brechen und die Barcodes anderer Personen drucken kann.



Jene. Dies ist eine Art digitale Signatur. Aber seit Der Barcode ist nicht aus Gummi, aber es gibt viele Waren. Die Länge dieser digitalen Signatur ist kurz, sodass nicht alle Verschlüsselungsschlüssel verwendet werden können.



Natürlich befinden sich alle Seriennummern in der Markierungsdatenbank, aber wenn Sie sie online überprüfen, werden bei jedem Ausfall des Internets alle Lager und Geschäfte sofort aufstehen.



Cryptotail soll dieses Problem lösen, hat jedoch (für den Sommer 2020) noch nicht die volle Wirkung entfaltet.



Tatsache ist, dass Kryptographie russisch ist und an Hardware gebunden ist. Aber es gibt immer noch keine Alternative zur russischen Krypta, das russische Staatssystem kann keine fremde Krypta verwenden, es wird ein Loch sein . Daher müssen Sie die russische ertragen, es ist vernünftig und nicht schwierig.



Kryptographie ist im Allgemeinen ein sehr komplexes Thema. Es gibt viele Informationen und es ist sehr schwierig, eine Beschreibung zu finden, wie Daten in einem bestimmten Fall signiert oder verschlüsselt werden.


Jeder, der versuchte, sich in die Kennzeichnungs-API zu integrieren, sah sich damit konfrontiert. In Chats gab es viele Fragen wie "Warum nicht anmelden?", "Wie unterschreibe ich?", "Teilen Sie ein Beispiel!", "Die Unterschrift wurde generiert, aber eine Ablehnung kam, warum?" und viele andere.



Meistens waren die Fehler alltäglich. Zum Beispiel wurden nach der Signatur die Daten geändert oder ein Leerzeichen oder ein irgendwie unbedeutendes Zeichen ging verloren, dies ist jedoch für die Signatur kritisch, und nach dem Senden an die API wurde eine Ablehnung ohne Erklärung empfangen, weil Die Unterschrift wurde nicht überprüft.



Glücklicherweise haben sie in den Chats am häufigsten geholfen und solche Fragen beantwortet. Im Allgemeinen werden alle diese Probleme behandelt oder sind bereits bis zum 1. Juli 2020 behoben.



“ ” 1 2020 - , , . , .





Wir bei Cleverance denken, dass Softwareprobleme nicht die Hauptsache sind. Schlimmer noch, die Teilnehmer am Warenverkehr verstehen das Wesentliche der Veränderungen immer noch nicht. Dies ist ein viel größeres Problem als Softwarefehler.



Menschen betrachten die Kennzeichnung als einen weiteren Buchhaltungsbericht, der am Computer in 1C / SAP / NAV / DAX erstellt, korrigiert, rückwirkend geändert usw. werden kann. Der Typ wird von Buchhaltern und Logistikern verwendet, und IT-Spezialisten müssen die dafür erforderlichen Module und Verarbeitungen „reduzieren“.



Die Hauptanforderung unserer Kunden besteht darin, dass das Lager / Chinese / Tetyamasha etwas scannt und es dann „korrekt“ in 1C / SAP / NAV / DAX lädt. Und wir machen es erfolgreich.



Dies ist jedoch ein offensichtlicher Fehler, der aufgedeckt wird, wenn Unternehmen beginnen, ihre Guthaben miteinander auszugleichen, und der Staat beginnt, Geldstrafen zu verhängen.



Was ist das eigentliche Markierungssystem?



Die Produktkennzeichnung ist ein System zur Reflexion realer Bewegungen.



Echte Etikettierungsprobleme



Dies ist meiner Meinung nach nur unsere.



Alle wirklichen Probleme des Automaten ergeben sich aus dem, wofür das Markierungssystem wirklich ist, nämlich einem System zur Reflexion realer Bewegungen.



Erstens widerspricht die tatsächliche Bilanzierung von Bewegungen den aktuellen Grundsätzen der Bilanzierung entlang der gesamten Kette, wenn alles nach Artikelnummer, Charge oder Durchschnitt bilanziert wird. Rückblickend zu reduzieren und zu korrigieren ist unser Alles.



Das Buchhaltungssystem in jedem Unternehmen ist ein gekämmtes und korrigiertes Märchen darüber, wie großartig alles nach 100.500 Anrufen, Korrekturen, Umbuchungen und Bereinigungsfehlern geworden ist.



Bei einem der ausgedehnten Treffen bei einem großen ausländischen Drogendistributor rollte der Cheflogistiker erst nach einer Stunde Diskussion mit den Augen und sagte: „Ist das ein anderer Barcode für jede Packung?“. Und die Wörter "einzigartig", "Seriennummer", "jede Kopie", "alles scannen" usw. flogen anscheinend vorbei.



Zweitens widerspricht die tatsächliche Bilanzierung von Bewegungen den aktuellen Geschäftspraktiken und Grundsätzen der Trennung von Bedenken.



Selbst wenn das Unternehmen groß ist und der Mitarbeiter nicht das Recht hat, einige Dokumente zu bearbeiten - es gibt eine Telefonnummer, die Sie anrufen oder an jemanden schreiben können, der Korrekturen vornehmen kann.



Oder zum Beispiel werden die Dokumente von der CEP des Direktors von einem Basismitarbeiter signiert, und wenn es eine Zwei-Faktor-Authentifizierung gibt, dann per SMS. Das Kennzeichnungssystem enthält einen Block über Benutzer und ihre Rechte. Sie können jedem separate CEPs geben, aber die Leute haben es nicht eilig, dies zu tun.



Dies ist ein klares Problem, das gelöst werden kann, indem den normalen Mitarbeitern, die sich direkt neben dem gekennzeichneten Produkt befinden, immer mehr Rechte und Buchhaltungstools zur Verfügung gestellt werden.



Darüber hinaus basieren die Regeln zur Berechnung des Selbstkostenpreises oder zur Berücksichtigung von Bewegungen im Rechnungsführungssystem auf Durchschnittswerten und Vereinfachungen des FIFO / LIFO-Typs und des Durchschnittspreises. Und diese Rechnungslegungsgrundsätze, die seit Jahrzehnten von der Produktion bis zum Einzelhandel überall angewendet werden, basieren auf diesen Vereinfachungen und stehen im Widerspruch zur tatsächlichen Rückverfolgbarkeit einzigartiger Einheiten.



Aus diesem Grund stellt sich in der Praxis beispielsweise heraus, dass Waren von FIFO / LIFO an das Markierungssystem gesendet werden. Was jedoch tatsächlich versendet wurde, war näher am Ausgang.



Dies wird auch mit speziellen Geräten und Software für normale Mitarbeiter gelöst, die aufgrund ihrer Arbeit nicht am Computer sitzen können.



Ein weiteres Problem ist der Versuch, „eine Eule auf den Globus zu ziehen“ und Markierungscodes in alle Standard-ERP-Dokumente einzufügen, damit ein Buchhalter, Logistiker oder verantwortlicher Manager sie dort sehen kann.



Obwohl er nichts zu suchen hat, kann er nichts mit ihnen anfangen.



Nun, als Buchhalter oder Manager, der auf den Monitor schaut, kann er verstehen, dass er gestern das Lager dort gescannt hat und warum bei drei von Tausenden Zigarettenstücken rot hervorgehobene Unstimmigkeiten auftreten.



Dies wird auch durch Tools für Basispersonal gelöst, die Zugriff auf alle erforderlichen Informationen haben.



Nun das ist Dies sind keine technischen Probleme einiger Systeme, die im Allgemeinen bereits bis zum 1. Juli 2020 behoben wurden, sondern die Probleme bei der Umstrukturierung der Arbeit von Unternehmen auf einem neuen Weg.


Schlussfolgerungen



Das Hauptvorteil der Kennzeichnung besteht darin, dass der Staat alle zur Digitalisierung und Umstellung auf EDF mit digitalen Signaturen und Kryptografie gezwungen hat.



"Die Flut erhöht alle Boote", und der Übergang des gesamten Marktes zu gemeinsamen Schienen hat einen großen Synergieeffekt.



Viel Spaß beim Automatisieren!



All Articles