Problemas con la poliza de COI

1,694 views
Skip to first unread message

IRCSAsw

unread,
Dec 22, 2010, 1:31:41 PM12/22/10
to vfp-factura-ele...@googlegroups.com
Hola!!

Estoy haciendo para un cliente que cada comprobante genere el archivo .POL para importar a COI, me estoy basando en esto:

http://www2.aspel.com.mx/mx/foros.exe/MuestraTema?f=2&IdTema=82196&s=0&idsa=

En el punto número 3 dice guardar la póliza como poliza.pol y tipo (*.prn), a que se refiere eso de *.prn ??

Lo estoy mandando como texto plano pero me marca erro al abrirla con COI.

Por otro lado encontré un archivo de Excel (adjunto)  que tiene una macro que crea el .pol según los datos que pongas en la hoja, genero el .pol pero también me manda un error en "monto" al abrirlo con COI, no se a que se refiere !!

Alguien hace o ha hecho pólizas para importar a COI ??

Alguien que tenga COI que me pueda ayudar a hacer pruebas ??

Alguien que sepa como hacer el .pol ?  .... lei que COI soporta para importar un formato en .XML, Alguien ???

Saludos.

Arturo Ramos
www.ircsasoftware.com.mx
Cancún, México.
Generador de Polizas Modelo.7z

Hugo Carlos Aguilar Zapata

unread,
Dec 22, 2010, 2:38:59 PM12/22/10
to vfp-factura-ele...@googlegroups.com
hice un programa, o mas bien un fomrulario detro del programa para generar archivos Pol
que se importan en COI de ASPEL

pongo el codigo esperando y te sirva, esta ajustado a unsistema de control de obra, no es para FE pero genera el archivo para aspel y lo importa OK,


Pego el metodo del FORM tal cual y adjuto archivos POL generados
A ver si se entiende

Procedure Genera_poliza
DELETE FILE this.txt_nombrepol.Value + ".POL"
IF FILE(this.txt_nombrepol.Value + ".POL")
    GnErrfile = FOPEN(this.txt_nombrepol.Value + ".POL",12)
ELSE
    GnErrfile = FCREATE(this.txt_nombrepol.Value + ".POL")   
    IF GnErrfile < 0
        MESSAGEBOX("No se puede crear el archivo, intente otra vez",0+48,"Atención")
        RETURN
    ELSE
        lstrfac = ""
        IF this.chkpol.Value = 1
            lstrfac = "facturas.fecha = this.txt_fecha.Value"
        ENDIF
        IF this.chkpol.Value = 0
            lstrfac = "allt(facturas.numero) == ALLTRIM(this.txt_factura.value)"
        ENDIF   
        =FPUTS(GnErrfile,"Dr")
        =FPUTS(GnErrfile,IIF(LEN(ALLTRIM(STR(foliosp.folio)))<2, ;
            "0" + ALLTRIM(STR(foliosp.folio)), ;
            ALLTRIM(STR(foliosp.folio))))
       
