Anexo 20 version 3.3 y Recepción de pagos

CFDI's con el complemento Recepcion de Pagos y/o de tipo Egreso (Nota de Credito)
maildejuan
Mensajes: 68
Registrado: Mar Feb 18, 2014 9:09 am

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor maildejuan » Mié Ene 25, 2017 10:17 am

tengo entendido que si se debe incluir el qr en la representación impresa, y de hecho la información que va a contener es un poco diferente a la información de los qr de los CFDis 3.2 ...

Captura.PNG
Captura.PNG (94.03 KiB) Visto 7881 veces

yopo
Mensajes: 6
Registrado: Mié Feb 01, 2017 4:54 pm

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor yopo » Mié Feb 01, 2017 5:30 pm

shakira escribió:Aver si no me salgo del tema pero tengo una pregunta que hacer ¿es viable generar la clase con xsd.exe del cfdv33.xsd? Lo que pasa es que pide a catCFDI.xsd y tdCFDI.xsd y termina siendo una motrucidad, lo digo por las pcs de poco desempeño. ¿Que recomiendan?


Hola!

Disculpen que "reviva" este tema pero no pude publicar en el foro de Visual Basic (me dice que está cerrado y soy nuevo en estos foros y tal vez es por eso que no supe que hacer.)

Quisiera saber si alguien ha podido convertir el o los XSD's (cfdv33.xsd + tdCFDI.xsd + catCFDI) en una clase con la herramienta XSD.exe de Visual Studio.
Hasta la versión 3.2 del CFDI si pude sin problemas y ahora con esta nueva versión, no puedo generar la clase con esta herramienta porque los tipos de datos simples están definidos en 2 xsd's adicionales y no sé como ejecutar el comando correctamente.
Intenté con de las siguientes formas y no me funcionó:

Solo 1 xsd:
xsd cfdv33.xsd /c /l:VB

pasando el archivo de los tipos simples:
xsd cfdv33.xsd /c /l:VB /p:tdCFDI.xsd

de ninguna de las 2 formas pude hacer la conversión. Intenté incluso colocar el contenido de los 2 archivos adicionales dentro de cfdv33.xsd y me marca un error que dice "SimpleType" está duplicado.

También les comento que al intentar compilar la hoja de estilo (XSLT) para generar la cadena original de esta versión 3.3 tampoco pude. Me marca error el compilador (XSLTC.exe de visual studio).

¿Hay alguien que me pueda ayudar con estos 2 casos?

Gracias de antemano.

Avatar de Usuario
Dado
Mensajes: 15824
Registrado: Mar Jul 06, 2010 8:56 pm

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor Dado » Mié Feb 01, 2017 5:40 pm

@yopo

Te paso un mal consejo........edita el cfdv33.xsd y cambia el tipo de dato de complejo a un simple xs:string

Y es que los tipo de dato complejo solo sirven para validar, por ejemplo validar que el RFC sea de 12 o trece digitos, que el codigo postal sea de 5 digitos y este dentro de una lista definida, pero si conviertes a simples string entonces puedes compilar el XSD sin problema
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

yopo
Mensajes: 6
Registrado: Mié Feb 01, 2017 4:54 pm

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor yopo » Mié Feb 01, 2017 5:56 pm

Hola Dado!

Gracias por contestar.

Como bien díces, es un "mal consejo" ya que, me interesa que se haga la conversión de manera correcta, porque por ejemplo, cuando en la línea 592 de cfdiv33.xsd dice lo siguiente:

Código: Seleccionar todo

<xs:attribute name="Fecha" use="required" type="tdCFDI:t_FechaH">


Se refiere al tipo simple definido en tdCFDI.xsd, el cual se define de la siguiente forma:

Código: Seleccionar todo

<xs:simpleType name="t_FechaH">
    <xs:annotation>
      <xs:documentation>Tipo definido para la expresión de la fecha y hora. Se expresa en la forma AAAA-MM-DDThh:mm:ss</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:dateTime">
      <xs:whiteSpace value="collapse"/>
      <xs:pattern value="(20[1-9][0-9])-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])"/>
    </xs:restriction>
  </xs:simpleType>


De que me sirve generar la clase con los atributos en "String", si la manera correcta es con el atributo en tipo "Date" de tal manera que las validaciones se hagan casi automáticamente además de que al "Serializar" el CFDI para generar la cadena original el tipo de dato debe ser el correcto.

Si lo hago como me dices, tendría que editar la clase después a mano para que concuerde con el esquema y me sale casi igual que hacerlo manualmente desde el principio y con mucho margen de error.

Saludos...

spaniaguag
Mensajes: 137
Registrado: Vie Oct 08, 2010 4:12 pm

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor spaniaguag » Mié Feb 01, 2017 6:11 pm

El comando es el siguiente:

xsd.exe /c /l:VB tdcfdi.xsd catcfdi.xsd cfdv33.xsd

