Commit inicial Ventas Productivo

This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2019-08-14 16:40:54 -07:00
commit c35cf91883
13328 changed files with 3711549 additions and 0 deletions

View File

@@ -0,0 +1,647 @@

Imports System.Data
Imports Extensiones
Imports System.Web.Services
Imports System.Xml
Partial Class Contabilidad_DiarioCompras
Inherits ClsPaginas
Private Property DtDatos As DataTable
Get
Return CType(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property DtDatosFyE As DataTable
Get
Return CType(ViewState("DtDatosFyE"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatosFyE") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
TxtFecha.Text = Today.ToShortDateString
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.DataBind()
txtFechaI.Text = Now.AddMonths(0).FirstDayOfMonth.ToShortDateString
txtFechaF.Text = Now.ToShortDateString
If UsuarioActual.Sesion("DiarioCompras-CveProveedor").ToString <> "" Then DdlProveedores.SelectedValue = UsuarioActual.Sesion("DiarioCompras-CveProveedor").ToString.Trim
If UsuarioActual.Sesion("DiarioCompras-FI").ToString <> "" Then txtFechaI.Text = UsuarioActual.Sesion("DiarioCompras-FI").ToString.Trim
If UsuarioActual.Sesion("DiarioCompras-FF").ToString <> "" Then txtFechaF.Text = UsuarioActual.Sesion("DiarioCompras-FF").ToString.Trim
CargaDatos()
'Dim wsTC As New wsTipoCambio.DgieWSPortClient
'Dim StrTC As String = wsTC.tiposDeCambioBanxico
'Dim XMLDoc As New XmlDocument
'Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
'XMLDoc.Load(StrTC)
'Dim nodo As XmlNode = XMLDoc.DocumentElement
'XMLDoc.SelectSingleNode(String.Format("//{0}:DataSet", "bm"), namespaces)
End If
End Sub
Private Sub CargaDatos()
Dim Conta As New ClsContabilidad
If Conta.GetDiarioCompras(DdlProveedores.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, 1, UsuarioActual.CveEmpresa) Then
DtDatos = Conta.DtResultados
'Conta.GetConta_TiposPoliza()
Dim Cc As New ClsContPAQi(UsuarioActual.Empresa)
If Cc.GetTiposPoliza(-1, "-1") Then
DdlPolizaTipo.DataSource = Cc.DtResultados
DdlPolizaTipo.DataBind()
End If
'busco si se ocupa el tipo de cambio
If UsuarioActual.CveEmpresa = 66 Then
DdlPolizaTipo.SelectedValue = "3"
End If
If DtDatos.FiltraParametros("CveMoneda <> 1").Rows.Count > 0 Then
'hay movimientos que son diferentes a pesos
TbTipoCambio.Visible = True
TxtTC.Text = Cc.getTipoCambio(Today).ToString
TxtFecha.AutoPostBack = True
If TxtTC.Text.ToDouble > 0 Then TxtTC.Enabled = False Else TxtTC.Text = ""
End If
Cc.Dispose()
End If
If Conta.GetDiarioCompras(DdlProveedores.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, 2, UsuarioActual.CveEmpresa) Then
DtDatosFyE = Conta.DtResultados
End If
Conta.Dispose()
CargaGrid()
End Sub
Private Sub CargaGrid()
'hago un filtro, primero muestro lo encabezados de las facturas y dentro del grid filtro los detalles de cada factura
If DtDatos IsNot Nothing Then
Dim dtt As DataTable = DtDatos.FiltraParametros("CvePS = -1")
LblTotComp.Text = String.Format("{0} Registros", DtDatos.COUNT("CvePS", "CvePS = -1"))
Gv.DataSource = dtt
Gv.DataBind()
'hago un filtro, primero muestro lo encabezados de las facturas y dentro del grid filtro los detalles de cada factura
dtt = DtDatosFyE.FiltraParametros("CvePS = -1")
LblTotFyE.Text = String.Format("{0} Registros", DtDatosFyE.COUNT("CvePS", "CvePS = -1"))
GvFyE.DataSource = dtt
GvFyE.DataBind()
End If
UPPDatos.Update()
End Sub
Protected Sub Gv_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles Gv.RowDataBound, GvFyE.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim Grid As String = DirectCast(sender, GridView).ID
If e.Row.DBCampo("IdCtaContProveedores").ToEntero = 0 Then
'falta vicularse el proveedor
e.Row.FCHyperLink("HplProv").ForeColor = Drawing.Color.OrangeRed
e.Row.FCHyperLink("HplProv").ToolTip = "Falta vincular la cuenta contable"
End If
'If e.Row.DBCampo("CveMoneda") = "2" AndAlso e.Row.DBCampo("IdCtaContComplementaria").ToEntero = 0 Then
' 'falta vicularse al proveedor la cuenta contable
' e.Row.FCHyperLink("HplProv").ForeColor = Drawing.Color.OrangeRed
' e.Row.FCHyperLink("HplProv").ToolTip = "Falta vincular la cuenta contable complementaria"
'End If
If e.Row.DBCampo("IdCuentaIVAxAcreditar").ToEntero = 0 Then
'falta vicularse el proveedor
e.Row.FCLabel("LblIVA").ForeColor = Drawing.Color.OrangeRed
e.Row.FCLabel("LblIVA").ToolTip = "Falta vincular la cuenta contable"
End If
If e.Row.DBCampo("RetIVA").ToDouble > 0 AndAlso e.Row.DBCampo("IdCtaContRetIVA").ToEntero = 0 Then
e.Row.FCLabel("LblRetIVA").ForeColor = Drawing.Color.OrangeRed
e.Row.FCLabel("LblRetIVA").ToolTip = "Falta vincular la cuenta contable a la Retencion de IVA"
End If
'validaci[on para que sea active el chkbox
If e.Row.DBCampo("FacturasSinCuenta") = "0" AndAlso
(e.Row.DBCampo("IVA").ToDouble <= 0 OrElse (e.Row.DBCampo("IVA").ToDouble > 0 AndAlso e.Row.DBCampo("IdCuentaIVAxAcreditar").ToEntero > 0)) AndAlso
(e.Row.DBCampo("RetIVA").ToDouble <= 0 OrElse (e.Row.DBCampo("RetIVA").ToDouble > 0 AndAlso e.Row.DBCampo("IdCtaContRetIVA").ToEntero > 0)) AndAlso
(e.Row.DBCampo("RetISR").ToDouble <= 0 OrElse (e.Row.DBCampo("RetISR").ToDouble > 0 AndAlso e.Row.DBCampo("IdCtaContRetISR").ToEntero > 0)) Then
'si la factura fue a credito, que no tiene cveie, checo si está cargada la cuenta contable del proveedor para afectarla
If e.Row.DBCampo("Contado").ToEntero = 0 Then
If e.Row.DBCampo("IdCtaContProveedores").ToEntero > 0 Then
e.Row.FCCheckBox("Chk").Visible = True
End If
Else
If e.Row.DBCampo("IdCtaContBancos").ToEntero > 0 Then
e.Row.FCCheckBox("Chk").Visible = True
Else
If Grid = "GvFyE" Then
e.Row.FCHyperLink("HplPer").ToolTip = String.Format("No se tiene vinculada la cuenta del personal ({0})", e.Row.DBCampo("Personal"))
e.Row.FCHyperLink("HplPer").ForeColor = Drawing.Color.OrangeRed
Else
e.Row.FCLabel("LblTotal").ForeColor = Drawing.Color.OrangeRed
e.Row.FCLabel("LblTotal").ToolTip = "No se tiene vinculada la cuenta bancaria"
End If
End If
End If
'si fue la compra en un solo pago, no credito
If e.Row.DBCampo("Contado").ToEntero > 0 AndAlso 1 = 2 Then
e.Row.FCCheckBox("Chk").Visible = True
End If
End If
If e.Row.DBCampo("CveMoneda") = "2" AndAlso e.Row.DBCampo("TC").ToDecimal = 0 Then
' 'falta vicularse al proveedor la cuenta contable
e.Row.FCLabel("LblTC").ForeColor = Drawing.Color.OrangeRed
e.Row.FCLabel("LblTC").Text = "S/TC"
e.Row.FCCheckBox("Chk").Visible = False
End If
If Math.Abs(e.Row.DBCampo("SubTotal").ToDouble - e.Row.DBCampo("Descuentos").ToDouble - e.Row.DBCampo("SubTotalPS").ToDouble) > 0.01 Then
e.Row.FCLabel("LblSubTotal").ForeColor = Drawing.Color.Red
e.Row.FCLabel("LblSubTotal").ToolTip = String.Format("Factura: {0} - Productos:{1}", e.Row.DBCampo("SubTotal").ToDouble.FormatoNumero, e.Row.DBCampo("SubTotalPS").ToDouble.FormatoNumero)
e.Row.FCCheckBox("Chk").Visible = False
End If
Dim gv As GridView = e.Row.FCGridView("GvD")
Dim dttf As DataTable
If Grid = "Gv" Then
dttf = DtDatos
Else
dttf = DtDatosFyE
End If
Dim dtt As DataTable = dttf.FiltraParametros(String.Format("CveCompra = {0} AND CvePS <> -1", e.Row.DBCampo("CveCompra")))
gv.DataSource = dtt
gv.DataBind()
End If
End Sub
<WebMethod()> <Script.Services.ScriptMethodAttribute()> _
Public Shared Function wsCuentaNombre(ByVal contextKey As System.String) As System.String
Dim Retorno As String = ""
If contextKey.ToEntero > 0 Then
Retorno = String.Format("---{0}---", contextKey.ToDouble.Texto2Letras)
End If
Return Retorno
End Function
Protected Sub GvDetalle_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("IdCuentaGasto").ToEntero > 0 Then e.Row.FCDropDownList("DdlM").Items.Add(New ListItem("Gasto", e.Row.DBCampo("IdCuentaGasto")))
' If e.Row.DBCampo("IdCuentaAnticipo").ToEntero > 0 Then e.Row.FCDropDownList("DdlM").Items.Add(New ListItem("Anticipo", e.Row.DBCampo("IdCuentaAnticipo")))
'If e.Row.DBCampo("IdCuentaInventario").ToEntero > 0 Then e.Row.FCDropDownList("DdlM").Items.Add(New ListItem("Inventario", e.Row.DBCampo("IdCuentaInventario")))
e.Row.FCLiteral("LitCta").Text = String.Format("<div style='width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;'>{0}</div>", e.Row.DBCampo("CuentaGasto"))
End If
End Sub
Protected Sub BtnContabilizar_Click(sender As Object, e As EventArgs) Handles BtnContabilizar.Click
Dim Total As Decimal = 0 '(From gvr As GridViewRow In Gv.Rows Where gvr.FCCheckBox("Chk").Checked).Sum(Function(gvr) gvr.DataKey("Total").ToDouble + gvr.DataKey("RetIVA").ToDouble + gvr.DataKey("RetISR").ToDouble)
Dim MultNC As Integer
Dim TipoCambio As Decimal
Dim Contador As Integer = 0
Dim ContadorME As Integer = 0
Dim EsPersonal As Boolean = False
Dim GvT As GridView = Gv
If Tabs.ActiveTabIndex = 1 Then
GvT = GvFyE
EsPersonal = True
End If
For Each gvr As GridViewRow In GvT.Rows
If gvr.FCCheckBox("Chk").Checked Then
Contador += 1
If gvr.DataKey("CveMoneda") <> "1" AndAlso gvr.DataKey("IdCtaContComplementaria").ToEntero > 0 Then
TipoCambio = TxtTC.Text.ToDouble : ContadorME += 1
Else : TipoCambio = 1
End If
If gvr.DataKey("TipoDocto") = "NC" Then MultNC = -1 Else MultNC = 1
Total += (gvr.DataKey("Total").ToDouble + gvr.DataKey("RetIVA").ToDecimal + gvr.DataKey("RetISR").ToDecimal) * TipoCambio * MultNC
End If
Next
If ContadorME > 0 AndAlso TxtTC.Text.ToDouble <= 0 Then
Alert("Ingrese un tipo de cambio.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim TipoMovto As Boolean = False
If Contador > 0 Then
Dim Conta As ClsContPAQi = Nothing
Dim Compra As ClsCompras = Nothing
Dim IDPoliza As Integer = 0
Dim CuentaAfectable As Integer
Dim NumPoliza As String
Dim Concepto As String
Dim ConceptoDetalle As String
Dim Cargos As Decimal
Dim TipoPoliza As String = ""
If UsuarioActual.CveEmpresa = 66 Then
TipoPoliza = "1-000"
End If
Dim MonExt As Boolean
Dim MsgError As String = ""
Try
If UsuarioActual.Empresa.UsaContabilidad Then
Conta = New ClsContPAQi(UsuarioActual.Empresa)
Compra = New ClsCompras()
Conta.IniciaTransacSQL()
Compra.IniciaTransacSQL()
IDPoliza = Conta.AddPoliza(DdlPolizaTipo.SelectedValue.ToEntero, TxtDescripcion.Text, Total, Total, UsuarioActual.CveUsuario, TxtFecha.Text.ToDate, pTipo:=TipoPoliza)
NumPoliza = Conta.DtResultados.FiltroPrimero("")("Folio").ToString
'inserto la póliza
If IDPoliza = 0 Then
MsgError = "No se pudo insertar la póliza contable."
Else
For Each gvr As GridViewRow In GvT.Rows
If gvr.FCCheckBox("Chk").Checked Then
'si es otra diferente al peso y sino tiene cuenta complementaria, entonces hace el calculo por el tipo de cambio
If gvr.DataKey("CveMoneda") <> "1" Then
TipoCambio = gvr.DataKey("TC").ToDecimal 'TxtTC.Text.ToDouble
MonExt = True
Else
TipoCambio = 1
MonExt = False
End If
Cargos = 0
If gvr.DataKey("TipoDocto") = "NC" Then
If UsuarioActual.Empresa.ContaContabilizacionNC <> 0 Then
'cuando el movimiento de las nc, sea <> cero, quiero decir que solo convertimos a negativos los valores
MultNC = -1
Else
'cuando sea 0. los cargos se convierten en abonos y viceversa, pero los importes son positivos
MultNC = 1
TipoMovto = True
End If
Else
MultNC = 1
TipoMovto = False
End If 'cuando es NC, se registran en negativos todos los valores
'Registro los movimientos de la compra
Dim GvDetalle As GridView = gvr.FCGridView("GVD")
If GvDetalle IsNot Nothing Then
For Each gvrr As GridViewRow In GvDetalle.Rows
ConceptoDetalle = gvr.DataKey("RazonSocial") ' gvrr.FCLiteral("LitPS").Text
Cargos += Math.Round(gvrr.FCLiteral("LitSubTotalPS").Text.ToDecimal * TipoCambio * MultNC, 2)
If Not Conta.AddMovimiento(IDPoliza, gvrr.FCDropDownList("DdlM").SelectedValue.ToEntero, TipoMovto, Math.Round(gvrr.FCLiteral("LitSubTotalPS").Text.ToDecimal * TipoCambio * MultNC, 2), gvr.DataKey("SerieFolio"), ConceptoDetalle, 0, TxtFecha.Text.ToDate, gvr.DataKey("CveCompra").ContaReferencia(TipoContaReferencia.Compra), If(MonExt, gvrr.FCLiteral("LitSubTotalPS").Text.ToDouble, 0.0) * MultNC) Then
MsgError = "No se pudo insertar movimiento contable"
Exit For
End If
Next
End If
Dim IdCtaContProveedoresMoneda As Integer = gvr.DataKey("IdCtaContProveedores").ToEntero
If MsgError = "" Then
If gvr.DataKey("IVA").ToDecimal > 0 Then
'INSERTO EL IVA DE LA FACTURA
ConceptoDetalle = gvr.DataKey("RazonSocial")
Dim CveIVA As Integer = gvr.DataKey("IdCuentaIVAxAcreditar").ToEntero
If gvr.DataKey("Contado").ToEntero = 1 Then
CveIVA = gvr.DataKey("IdCuentaIVAAcreditable").ToEntero
End If
Cargos += Math.Round(gvr.DataKey("IVA").ToDecimal * TipoCambio * MultNC, 2)
If Not Conta.AddMovimiento(IDPoliza, CveIVA, TipoMovto, Math.Round(gvr.DataKey("IVA").ToDecimal * TipoCambio * MultNC, 2), gvr.DataKey("SerieFolio"), ConceptoDetalle, 0, TxtFecha.Text.ToDate, gvr.DataKey("CveCompra").ContaReferencia(TipoContaReferencia.Compra), If(MonExt, gvr.DataKey("IVA").ToDouble, 0.0) * MultNC) Then
MsgError = "No se pudo insertar movimiento contable"
Exit For
End If
End If
If MsgError <> "" Then Exit For
If gvr.DataKey("RetIVA").ToDecimal > 0 Then
'INSERTO LA RETENCION DE IVA DE LA FACTURA
ConceptoDetalle = gvr.DataKey("RazonSocial")
If Not Conta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaContRetIVA").ToEntero, Not TipoMovto, gvr.DataKey("RetIVA").ToDouble * TipoCambio * MultNC, gvr.DataKey("SerieFolio"), ConceptoDetalle, 0, TxtFecha.Text.ToDate, gvr.DataKey("CveCompra").ContaReferencia(TipoContaReferencia.Compra), If(MonExt, gvr.DataKey("RetIVA").ToDouble, 0.0) * MultNC) Then
MsgError = "No se pudo insertar movimiento contable"
Exit For
End If
End If
If MsgError <> "" Then Exit For
If gvr.DataKey("RetISR").ToDouble > 0 Then
'INSERTO LA RETENCION DE ISR DE LA FACTURA
ConceptoDetalle = gvr.DataKey("RazonSocial")
If Not Conta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaContRetISR").ToEntero, Not TipoMovto, gvr.DataKey("RetISR").ToDouble * TipoCambio * MultNC, gvr.DataKey("SerieFolio"), ConceptoDetalle, 0, TxtFecha.Text.ToDate, gvr.DataKey("CveCompra").ContaReferencia(TipoContaReferencia.Compra), If(MonExt, gvr.DataKey("RetISR").ToDouble, 0.0) * MultNC) Then
MsgError = "No se pudo insertar movimiento contable"
Exit For
End If
End If
If MsgError <> "" Then Exit For
Dim ImporteMovimiento As Double = gvr.DataKey("Total").ToDouble * TipoCambio * MultNC
If gvr.DataKey("CveMoneda") = "2" AndAlso gvr.DataKey("IdCtaContComplementaria").ToEntero > 0 Then
ImporteMovimiento = gvr.DataKey("Total").ToDouble * MultNC
End If
'VERIFICO SI LA CUENTA ES DE CREDITO O NO
If gvr.DataKey("Contado").ToEntero = 0 Then
CuentaAfectable = IdCtaContProveedoresMoneda
Else
CuentaAfectable = gvr.DataKey("IdCtaContBancos").ToEntero
' SI LA EMPRESA TIENE HABILITADA LA OPCION, PARA INCLUIR LOS MOVIMIENTOS DEL PROVEEDOR EN COMPRAS DE CONTADO, Y ESTOS DOS MOIVMIENTOS SOLOS SE SALDAN
If CBool(gvr.DataKey("Conta_AsientoContableComprasContado")) And Not EsPersonal Then
'INSERTO LOS MOVIMIENTOS DEL PROVEEDOR
If Not Conta.AddMovimiento(IDPoliza, IdCtaContProveedoresMoneda, TipoMovto, ImporteMovimiento, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), 0, TxtFecha.Text.ToDate, gvr.DataKey("CveProveedor").ContaReferencia(TipoContaReferencia.Proveedor), If(MonExt, gvr.DataKey("Total").ToDouble, 0.0) * MultNC) Then
MsgError = "No se pudo insertar movimiento contable"
Exit For
End If
If Not Conta.AddMovimiento(IDPoliza, IdCtaContProveedoresMoneda, Not TipoMovto, ImporteMovimiento, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), 0, TxtFecha.Text.ToDate, gvr.DataKey("CveProveedor").ContaReferencia(TipoContaReferencia.Proveedor), If(MonExt, gvr.DataKey("Total").ToDouble, 0.0) * MultNC) Then
MsgError = "No se pudo insertar movimiento contable"
Exit For
End If
End If
End If
Concepto = gvr.DataKey("SerieFolio")
Dim TmpTotal As Double = Math.Round(ImporteMovimiento, 2)
If gvr.DataKey("CveMoneda") <> "1" AndAlso gvr.DataKey("IdCtaContComplementaria").ToEntero = 0 Then
Concepto = String.Format("{0} TC:{1} ${2}", gvr.DataKey("SerieFolio"), TipoCambio, gvr.DataKey("Total").ToDouble.FormatoNumero)
'si hay un tipo de cambio, va a requerir un ajuste en la conversion
If Math.Abs(Cargos - TmpTotal) > 0 Then
TmpTotal = Cargos
End If
End If
'INSERTO EN PROVEEDORES O BANCOS
If Not Conta.AddMovimiento(IDPoliza, CuentaAfectable, Not TipoMovto, TmpTotal, gvr.DataKey("SerieFolio"), Concepto, 0, TxtFecha.Text.ToDate, gvr.DataKey("CveProveedor").ContaReferencia(TipoContaReferencia.Proveedor), If(MonExt, gvr.DataKey("Total").ToDouble, 0.0) * MultNC) Then
MsgError = "No se pudo insertar movimiento contable"
Exit For
End If
'hago el movimiento de fluctuacion cambiaria
If gvr.DataKey("CveMoneda") = "2" AndAlso gvr.DataKey("IdCtaContComplementaria").ToEntero > 0 Then
Dim Dif As Decimal = Math.Round(gvr.DataKey("TC") * gvr.DataKey("Total").ToDecimal, 2)
Concepto = String.Format("{0} TC:{1} ${2}", gvr.DataKey("SerieFolio"), TipoCambio, gvr.DataKey("Total").ToDouble.FormatoNumero)
''si hay un tipo de cambio, va a requerir un ajuste en la conversion
If Math.Abs(Math.Abs(Cargos) - Dif) > 0 AndAlso Math.Abs(Math.Abs(Cargos) - Dif) <= 0.02 Then
Dif = Math.Abs(Cargos)
End If
Dif = (Dif - (gvr.DataKey("Total").ToDecimal)) * MultNC
If Not Conta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaContComplementaria").ToEntero, Not TipoMovto, Dif, gvr.DataKey("SerieFolio"), Concepto, 0, TxtFecha.Text.ToDate, gvr.DataKey("CveProveedor").ContaReferencia(TipoContaReferencia.Proveedor), 0) Then ' no lleva moneda extranjera
MsgError = "No se pudo insertar movimiento contable"
Exit For
End If
End If
If MsgError <> "" Then
Exit For
End If
'ACTUALIZO LA COMPRA CON LA POLIZA
If Not Compra.UpdateCompraPrePoliza(TxtFecha.Text.ToDate, NumPoliza, IDPoliza, 0, gvr.DataKey("CveCompra").ToEntero, -1) Then
MsgError = "Error al actualizar compra"
Exit For
End If
Else
Exit For
End If
'If Not Conta.AddMovimiento( IDPoliza, gvr.fcdrop.ToEntero, TipoMovto, Importe, gvr.FCLiteral("LtlReferencia").Text, gvr.FCLiteral("LtlConcepto").Text, 0, TxtFechaDocumento.Text.ToDate, "", "") Then
' MsgError = "No se pudo insertar movimiento contable"
' 'Exit For
'End If
End If
Next
End If
If MsgError = "" Then
Conta.AjustaPoliza(IDPoliza)
Conta.Commit()
Compra.Commit()
UPPDatos.Update()
Alert(String.Format("<center>La póliza se ha generado correctamente <br/><br/> <a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a></center>", IDPoliza), TipoMensaje.MsgInformacion)
CargaDatos()
Else
Conta.RollBack()
Compra.RollBack()
End If
End If
Catch ex As Exception
Conta.RollBack()
Compra.RollBack()
Alert("Ocurrio un error al contabilizar", TipoMensaje.MsgError)
GuardaLog(ex.ToString)
End Try
Conta.Dispose()
Else
Alert("Seleccione factura(s) para contabilizar", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub TxtFecha_TextChanged(sender As Object, e As EventArgs) Handles TxtFecha.TextChanged
If TbTipoCambio.Visible Then
Dim Cc As New ClsContPAQi(UsuarioActual.Empresa)
TxtTC.Text = Cc.getTipoCambio(TxtFecha.Text.ToDate).ToString
Cc.Dispose()
If TxtTC.Text.ToDouble > 0 Then
TxtTC.Enabled = False
Else
TxtTC.Text = ""
'busco en la tabla de nosotros
Dim Gral As New ClsGenerales
If Gral.GetTipoCambio(-1, TxtFecha.Text.ToDate) Then
Dim dr As DataRow = Gral.DtResultados.FiltroPrimero("")
If dr IsNot Nothing Then
TxtTC.Text = dr("TipoCambio").ToString
End If
End If
Gral.Dispose()
TxtTC.Enabled = True
End If
End If
End Sub
Protected Sub ImgTC_Click(sender As Object, e As ImageClickEventArgs) Handles ImgTC.Click
If TxtTC.Text.ToDouble <= 0 Then
Alert("Ingrese un importe", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim Cc As New ClsContPAQi(UsuarioActual.Empresa)
If Cc.AddTipoCambio(55555, TxtFecha.Text.ToDate, TxtTC.Text.ToDouble) Then
TxtTC.Enabled = False
End If
Cc.Dispose()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
UsuarioActual.Sesion("DiarioCompras-CveProveedor") = DdlProveedores.SelectedValue
UsuarioActual.Sesion("DiarioCompras-FI") = txtFechaI.Text
UsuarioActual.Sesion("DiarioCompras-FF") = txtFechaF.Text
If DdlProveedores.SelectedValue.ToEntero > 0 Then TxtDescripcion.Text = DdlProveedores.SelectedItem.Text Else TxtDescripcion.Text = ""
UPPPoliza.Update()
CargaDatos()
UPPDatos.Update()
End Sub
Protected Sub ImgCFDiMasivo_Click(sender As Object, e As ImageClickEventArgs) Handles ImgCFDiMasivo.Click
Dim Msg As New StringBuilder
Dim GvT As GridView = Gv
Dim UUID, RFCDe, RFCPara As String
If Tabs.ActiveTabIndex = 1 Then
GvT = GvFyE
End If
For Each gvr As GridViewRow In GvT.Rows
'recorro las que no se han validado
If gvr.DataKey("ValidacionFactura") <> "" Then
UUID = gvr.DataKey("ValidacionFactura").Split("|"c)(1)
RFCDe = gvr.DataKey("ValidacionFactura").Split("|"c)(2)
RFCPara = gvr.DataKey("ValidacionFactura").Split("|"c)(3)
Dim Valida As New ClsValidaCFDi(UUID, RFCDe, RFCPara)
If Valida.EsValida > 0 Then
If Valida.EsValida = 2 Then
Msg.AppendFormat("{0} - {1}<br/>", gvr.DataKey("RazonSocial"), gvr.DataKey("SerieFolio"))
End If
'Dim ObjDatos As New ClsCompras
'If ObjDatos.UpdateEstatus(Valida.EsValida, gvr.DataKey("CveFactura").ToEntero) Then
'End If
'ObjDatos.Dispose()
End If
Valida.Dispose()
End If
Next
If Msg.Length > 0 Then
Alert(String.Format("Se Encontraron las siguientes facturas canceladas en el SAT: <br/>,{0}", Msg.ToString), TipoMensaje.MsgAdvertencia)
Else
Alert("La validación de facturas terminó correctamente")
End If
End Sub
End Class