*        =FPUTS(GnErrfile,IIF(LEN(ALLTRIM(STR(DAY(this.txt_fecha.value))))<2, ;
            "0" + ALLTRIM(STR(DAY(this.txt_fecha.value))), ;
            ALLTRIM(STR(DAY(this.txt_fecha.value)))))
        =FPUTS(GnErrfile,"COMPRA DE MATERIALES " + ALLTRIM(STR(DAY(this.txt_fecha.value))) + ;
            " DE " + SUBSTR(CMONTH(this.txt_fecha.value),1,3))
        =FPUTS(GnErrfile,"      ")   
       
        SELECT facturas
        SCAN FOR &lstrfac
        *facturas.fecha = this.txt_fecha.Value   
            SELECT casasdetmat
            IF this.op1.Value = 1
                SCAN FOR ALLTRIM(casasdetmat.refe) == ALLTRIM(facturas.numero)
                    SELECT manzanascc
                    SET ORDER TO manzana
                    SEEK(ALLTRIM(casasdetmat.manzana))
                    =FPUTS(GnErrfile,SUBSTR(ALLTRIM(manzanascc.cuentacont),1,6) + PADL(ALLTRIM(casasdetmat.lote),4,"0"))
                    =FPUTS(GnErrfile,"F/" + ALLTRIM(casasdetmat.refe) + " " + ALLTRIM(casasdetmat.descripm))
                    =FPUTS(GnErrfile,STR(casasdetmat.total,13,2))
                    SET ORDER TO
                ENDSCAN
                *=FPUTS(GnErrfile,"1191010001")
                =FPUTS(GnErrfile,ALLTRIM(this.cbocuentac.Value))
                =FPUTS(GnErrfile,"F/" + ALLTRIM(facturas.numero) + " THE HOME MARKET FERRETERIAS SA DE CV")
                *=FPUTS(GnErrfile,STR((facturas.importe*.10),13,2))
                =FPUTS(GnErrfile,STR((facturas.importe*ROUND((param.poriva/100),2)),13,2))
                =FPUTS(GnErrfile,"2110111001")
                =FPUTS(GnErrfile,"F/" + ALLTRIM(facturas.numero) + " THE HOME MARKET FERRETERIAS SA DE CV")
                =FPUTS(GnErrfile,"")           
                *=FPUTS(GnErrfile,STR((facturas.importe + (facturas.importe*.10)),13,2))           
                =FPUTS(GnErrfile,STR((facturas.importe + (facturas.importe*ROUND((param.poriva/100),2))),13,2))                                   
            ENDIF

            IF this.op1.Value = 2
                SELECT refe FROM casasdetmat WHERE ;
                    ALLTRIM(casasdetmat.refe) == ALLTRIM(facturas.numero) ;
                    INTO CURSOR curtotfac
                IF _tally > 0
                    SELECT casasdetmat
                    SCAN FOR ALLTRIM(casasdetmat.refe) == ALLTRIM(facturas.numero)
                        SELECT manzanascc
                        SET ORDER TO manzana
                        SEEK(ALLTRIM(casasdetmat.manzana))
                        =FPUTS(GnErrfile,SUBSTR(ALLTRIM(manzanascc.cuentacont),1,6) + PADL(ALLTRIM(casasdetmat.lote),4,"0"))
                        =FPUTS(GnErrfile,"F/" + ALLTRIM(casasdetmat.refe) + " " + ALLTRIM(casasdetmat.descripm))
                        =FPUTS(GnErrfile,STR(casasdetmat.total,13,2))
                        SET ORDER TO
                    ENDSCAN
                    *=FPUTS(GnErrfile,"1191010001")
                    =FPUTS(GnErrfile,ALLTRIM(this.cbocuentac.Value))                   
                    =FPUTS(GnErrfile,"F/" + ALLTRIM(facturas.numero) + " THE HOME MARKET FERRETERIAS SA DE CV")
                    *=FPUTS(GnErrfile,STR((facturas.importe*.10),13,2))
                    =FPUTS(GnErrfile,STR((facturas.importe*ROUND((param.poriva/100),2)),13,2))
                    =FPUTS(GnErrfile,"2110111001")
                    =FPUTS(GnErrfile,"F/" + ALLTRIM(facturas.numero) + " THE HOME MARKET FERRETERIAS SA DE CV")
                    =FPUTS(GnErrfile,"")           
                    *=FPUTS(GnErrfile,STR((facturas.importe + (facturas.importe*.10)),13,2))                   
                    =FPUTS(GnErrfile,STR((facturas.importe + (facturas.importe*ROUND((param.poriva/100),2))),13,2))                                       
                ENDIF
            ENDIF

            IF this.op1.Value = 3
                SELECT refe FROM casasdetmat WHERE ;
                    ALLTRIM(casasdetmat.refe) == ALLTRIM(facturas.numero) ;
                    INTO CURSOR curtotfac
                IF _tally < 1 OR ISNULL(curtotfac.refe)
                    SELECT casasdetmat
                    *=FPUTS(GnErrfile,"1191010001")
                    =FPUTS(GnErrfile,ALLTRIM(this.cbocuentac.Value))                   
                    =FPUTS(GnErrfile,"F/" + ALLTRIM(facturas.numero) + " THE HOME MARKET FERRETERIAS SA DE CV")
                    *=FPUTS(GnErrfile,STR((facturas.importe*.10),13,2))
                    =FPUTS(GnErrfile,STR((facturas.importe*ROUND((param.poriva/100),2)),13,2))
                    =FPUTS(GnErrfile,"2110111001")
                    =FPUTS(GnErrfile,"F/" + ALLTRIM(facturas.numero) + " THE HOME MARKET FERRETERIAS SA DE CV")
                    =FPUTS(GnErrfile,"")           
                    *=FPUTS(GnErrfile,STR((facturas.importe + (facturas.importe*.10)),13,2))                   
                    =FPUTS(GnErrfile,STR((facturas.importe + (facturas.importe*ROUND((param.poriva/100),2))),13,2))                   
                ENDIF
            ENDIF
                       
        ENDSCAN
        = FPUTS(GnErrfile,"FIN")
    ENDIF    