El sistema te genera el archivo de clases con el nombre de los archivos mencionados con este comando. El archivo resultante sera: tdcfdi_catcfdi_cfdv33.vb

yopo
Mensajes: 6
Registrado: Mié Feb 01, 2017 4:54 pm

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor yopo » Mié Feb 01, 2017 6:24 pm

spaniaguag escribió:El comando es el siguiente:

xsd.exe /c /l:VB tdcfdi.xsd catcfdi.xsd cfdv33.xsd

El sistema te genera el archivo de clases con el nombre de los archivos mencionados con este comando. El archivo resultante sera: tdcfdi_catcfdi_cfdv33.vb


¡Gracias spaniaguag!

Funciona a la perfección. Ojalá supieras también sobre el comando del compilador de estilos (xsltc.exe) para generar una DLL y con ella mejorar el rendimiento al pasar el xml a cadena original.

Saludos y muchas gracias de nuevo.

spaniaguag
Mensajes: 137
Registrado: Vie Oct 08, 2010 4:12 pm

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor spaniaguag » Mié Feb 01, 2017 8:58 pm

Copia xsltc.exe al directorio donde están los xslt
y lo ejecutas indicando el archivo deseado por ejemplo: xsltc.exe cadenaoriginal_3_2.xslt
y te crea: cadenaoriginal_3_2.dll

yopo
Mensajes: 6
Registrado: Mié Feb 01, 2017 4:54 pm

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor yopo » Jue Feb 02, 2017 10:28 am

spaniaguag escribió:Copia xsltc.exe al directorio donde están los xslt
y lo ejecutas indicando el archivo deseado por ejemplo: xsltc.exe cadenaoriginal_3_2.xslt
y te crea: cadenaoriginal_3_2.dll


Hola!

Gracias por contestar. Eso ya lo hice previamente (no soy tan menso jajajaja), pero el compilador me devuelve el siguiente error:

"cadenaoriginal_3_3.xslt(52,82) : fatal error : The remote server returned an error: (404) Not Found"


Supuse que lo que aparece entre paréntesis junto al nombre del archivo en el mensaje de error, es la línea donde se encuentra dicho error (valga la redundancia) así que, consulté la URL que viene en esa línea, la cual dice lo siguiente:

Código: Seleccionar todo

<xsl:include href="http://www.sat.gob.mx/sitio_internet/cfd/pagos/Pagos.xslt"/>


y efectivamente, no me despliega la hoja de estilo de los Pagos (Pagos.xslt). Quizá los del SAT aún no la ponen o a lo mejor está mal la URL.

Esta otra línea también falla (la línea 53):

Código: Seleccionar todo

<xsl:include href="http://www.sat.gob.mx/sitio_internet/cfd/ComercioExterior/ComercioExterior11.xslt"/>


Es difícil trabajar así (con un archivo con errores), porque aunque no compile el XSLT de esta forma, cuando se aplique el "Transform" en el código del programa para generar la cadena original, va a "tronar" igualmente, porque seguirá sin encontrar nada en dichas URL's y ahí me va a atorar el trabajo.

Afortunadamente, ya compilé el XSLT sin éstas 2 líneas, y se me generó la DLL, pero pues me queda la librería "mocha" porque me falta la inclusión de esos 2 archivos. No sé como lo resolviste tú o alguien más. Por lo pronto trabajaré así esperando que más adelante se resuelva lo de esas URL's.

Saludos y muchas gracias por tu ayuda...

Avatar de Usuario
ramonzea
Mensajes: 167
Registrado: Mié Sep 15, 2010 1:23 am

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor ramonzea » Jue Feb 02, 2017 10:52 am

Para generar la cadena de la 3.3 aún no funciona, por lo que he notado y al querer accesar a la url del error, regresa error de url no encontrada.

Saludos.

jerryeagle
Mensajes: 19
Registrado: Vie Mar 16, 2012 7:14 am

Re: Anexo 20 version 3.3 y Recepción de pagos

Mensajepor jerryeagle » Lun Feb 06, 2017 3:49 pm

Para generar la Cadena Original correctamente, hay que modificar el archivo cadenaoriginal_3_3.xslt y todos los "include" ponerlos como "locales", algo asi:

Original:
<xsl:include href="http://www.sat.gob.mx/sitio_internet/cfd/ecc/ecc.xslt"/>

Cada uno debe quedar asi:
<xsl:include href="ecc.xslt"/>

Osea eliminar toda la dirección hasta la última "/"

Y ademas debes bajar todos los archivos xslt y ponerlos en la misma carpeta donde está el cadenaoriginal_3_3.xslt

Además el Pagos.xslt según yo debe ser Pagos10.xslt
http://www.sat.gob.mx/informacion_fisca ... pagos.aspx


Volver a “Recepcion de Pagos y Notas de Credito”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados