Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

Generacion de txt para importar a Contpaq i(explicacion)

Todo lo que no cabe en los demas foros........
smendoza
Mensajes: 115
Registrado: Jue Jul 22, 2010 9:37 am

Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por smendoza »

Tarde pero seguro…

Hace dias comente que estaba haciendo una dll para crear la poliza de contaq i en formato txt, para que pudiera ser leida e importada por dicho sistema.

Tuve problemas generando la DLL (de Windows), por eso tratare de explicar lo mejor que pueda sobre que hay que hacer para generar el txt con un formato valido.

Lo que hice fue generar una poliza ya existente desde el sistema de contpaq, y de ahí, aplicar un poco de ingeniería inversa para “descifrar” el formato, después lei en un comentario de aquí del foro sobre un archivo “de Esquema” que usa el contpaq i para generar y leer las polizas, dicho archivo lo pueden encontrar en la siguiente ruta de su PC (si tienen instalado el contpaq i)

Código: Seleccionar todo

C:\Compac\Empresas\Esquemas\Contpaq\CT_EST_Poliza_NG.xls
En dicho archivo se encuentra definido el “formato” para generar el txt, los campos, longitudes, etc.

Vamos a lo bueno…..

Primeramente cabe señalar que la poliza “basica” consta de dos partes fundamentales, el encabezado, que es donde irian los datos de la poliza, tales como fecha, numero, concepto, etc. Y el detalle, que es donde van las cuentas contables a afectar, cantidades, cargos, abonos, etc.

El formato del encabezado seria el siguiente (tomando como base el archivo de esquema mencionado antes):

Imagen


Descripcion de campos:
Poliza: Siempre debe de ser una “P”, con esto indicamos que es el encabezado de la poliza, a 2 posiciones alineado a la izquierda.

Fecha: formato yyyyMMdd

TipoPol: se pondria 1 para ingreso, 2 para egreso, 3 para diario y 4 para orden, a 4 pociciones alineado a la derecha.

Folio: es el numero de poliza con el que se va a registrar en el sistema, solo acepta datos numericos enteros, 9 posiciones alineado a la derecha.

Clase: ¿???(Desconozco a que se refiere, las pólizas que genere siempre pone un 1)

idDiario: a que No de Diario pertenece la póliza, si no pertenece a ninguno poner un cero “0”, 10 posiciones alineado a la izquierda

Concepto: Concepto de la póliza, por ejem “Ventas del dia”, a 100 posiciones alineado a la izquierda.

SisOrig: Sistema de origen de la poliza, solo se que se pone un once “11” para indicar que viene del sistema Contpaq i

Impresa: es una bandera para indicar si la poliza ya fue impresa o no, se pone un 1 para indicarla como impresa y 0 para indicarla como no impresa.

Ajuste: es una bandera para indicar si es poliza de ajuste, 1 para Si, 0 para No.

Todos los campos van separados por un espacio (al final del ultimo campo tambien se pone un espacio), la longitud del campo siempre debe ser la indicada, en caso de no completar la longitud requerida deberá rellenarse con espacios.

Por ejemplo si un campo es de longitud 3 y e valor de ese campo es un 1 alineado a la derecha se deberá expresar de la siguiente manera:

Código: Seleccionar todo

