martes, 4 de octubre de 2016

Chat uno a uno del SAT



El día 30 de septiembre de 2016 el tres veces heroico cuerpo de desarrollo de la Secretaría de Administración Tributaria (o uno de sus fabulosísimos proveedores) liberó la versión 1.2 del esquema para el complemento de Nómina.

Inmediatamente tuvimos que ponernos manos a la obra para poder comenzar a trabajar en los ajustes necesarios en los sistemas para poder generar XML que respeten ese esquema en enero de 2017, y... ¡oh sorpresa!, ¡lo que esperaba!, le encontramos un error (no sé cuántos vaya a tener)

Fíjense cómo está el texto que acompaña al atributo "CuentaBancaria" del nodo "Receptor":

"Atributo condicional para la expresión de la cuenta bancaria a 11 posiciones o número de teléfono celular a 10 posiciones o número de tarjeta de crédito, débito o servicios a 15 ó 16 posiciones o la CLABE a 18 posiciones o número de monedero electrónico, donde se realiza el depósito de nómina."

Siendo que el número más grande que aparece en la documentación es de 18 posiciones, entonces te esperas una expresión regular más o menos así: "\d{10,18}", y sí, nos encontramos con algo así:

<xs:simpleType name="t_CuentaBancaria">
  <xs:annotation>
    <xs:documentation>Tipo definido para expresar la cuenta bancarizada.</xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:int">
    <xs:whiteSpace value="collapse"/>
    <xs:pattern value="[0-9]{10,18}"/>
  </xs:restriction>
</xs:simpleType>

Después de notar que el valor máximo que soportaría es de 2147483647, realizamos una conexión para hacerle saber al heorico equipo de soporte técnico del SAT lo que estaba pasando.    Y, como dijera la canción que cantaban Alberto Vázquez y Joan Sebastian, "esto fue lo que sucedió".



Para el equipo de soporte técnico en el chat uno a uno del SAT el problema es de los bancos, supongo que es culpa de los bancos que hayan hecho la CLABE de 18 dígitos, inclusive también sería culpa de los bancos por hacer que los números de tarjeta sean de 15 o 16 dígitos.

No es triste que la gente que trabaja ahí no tenga capacidad cerebral para identificar que le está siendo reportado algo que está fuera de su alcance, lo triste es que se monten en su caballo de que la culpa es de todos menos de ellos y que su pequeño conjunto de neuronas les permita tener un sueldo para cobrar por no trabajar.

Esperemos algún día (antes del 1 de enero de 2017) el brillante equipo de desarrollo del SAT, o de su proveedor, se den cuenta del error y lo corrijan.    A menos que lo hayan hecho con la intención de que esté mal y así dar prórroga hasta junio de 2017... lo cual también es probable.