ENDIF 
=FCLOSE(GnErrfile)
MESSAGEBOX("ARCHIVO CONCLUIDO",0+64,"ARCHIVO POLIZAS")
COPY FILE (this.txt_nombrepol.Value + ".POL") TO (ADDBS(this.txtDataPath.Value) + ALLTRIM(this.txt_nombrepol.Value) + ".POL")
SELECT foliosp
SET ORDER TO FOLIOSP   && ALLTRIM(STR(EJERCICIO))+ALLTRIM(STR(PERIODO))
SEEK(ALLTRIM(STR(YEAR(this.txt_fecha.Value)))+ALLTRIM(STR(MONTH(this.txt_fecha.Value))))
replace foliosp.folio WITH foliosp.folio + 1
endproc




--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/vfp-factura-electronica-mexico?hl=es.

364.gif
POLIZAS.rar

IRCSAsw

unread,
Dec 22, 2010, 3:52:54 PM12/22/10
to vfp-factura-ele...@googlegroups.com
Gracias Hugo,

Lo que veo es que lo haces con el esquema que dan en COI, algo especial al crear el archivo ??
Tendras la plantilla en la que te baseste ??

Desde COI se crea una "poliza_modelo" te la manda a un archivo .pol pero dentro va un formato tipo XML; creo que lo más fácil es decirle al conta que cree la póliza_modelo y cada que requiera hacer una póliza desde el sistema, cargo a memoria la póliza_modelo, reemplazo los valores que cambian y creo el archivo un con la misma estructura.

Por ejemplo en la póliza_modelo está así:
<ROWPartidas Cuenta="600002600000000000002" Depto="0" ConceptoPol="Papelería" Monto="100" TipoCambio="1" DebeHaber="D"/>

Lo cambio así:
<ROWPartidas Cuenta="600002600000000000002" Depto="0" ConceptoPol="Papelería" Monto="XXXXX" TipoCambio="1" DebeHaber="D"/>
pongo XXXXX para este valor que cambia

Al cargar en la memoria reemplazo "XXXXX" por el monto "100", así para todos los datos variables y guardo en un archivo .pol diferente....

como vez ??, que opinan ??

Hugo Carlos Aguilar Zapata

unread,
Dec 22, 2010, 5:54:28 PM12/22/10
to vfp-factura-ele...@googlegroups.com
De hecho la generé basado en una poliza de diario ya capturada, porque asi la necesitaban, como dices se exporto la poliza del COI, aunque no recuerdo si tambien se generaba como XML, de hecho viendo la fecha de las que mande son de 2009, no se si laversion del programa, aun no integraba XML como formato para archivo de intercambio.

Y bueno lo especial de generarla asi fue porque en esa ocasion encontre la misma información que tu, usar el archivo de excel, pero también marcaba error al tratarla de importarla en COI

Saludos !


--

rotsen

unread,
Oct 14, 2013, 11:41:11 AM10/14/13
to vfp-factura-ele...@googlegroups.com
hola Arturo, yo también estoy haciendo pruebas de vfp al COI, ya puedo agregar la poliza con sus respectivas partidas dependiendo el mes, pero sabes si hay alguna forma de que desde COI se pueda actualizar los acumulables o también se tienen que modificar? saludos.

Arturo Ramos

unread,
Oct 14, 2013, 11:45:24 PM10/14/13
to vfp-factura-ele...@googlegroups.com
Hola @rotsen, ni idea de lo que me preguntas, todo esto del COI surge de la "idea" del SAT de que al usar CFD contabilices en línea al generar pero nunca le di seguimiento a esto. Lo siento.

Saludos.

Arturo Ramos
Cancún, México

rotsen

unread,
Oct 16, 2013, 12:53:15 PM10/16/13
to vfp-factura-ele...@googlegroups.com
gracias de todos modos, seguiré buscando la solución.

Octavio Bello

unread,
Mar 16, 2019, 3:22:47 PM3/16/19
to vfp-factura-electronica-mexico
Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-electronica-mex...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a vfp-factura-electronica-mexico+unsubscribe@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/vfp-factura-electronica-mexico?hl=es.
PUEDO ENVIAR ARCHIVO EXCEL, PARA HACER UN LEYOUT, EN EXCEL, PARA CARGAR MAS DE 100 POLIZAS.  

Eduardo perez schmidt

unread,
Mar 18, 2019, 8:10:02 PM3/18/19
to vfp-factura-ele...@googlegroups.com
Hola. Los archivos .Pol son archivos xml. Llevan una encabezado, un detalle y otro por decirlo así pie.
Lo que hice fue generar archivos de texto. Uno para cada parte del archivo. te comparto el codigo.

El detalle de la poliza va en este archivo de texto (detalle_poliza.txt) 

<ROWPartidas Cuenta="xcuenta" Depto="0" ConceptoPol="xconceptopol" Monto="xmonto" TipoCambio="xtc" DebeHaber="D" IDUUID="1"><CDSPartidasUUID><ROWCDSPartidasUUID NUMREG="xnumreg" UUIDTIMBRE="xuuidtimbre" MONTO="xmonto" SERIE="xserie" FOLIO="xfolio" RFCEMISOR="xrfc_e" RFCRECEPTOR="xrfc_r" FECHAUUID="xfechauuid"/></CDSPartidasUUID></ROWPartidas>

Debiendo sustituir los datos con comillas con los datos de tu base de datos o los datos seleccionados. El depto no es importante a menos que lo quieras poner. esto lo debes hacer para cada factura quq quiersa subir a la póliza.

