-- se depuró/limpió la variables idctaXXX

This commit is contained in:
2023-08-17 18:56:22 -07:00
parent 70fce81f48
commit 2765dab757
74 changed files with 1350 additions and 5328 deletions

View File

@@ -823,196 +823,196 @@ Partial Class Ventas_PortalCliente
TCFluctuacion = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", TCVenta, TCPago)
'CONFIGURACION POR CONCEPTO DE PREPOLIZA
Select Case ConceptoContable
Case 2 'PAGO CLIENTE
ImporteMovimiento = ImportePago.RoundSQL()
importeMX = ImportePagoMX.RoundSQL()
TCGeneral = TCVenta
''CONFIGURACION POR CONCEPTO DE PREPOLIZA
'Select Case ConceptoContable
' Case 2 'PAGO CLIENTE
' ImporteMovimiento = ImportePago.RoundSQL()
' importeMX = ImportePagoMX.RoundSQL()
' TCGeneral = TCVenta
If CveMonedaVenta > 1 Then
ConceptoMovimiento += $" TC:{TCPago} ${ImporteMovimiento.FormatoNumero(2)}"
' If CveMonedaVenta > 1 Then
' ConceptoMovimiento += $" TC:{TCPago} ${ImporteMovimiento.FormatoNumero(2)}"
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, (importeMX - ImporteMovimiento).RoundSQL(), 207, Referencia, ConceptoMovimiento, CveSubProyecto:=CveSubProyecto, CveCliente:=CveCliente, ImporteME:=ImporteMovimiento, TipoCambio:=TCVenta) Then
TieneError = True
MensajeError.Append("No se pudo insertar el detalle de pago de la póliza<br>")
Exit For
End If
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, (importeMX - ImporteMovimiento).RoundSQL(), 207, Referencia, ConceptoMovimiento, CveSubProyecto:=CveSubProyecto, CveCliente:=CveCliente, ImporteME:=ImporteMovimiento, TipoCambio:=TCVenta) Then
' TieneError = True
' MensajeError.Append("No se pudo insertar el detalle de pago de la póliza<br>")
' Exit For
' End If
End If
' End If
Case 134 'PAGO INTERMEDIARIO
ImporteMovimiento = ImportePago.RoundSQL()
importeMX = ImportePagoMX.RoundSQL()
CveProveedorContabilizar = CveProveedorIntermediario
If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
' Case 134 'PAGO INTERMEDIARIO
' ImporteMovimiento = ImportePago.RoundSQL()
' importeMX = ImportePagoMX.RoundSQL()
' CveProveedorContabilizar = CveProveedorIntermediario
' If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
Case 13 'IVA X TRASLADAR
If CveMonedaVenta = 1 Then
ImporteMovimiento = IVAVenta * PorcentajePago
importeMX = ImporteMovimiento
ElseIf CveMonedaVenta = 2 Then
ImporteMovimiento = IVAVenta * PorcentajePago
importeMX = ImporteMovimiento * TCVenta
End If
PorcentajeImpuesto = PorcentajeIVA
' Case 13 'IVA X TRASLADAR
' If CveMonedaVenta = 1 Then
' ImporteMovimiento = IVAVenta * PorcentajePago
' importeMX = ImporteMovimiento
' ElseIf CveMonedaVenta = 2 Then
' ImporteMovimiento = IVAVenta * PorcentajePago
' importeMX = ImporteMovimiento * TCVenta
' End If
' PorcentajeImpuesto = PorcentajeIVA
ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMX = importeMX.RoundSQL()
TCGeneral = TCVenta
' ImporteMovimiento = ImporteMovimiento.RoundSQL()
' importeMX = importeMX.RoundSQL()
' TCGeneral = TCVenta
If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
' If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
Case 61 'IVA TRASLADADO
If CveMonedaVenta = 1 Then
ImporteMovimiento = IVAVenta * PorcentajePago
importeMX = ImporteMovimiento
ElseIf CveMonedaVenta = 2 Then
ImporteMovimiento = IVAVenta * PorcentajePago
importeMX = ImporteMovimiento * TCFluctuacion
End If
PorcentajeImpuesto = PorcentajeIVA
' Case 61 'IVA TRASLADADO
' If CveMonedaVenta = 1 Then
' ImporteMovimiento = IVAVenta * PorcentajePago
' importeMX = ImporteMovimiento
' ElseIf CveMonedaVenta = 2 Then
' ImporteMovimiento = IVAVenta * PorcentajePago
' importeMX = ImporteMovimiento * TCFluctuacion
' End If
' PorcentajeImpuesto = PorcentajeIVA
ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMX = importeMX.RoundSQL()
TCGeneral = TCFluctuacion
' ImporteMovimiento = ImporteMovimiento.RoundSQL()
' importeMX = importeMX.RoundSQL()
' TCGeneral = TCFluctuacion
If TCFluctuacion > 1 Then ConceptoMovimiento += $" TC:{TCFluctuacion} ${ImporteMovimiento.FormatoNumero(2)}"
' If TCFluctuacion > 1 Then ConceptoMovimiento += $" TC:{TCFluctuacion} ${ImporteMovimiento.FormatoNumero(2)}"
Case 8 'RETIVA X TRASLADAR
If CveMonedaVenta = 1 Then
ImporteMovimiento = RetIVAVenta * PorcentajePago
importeMX = ImporteMovimiento
ElseIf CveMonedaVenta = 2 Then
ImporteMovimiento = RetIVAVenta * PorcentajePago
importeMX = ImporteMovimiento * TCVenta
End If
PorcentajeImpuesto = PorcentajeRetIVA
' Case 8 'RETIVA X TRASLADAR
' If CveMonedaVenta = 1 Then
' ImporteMovimiento = RetIVAVenta * PorcentajePago
' importeMX = ImporteMovimiento
' ElseIf CveMonedaVenta = 2 Then
' ImporteMovimiento = RetIVAVenta * PorcentajePago
' importeMX = ImporteMovimiento * TCVenta
' End If
' PorcentajeImpuesto = PorcentajeRetIVA
ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMX = importeMX.RoundSQL()
TCGeneral = TCVenta
' ImporteMovimiento = ImporteMovimiento.RoundSQL()
' importeMX = importeMX.RoundSQL()
' TCGeneral = TCVenta
If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
' If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
Case 62 'RETIVA TRASLADADO
If CveMonedaVenta = 1 Then
ImporteMovimiento = RetIVAVenta * PorcentajePago
importeMX = ImporteMovimiento
ElseIf CveMonedaVenta = 2 Then
ImporteMovimiento = RetIVAVenta * PorcentajePago
importeMX = ImporteMovimiento * TCFluctuacion
End If
PorcentajeImpuesto = PorcentajeRetIVA
' Case 62 'RETIVA TRASLADADO
' If CveMonedaVenta = 1 Then
' ImporteMovimiento = RetIVAVenta * PorcentajePago
' importeMX = ImporteMovimiento
' ElseIf CveMonedaVenta = 2 Then
' ImporteMovimiento = RetIVAVenta * PorcentajePago
' importeMX = ImporteMovimiento * TCFluctuacion
' End If
' PorcentajeImpuesto = PorcentajeRetIVA
ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMX = importeMX.RoundSQL()
TCGeneral = TCFluctuacion
' ImporteMovimiento = ImporteMovimiento.RoundSQL()
' importeMX = importeMX.RoundSQL()
' TCGeneral = TCFluctuacion
If TCFluctuacion > 1 Then ConceptoMovimiento += $" TC:{TCFluctuacion} ${ImporteMovimiento.FormatoNumero(2)}"
' If TCFluctuacion > 1 Then ConceptoMovimiento += $" TC:{TCFluctuacion} ${ImporteMovimiento.FormatoNumero(2)}"
Case 9 'RETISR X TRASLADAR
If CveMonedaVenta = 1 Then
ImporteMovimiento = RetISRVenta * PorcentajePago
importeMX = ImporteMovimiento
ElseIf CveMonedaVenta = 2 Then
ImporteMovimiento = RetISRVenta * PorcentajePago
importeMX = ImporteMovimiento * TCVenta
End If
PorcentajeImpuesto = PorcentajeRetISR
' Case 9 'RETISR X TRASLADAR
' If CveMonedaVenta = 1 Then
' ImporteMovimiento = RetISRVenta * PorcentajePago
' importeMX = ImporteMovimiento
' ElseIf CveMonedaVenta = 2 Then
' ImporteMovimiento = RetISRVenta * PorcentajePago
' importeMX = ImporteMovimiento * TCVenta
' End If
' PorcentajeImpuesto = PorcentajeRetISR
ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMX = importeMX.RoundSQL()
TCGeneral = TCVenta
' ImporteMovimiento = ImporteMovimiento.RoundSQL()
' importeMX = importeMX.RoundSQL()
' TCGeneral = TCVenta
If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
' If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
Case 63 'RETISR TRASLADADO
If CveMonedaVenta = 1 Then
ImporteMovimiento = RetIVAVenta * PorcentajePago
importeMX = ImporteMovimiento
ElseIf CveMonedaVenta = 2 Then
ImporteMovimiento = RetIVAVenta * PorcentajePago
importeMX = ImporteMovimiento * TCFluctuacion
End If
PorcentajeImpuesto = PorcentajeRetISR
' Case 63 'RETISR TRASLADADO
' If CveMonedaVenta = 1 Then
' ImporteMovimiento = RetIVAVenta * PorcentajePago
' importeMX = ImporteMovimiento
' ElseIf CveMonedaVenta = 2 Then
' ImporteMovimiento = RetIVAVenta * PorcentajePago
' importeMX = ImporteMovimiento * TCFluctuacion
' End If
' PorcentajeImpuesto = PorcentajeRetISR
ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMX = importeMX.RoundSQL()
TCGeneral = TCFluctuacion
' ImporteMovimiento = ImporteMovimiento.RoundSQL()
' importeMX = importeMX.RoundSQL()
' TCGeneral = TCFluctuacion
If TCFluctuacion > 1 Then ConceptoMovimiento += $" TC:{TCFluctuacion} ${ImporteMovimiento.FormatoNumero(2)}"
' If TCFluctuacion > 1 Then ConceptoMovimiento += $" TC:{TCFluctuacion} ${ImporteMovimiento.FormatoNumero(2)}"
Case 38 'IEPS X TRASLADAR
If CveMonedaVenta = 1 Then
ImporteMovimiento = IEPSVenta * PorcentajePago
importeMX = ImporteMovimiento
ElseIf CveMonedaVenta = 2 Then
ImporteMovimiento = IEPSVenta * PorcentajePago
importeMX = ImporteMovimiento * TCVenta
End If
PorcentajeImpuesto = PorcentajeIEPS
' Case 38 'IEPS X TRASLADAR
' If CveMonedaVenta = 1 Then
' ImporteMovimiento = IEPSVenta * PorcentajePago
' importeMX = ImporteMovimiento
' ElseIf CveMonedaVenta = 2 Then
' ImporteMovimiento = IEPSVenta * PorcentajePago
' importeMX = ImporteMovimiento * TCVenta
' End If
' PorcentajeImpuesto = PorcentajeIEPS
ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMX = importeMX.RoundSQL()
TCGeneral = TCVenta
' ImporteMovimiento = ImporteMovimiento.RoundSQL()
' importeMX = importeMX.RoundSQL()
' TCGeneral = TCVenta
If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
' If TCVenta > 1 Then ConceptoMovimiento += $" TC:{TCVenta} ${ImporteMovimiento.FormatoNumero(2)}"
Case 39 'IEPS TRASLADADO
If CveMonedaVenta = 1 Then
ImporteMovimiento = IEPSVenta * PorcentajePago
importeMX = ImporteMovimiento
ElseIf CveMonedaVenta = 2 Then
ImporteMovimiento = IEPSVenta * PorcentajePago
importeMX = ImporteMovimiento * TCFluctuacion
End If
PorcentajeImpuesto = PorcentajeIEPS
' Case 39 'IEPS TRASLADADO
' If CveMonedaVenta = 1 Then
' ImporteMovimiento = IEPSVenta * PorcentajePago
' importeMX = ImporteMovimiento
' ElseIf CveMonedaVenta = 2 Then
' ImporteMovimiento = IEPSVenta * PorcentajePago
' importeMX = ImporteMovimiento * TCFluctuacion
' End If
' PorcentajeImpuesto = PorcentajeIEPS
ImporteMovimiento = ImporteMovimiento.RoundSQL()
importeMX = importeMX.RoundSQL()
TCGeneral = TCFluctuacion
' ImporteMovimiento = ImporteMovimiento.RoundSQL()
' importeMX = importeMX.RoundSQL()
' TCGeneral = TCFluctuacion
If TCFluctuacion > 1 Then ConceptoMovimiento += $" TC:{TCFluctuacion} ${ImporteMovimiento.FormatoNumero(2)}"
' If TCFluctuacion > 1 Then ConceptoMovimiento += $" TC:{TCFluctuacion} ${ImporteMovimiento.FormatoNumero(2)}"
Case 64 'GANANCIA
Continue For 'SKIPEA
If CveMonedaVenta <> 1 Then
If TCPago > TCVenta AndAlso CveMonedaVenta = 2 Then
ImporteMovimiento = (ImportePago * TCPago) - (ImportePago * TCVenta)
ImporteMovimiento -= ((IVAVenta * PorcentajePago) * TCFluctuacion) - ((IVAVenta * PorcentajePago) * TCVenta)
ImporteMovimiento += ((RetIVAVenta * PorcentajePago) * TCFluctuacion) - ((RetIVAVenta * PorcentajePago) * TCVenta)
ImporteMovimiento += ((RetISRVenta * PorcentajePago) * TCFluctuacion) - ((RetISRVenta * PorcentajePago) * TCVenta)
ImporteMovimiento -= ((IEPSVenta * PorcentajePago) * TCFluctuacion) - ((IEPSVenta * PorcentajePago) * TCVenta)
ImporteMovimiento = ImporteMovimiento.RoundSQL().Abs()
importeMX = ImporteMovimiento
End If
End If
' Case 64 'GANANCIA
' Continue For 'SKIPEA
' If CveMonedaVenta <> 1 Then
' If TCPago > TCVenta AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (ImportePago * TCPago) - (ImportePago * TCVenta)
' ImporteMovimiento -= ((IVAVenta * PorcentajePago) * TCFluctuacion) - ((IVAVenta * PorcentajePago) * TCVenta)
' ImporteMovimiento += ((RetIVAVenta * PorcentajePago) * TCFluctuacion) - ((RetIVAVenta * PorcentajePago) * TCVenta)
' ImporteMovimiento += ((RetISRVenta * PorcentajePago) * TCFluctuacion) - ((RetISRVenta * PorcentajePago) * TCVenta)
' ImporteMovimiento -= ((IEPSVenta * PorcentajePago) * TCFluctuacion) - ((IEPSVenta * PorcentajePago) * TCVenta)
' ImporteMovimiento = ImporteMovimiento.RoundSQL().Abs()
' importeMX = ImporteMovimiento
' End If
' End If
Case 65 'PERDIDA
Continue For 'SKIPEA
If CveMonedaVenta <> 1 Then
If TCPago < TCVenta AndAlso CveMonedaVenta = 2 Then
ImporteMovimiento = (ImportePago * TCPago) - (ImportePago * TCVenta)
ImporteMovimiento -= ((IVAVenta * PorcentajePago) * TCFluctuacion) - ((IVAVenta * PorcentajePago) * TCVenta)
ImporteMovimiento += ((RetIVAVenta * PorcentajePago) * TCFluctuacion) - ((RetIVAVenta * PorcentajePago) * TCVenta)
ImporteMovimiento += ((RetISRVenta * PorcentajePago) * TCFluctuacion) - ((RetISRVenta * PorcentajePago) * TCVenta)
ImporteMovimiento -= ((IEPSVenta * PorcentajePago) * TCFluctuacion) - ((IEPSVenta * PorcentajePago) * TCVenta)
ImporteMovimiento = ImporteMovimiento.RoundSQL().Abs()
importeMX = ImporteMovimiento
End If
End If
' Case 65 'PERDIDA
' Continue For 'SKIPEA
' If CveMonedaVenta <> 1 Then
' If TCPago < TCVenta AndAlso CveMonedaVenta = 2 Then
' ImporteMovimiento = (ImportePago * TCPago) - (ImportePago * TCVenta)
' ImporteMovimiento -= ((IVAVenta * PorcentajePago) * TCFluctuacion) - ((IVAVenta * PorcentajePago) * TCVenta)
' ImporteMovimiento += ((RetIVAVenta * PorcentajePago) * TCFluctuacion) - ((RetIVAVenta * PorcentajePago) * TCVenta)
' ImporteMovimiento += ((RetISRVenta * PorcentajePago) * TCFluctuacion) - ((RetISRVenta * PorcentajePago) * TCVenta)
' ImporteMovimiento -= ((IEPSVenta * PorcentajePago) * TCFluctuacion) - ((IEPSVenta * PorcentajePago) * TCVenta)
' ImporteMovimiento = ImporteMovimiento.RoundSQL().Abs()
' importeMX = ImporteMovimiento
' End If
' End If
End Select
'End Select
'AGREGA PREPOLIZA DETALLE
If ImporteMovimiento <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, importeMX, ConceptoContable, Referencia, ConceptoMovimiento, CveVenta:=CveVenta, CveSubProyecto:=CveSubProyecto, CveCliente:=CveCliente, CveProveedor:=CveProveedorContabilizar, TipoCambio:=TCGeneral, PorcentajeImpuesto:=PorcentajeImpuesto) Then
TieneError = True
MensajeError.Append("No se pudo insertar el detalle de la póliza<br>")
Exit For
End If
End If
''AGREGA PREPOLIZA DETALLE
'If ImporteMovimiento <> 0 Then
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, importeMX, ConceptoContable, Referencia, ConceptoMovimiento, CveVenta:=CveVenta, CveSubProyecto:=CveSubProyecto, CveCliente:=CveCliente, CveProveedor:=CveProveedorContabilizar, TipoCambio:=TCGeneral, PorcentajeImpuesto:=PorcentajeImpuesto) Then
' TieneError = True
' MensajeError.Append("No se pudo insertar el detalle de la póliza<br>")
' Exit For
' End If
'End If
Next
If TieneError Then Exit For
@@ -1890,74 +1890,13 @@ Partial Class Ventas_PortalCliente
'El movimiento 1 es el de Venta
'Conta ContPAQ
'If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then
' If IDCtaBeneficiario > 0 And IDCtaContable > 0 Then
' If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
' IDPoliza = ObjMov.ContaIdPoliza
' 'Alert(alertaContabilizacion & ObjMov.AlertaMensaje, ModExtensiones.TipoMensaje.MsgInformacion)
' Else
' Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
' End If
' Else
' If IDCtaContable < 1 Then
' Alert("No se puede contabilizar la Prepoliza debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia)
' End If
' If IDCtaBeneficiario < 1 Then
' Alert("No se puede contabilizar la Prepoliza debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia)
' End If
' End If
'End If
'If UsuarioActual.Empresa.UsaAC Then
' Dim ConceptoRenglon, Referencia As String
' Dim FolioPoliza As Integer
' Dim Fecha As Date = FechaDoc
' Dim TipoChq As String = ""
' Dim Total As Double = TxtImporte.Text.ToDouble
' Dim Conta As New ClsContPAQi(UsuarioActual.Empresa)
' Conta.IniciaTransacSQL()
' If CveTipoTransaccion = 1 Then TipoChq = "CHQ"
' ConceptoRenglon = String.Format("Anticipo {0}", PagueseA)
' Dim IDPoliza = Conta.AddPoliza(2, ConceptoRenglon, Total, Total, UsuarioActual.CveUsuario, Fecha, ObjIE.Folio, TipoChq)
' If IDPoliza > 0 Then
' FolioPoliza = Conta.Folio
' Referencia = ObjIE.Folio
' ConceptoRenglon = String.Format("Anticipo {0} {1}", PagueseA, TxtObservaciones.Text)
' Total = TxtImporte.Text.ToDouble
' If Not Conta.AddMovimiento(IDPoliza, IDCtaContable, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento"
' If Not Conta.AddMovimiento(IDPoliza, IDCtaBeneficiario, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento"
' Else
' MsgError = "No se insertó el encabezado"
' End If
' If MsgError = "" Then
' Conta.Commit()
' Conta.AjustaPoliza(IDPoliza)
' 'actualizar la conta del IE
' ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0)
' Else
' Conta.RollBack()
' IDPoliza = 0
' End If
' Conta.Dispose()
'End If
'Notificación de Pago
'If TxtNotificarA.Text.Trim <> "" And MsgError = "" Then
' 'NotificacionPago(CveIE, TxtNotificarA.Text.Trim)
' EnviarCorreoNotificacion(CveIE, TxtNotificarA.Text.Trim, "", UsuarioActual, False)
'End If
'Notificación de Pago
'If TxtNotificarA.Text.Trim <> "" And MsgError = "" Then
' 'NotificacionPago(CveIE, TxtNotificarA.Text.Trim)
' EnviarCorreoNotificacion(CveIE, TxtNotificarA.Text.Trim, "", UsuarioActual, False)
'End If
Else
MsgError = "No se pudo insertar la póliza"
End If
@@ -2590,8 +2529,7 @@ Partial Class Ventas_PortalCliente
TmpDT.Columns.Add("TotalImporte", GetType(Decimal))
TmpDT.Columns.Add("Total", GetType(Decimal))
'Para uso del módulo contable
TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer))
TmpDT.Columns.Add("IdCtaContVentas", GetType(Integer))
TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer))
TmpDT.Columns.Add("AplicaParaConcepto", GetType(Boolean))
TmpDT.Columns.Add("CveProyecto", GetType(Integer))
TmpDT.Columns.Add("Proyecto", GetType(String))