Marque marcado, marcado y marcado. ¡Marcar es fácil!

Este año, se publicaron varios artículos a la vez sobre la práctica de trabajar con el nuevo sistema de marcado "Honest Mark". Fueron redactados por “especialistas en TI” de los departamentos de TI de las empresas que participan en la facturación, lo que refleja su visión del avance del proyecto piloto y los primeros días de lanzamiento del sistema de combate. Por ejemplo, aquí y allá .



El sistema fue a menudo criticado y criticado, principalmente debido a los frecuentes cambios en la API, errores en la cuenta personal y puntos blancos en algunos procesos.


Decidimos, no siendo los primeros, publicar nuestra experiencia y nuestro pensamiento sobre este nuevo y ambicioso proyecto del estado, en el que estamos participando activamente.



Puede parecer que el artículo es un desastre, pero el etiquetado en su conjunto es un desastre, muchos aspectos convergen en un solo lugar.



imagen



Brevemente sobre nosotros



Cleverens se dedica a software para trabajadores móviles, principalmente para equipos especiales de terminales de recolección de datos (TSD) y registradores de jubilación (RV).



A alguien le puede parecer que hay un bosque, un árbol en el bosque, un escarabajo en un árbol y un microbio que vive en un escarabajo, y el nicho de software para TSD se trata de microbios en un escarabajo.



A esto podemos responder que la movilidad del personal es un mercado en crecimiento muy grande, y el hardware especial con software listo para usar es generalmente el futuro de todo el hardware actual. Al final, cualquier cosa realmente revolucionaria es el resultado de muchos años de trabajo en un nicho estrecho ( ver la famosa entrevista de Andrey Doronichev sobre YouTube móvil).



Básicamente, los productos Cleverence se venden con una integración ya preparada con sistemas de contabilidad, que (integración) escribimos y apoyamos nosotros mismos (por ejemplo, Warehouse 15 ).



Intentamos ejecutar todo el software y hardware en industrias reales, almacenes, tiendas, etc. Por ejemplo, cuando el proyecto de etiquetado de zapatos recién comenzaba, fuimos a China para probar los procesos comerciales y, al mismo tiempo , filmaron un video al respecto.



¿Qué es el sistema de etiquetado y "Fair Mark"?



En términos generales, se trata de un Internet público-privado de cosas en códigos de barras y RFID para el seguimiento total del movimiento de unidades de mercancías.



Hay mucha información sobre el sistema de etiquetado, el recurso principal es el sitio web Honest Sign .



imagen



La actitud de los participantes del mercado hacia el etiquetado



No es ningún secreto que la actitud de los participantes del mercado hacia el etiquetado es polar. De "Rusia, adelante!" y “La idea es buena, pero la implementación nos defraudó” para “volvieron a lastimar a los pequeños”.



Las ventajas incluyen blanquear el mercado y controlar las cadenas de suministro. De las desventajas: eliminación de UTII cuando se comercializan productos marcados.



Casi todos los grandes negocios del etiquetado. Pequeños empresarios que quieren trabajar de forma hermosa y en blanco, también para el etiquetado, para ellos esta es una ventaja competitiva sobre los mercados grises.



La mayoría de las pequeñas y medianas empresas están en contra del etiquetado, que consideran que todo esto es una carga innecesaria para ellos.


Las afirmaciones se formulan principalmente como “la pequeña empresa está siendo estrangulada nuevamente” o “tienes tanto dinero y gente, podrías haber hecho esto y aquello”, “tal o cual proceso comercial no está bien pensado”. Aunque fue en una pequeña empresa y sus procesos donde se gastó el dinero principal, este es un sitio con la cuenta personal de un participante, un registrador de emisión de código basado en la nube, etc.



También vale la pena mencionar la posición de los especialistas en TI, sobre esto a continuación.



Al mismo tiempo, el portal de información "Honest Mark", que publica información, está bien hecho. Por ejemplo, ¿dónde puedo encontrar información en inglés? Aquí mismo . ¿Y en chino? Aquí mismo .



Problemas de inicio de los que todos hablaban



Mientras el piloto caminaba, hubo muchos errores en el sistema. Básicamente, lograron curarlos antes del 1 de julio de 2020.



Prometieron que el EGAIS funcionaría mejor al principio y, en general, la disponibilidad del servicio es mayor.



Ahora el sistema siempre está disponible en tabaco y zapatos, todo funciona rápidamente, excepto por un raro cierre por trabajo tecnológico por la noche durante un par de horas.



imagen



Pero el problema clave al principio fue que "no se puede ir sin aprovechar", y el 99% de los participantes en la rotación (en términos de número) ignoraron estúpidamente este sistema, no se registraron, no dieron una carga, esperaron el día del juicio y luego exigieron un aplazamiento.



2019 «» , 10 , ( ). 10 .



, , .


Todos conocían este problema, se estaban preparando para él, pero cuando llegó la fecha límite de los zapatos, todavía colapsó. Algunas UOT se apresuraron a escribir códigos gratuitos para los restantes con 20 años de anticipación, esto en su punto máximo dio un aumento en la carga en los servidores x40 veces. Este tipo de juegos, por supuesto, no serán en vano, porque el sistema es digital y, como dicen, “todos los movimientos quedan registrados”.



Desafortunadamente, los pioneros del marcaje también sufrieron, estas son las empresas que han estado en el piloto de marcaje desde el primer día, lo intentaron de buena fe, pero al final también pidieron un aplazamiento.



Hay que decir aquí que el sistema estatal no es un iPhone para causar deleite desde el primer día de rebajas. Y el propósito de su creación no fue recopilar me gusta de especialistas en TI o grabar reseñas de videos como "cuando salga, lo veré y decidiré por mí mismo si comprar".



Por alguna razón, la gente espera que desde el primer día el sistema funcione como si hubiera estado en producción durante 5 años.



En general, si esperas de acuerdo con esta lógica, cuando todo sea perfecto, entonces todo debería posponerse hasta el 2030, o mejor después de la conquista de Marte, sí.



Posición de los especialistas en TI



La posición de los especialistas en TI no es "a favor" o "en contra", sino "dar". Requiere que todos los cambios se anuncien con anticipación, requieren mejor documentación, más casos de prueba, sandboxes, menos restricciones.



En general, el proyecto tiene una gran cantidad de hardware y estándares internacionales diferentes, lo que solo trae dolor y sufrimiento a los especialistas en TI clásicos.



Los especialistas en TI son personas muy corrosivas e inteligentes, con su propia opinión sobre cualquier tema. Y no hay consenso sobre el etiquetado, salvo afirmaciones sobre la API, en general, no hay.



La API del sistema cambia con más frecuencia de lo que nos gustaría para un escenario de "hacer y olvidar". Pero al mismo tiempo, se considera que se deben agregar varios métodos a la API para trabajar con paquetes grupales (agregados), para autorización simplificada, etc., pero esto nuevamente significa cambiar la API.



Nosotros mismos somos especialistas en TI, y tenemos la misma posición doble en la que la API carece de métodos, pero la API cambia con demasiada frecuencia. Aquí, como dicen, "la bandera es racista, pero esta es nuestra historia ".



En general, la API debe mejorarse, pero es aconsejable advertir sobre esto con 1 o 2 meses de anticipación y dar tiempo a las personas para realizar cambios en sus sistemas. Y ese fue el momento en que hubo una versión más nueva de la API en el ciclo de combate de marcado de tabaco que en el ciclo de prueba.


Aspectos técnicos del marcado



Los problemas técnicos que enfrentan los profesionales de TI se reducen principalmente a la siguiente lista:



  • Preguntas de administrador de sistemas con UKEP, que fueron y serán mientras haya fragmentación por versiones de sistemas operativos y navegadores
  • Problemas de codificación que no se pueden resolver buscando en Google StackOverflow porque el sistema es nuevo y único a pesar del uso de software de código abierto
  • Preguntas de implementación, cuando las personas usan un "generador de códigos de barras en línea" o un "interruptor de teclado" y luego se preguntan por qué surgieron tonterías


Mira, aquí está Java y Reactive (RxJava), Spring e incluso Netflix:



imagen



para formarte tu propia opinión, puedes leer el chat de tecno en el carrito .



Autorización



La autorización en el IS MT se realiza en 2 etapas.



Primero, debe solicitar una determinada "clave" pseudoaleatoria, que debe firmarse y enviarse a la url "/ api / v3 / auth / cert /" (y en el momento de escribir este artículo, el final de la URL debe tener una barra inclinada "/", de lo contrario no funcionó, que parece extraño).



La obtención de la "clave" es la siguiente (hay que sustituir el host deseado, hay muchos diferentes, según sea sandbox o de combate, ropa u otra cosa):



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


Luego, debe firmar esta "clave" pseudoaleatoria utilizando el CEP seleccionado y enviarla al GIS MT para recibir un token de autorización en respuesta.



Para ello, buscamos un certificado CEP para una huella dactilar seleccionada por el usuario (certificateThumb). El certificado está en este caso en el "Personal" de la máquina local. Además, el contexto del certificado debe estar asociado con el almacén de pares de claves (dichos certificados están marcados con un icono de clave en la lista de certificados en el complemento de Windows):



imagen



Obtener un certificado en el código para generar una firma:



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;
}


Firmamos de esta manera:



//   
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();


Un mensaje CMS firmado (signo) es la firma de verificación que debe enviarse para autorización, después de convertirse al formato Base64.



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);


En respuesta, se recibe un token JWT , codificado en Base64.



Por cierto, los documentos a enviar se firman de la misma forma, solo se forma la denominada firma “separada”:



var signedCms = new SignedCms(content, true);


Clases auxiliares (con un esquema idéntico a los esquemas de documentos XSD de la API):



/// <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; }
}


Si lograste iniciar sesión, habrás completado una pequeña misión.



Problemas para generar y leer códigos de barras



El sistema de marcado se basa en estándares internacionales, a excepción de la parte con criptografía. Esto es excelente y encomiable.



Desafortunadamente, el especialista en TI promedio no lee ningún estándar, no estudia nada sobre nada, pero inmediatamente esculpe sus bicicletas a partir de componentes gratuitos sobre generación de códigos de barras, impresión, procesos comerciales, etc.



La primera dificultad es imprimir el código de barras de etiquetado en su diseño. "Honest Sign" ofrece una herramienta gratuita, pero nadie, por supuesto, comenzó a trabajar con ella, porque hay un "generador de códigos de barras en línea" y editores de informes integrados en 1C / SAP / NAV / DAX.



La emboscada es que el código de barras moderno no es solo una representación gráfica de símbolos (tendremos un artículo separado sobre esto). Por lo tanto, surgieron de inmediato los problemas de prefijos, separadores, codificaciones, caracteres no imprimibles obligatorios, etc., que nadie conocía y no quería entender.



Ejemplo con carácter especial GS (ASCII 29)



imagen



Ejemplo con carácter especial FNC1 (ASCII 232) Las



imagen



capturas de pantalla se toman de la aplicación Checkmark .



Aquí hay una parte del código fuente de Checkmark que analiza un código de barras escaneado por una cámara y analizado por nuestra plataforma:



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)
        {
            ... ( ..) ...


¿De dónde vienen los personajes especiales? Desde el estándar. "Honest Sign" hizo todo de acuerdo con el estándar, y los participantes en la rotación de mercancías también tuvieron que leer el estándar.



Por cierto: la verificación de la exactitud del contenido de DataMatrix solo se puede realizar escaneando con una cámara (incluso si escanea desde un TSD, necesita acceso a la cámara). Debido a que todos los lectores de códigos de barras, de acuerdo con el estándar, no deben devolver 1 en 1 lo que leen, al menos deben descartar el primer carácter FNC1 . En general, los escáneres pueden agregar o eliminar símbolos de códigos de barras importantes al escanear, reorganizar bloques en lugares, dependiendo de la configuración, todo esto interfiere con la verificación.



Porque Dado que la integración del sistema no se trata de programas, sino de personas y de cómo escriben y leen las especificaciones, la presencia de estos caracteres especiales generó inmediatamente un desacuerdo al intercambiar códigos de barras.



Por ejemplo, podrían, sin leer realmente las especificaciones, agregar una cadena de 4 caracteres “FNC1” al código de barras en lugar de un carácter ASCII 232 ( FNC1) . Y sin embargo, cuando se intercambian entre subsistemas, estos caracteres a menudo se filtran y se pierden, llegan a imprimirse sin tales caracteres, mientras que en los editores de texto ordinarios son especiales. los caracteres a menudo no se muestran y la gente se pregunta por qué algo anda mal si los códigos de barras coinciden.



Además, si no especifica el símbolo FNC1en el código de barras, es posible que algún hardware o software no entienda qué es y cómo desmontarlo, porque este símbolo al principio del código de barras solo indica que se trata de un formato GS1 DataMatrix.



Un ejemplo reciente con el que casi todo el mundo tropezó fue la aparición de paréntesis y signos de puntuación en el número de serie.



imagen



¿De dónde provienen los paréntesis y los signos de puntuación en el número de serie? ¡Fuera del estándar! El estándar GS1 permite su uso. Porque el número de serie tiene solo 13 caracteres, y hay muchos productos para marcar, debe usar todos los caracteres disponibles.



Lulzes separados - corchetes en el número de serie. Están permitidos allí por el estándar, pero nadie los esperaba. En la denominada notación legible por humanos (HID), los paréntesis tienen un significado especial: enmarcan los números de grupos de caracteres significativos. Por ejemplo, “(21)” significa que el número de serie irá más abajo en la línea.



Si es ingenuo pensar que el código de barras contiene solo una cadena de caracteres, entonces en la línea “(21) abcd12 (3) d (1, (91)”) el número de serie parece ser “abcd12”, y la parte sobre “(1,” parece ser un error en absoluto.



De hecho, el número de serie aquí es "abcd12 (3) d (1,", y después de la coma hay un símbolo GS ilegible ). Y el punto no es que el número de serie deba tener 13 caracteres (porque formalmente la longitud de la serie en GS1 DataMatrix puede ser diferente , y en neumáticos, por ejemplo, puede ser de 20 caracteres). El punto está precisamente en lo invisibleGS , que debe tenerse en cuenta y que no se muestra en los campos de ningún sistema de contabilidad, no se acepta para la entrada y generalmente está prohibido (y tampoco es visible en un Bloc de notas normal, no se muestra, necesita Notepad ++).



La presencia de tales caracteres especiales impone restricciones a la transmisión y almacenamiento de datos de códigos de barras; deben ser filtrados o codificados, por ejemplo, en Base64.



Por cierto: existe un estándar para almacenar y transmitir códigos de barras como una cadena (ISO / IEC 15424-2018), pero por alguna razón nadie lo usa. Los datos del código de barras GS1 DataMatrix almacenados como una cadena deben comenzar con “] d2”.



Ahora casi todo el mundo ha arreglado sus componentes de impresión de códigos de barras (probablemente). Pero, ¿quién lee los estándares de todos modos, verdad?



Para verificación, deberes:Aquí está el tema, que si el campo es de longitud fija, entonces GS no necesita ser insertado, pero si la longitud es variable y el valor del campo no es de la longitud máxima, entonces necesita insertar. De hecho, no es así como funciona esta regla. El carácter especial GS no se inserta solo si AI comienza con un par de dígitos de esta tabla:



imagen

Y en todos los demás casos se inserta. ¿El código de generación / análisis de códigos de barras funciona igual?



Otro problema es el escaneo del marcado del código de barras con herramientas más ligeras como el "escáner en la cuña del teclado". Antes del etiquetado, el mayor problema era que se cortaba o insertaba un cero extra en alguna parte. Con la introducción de nuevos códigos, las marcas de Lulz con escaneo se llevan a un nivel completamente nuevo.



A menudo, estos no son problemas del escáner en sí o de su configuración, sino problemas con la falta de experiencia y comprensión de los principios de los códigos de barras.



Por ejemplo, al conectar el escáner "a una cuña de teclado" (o al emular este modo), así como al conectar el escáner como un dispositivo HID, puede haber problemas para reemplazar algunos caracteres en un código de barras escaneado por otros o la desaparición de ciertos caracteres.



imagen

Esquema de conexión del escáner a la rotura del teclado



Al operar en los modos indicados, el escáner no transmite los caracteres del código de barras (¡sic!) A la computadora, sino los códigos de pulsaciones de teclas en el teclado, que tendrían que presionarse para escribir caracteres de este código de barras en el teclado.