[“  1” -(espacio-espacio-uno) – Para completar la longitud requerida.

El formato para el detalle de los movimientos seria el siguiente:

Imagen

Descripcion de los campos:

Movtopoliza.1 : Siempre debe ser la letra M, alienada a la izquierda a 2 pociciones.

idCuenta: es el numero de cuenta contable que se afectara, 30 pociciones alineaada a la izquierda. Se debe indicar el numero de cuenta sin formato, en el contpaq el formato mas comun para las cuentas es XXX-XXXX, para indicarlo en el txt se debera indicar como XXXXXXX (sin los guiones).

Referencia: el Numero de referencia del movimiento, 10 pociciones alineado a la izquierda.

TipoMovto: tipo de movimiento (cargo/abono), se indica 1 para abono, 0 para cargo.

Importe: Importe del movimiento a 20 pociciones alineado a la izquierda y con al menos un decimal y como maximo 2. por ejemplo: 6.50 se indica como 6.5, 6 como 6.0 y 6.53 como 6.53

idDiario: a que No de Diario pertenece la póliza, si no pertenece a ninguno poner un cero “0”, 10 posiciones alineado a la izquierda

ImporteME: desconozco a que se refiere, las polizas que yo genere siempre ponen 0.0, a 20 posiciones alineado a la izquierda. Actualizacion: ImporteME: se refiere al importe en moneda extranjera. -> Gracias a eduardoperez por el dato ;)
Concepto: Concepto del movimiento a 100 posiciones alineado a la izquierda

idSegNeg: si el movimiento pertenece a un segmento de negocio se pone el id de ese segmento, si no se deja en blanco.

Todos los campos van separados por un espacio (al final del ultimo campo tambien se pone un espacio), la longitud del campo siempre debe ser la indicada, en caso de no completar la longitud requerida deberá rellenarse con espacios. Cada movimiento va en un renglón diferente.

Si seguimos este formato podremos generar un txt valido para ser leido por contpaq i.

Ejemplo de una poliza:

Supongamos que tenemos los siguientes datos para genera una poliza

Código: Seleccionar todo

Fecha; 4 de nov de 2010
Poliza de Ingreso No 2
No pertenece a diario
Clase 1
Concepto “ventas del dia”
Origen: Contpaq i
Impresa: No
Ajuste: No.

Por 5000 pesos + iva al 10% cargado a bancos
Cuenta de ventas: 400-0000
Cuenta de iva:       204-0000
Cuenta Bancos:   102-0000

El encabezado quedaría de la siguiente manera (reemplacé los espacios en blanco por asteriscos *, para que se noten)

Código: Seleccionar todo

P**20101104****1*********2*1*0**********ventas*del*dia***************************************************************************************11*0*0*

Y el detalle de la siguiente manera:

Código: Seleccionar todo

M**4000000***********************************1*5000.0***************0**********0.0******************ventas*del*dia********************************************************************************************
M**2040000***********************************1*500.0****************0**********0.0******************ventas*del*dia********************************************************************************************
M**1020000***********************************0*5500.0***************0**********0.0******************ventas*del*dia********************************************************************************************

Nota: Todo va en el mismo txt, aquí lo separe para efectos del ejemplo.

al final, tendremos una poliza valida y se podra importar (de manera manual) a contpaq i ;)

Imagen

Adjunto poliza en txt con este ejemplo, cualquier comentario, duda, acalaracion, correccion, etc son bienvenidos. ;)

Saludos!!

Nota: En este post esta la DLL en .NET con las funciones para crear los encabezados y los movimientos de la poliza :)
http://www.validacfd.com/phpbb3/viewtop ... f=17&t=215
Adjuntos
Pruebapoliza2.txt
Poliza en txt contpaq
(772 Bytes) Descargado 3349 veces
Última edición por smendoza el Jue Ene 13, 2011 8:09 am, editado 3 veces en total.
condor0086
Mensajes: 425
Registrado: Jue Ago 05, 2010 3:11 pm

Re: Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por condor0086 »

Excelente descripción y detalle Maestro!

Muchas gracias por compartirlo :) Saludos!!
sati
Mensajes: 17
Registrado: Jue Nov 18, 2010 11:06 am

Re: Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por sati »

Hola, gracias por tu trabajo tengo una duda, los cfds emitidos todos serian en diario y cada uno como ingreso? o todos irian en ingreso, ojala me puedas ayudar, Por anticipado gracias.
sati
Mensajes: 17
Registrado: Jue Nov 18, 2010 11:06 am

Re: Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por sati »

estoy haciendo un modulo para vb6 para generar polizas ojala haya interesados en el para postearlo y lo puedan descargar
smendoza
Mensajes: 115
Registrado: Jue Jul 22, 2010 9:37 am

Re: Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por smendoza »

sati escribió:Hola, gracias por tu trabajo tengo una duda, los cfds emitidos todos serian en diario y cada uno como ingreso? o todos irian en ingreso, ojala me puedas ayudar, Por anticipado gracias.
mmm todos en diario y cada uno como ingreso? :shock: ,,creo que no entendi bien tu pregunta :?

No soy contador (pero trabajo para un despacho comtable :lol: ), y segun lo que he aprendido es que las polizas de diario se usan para movimientos que no tengan que ver con ingresos y egresos, tales como traspasos entre cuentas, depreciaciones, etc.

Los cfd deben ser considerados como una poliza de ingreso(segun mi compañera contadora :lol: ), en el caso de las facturas el asiento quedaria mas o menos asi:

Ventas -Abono
Impuestos -Abono
Caja/Bancos/Clientes -Cargo

y las Notas de credito a la inversa:

Devoluciones s/venta - Cargo
Impuestos - Cargo
Caja/Bancos/Clientes - Abono

Los asientos y las cuentas dependeran tambien de los efectos del cfd, si es a credito, contado, etc

Espero haberte ayudado.

Saludos ! :D
smendoza
Mensajes: 115
Registrado: Jue Jul 22, 2010 9:37 am

Re: Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por smendoza »

sati escribió:estoy haciendo un modulo para vb6 para generar polizas ojala haya interesados en el para postearlo y lo puedan descargar
:shock: Yo me apunto! :lol:

Es que yo la hice en vb.net, trate de hacerlo en vb6 pero estuve batallando con la rellenada de los espacios, no se porque pero me ponia espacios entre todas las letras del string :? , y como ya ni he tenido oportunidad de seguirle no lo he vuelto a retomar.

Seria bueno que lo subieras, a mas de uno nos serviría ;)
sati
Mensajes: 17
Registrado: Jue Nov 18, 2010 11:06 am

Re: Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por sati »

smendoza escribió:
sati escribió:estoy haciendo un modulo para vb6 para generar polizas ojala haya interesados en el para postearlo y lo puedan descargar
:shock: Yo me apunto! :lol:

Es que yo la hice en vb.net, trate de hacerlo en vb6 pero estuve batallando con la rellenada de los espacios, no se porque pero me ponia espacios entre todas las letras del string :? , y como ya ni he tenido oportunidad de seguirle no lo he vuelto a retomar.

Seria bueno que lo subieras, a mas de uno nos serviría ;)

Creo lo terminare el sabado esta un poco complicado pero lo estoy logrando solo me falta un poco pero con las dudas que me aclaraste arriba lo estoy resolviendo mas rapido, en cuanto lo tenga listo les aviso, gracias por la ayuda.
sati
Mensajes: 17
Registrado: Jue Nov 18, 2010 11:06 am

Re: Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por sati »

Si lo publicare solo tiempo para terminarlo, ya es hora de regresar algo a la comunidad que tanto me ha ayudado con los posts publicados :D
novasebas666
Mensajes: 23
Registrado: Mar Ene 04, 2011 4:39 pm

Re: Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por novasebas666 »

sati escribió:Si lo publicare solo tiempo para terminarlo, ya es hora de regresar algo a la comunidad que tanto me ha ayudado con los posts publicados :D
Sati, has tenido algun avance en cuanto a la impartacion del txt para contpaq... ya aun tengo muchas dudas acerca de ello...
sati
Mensajes: 17
Registrado: Jue Nov 18, 2010 11:06 am

Re: Generacion de txt para importar a Contpaq i(explicacion)

Mensaje por sati »

Si lo tengo el generador para polizas, lo que pasa fue que no lo publique ya que no lo tengo como un modulo o algo asi, te puedo pegar una parte del codigo fuente, lo mas importante en lo que te subo algo. Saludos.
Cerrado