| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
hawk21764
Registrado: 24 Ago 2012 Mensajes: 1
| Publicado: 24/08/2012 11:34 am | | | Título: C# y ContPaq. Importar Polizas |
| Microsoft Visual Studio 2010 Sql Server 2005 ContPaq i contabilidad 2012
Hola estoy realizando una sistema contable y me pidieron que las polizas que realice las puede enviar a contpaq. Estuve buscando informacion y podia importarlas desde un archivo de excel (Af_NG.xls) que tiene unas macros, que viene al instalar contpaq, tambien venia un SDK (unas librerias) y un exe.
intente con las librerias y no pude anadirlas como referencia en c#, luego abri el archivo de excel para ver como la enviaba. Vi que utilizaba VB en las macros y hacia como referencia a un exe.
intente abrir el archivo de excel en una forma. Si lo cargaba todo bien, pero no podia acceder a las macros.
Utilice el mismo ejecutable que usaba el xls como referencia en c# y ya pude utilizar los metodos y todo. pero me salio un error al asignar el codigo de cuenta (string). "the server threw an exception (exception from hresult: 0x80010105 (RPC_E_SERVERFAULT))"
| Código: | private void btnContpaq_Click(object sender, EventArgs e) { //this.WebBrowserExcel.OpenFile("C:\\Compac\\Empresas\\Reportes\\Contpaq\\Mis Reportes\\Af_NG.xls"); SDKCONTPAQNGLib.TSdkPoliza poliza = new SDKCONTPAQNGLib.TSdkPoliza(); SDKCONTPAQNGLib.TSdkTipoPoliza tpoliza = new SDKCONTPAQNGLib.TSdkTipoPoliza(); SDKCONTPAQNGLib.TSdkSesion sesion = new SDKCONTPAQNGLib.TSdkSesion(); SDKCONTPAQNGLib.TSdkMovimientoPoliza movimientosPoliza = new SDKCONTPAQNGLib.TSdkMovimientoPoliza(); SDKCONTPAQNGLib.TSdkCuenta cuenta = new SDKCONTPAQNGLib.TSdkCuenta(); SDKCONTPAQNGLib.TSdkEmpresa empresa = new SDKCONTPAQNGLib.TSdkEmpresa(); SDKCONTPAQNGLib.TSdkControlIVA iva = new SDKCONTPAQNGLib.TSdkControlIVA();
int idEmpresa; if (sesion.conexionActiva == 0) sesion.iniciaConexion();
if (sesion.conexionActiva == 1 && sesion.ingresoUsuario == 0) sesion.firmaUsuario(); if (sesion.conexionActiva == 1 && sesion.ingresoUsuario == 1) { sesion.abreEmpresa("ctSAMEX_PRUEBA_SISTEMAS");
}
empresa.setSesion(sesion); poliza.setSesion(sesion); cuenta.setSesion(sesion); tpoliza.setSesion(sesion); idEmpresa = empresa.IdEmpresa; try {
poliza.iniciarInfo(); tpoliza.iniciarInfo(); if (tipoComboBox.Text == "Ingresos") tpoliza.Tipo = SDKCONTPAQNGLib.ETIPOPOLIZA.TIPO_INGRESOS; if (tipoComboBox.Text == "Egresos") tpoliza.Tipo = SDKCONTPAQNGLib.ETIPOPOLIZA.TIPO_EGRESOS; if (tipoComboBox.Text == "Diario") tpoliza.Tipo = SDKCONTPAQNGLib.ETIPOPOLIZA.TIPO_DIARIO; if (tipoComboBox.Text == "Orden") tpoliza.Tipo = SDKCONTPAQNGLib.ETIPOPOLIZA.TIPO_ORDEN; poliza.Fecha = Convert.ToDateTime("12/12/2011"); //fechaDateTimePicker.Value; poliza.Tipo = tpoliza.Tipo; poliza.Numero = 114122; //int.Parse(numeroTextBox.Text); poliza.Clase = SDKCONTPAQNGLib.ECLASEPOLIZA.CLASE_AFECTAR; poliza.Impresa = 0; poliza.Concepto = conceptoTextBox.Text; poliza.SistOrigen = SDKCONTPAQNGLib.ESISTORIGEN.ORIG_CONTPAQNG; int contMov = 1; foreach (DataGridViewRow row in polizaDetallesDataGridView.Rows) { if (row.Cells[3].Value != null) { movimientosPoliza.iniciarInfo(); movimientosPoliza.NumMovto = contMov; //en la siguiente linea me marca el error
movimientosPoliza.CodigoCuenta = "111111111111"; if (decimal.Parse(row.Cells[6].Value.ToString())>0) { movimientosPoliza.TipoMovto = SDKCONTPAQNGLib.ETIPOIMPORTEMOVPOLIZA.MOVPOLIZA_CARGO; movimientosPoliza.Importe = decimal.Parse(row.Cells[6].Value.ToString()); } else { movimientosPoliza.TipoMovto = SDKCONTPAQNGLib.ETIPOIMPORTEMOVPOLIZA.MOVPOLIZA_ABONO; movimientosPoliza.Importe = decimal.Parse(row.Cells[7].Value.ToString()); } movimientosPoliza.Concepto = row.Cells[9].Value.ToString();
int movAgregado=poliza.agregaMovimiento(movimientosPoliza); if (movAgregado == 0) MessageBox.Show("No se pudo agregar Movimiento"); } } int grabada = poliza.crea(); if (grabada == 0) MessageBox.Show("No se pudo grabar " + poliza.UltimoMsjError); else MessageBox.Show("Poliza Grabada con exito");
} catch (Exception a) { MessageBox.Show(a.Message+" " +poliza.UltimoMsjError); } finally { sesion.cierraEmpresa(); sesion.finalizaConexion(); } }
|
Si alguien ha realizado algo similar, alguna interfaz con contpaq que me pueda ayudar. Mientras no sea generar archivos y luego subirlos desde contpaq.
O si alguien sabe como insertar registros directamente a la BD de contpaq tambien me serviria |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |