-- vinculación de otros proveedores de oc

This commit is contained in:
2023-10-13 15:52:29 -07:00
parent 4b00ba6b28
commit ec3f20e0a4
2 changed files with 74 additions and 61 deletions

View File

@@ -6185,6 +6185,7 @@
$get("TxtOC").value = Folio;
$get("HdnVCveOC").value = CveOC;
$get("HdnCveEstatusOC").value = CveEstatus;
$get("HdnCveProveedorOC").value = CveProveedor;
$get("BtnVOC").click();
}

View File

@@ -6181,6 +6181,7 @@ Partial Class Compras_Compras
Importe228 = ObjOC.DtResultados.FiltroPrimeroValor("Importe228").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteME228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME228").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteMN228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN228").ToDecimal * Dr("Cantidad").ToString.ToDecimal
Importe229 = ObjOC.DtResultados.FiltroPrimeroValor("Importe229").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteME229 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME229").ToDecimal * Dr("Cantidad").ToString.ToDecimal : ImporteMN229 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN229").ToDecimal * Dr("Cantidad").ToString.ToDecimal
ImporteCI176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteCI176").ToDecimal
Dim tCveColectiva As Integer = ObjOC.DtResultados.FiltroPrimeroValor("CveColectiva").ToEntero
CveMovimientoAlmacen = ObjOC.DtResultados.FiltroPrimeroValor("CveMovimientoAlmacen").ToEntero
Dim TCAjuste As Decimal = ObjOC.DtResultados.FiltroPrimeroValor("TipoCambioAjuste").ToDecimal
'RMF. falta verificar el costo indirecto de la OC
@@ -6191,8 +6192,8 @@ Partial Class Compras_Compras
SumatoriaInventario += Importe228 + Importe229
'se considera costoindirecto, para que la factura tiene en un concepto tipo servicio
SumatoriaOCINV += (Dr(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total")).ToString.ToDecimal * tipoCambioActual) - (ImporteMN228 + ImporteMN229 - ImporteCI176)
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe228, ImporteMN228, ConceptoContabilizacionME, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME228, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe229, ImporteMN229, ConceptoContabilizacionMEComp, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME229, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe228, ImporteMN228, ConceptoContabilizacionME, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME228, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveColectiva:=tCveColectiva, Contabilizable:=SeContabiliza) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe229, ImporteMN229, ConceptoContabilizacionMEComp, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME229, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveColectiva:=tCveColectiva, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
Exit For
End If
@@ -6205,7 +6206,7 @@ Partial Class Compras_Compras
SumatoriaInventario += Importe176
'se considera costoindirecto, para que la factura tiene en un concepto tipo servicio
SumatoriaOCINV += (Dr(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total")).ToString.ToDecimal * tipoCambioActual) - (ImporteMN176 - ImporteCI176)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe176, ImporteMN176, ConceptoContabilizacion, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME176, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen, Contabilizable:=SeContabiliza) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe176, ImporteMN176, ConceptoContabilizacion, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=ImporteME176, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveColectiva:=tCveColectiva, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
Exit For
End If
@@ -18636,6 +18637,7 @@ Partial Class Compras_Compras
DtInvOCDiferencias.Columns.Add("TipoCambioAjuste", GetType(Double))
DtInvOCDiferencias.Columns.Add("ConceptoSalida", GetType(Integer))
DtInvOCDiferencias.Columns.Add("CveClasificacion", GetType(Integer))
DtInvOCDiferencias.Columns.Add("CveColectiva", GetType(Integer))
DtInvOCDiferencias.Columns.Add("PS", GetType(String))
@@ -18655,6 +18657,7 @@ Partial Class Compras_Compras
DrInvOCDiferencias("PUCompra") = Math.Round(gvr.FCTextBox("TxtPU").Text.ToDecimal, 6)
DrInvOCDiferencias("CveMoneda") = dr2("CveMoneda").ToString.ToEntero
DrInvOCDiferencias("CveClasificacion") = dr2("CveClasificacion").ToString.ToEntero
DrInvOCDiferencias("CveColectiva") = dr2("CveColectiva").ToString.ToEntero
DrInvOCDiferencias("FolioOC") = dr2("FolioOC").ToString
DrInvOCDiferencias("CveProveedor") = dr2("CveProveedorOC").ToString.ToEntero
DrInvOCDiferencias("PS") = dr2("PS").ToString
@@ -18708,6 +18711,7 @@ Partial Class Compras_Compras
Dim DiferenciaInvOC As Decimal = 0.0D
Dim CveMovimientoAlmacen As Integer = -1
Dim CveOCDetalle As Integer = -1
Dim CveColectiva As Integer = -1
Dim CveAlmacen As Integer = -1
Dim Fecha As Date = TxtFecha.Text.ToDate
Dim CveProveedorInvOC As Integer = -1
@@ -18724,56 +18728,65 @@ Partial Class Compras_Compras
Dim PUCompra As Decimal = 0.0D
Dim CveMoneda As Integer = 1
Dim PS As String = ""
Dim TipoMovtoCosto As Boolean = False
If UsuarioActual.CveEmpresa = 119 Then TipoMovtoCosto = True
Dim TipoMovtoCosto As Boolean = True
'AJUSTES EN PREPOLIZA - SALIDA CONTABLE (CON SALIDA DE VENTA O SIN SALIDA)
For Each DrDiferencias As DataRow In DtInvOCDiferencias.FiltraParametros("ConceptoSalida IN (0,1)").Rows
CveOrdenCompra = DrDiferencias("CveOrdenCompra").ToString.ToEntero
CveOCDetalle = DrDiferencias("CveOrdenCompraDetalle").ToString.ToEntero
CveMoneda = DrDiferencias("CveMoneda").ToString.ToEntero
DiferenciaInvOC = DrDiferencias("Diferencia").ToString.ToDecimal.RoundSQL()
PUCompra = DrDiferencias("PUCompra").ToString.ToDecimal
PS = DrDiferencias("PS").ToString
tCveProveedor = DtInvOCDiferencias.MAX("CveProveedor").ToEntero
ProveedorNombre = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {tCveProveedor}").ToString
Fecha = TxtFecha.Text.ToDate
CvePrePoliza = ObjConta.AddPrePolizas("Compras/OC-(OCAlmacen)", 74, 0, 0, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Fecha = TxtFecha.Text.ToDate
SerieFolio = $"OC: {DrDiferencias("FolioOC").ToString}"
tCveProveedor = DrDiferencias("CveProveedor").ToString.ToEntero
ProveedorNombre = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {tCveProveedor}").ToString
Dim ConceptoPartida As String = String.Format("{0} OC: {1} Inv: {2}", ProveedorNombre, DrDiferencias("FolioOC"), DrDiferencias("FolioAlmacen"))
If CvePrePoliza > 0 Then
ConceptoSalida = DrDiferencias("ConceptoSalida").ToString.ToEntero
CveAlmacen = DrDiferencias("CveAlmacen").ToString.ToEntero
CveMovimientoAlmacen = DrDiferencias("CveMovimiento").ToString.ToEntero
TCInvOC = DrDiferencias("TipoCambioAjuste").ToString.ToDecimal
'AJUSTES EN PREPOLIZA - SALIDA CONTABLE (CON SALIDA DE VENTA O SIN SALIDA)
For Each DrDiferencias As DataRow In DtInvOCDiferencias.FiltraParametros("ConceptoSalida IN (0,1)").Rows
CveOrdenCompra = DrDiferencias("CveOrdenCompra").ToString.ToEntero
CveOCDetalle = DrDiferencias("CveOrdenCompraDetalle").ToString.ToEntero
CveMoneda = DrDiferencias("CveMoneda").ToString.ToEntero
DiferenciaInvOC = DrDiferencias("Diferencia").ToString.ToDecimal.RoundSQL()
PUCompra = DrDiferencias("PUCompra").ToString.ToDecimal
CveColectiva = DrDiferencias("CveColectiva").ToString.ToEntero
PS = DrDiferencias("PS").ToString
Dim CveClasificacionCostoOC As Integer = TmpDT.FiltroPrimeroValor("CveClasificacion", "ISNULL(TipoAF, 0) <> 2 And ISNULL(CveAlmacen, 0) = 0 And ISNULL(AplicaCostoIndirecto, 0) <> 1 And ISNULL(CveTipoPS, 0) = 2").ToEntero
Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
If DiferenciaInvOC.RoundSQL() <> 0 Then
SerieFolio = $"OC: {DrDiferencias("FolioOC").ToString}"
tCveProveedor = DrDiferencias("CveProveedor").ToString.ToEntero
Dim ConceptoPartida As String = String.Format("{0} OC: {1} Inv: {2}", ProveedorNombre, DrDiferencias("FolioOC"), DrDiferencias("FolioAlmacen"))
If CveSubProyecto <= 0 Then
Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia)
Retorno = False
End If
ConceptoSalida = DrDiferencias("ConceptoSalida").ToString.ToEntero
CveAlmacen = DrDiferencias("CveAlmacen").ToString.ToEntero
CveMovimientoAlmacen = DrDiferencias("CveMovimiento").ToString.ToEntero
TCInvOC = DrDiferencias("TipoCambioAjuste").ToString.ToDecimal
CvePrePoliza = ObjConta.AddPrePolizas("Compras/OC-(OCAlmacen)", 74, DiferenciaInvOC, DiferenciaInvOC, 1, Fecha, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CvePrePoliza > 0 Then
Dim CveClasificacionCostoOC As Integer = TmpDT.FiltroPrimeroValor("CveClasificacion", "ISNULL(TipoAF, 0) <> 2 And ISNULL(CveAlmacen, 0) = 0 And ISNULL(AplicaCostoIndirecto, 0) <> 1 And ISNULL(CveTipoPS, 0) = 2").ToEntero
Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
If CveMoneda = 2 Then
ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD()
ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD()
If DiferenciaInvOC.RoundSQL() <> 0 Then
Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp)
If CveSubProyecto <= 0 Then
Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia)
Retorno = False
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -DiferenciaInvOC, -DiferenciaInvOC, 177, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto) Then
Retorno = False
Exit For
End If
If CvePrePoliza > 0 Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteME, ImporteME, 228, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, ImporteMEComp, 229, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DifImporte, DifImporte, 69, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC, CveSubProyecto:=CveSubProyecto) Then
If CveMoneda = 2 Then
ImporteME = (DiferenciaInvOC / TCInvOC).RoundAD()
ImporteMEComp = ((ImporteME * TCInvOC) - ImporteME).RoundAD()
Dim DifImporte As Decimal = DiferenciaInvOC - (ImporteME + ImporteMEComp)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, -DiferenciaInvOC, -DiferenciaInvOC, 177, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto) Then
Retorno = False
Exit For
End If
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteME, ImporteME, 228, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, ImporteMEComp, 229, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then
If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DifImporte, DifImporte, 69, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC, CveSubProyecto:=CveSubProyecto) Then
Retorno = False
Exit For
End If
Else
Retorno = False
Exit For
End If
@@ -18782,35 +18795,34 @@ Partial Class Compras_Compras
Exit For
End If
Else
Retorno = False
Exit For
End If
Else
'2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -DiferenciaInvOC, -DiferenciaInvOC, If(ConceptoSalida = 0, 177, 177), SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto, CveClasificacion:=CveClasificacionCostoOC) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, DiferenciaInvOC, DiferenciaInvOC, 176, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle) Then
'2018.11.24 se cambia concepto 177, de cargo a abono negativo., petición MALL
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoCosto, -DiferenciaInvOC, -DiferenciaInvOC, If(ConceptoSalida = 0, 177, 177), SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=CveSubProyecto, CveClasificacion:=CveClasificacionCostoOC) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaInvOC, DiferenciaInvOC, 176, SerieFolio, ConceptoPartida, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, CveOCDetalle:=CveOCDetalle, CveColectiva:=CveColectiva) Then
Retorno = False
Exit For
End If
Else
Retorno = False
Exit For
End If
Else
End If
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
Retorno = False
Exit For
End If
End If
If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then
Retorno = False
Exit For
End If
If Retorno Then
If Not OCBitacora.AddEventoBitacora(String.Format("Se registró una póliza de ajuste por cambio de precio en producto: {0}", PS), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then
Retorno = False
If Retorno Then
If Not OCBitacora.AddEventoBitacora(String.Format("Se registró una póliza de ajuste por cambio de precio en producto: {0}", PS), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then
Retorno = False
End If
End If
End If
End If
End If
Next
Next
Else
Alert("prepóliza de ajuste no registrada.", TipoMensaje.MsgAdvertencia)
Retorno = False
End If
End If
End If