Al mismo tiempo, es obvio que varios caracteres posibles pueden corresponder a una tecla del teclado a la vez, dependiendo del idioma de diseño y presionando las teclas modificadoras (Mayús, Bloq Mayús, Alt y Ctrl).



Por ejemplo, cuando presiona esta tecla en la parte inferior derecha del teclado:



imagen



El resultado puede ser cualquiera de los caracteres '?', '/', ',' O '.', Dependiendo del diseño seleccionado y el uso de las teclas modificadoras. El carácter específico que se ingresa está determinado por la configuración del teclado del sistema operativo y no por el escáner.



Es por esto que, en lugar de algunas publicaciones seriadas, otras completamente diferentes se abandonan en la caja, o no se encuentra el código.



Por cierto, estos problemas podrían haberse evitado si hubiera una suma de verificación en la serie, cuando el último dígito se puede usar para verificar si el código es correcto, si fue leído / ingresado correctamente. Para cuentas corrientes, TIN, números de tarjeta, para EAN13, en total, el último dígito es un monto de cheque para verificación para que personas y autos no cometan errores al ingresar.



imagen



Obviamente, aquí esperaban que DataMatrix se autocomprobara, además de que hubiera una cola criptográfica. Pero una cosa es el código de barras completo, autocomprobación, y otra cosa es un fragmento de código con una serie, que podría haberse ingresado desde el teclado.



La llamada "cola criptográfica" provocó controversias separadas entre los especialistas en TI.



"Cryptotail" es una parte necesaria del código de barras de marcado, gracias a la cual es posible verificar con una llave simétrica que el número de serie del artículo no ha sido succionado del dedo.



imagen



La cola criptográfica está solo en el código de barras y no se almacena en la base de datos de marcado para que ningún pirata informático pueda romper la base de datos e imprimir los códigos de barras de otras personas.



Aquellos. se trata de una especie de firma digital. Pero desde el código de barras no es de goma, pero hay muchos bienes, la longitud de esta firma digital es corta, lo que no permite utilizar claves de cifrado abiertas a todo el mundo.



Por supuesto, todos los números de serie están en la base de datos de marcado, pero si lo verifica en línea, con cualquier caída en Internet, todos los almacenes y tiendas se levantarán de inmediato.



Cryptotail está destinado a resolver este problema, pero hasta ahora (para el verano de 2020) no ha comenzado a funcionar con toda su fuerza.



El hecho es que la criptografía es rusa y está ligada al hardware. Pero todavía no hay alternativa a la cripta rusa, el sistema estatal ruso no puede usar una cripta extranjera, será un agujero . Por tanto, tendrás que aguantar el ruso, es razonable y no difícil.



En general, la criptografía es un tema muy complejo. Hay mucha información y es muy difícil encontrar una descripción de cómo firmar o encriptar datos en un caso particular.


Todos los que intentaron integrarse con la API de etiquetado se enfrentaron a esto. Hubo muchas preguntas en los chats como "¿Por qué no iniciar sesión?", "¿Cómo firmar?", "¡Comparte un ejemplo!", "Se generó la firma pero se produjo un rechazo, ¿por qué?" y muchos otros.



La mayoría de las veces, los errores eran comunes. Por ejemplo, luego de la firma, se cambiaron los datos, o se perdió un espacio o un carácter insignificante de alguna manera, pero esto es crítico para la firma, y ​​luego de enviarlo a la API, se recibió un rechazo sin explicación, porque la firma no ha sido verificada.



Afortunadamente, en los chats, la mayoría de las veces ayudaron y respondieron tales preguntas. En general, todos estos problemas se están tratando o ya se han curado para el 1 de julio de 2020.



“ ” 1 2020 - , , . , .





En Cleverance, creemos que los problemas de software no son lo principal. Peor aún, los participantes en la circulación de mercancías aún no comprenden la esencia de los cambios. Este es un problema mucho mayor que los errores de software.



La gente trata el etiquetado como otro informe contable que puede compilarse mientras está sentado frente a una computadora en 1C / SAP / NAV / DAX, corregido, cambiado retroactivamente, etc. El tipo será utilizado por contables y logísticos, y los especialistas en TI tendrán que "cortar" los módulos y procesos necesarios para ello.



La solicitud principal de nuestros clientes es que el almacén / chino / tetyamasha escanee algo y luego lo cargue “correctamente” en 1C / SAP / NAV / DAX. Y lo estamos haciendo con éxito.



Pero este es un error obvio, que se revelará cuando las empresas comiencen a equilibrar los saldos entre sí y el estado comience a estar bien.



¿Cuál es el sistema de marcado real?



El etiquetado de productos es un sistema para reflejar movimientos reales.



Problemas reales de etiquetado



Esto es puramente nuestro en mi humilde opinión.



Todos los problemas reales del autómata surgen de lo que realmente es el sistema de marcado, es decir, un sistema de reflejar movimientos reales.



Primero, la contabilidad real de los movimientos contradice los principios actuales de contabilidad a lo largo de toda la cadena, cuando todo se contabiliza por SKU, por lote o por promedio. Retrospectivamente, reducir y corregir es nuestro todo.



El sistema de contabilidad en cualquier empresa es un cuento de hadas peinado y corregido sobre lo bien que resultó todo después de 100.500 llamadas, correcciones, reenvío y limpieza de errores.



En una de las reuniones prolongadas en un gran distribuidor extranjero de medicamentos, solo después de una hora de discusión, el jefe de logística finalmente puso los ojos en blanco y dijo: "¿Es este un código de barras diferente para cada paquete?". Y las palabras "único", "número de serie", "cada copia", "escanear todo", etc., aparentemente pasaron volando.



En segundo lugar, la contabilidad real de los movimientos es contraria a las prácticas comerciales actuales y los principios de separación de intereses.



Incluso si la empresa es grande y el empleado no tiene derecho a editar algunos documentos, hay un número de teléfono, puede llamar o escribir a alguien que pueda corregirlo.



O, por ejemplo, los documentos son firmados por el CEP del director por algún empleado de base, y si hay autenticación de dos factores, a través de SMS. El sistema de etiquetado tiene un bloque sobre los usuarios y sus derechos, puede darles a todos CEP separados, pero la gente no tiene prisa por hacer esto.



Este es un problema claro que se resolverá proporcionando cada vez más derechos y herramientas de contabilidad a los empleados comunes que están justo al lado del producto etiquetado.



Además, las reglas para calcular el precio de costo o contabilizar los movimientos en el sistema contable se basan en promedios y simplificaciones como FIFO / LIFO y el precio promedio. Y esos principios contables que se han aplicado en todas partes durante décadas, desde la producción hasta el comercio minorista, se basan en estas simplificaciones y van en contra de la trazabilidad real de unidades únicas.



Debido a esto, en la práctica, resulta, por ejemplo, que las mercancías se envían al sistema de marcado por FIFO / LIFO, pero lo que realmente se envió es lo que estaba más cerca de la salida.



Esto también se resuelve con equipos y software especiales para empleados comunes que, por la naturaleza de su trabajo, no pueden sentarse frente a la computadora.



Otro problema es un intento de "atraer a un búho en el mundo" e insertar códigos de marcado en todos los documentos ERP estándar para que un contador, un logista o un gerente responsable pueda verlos allí.



Aunque no tiene nada por lo que mirarlos, no puede hacer nada con ellos.



De hecho, bueno, como contador o gerente, mirando el monitor, puede entender que escaneó el almacén allí ayer, y ¿por qué hay discrepancias resaltadas en rojo en tres cosas de miles de cigarrillos?



Esto también se resuelve con herramientas para personal de base con acceso a toda la información necesaria.



Bueno eso es estos no son problemas técnicos de algunos sistemas, que en general ya han sido corregidos para el 1 de julio de 2020, sino problemas de reestructuración del trabajo de las empresas en una nueva vía.


conclusiones



La principal ventaja del etiquetado es que el estado obligó a todos a digitalizar y cambiar a EDF con firmas digitales y criptografía.



“La marea sube a todos los barcos”, y la transición de todo el mercado a rieles comunes tiene un gran efecto de sinergia.



¡Feliz automatización a todos!



All Articles