El encabezado va como sigue:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  <DATAPACKET Version="2.0"><METADATA><FIELDS><FIELD attrname="VersionCOI" fieldtype="i2"/><FIELD attrname="TipoPoliz" fieldtype="string" WIDTH="5"/><FIELD attrname="DiaPoliz" fieldtype="string" WIDTH="2"/><FIELD attrname="ConcepPoliz" fieldtype="string" WIDTH="120"/><FIELD attrname="UUID" fieldtype="string" WIDTH="100"/><FIELD attrname="Partidas" fieldtype="nested"><FIELDS><FIELD attrname="Cuenta" fieldtype="string" WIDTH="21"/><FIELD attrname="Depto" fieldtype="i4"/><FIELD attrname="ConceptoPol" fieldtype="string" WIDTH="120"/><FIELD attrname="Monto" fieldtype="r8"/><FIELD attrname="TipoCambio" fieldtype="r8"/><FIELD attrname="DebeHaber" fieldtype="string" WIDTH="1"/><FIELD attrname="ccostos" fieldtype="i4"/><FIELD attrname="proyectos" fieldtype="i4"/><FIELD attrname="Porcentaje" fieldtype="r8"/><FIELD attrname="FRMPAGO" fieldtype="string" WIDTH="1"/><FIELD attrname="NUMCHEQUE" fieldtype="string" WIDTH="20"/><FIELD attrname="MONTOBN" fieldtype="r8"/><FIELD attrname="BANCO" fieldtype="i4"/><FIELD attrname="CTAORIG" fieldtype="string" WIDTH="50"/><FIELD attrname="BENEF" fieldtype="string" WIDTH="300"/><FIELD attrname="RFC" fieldtype="string" WIDTH="13"/><FIELD attrname="BANCODEST" fieldtype="i4"/><FIELD attrname="CTADEST" fieldtype="string" WIDTH="50"/><FIELD attrname="FECHACHEQUE" fieldtype="string" WIDTH="10"/><FIELD attrname="IDUUID" fieldtype="i4"/><FIELD attrname="CDSPartidasUUID" fieldtype="nested"><FIELDS><FIELD attrname="NUMREG" fieldtype="i4"/><FIELD attrname="UUIDTIMBRE" fieldtype="string" WIDTH="36"/><FIELD attrname="MONTO" fieldtype="r8"/><FIELD attrname="SERIE" fieldtype="string" WIDTH="100"/><FIELD attrname="FOLIO" fieldtype="string" WIDTH="100"/><FIELD attrname="RFCEMISOR" fieldtype="string" WIDTH="16"/><FIELD attrname="RFCRECEPTOR" fieldtype="string" WIDTH="16"/><FIELD attrname="FECHAUUID" fieldtype="string" WIDTH="10"/></FIELDS><PARAMS/></FIELD></FIELDS><PARAMS/></FIELD></FIELDS><PARAMS/></METADATA><ROWDATA><ROW VersionCOI="701" TipoPoliz="Dr" DiaPoliz="xdia" ConcepPoliz="xconcepto"><Partidas>

Aqui solamente sustituye el dato de concepto (xconcepto) y  dia (xdia), los demás son informativos para coi

Te comparto el código, aqui va el formulario y vas a ver una carpeta que se llama textos, ahi están los archivos que mencione arriba
Espero te sirva.








El sáb., mar. 16, 2019 1:22 PM, Octavio Bello <
Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/vfp-factura-electronica-mexico?hl=es.
PUEDO ENVIAR ARCHIVO EXCEL, PARA HACER UN LEYOUT, EN EXCEL, PARA CARGAR MAS DE 100 POLIZAS.  

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/vfp-factura-electronica-mexico.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/vfp-factura-electronica-mexico?hl=es.
PUEDO ENVIAR ARCHIVO EXCEL, PARA HACER UN LEYOUT, EN EXCEL, PARA CARGAR MAS DE 100 POLIZAS.  

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/vfp-factura-electronica-mexico.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Para publicar una entrada en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/vfp-factura-electronica-mexico?hl=es.
PUEDO ENVIAR ARCHIVO EXCEL, PARA HACER UN LEYOUT, EN EXCEL, PARA CARGAR MAS DE 100 POLIZAS.  

--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/vfp-factura-electronica-mexico.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Octavio Bello

unread,
Mar 18, 2019, 9:49:48 PM3/18/19
to vfp-factura-ele...@googlegroups.com
Buenas tardes...Eduardo perez S.
No soy programador, Soy Contador, y Necesito Un Archivo Tipo Macro en EXCEL, con un Formulario, de Captura.
Puedo. Enviarte la Informacion. para que la revises, y hacer Una Carga Masiva de Polizas. LLamada " Leyout"
Saludos....
SEPT-2018-CARGA-MASIVA-POLIZAS CON FORMULARIO-VBA.xlsm
Integración de pólizas desde Excel.doc
CARGA MASIVA EN EXCEL A COI7.0 estructura.doc
Reply all
Reply to author
Forward
0 new messages