-- comparativo de xml, en base a acreedor

-- kardex. filtrar por los subproyectos de almacen.
-- oc. quitar  parametro estemporal
This commit is contained in:
2025-01-07 19:04:04 -07:00
parent dd0372a05a
commit 5010c39463
9 changed files with 60 additions and 387 deletions

View File

@@ -1162,7 +1162,7 @@ Public Class ClsCompras
Return Retorno Return Retorno
End Function End Function
Public Function GetFacturasComparacionXML(Version As String, Xml As String, CveEmpresa As Integer) As Boolean Public Function GetFacturasComparacionXML(Version As String, Xml As String, CveEmpresa As Integer, Optional RestriccionesVinculacion As String = "") As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Comp_ComparacionXML") DataAdapter("PA_Comp_ComparacionXML")
@@ -1170,6 +1170,7 @@ Public Class ClsCompras
.Add("@Version", SqlDbType.VarChar, 4).Value = Version .Add("@Version", SqlDbType.VarChar, 4).Value = Version
.Add("@Xml", SqlDbType.Xml).Value = Xml .Add("@Xml", SqlDbType.Xml).Value = Xml
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@RestriccionesVinculacion", SqlDbType.VarChar, 100).Value = RestriccionesVinculacion
.Add("@Error", SqlDbType.VarChar, 300).Direction = ParameterDirection.Output .Add("@Error", SqlDbType.VarChar, 300).Direction = ParameterDirection.Output
End With End With

View File

@@ -715,7 +715,7 @@ Public Class ClsOC
Optional PorcentajeIVA As Decimal = 0.16D, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16D, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1,
Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1,
Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Decimal = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1, Optional NumRemision As String = "-1", Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Decimal = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1, Optional NumRemision As String = "-1",
Optional CveColectiva As Integer = -1, Optional MetodoPago As Integer = -1, Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0, Optional EsTemporal As Boolean = False) As Boolean Optional CveColectiva As Integer = -1, Optional MetodoPago As Integer = -1, Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraAdd") DataAdapter("PA_OC_OrdenesCompraAdd")
@@ -763,8 +763,6 @@ Public Class ClsOC
.Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago ' 0 Contado, 1 Credito .Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago ' 0 Contado, 1 Credito
.Add("@CveSubProyectoEntrega", SqlDbType.Int).Value = CveSubProyectoEntrega ' 0 Contado, 1 Credito .Add("@CveSubProyectoEntrega", SqlDbType.Int).Value = CveSubProyectoEntrega ' 0 Contado, 1 Credito
.Add("@PorcentajeProntoPago", SqlDbType.Decimal).Value = PorcentajeProntoPago .Add("@PorcentajeProntoPago", SqlDbType.Decimal).Value = PorcentajeProntoPago
.Add("@EsTemporal", SqlDbType.Bit).Value = EsTemporal
.Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output
@@ -1675,7 +1673,7 @@ Public Class ClsOC
CveEmpresa As Integer, CvePS As Integer, Optional PendientePorSurtir As Boolean = False, Optional CveCliente As Integer = -1, Optional Guia As String = "-1", CveEmpresa As Integer, CvePS As Integer, Optional PendientePorSurtir As Boolean = False, Optional CveCliente As Integer = -1, Optional Guia As String = "-1",
Optional CveActivoFijo As Integer = -1, Optional SoloSubProyectosConPermiso As Boolean = False, Optional CveUsuarioAutorizo As Integer = -1, Optional CveActivoFijo As Integer = -1, Optional SoloSubProyectosConPermiso As Boolean = False, Optional CveUsuarioAutorizo As Integer = -1,
Optional CveUsuarioAsignado As Integer = -1, Optional EntregaDirecta As Integer = -1, Optional TopSelect As Integer = 10000, Optional CveMoneda As Integer = -1, Optional CveUsuarioAsignado As Integer = -1, Optional EntregaDirecta As Integer = -1, Optional TopSelect As Integer = 10000, Optional CveMoneda As Integer = -1,
Optional MetodoPago As Integer = -1, Optional Serie As String = "-1", Optional TieneAnticipo As Integer = -1, Optional EsTemporal As Integer = -1) As Boolean Optional MetodoPago As Integer = -1, Optional Serie As String = "-1", Optional TieneAnticipo As Integer = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraRep") DataAdapter("PA_OC_OrdenesCompraRep")
@@ -1708,9 +1706,6 @@ Public Class ClsOC
.Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago .Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago
.Add("@Serie", SqlDbType.VarChar).Value = Serie .Add("@Serie", SqlDbType.VarChar).Value = Serie
.Add("@TieneAnticipo", SqlDbType.Int).Value = TieneAnticipo .Add("@TieneAnticipo", SqlDbType.Int).Value = TieneAnticipo
.Add("@EsTemporal", SqlDbType.Int).Value = EsTemporal
End With End With
Try Try
@@ -1849,7 +1844,7 @@ Public Class ClsOC
Public Function GetOrdenesPendientes(pTipo As String, pTipoBusqueda As Integer, pCveEmpresa As Integer, pCveProyecto As Integer, pCveSubProyecto As Integer, pCveEstatusCompra As Integer, Public Function GetOrdenesPendientes(pTipo As String, pTipoBusqueda As Integer, pCveEmpresa As Integer, pCveProyecto As Integer, pCveSubProyecto As Integer, pCveEstatusCompra As Integer,
pCveUsuario As Integer, CveCliente As Integer, Optional SoloSubProyectosConPermiso As Boolean = False, Optional CveUsuarioAsignado As Integer = -1, Optional EntregaDirecta As Integer = -1, pCveUsuario As Integer, CveCliente As Integer, Optional SoloSubProyectosConPermiso As Boolean = False, Optional CveUsuarioAsignado As Integer = -1, Optional EntregaDirecta As Integer = -1,
Optional TieneAnticipo As Integer = -1, Optional EsTemporal As Integer = -1) As Boolean Optional TieneAnticipo As Integer = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraPendientes") DataAdapter("PA_OC_OrdenesCompraPendientes")
@@ -1867,7 +1862,6 @@ Public Class ClsOC
.Add("@CveUsuarioAsignado", SqlDbType.Int).Value = CveUsuarioAsignado .Add("@CveUsuarioAsignado", SqlDbType.Int).Value = CveUsuarioAsignado
.Add("@EntregaDirecta", SqlDbType.Int).Value = EntregaDirecta .Add("@EntregaDirecta", SqlDbType.Int).Value = EntregaDirecta
.Add("@TieneAnticipo", SqlDbType.Int).Value = TieneAnticipo .Add("@TieneAnticipo", SqlDbType.Int).Value = TieneAnticipo
.Add("@EsTemporal", SqlDbType.Int).Value = EsTemporal
End With End With
Try Try
@@ -2631,12 +2625,13 @@ Public Class ClsOC
End Function End Function
Public Function PendientesCompra(CvePS As Integer, CveEmpresa As Integer) As Boolean Public Function PendientesCompra(CvePS As Integer, CveSubProyectos As String, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_OC_PendientesCompra") DataAdapter("PA_OC_PendientesCompra")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@CvePS", SqlDbType.Int).Value = CvePS .Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveSubProyectos", SqlDbType.VarChar, 100).Value = CveSubProyectos
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With End With

View File

@@ -3726,6 +3726,14 @@ Namespace Extensiones
End Try End Try
End Sub End Sub
<Runtime.CompilerServices.Extension()>
Public Function DataColumnToString(ByRef dtt As DataTable, NombreColumna As String) As String
Return String.Join(", ", dtt.AsEnumerable().
Where(Function(row) Not row.IsNull(NombreColumna)).
Select(Function(row) row(NombreColumna).ToString()))
End Function
<Runtime.CompilerServices.Extension()> <Runtime.CompilerServices.Extension()>
Public Function GetSelectedValues(ByRef Ddl As ListBox, Optional beforeValue As String = "", Optional AfterValue As String = "") As String Public Function GetSelectedValues(ByRef Ddl As ListBox, Optional beforeValue As String = "", Optional AfterValue As String = "") As String
Dim retorno As New StringBuilder Dim retorno As New StringBuilder

View File

@@ -1901,7 +1901,12 @@ Partial Class Compras_Compras
Xml = Xml.Replace("&lt;", "") Xml = Xml.Replace("&lt;", "")
Xml = Xml.Replace("&", "") 'adicional, si hay otros Xml = Xml.Replace("&", "") 'adicional, si hay otros
If ObjeFacturas.GetFacturasComparacionXML(Version, Xml, UsuarioActual.CveEmpresa) Then 'si el tipo de proveedor es acreedor, no cruzar por numero de parte
Dim RestriccionesVinculacion As String = ""
' Acreedor
If CveTipoProveedor.Contiene(2, 3) Then RestriccionesVinculacion = "NO-NUMEROPARTE"
If ObjeFacturas.GetFacturasComparacionXML(Version, Xml, UsuarioActual.CveEmpresa, RestriccionesVinculacion) Then
TmpDT = ObjeFacturas.DtResultados TmpDT = ObjeFacturas.DtResultados
TmpDT.Columns.Add("CveSATPSActualizado") TmpDT.Columns.Add("CveSATPSActualizado")
SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL
@@ -11265,7 +11270,7 @@ Partial Class Compras_Compras
'filtrar solo los almacenes de las sucursales especficiadsa en el tmpdt. para encasillarlo 'filtrar solo los almacenes de las sucursales especficiadsa en el tmpdt. para encasillarlo
Dim dttt As DataTable = TmpDT.FiltraParametros("", DistinctColumns:={"CveSubProyecto"}) Dim dttt As DataTable = TmpDT.FiltraParametros("", DistinctColumns:={"CveSubProyecto"})
If dttt IsNot Nothing AndAlso dttt.Rows.Count > 0 Then If dttt IsNot Nothing AndAlso dttt.Rows.Count > 0 Then
StrTipo = StrTipo & " AND CveSubProyecto IN (" & DttoString(dttt, "CveSubProyecto") & ") " StrTipo = StrTipo & " AND CveSubProyecto IN (" & DataColumnToString(dttt, "CveSubProyecto") & ") "
End If End If
End If End If
e.Row.FCDropDownList("ddlEAlmacen").DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros(StrTipo) e.Row.FCDropDownList("ddlEAlmacen").DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros(StrTipo)
@@ -11434,7 +11439,7 @@ Partial Class Compras_Compras
'filtrar solo los almacenes de las sucursales especficiadsa en el tmpdt. para encasillarlo 'filtrar solo los almacenes de las sucursales especficiadsa en el tmpdt. para encasillarlo
Dim dttt As DataTable = TmpDT.FiltraParametros("", DistinctColumns:={"CveSubProyecto"}) Dim dttt As DataTable = TmpDT.FiltraParametros("", DistinctColumns:={"CveSubProyecto"})
If dttt IsNot Nothing AndAlso dttt.Rows.Count > 0 Then If dttt IsNot Nothing AndAlso dttt.Rows.Count > 0 Then
StrAlmacenes = StrAlmacenes & " AND CveSubProyecto IN (" & DttoString(dttt, "CveSubProyecto") & ") " StrAlmacenes = StrAlmacenes & " AND CveSubProyecto IN (" & DataColumnToString(dttt, "CveSubProyecto") & ") "
End If End If
End If End If
@@ -11466,13 +11471,6 @@ Partial Class Compras_Compras
End Sub End Sub
Public Function DttoString(dtt As DataTable, NombreColumna As String) As String
Return String.Join(", ", dtt.AsEnumerable().
Where(Function(row) Not row.IsNull(NombreColumna)).
Select(Function(row) row(NombreColumna).ToString()))
End Function
Protected Sub ddlAlmacen_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Protected Sub ddlAlmacen_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim Ddl As DropDownList = CType(sender, DropDownList) Dim Ddl As DropDownList = CType(sender, DropDownList)

View File

@@ -245,14 +245,10 @@ Partial Class Inventarios_Kardex
Private Sub CargaDatos() Private Sub CargaDatos()
Dim CvePS As Integer = ddlProducto2.SelectedValue.ToEntero
Dim CveProducto As Integer = ddlProducto2.SelectedValue.ToEntero If CvePS > 0 Then
Dim DtTemp = CargarKardex(CvePS)
If CveProducto > 0 Then
Dim DtTemp = CargarKardex(CveProducto)
If DtTemp IsNot Nothing AndAlso DtTemp.Rows.Count > 0 Then If DtTemp IsNot Nothing AndAlso DtTemp.Rows.Count > 0 Then
Dim AplicaSeccion, AplicaLote, AplicaCaducidad, AplicaSerie, AplicaAlmacenDestino As Boolean Dim AplicaSeccion, AplicaLote, AplicaCaducidad, AplicaSerie, AplicaAlmacenDestino As Boolean
@@ -271,8 +267,7 @@ Partial Class Inventarios_Kardex
If AplicaCaducidad Then GvM.Columns(12).Visible = True If AplicaCaducidad Then GvM.Columns(12).Visible = True
If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvM.Columns(12).HeaderText = UsuarioActual.Empresa.Funcionalidad(147) If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvM.Columns(12).HeaderText = UsuarioActual.Empresa.Funcionalidad(147)
Dim Drp As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
Dim Drp As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimero("")
Dim AuxAplicaSerie As Boolean Dim AuxAplicaSerie As Boolean
Dim AuxAplicaCad As Boolean Dim AuxAplicaCad As Boolean
If Drp IsNot Nothing Then If Drp IsNot Nothing Then
@@ -335,8 +330,13 @@ Partial Class Inventarios_Kardex
End Sub End Sub
Private Sub CargarOCPendientesCompra() Private Sub CargarOCPendientesCompra()
Dim tCveSubProyectos As String = "-1"
If ddlAlmacen.SelectedValue <> "" Then
Dim tt As String = ddlAlmacen.GetSelectedValues()
tCveSubProyectos = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveAlmacen IN ({tt})").DataColumnToString("CveSubProyecto")
End If
Dim ObjOC As New ClsOC Dim ObjOC As New ClsOC
If ObjOC.PendientesCompra(ddlProducto2.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then If ObjOC.PendientesCompra(ddlProducto2.SelectedValue.ToEntero, tCveSubProyectos, UsuarioActual.CveEmpresa) Then
GvOC.DataSource = ObjOC.DtResultados.Copy GvOC.DataSource = ObjOC.DtResultados.Copy
LnkIndicador_OC.Text = ObjOC.DtResultados.Copy.SUM("CantidadPendienteVincular").ToString() LnkIndicador_OC.Text = ObjOC.DtResultados.Copy.SUM("CantidadPendienteVincular").ToString()
End If End If
@@ -383,6 +383,7 @@ Partial Class Inventarios_Kardex
ChkAgruparAlmacen.Checked, Serie, CveAlmacenes) Then ChkAgruparAlmacen.Checked, Serie, CveAlmacenes) Then
dt = ObjInventarios.DtResultados.Copy dt = ObjInventarios.DtResultados.Copy
End If End If
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then dt = dt.FiltraParametros("", "FechaMovto DESC") ' ordenamiento descendente
ObjInventarios.Dispose() ObjInventarios.Dispose()
Return dt Return dt

View File

@@ -515,14 +515,6 @@
</td> </td>
<td><asp:CheckBox runat="server" ID="ChkEsTemporal" Text=" Es Temporal" Width="100px" /></td> <td><asp:CheckBox runat="server" ID="ChkEsTemporal" Text=" Es Temporal" Width="100px" /></td>
</tr> </tr>
<tr id="TrBotonesInvTemporal" runat="server" visible="false">
<td></td>
<td><asp:Button runat="server" ID="BtnInvTempEntrada" Text="Entrada" CssClass="btn btn-primary" OnClick="BtnInvTempEntrada_Click" Visible="false" /> </td>
<td><asp:Button runat="server" ID="BtnInvTempSalida" Text="Salida" CssClass="btn btn-primary" OnClick="BtnInvTempSalida_Click" Visible="false" /> </td>
</tr>
</table> </table>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>

View File

@@ -1056,13 +1056,10 @@ Partial Class OC_OC
DdlSubProyectoGral.Visible = True DdlSubProyectoGral.Visible = True
TrDescuentoEscalonado.Visible = True TrDescuentoEscalonado.Visible = True
TrDescuentoProntoPago.Visible = True TrDescuentoProntoPago.Visible = True
TrBotonesInvTemporal.Visible = True
If TipoOC = "OC" AndAlso UsuarioActual.TienePermisoProceso(401) AndAlso EsNuevo Then If TipoOC = "OC" AndAlso UsuarioActual.TienePermisoProceso(401) AndAlso EsNuevo Then
ChkEsTemporalRegistro.Visible = True ChkEsTemporalRegistro.Visible = True
End If End If
End If End If
If UsuarioActual.Empresa.CveEmpresa = 189 AndAlso CveOrdenCompra <> Nothing AndAlso CveOrdenCompra > 0 Then If UsuarioActual.Empresa.CveEmpresa = 189 AndAlso CveOrdenCompra <> Nothing AndAlso CveOrdenCompra > 0 Then
@@ -1555,10 +1552,6 @@ Partial Class OC_OC
End If End If
ChkEsTemporal.Checked = Boolean.Parse(objOC.DtResultados.Rows(0)("EsTemporal").ToString)
'PROMOCIONES 'PROMOCIONES
TxtPromocion.Text = objOC.Promocion TxtPromocion.Text = objOC.Promocion
ChkPromocion.Checked = TxtPromocion.Text.Trim.Length > 0 ChkPromocion.Checked = TxtPromocion.Text.Trim.Length > 0
@@ -2062,35 +2055,6 @@ Partial Class OC_OC
InicializaMovtosAlmacen() InicializaMovtosAlmacen()
End If End If
If EsGrupoDiaz And TipoOC = "OC" And ChkEsTemporal.Checked Then
Dim TieneEntrada As Boolean = False
Dim TieneSalida As Boolean = False
For Each gvRow As GridViewRow In GVInv.Rows
If gvRow.DataKey("CveConcepto").ToEntero = 33 Then
TieneEntrada = True
End If
If gvRow.DataKey("CveConcepto").ToEntero = 35 Then
TieneSalida = True
End If
Next
If UsuarioActual.TienePermisoProceso(401) Then
If Not TieneEntrada Then
BtnInvTempEntrada.Visible = True
End If
If TieneEntrada AndAlso Not TieneSalida Then
BtnInvTempSalida.Visible = True
End If
End If
End If
If UsuarioActual.Empresa.Funcionalidad(565) = "1" And pCveOrdenCompra > 0 And TipoOC.ToUpper() = "REQ" Then If UsuarioActual.Empresa.Funcionalidad(565) = "1" And pCveOrdenCompra > 0 And TipoOC.ToUpper() = "REQ" Then
'LAS COTIZACIONES RAPIDAS SOLO DEBE APARECER SI EL PROVEEDOR ES DEDICADO 'LAS COTIZACIONES RAPIDAS SOLO DEBE APARECER SI EL PROVEEDOR ES DEDICADO
If CveConfianzaProveedor = 1 Then If CveConfianzaProveedor = 1 Then
@@ -2981,7 +2945,7 @@ Partial Class OC_OC
RequiereCotizacion:=ChkCotizacion.Checked, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RequiereCotizacion:=ChkCotizacion.Checked, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal,
RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim, RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim,
IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto, NumRemision:=TxtNumRemision.Text.Trim(), MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto, NumRemision:=TxtNumRemision.Text.Trim(), MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(),
CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, PorcentajeProntoPago:=PorcentajeProntoPago, EsTemporal:=ChkEsTemporal.Checked) Then CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, PorcentajeProntoPago:=PorcentajeProntoPago) Then
CveOrdenCompraPadre = OC.CveOrdenCompra CveOrdenCompraPadre = OC.CveOrdenCompra
If CveOrdenCompraPadre > 0 Then If CveOrdenCompraPadre > 0 Then
@@ -3003,12 +2967,9 @@ Partial Class OC_OC
Else Else
TieneError = True TieneError = True
End If End If
End If End If
End If End If
If Not ValidaNumRemision(TxtNumRemision.Text.Trim(), If(TipoOS, "OS", TipoOC), CveProveedor, OC.IniciaTransacSQL) Then If Not ValidaNumRemision(TxtNumRemision.Text.Trim(), If(TipoOS, "OS", TipoOC), CveProveedor, OC.IniciaTransacSQL) Then
TieneError = True TieneError = True
End If End If
@@ -3028,7 +2989,7 @@ Partial Class OC_OC
PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1),
CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero,
Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto, NumRemision:=TxtNumRemision.Text, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto, NumRemision:=TxtNumRemision.Text, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero,
PorcentajeProntoPago:=PorcentajeProntoPago, EsTemporal:=ChkEsTemporal.Checked) Then PorcentajeProntoPago:=PorcentajeProntoPago) Then
CveOrdenCompra = OC.CveOrdenCompra CveOrdenCompra = OC.CveOrdenCompra
CveEstatus = CboE.SelectedValue.ToEntero CveEstatus = CboE.SelectedValue.ToEntero
@@ -3106,30 +3067,19 @@ Partial Class OC_OC
End If End If
End If End If
If Not TieneError AndAlso DdlMetodoPago.SelectedValue.ToEntero = 0 AndAlso TipoOC = "OC" Then If Not TieneError AndAlso DdlMetodoPago.SelectedValue.ToEntero = 0 AndAlso TipoOC = "OC" Then
If Not GeneraAnticpoContado(CveOrdenCompra, OC.IniciaTransacSQL()) Then If Not GeneraAnticpoContado(CveOrdenCompra, OC.IniciaTransacSQL()) Then
TieneError = True TieneError = True
End If End If
End If End If
If Not TieneError AndAlso TipoOC = "OC" Then If Not TieneError AndAlso TipoOC = "OC" Then
If Not GeneraPrePolizaPresupuesto(CveOrdenCompra, OC.IniciaTransacSQL) Then If Not GeneraPrePolizaPresupuesto(CveOrdenCompra, OC.IniciaTransacSQL) Then
TieneError = True TieneError = True
End If End If
End If End If
If EsGrupoDiaz AndAlso EsNuevo AndAlso CveOrdenCompra > 0 AndAlso TipoOC = "OC" AndAlso ChkEsTemporalRegistro.Checked Then
If Not RegistroInventarioTemporal(OC.IniciaTransacSQL, CveOrdenCompra, 1, False) Then
TieneError = True
End If
End If
If Not TieneError Then If Not TieneError Then
If Conta IsNot Nothing Then Conta.Commit() If Conta IsNot Nothing Then Conta.Commit()
OC.Commit() OC.Commit()
@@ -3729,7 +3679,7 @@ Partial Class OC_OC
PorcentajeIVA:=PorIVA, IVA:=IVACot, RetIVA:=RetIVA.ToString.ToDecimal, RetISR:=RetISR.ToString.ToDecimal, IDPoliza:=IdPoliza, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, PorcentajeIVA:=PorIVA, IVA:=IVACot, RetIVA:=RetIVA.ToString.ToDecimal, RetISR:=RetISR.ToString.ToDecimal, IDPoliza:=IdPoliza, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text,
EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal,
CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, Promocion:=Promocion, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, NumRemision:=TxtNumRemision.Text.Trim, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, Promocion:=Promocion, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, NumRemision:=TxtNumRemision.Text.Trim, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(),
CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, PorcentajeProntoPago:=PorcentajeProntoPago, EsTemporal:=ChkEsTemporal.Checked) Then CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, PorcentajeProntoPago:=PorcentajeProntoPago) Then
'CREA POLIZA POR CADA PROVEEDOR 'CREA POLIZA POR CADA PROVEEDOR
@@ -3804,17 +3754,11 @@ Partial Class OC_OC
tCveSubProyecto = GetCveSubProyectoDetalles() tCveSubProyecto = GetCveSubProyectoDetalles()
End If End If
If (Not HuboError) AndAlso objOrdenCompra.AddOrdenCompra("OC", tCveSubProyecto, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusInicialOC, TxtFechaEstimadaEntrega.Text, LugarEntrega, If (Not HuboError) AndAlso objOrdenCompra.AddOrdenCompra("OC", tCveSubProyecto, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusInicialOC, TxtFechaEstimadaEntrega.Text, LugarEntrega,
CveUsuario, CveEmpresaActual, 0, pCveProveedor:=DdlProveedores.SelectedValue.ToEntero, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveUsuarioAsignado:=DdlUsuariosAsignado.SelectedValue.ToEntero(), CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, CveUsuario, CveEmpresaActual, 0, pCveProveedor:=DdlProveedores.SelectedValue.ToEntero, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveUsuarioAsignado:=DdlUsuariosAsignado.SelectedValue.ToEntero(), CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text,
PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, IDPoliza:=IDPolizaPresupuestal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, IDPoliza:=IDPolizaPresupuestal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text,
EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero,
Promocion:=Promocion, NumRemision:=TxtNumRemision.Text.Trim, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, PorcentajeProntoPago:=PorcentajeProntoPago, Promocion:=Promocion, NumRemision:=TxtNumRemision.Text.Trim, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, PorcentajeProntoPago:=PorcentajeProntoPago) Then
EsTemporal:=ChkEsTemporal.Checked) Then
'USA AC 'USA AC
If UsuarioActual.Empresa.UsaAC AndAlso VerificaPresupuesto Then ' AGREGAR POLIZA If UsuarioActual.Empresa.UsaAC AndAlso VerificaPresupuesto Then ' AGREGAR POLIZA
@@ -5644,7 +5588,6 @@ Partial Class OC_OC
File.Move(Archivo.ToString, String.Format("{0}OI\OI{1}{2}", UsuarioActual.Empresa.Ruta, ObjEventoBitacora.CveEvento.ToString, Archivo.Extension)) File.Move(Archivo.ToString, String.Format("{0}OI\OI{1}{2}", UsuarioActual.Empresa.Ruta, ObjEventoBitacora.CveEvento.ToString, Archivo.Extension))
End If End If
Else Else
Retorno = True Retorno = True
Exit For Exit For
@@ -9800,253 +9743,6 @@ Partial Class OC_OC
FileExcel.Save(Response, $"OC_{CveOrdenCompra}.xlsx", SaveOptions.XlsxDefault) FileExcel.Save(Response, $"OC_{CveOrdenCompra}.xlsx", SaveOptions.XlsxDefault)
End Sub End Sub
Function RegistroInventarioTemporal(ByRef transaccion As SqlTransaction, CveOCInv As Integer, OpcionOrigen As Integer, Recargar As Boolean) As Boolean
Dim CveConceptoInv As Integer = If(OpcionOrigen = 1, 33, 35) 'Conceptos 33 Entrada Manual 35 Salida Manual
Dim Respuesta As Boolean = True
Dim ObjOC As New ClsOC(transaccion)
Dim DTDetalleOC As New DataTable
If ObjOC.GetOrdenesDetalle(CveOCInv, UsuarioActual.CveEmpresa) Then
DTDetalleOC = ObjOC.DtResultados.FiltraParametros(" CveTipoPS = 2 ")
If DTDetalleOC.Rows.Count = 0 Then 'No hay PSs Tipo Producto
Return True
End If
Else
Return False
End If
Dim tCveSubProyecto As Integer = UsuarioActual.CveSubProyecto
If ModalidadSubProyectoGeneral Then tCveSubProyecto = DdlSubProyectoGral.SelectedValue.ToEntero
If tCveSubProyecto <= 0 Then
tCveSubProyecto = GetCveSubProyectoDetalles()
End If
If tCveSubProyecto <= 0 Then
Alert("Sub Proyecto no asignado.")
Return False
End If
Dim CveAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveSubProyecto = {tCveSubProyecto} AND CveTipoAlmacen = 1 ").ToEntero
If CveAlmacen <= 0 Then
Alert("Almacén no asignado.")
Return False
End If
Dim ObjConta As New ClsContabilidad(transaccion)
Dim ObjInventario As New ClsInventarios(transaccion)
'Dim CveConceptoInv As Integer = If(TipoTermino = 1, 3, 2)
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inv/OC", 53, 0, 0, 1, TxtFecha.Text.Replace(",", "").ToDate, TxtDescrip.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
Dim CveMovimiento As Integer = ObjInventario.AddMovimiento(CveAlmacen, CveConceptoInv, 1, NowADS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, tCveSubProyecto, -1, Observaciones:=TxtDescrip.Text, Modulo:="OC/1")
Dim FolioMto As Integer = ObjInventario.Folio
If CveMovimiento <= 0 OrElse CvePrePoliza <= 0 Then
Alert("No se pudo almacenar el movimiento correctamente", TipoMensaje.MsgError)
'ObjInventario.RollBack() 'deshace lo insertado
Respuesta = False
Else
Dim Mensaje As String = ""
''VALIDA EXISTENCIAS
Dim Cont As Integer = 0
If CveConceptoInv = 3 Then
For Each Dr As DataRow In DTDetalleOC.Rows
'Dim FechaCaducidadVal As Date = If(Dr("AplicaCaducidad").ToString = "True", Dr("FechaCaducidad").ToString.ToDate, MinFecha)
Dim FechaMovtoExistenciaStr As String = $"{NowADS.ToString("yyyy/MM/dd")} {NowADS.ToString("HH:mm")}"
If ObjInventario.GetExistenciasPS(Dr("CvePS").ToString.ToEntero, Dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, CveAlmacen, FechaMovto:=FechaMovtoExistenciaStr) >= Dr("Cantidad").ToString.ToDouble Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Observaciones:=Dr("Descripcion").ToString, CveUsuarioModifico:=UsuarioActual.CveUsuario, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
Mensaje = "Error al guardar los movimientos"
Respuesta = False
Exit For
End If
Else
If UsuarioActual.TienePermisoProceso(114) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Observaciones:=Dr("Descripcion").ToString, CveUsuarioModifico:=UsuarioActual.CveUsuario, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
Mensaje = "Error al guardar los movimientos"
Respuesta = False
Exit For
End If
Else
Mensaje = String.Format("No hay existencias suficientes del producto: {0}", Dr("PS"))
Alert(Mensaje, TipoMensaje.MsgAdvertencia)
Respuesta = False
Exit For
End If
End If
Cont += 1
Next
Else
For Each Dr As DataRow In DTDetalleOC.Rows
Dim ImporteConcepto As Decimal = 0
If CveConceptoInv = 2 AndAlso DdlMoneda.SelectedValue.ToEntero = 2 Then
ImporteConcepto = Dr("PU").ToString.ToDecimal * GlobalTipoCambio(TxtFecha.Text.Replace(",", "").ToDate).ToDecimal
Else
ImporteConcepto = Dr("PU").ToString.ToDecimal
End If
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, ImporteConcepto, Observaciones:=Dr("Descripcion").ToString, CveUsuarioModifico:=UsuarioActual.CveUsuario, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
Mensaje = "Error al guardar los movimientos"
Respuesta = False
Exit For
End If
Cont += 1
Next
End If
Dim EsContabilizable As Boolean = False
'Registro la prepóliza
If Respuesta AndAlso ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
Dim tValorInventario As Decimal = ObjInventario.DtResultados.SUMD("Total", "").RoundSQL()
Dim tValorOtro As Decimal = tValorInventario
Dim TipoMovtoAlmacen As Boolean = False
Dim TipoMovtoOtro As Boolean = True
Dim drA2 As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", CveAlmacen))
If drA2 IsNot Nothing Then
tCveSubProyecto = drA2("CveSubProyecto").ToString.ToEntero
End If
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & CveConceptoInv).ToEntero
If OrigenMov = 1 Then TipoMovtoAlmacen = False Else TipoMovtoAlmacen = True
TipoMovtoOtro = Not TipoMovtoAlmacen
Dim CveConceptoContable As Integer = 260
Dim CveClasificacion As Integer = -1
Select Case CveConceptoInv
Case 2, 32
CveConceptoContable = 78
EsContabilizable = True
Case 28, 31
CveConceptoContable = 51
If CveConceptoInv = 28 Then
''cuando es 28, es otros ingresos.78
CveConceptoContable = 78
End If
EsContabilizable = True
Case 30
CveConceptoContable = 181
TipoMovtoOtro = False
If DdlSubProyecto.Visible = True AndAlso DdlSubProyecto.SelectedValue.ToEntero > 0 Then tCveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero
Case 34
CveConceptoContable = 51
EsContabilizable = True
Case 13, 29
CveConceptoContable = 69
TipoMovtoOtro = True
tValorOtro = -tValorOtro
Dim drr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimero("")
If drr IsNot Nothing Then
CveClasificacion = drr("CveClasificacion").ToString.ToEntero
End If
Case 3
CveConceptoContable = 51
EsContabilizable = True
Case Else
CveConceptoContable = 95
End Select
'2-78
Dim Obs As String = TxtDescrip.Text
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAlmacen, tValorInventario, tValorInventario, 68, Obs, Obs, CveMovimientoAlmacen:=CveMovimiento, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then
Respuesta = False
Else
'Dim Total As Decimal = 0
If CveConceptoContable.Contiene(181, 78, 51, 69) Then
Dim Dt As DataTable = ObjInventario.DtResultados.FiltraParametros("", "", {"CveClasificacion"}).Copy
For Each Dr As DataRow In Dt.Rows
Dim Total As Decimal = ObjInventario.DtResultados.FiltraParametros($"CveClasificacion = {Dr("CveClasificacion")}").SUM("Total").RoundSQL()
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovtoAlmacen, Total, Total, CveConceptoContable, lblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimiento, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto) Then
Respuesta = False
End If
Next
Else
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovtoAlmacen, tValorInventario, tValorInventario, CveConceptoContable, Obs, Obs, CveMovimientoAlmacen:=CveMovimiento, CveClasificacion:=CveClasificacion, Contabilizable:=EsContabilizable) Then
Respuesta = False
End If
End If
End If
Else
Respuesta = False
End If
End If
If Respuesta Then
If Recargar Then
Alert($"Movimiento Guardado Correctamente Folio:{FolioMto}", TipoMensaje.MsgInformacion, "window.location.reload();")
Else
Alert($"Movimiento Guardado Correctamente Folio:{FolioMto}", TipoMensaje.MsgInformacion)
End If
End If
Return Respuesta
End Function
Protected Sub BtnInvTempEntrada_Click(sender As Object, e As EventArgs)
Dim ObjOC As New ClsOC
Try
If RegistroInventarioTemporal(ObjOC.IniciaTransacSQL(), CveOrdenCompra, 1, True) Then
ObjOC.Commit()
Else
ObjOC.RollBack()
End If
Catch ex As Exception
ObjOC.RollBack()
Finally
ObjOC.Dispose()
End Try
End Sub
Protected Sub BtnInvTempSalida_Click(sender As Object, e As EventArgs)
Dim ObjOC As New ClsOC
Try
If RegistroInventarioTemporal(ObjOC.IniciaTransacSQL(), CveOrdenCompra, 0, True) Then
ObjOC.Commit()
Else
ObjOC.RollBack()
End If
Catch ex As Exception
ObjOC.RollBack()
Finally
ObjOC.Dispose()
End Try
End Sub
End Class End Class

View File

@@ -201,10 +201,6 @@
<asp:DropDownList ID="DdlMoneda" runat="server" CssClass="form-control input-sm select2me" DataTextField="Moneda" DataValueField="CveMoneda" Style="width: 95px; height: 30px; display: inline-block;"> <asp:DropDownList ID="DdlMoneda" runat="server" CssClass="form-control input-sm select2me" DataTextField="Moneda" DataValueField="CveMoneda" Style="width: 95px; height: 30px; display: inline-block;">
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<div class="colf-1" runat="server" id="DVEsTemporal" visible="false">
<asp:CheckBox runat="server" ID="ChkEsTempral" Text="Es Temporal" />
</div>
</div> </div>
<div class="row rownomargin"> <div class="row rownomargin">
<label class="colf-1 truncate">Clasificación</label> <label class="colf-1 truncate">Clasificación</label>
@@ -266,7 +262,7 @@
</div> </div>
<label class="colf-1 truncate" id="clintesdiv1" runat="server" visible="false">Cliente</label> <label class="colf-1 truncate" id="clintesdiv1" runat="server" visible="false">Cliente</label>
<div class="colf-2" id="clintesdiv2" runat="server" visible="false"> <div class="colf-2" id="clintesdiv2" runat="server" visible="false">
<asp:DropDownList ID="ddlcliente" runat="server" CssClass="form-control input-sm select2me" DataTextField="NombreComercial" DataValueField="CveCliente"></asp:DropDownList> <ADS:Dropdownlost ID="ddlclientes" runat="server" CssClassDdl="select2me" CssStyle="width: 100%;" Width="100%" DataTextField="NombreComercial" DataValueField="CveCliente"></ADS:Dropdownlost>
</div> </div>
<div class="colf-3"> <div class="colf-3">
<asp:CheckBox Text="No Completa" TextAlign="Left" CssClass="md-checksd2" ID="CheckNoCompleta" Visible="true" runat="server" /> <asp:CheckBox Text="No Completa" TextAlign="Left" CssClass="md-checksd2" ID="CheckNoCompleta" Visible="true" runat="server" />

View File

@@ -69,31 +69,22 @@ Partial Class RepOC
CargaActivoFijo() CargaActivoFijo()
CargaClasificacion() CargaClasificacion()
CargaPS(-1) CargaPS(-1)
CargaClientes()
If UsuarioActual.Empresa.Funcionalidad(108) = "1" Then 'If UsuarioActual.Empresa.Funcionalidad(108) = "1" Then
CargaClientes() ' CargaClientes()
Else 'Else
ddlcliente.Items.Insert(0, New ListItem("Todos", "-1")) ' ddlcliente.Items.Insert(0, New ListItem("Todos", "-1"))
End If 'End If
CargaPendientes() CargaPendientes()
txtFechaISemanal.Text = NowADS().FirstDayOfMonth.ToShortDateString txtFechaISemanal.Text = NowADS().FirstDayOfMonth.ToShortDateString
txtFechaFSemanal.Text = NowADS().ToShortDateString txtFechaFSemanal.Text = NowADS().ToShortDateString
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
DVEsTemporal.Visible = True
End If
End If End If
End Sub End Sub
#Region " CARGA COMBOS " #Region " CARGA COMBOS "
Protected Sub CargaProyectos() Protected Sub CargaProyectos()
'DdlProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1)) 'DdlProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1))
'DdlProyectos.DataBind() 'DdlProyectos.DataBind()
@@ -146,9 +137,13 @@ Partial Class RepOC
Protected Sub CargaClientes() Protected Sub CargaClientes()
clintesdiv1.Visible = True clintesdiv1.Visible = True
clintesdiv2.Visible = True clintesdiv2.Visible = True
ddlcliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) ddlclientes.setEsWebService(True)
ddlcliente.DataBind() ddlclientes.Attributes.Add("data-metodo", "getcliente")
ddlcliente.Items.Insert(0, New ListItem("Todos", "-1")) ddlclientes.SelectedText = "Todos"
ddlclientes.SelectedValue = "-1"
'ddlcliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
'ddlcliente.DataBind()
'ddlcliente.Items.Insert(0, New ListItem("Todos", "-1"))
GvPorAtender.Columns(12).Visible = False GvPorAtender.Columns(12).Visible = False
GvPendientes.Columns(12).Visible = False GvPendientes.Columns(12).Visible = False
@@ -222,12 +217,10 @@ Partial Class RepOC
End Sub End Sub
Private Sub CargaPendientes() Private Sub CargaPendientes()
Dim EsTemporal As Integer = If(ChkEsTempral.Checked, 1, -1)
Dim OC As New ClsOC Dim OC As New ClsOC
If OC.GetOrdenesPendientes(DdlTipo.SelectedValue.ToString, 0, UsuarioActual.CveEmpresa, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, If OC.GetOrdenesPendientes(DdlTipo.SelectedValue.ToString, 0, UsuarioActual.CveEmpresa, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero,
DdlEstatus.SelectedValue.ToEntero, UsuarioActual.CveUsuario, ddlcliente.SelectedValue.ToEntero, SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False), DdlEstatus.SelectedValue.ToEntero, UsuarioActual.CveUsuario, ddlclientes.SelectedValue.ToEntero, SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False),
CveUsuarioAsignado:=DdlUsuarioAsignado.SelectedValue.ToEntero(), EntregaDirecta:=DdlEntregaDirecta.SelectedValue.ToEntero(), TieneAnticipo:=DdlTieneAnticipo.SelectedValue.ToEntero, EsTemporal:=EsTemporal) Then CveUsuarioAsignado:=DdlUsuarioAsignado.SelectedValue.ToEntero(), EntregaDirecta:=DdlEntregaDirecta.SelectedValue.ToEntero(), TieneAnticipo:=DdlTieneAnticipo.SelectedValue.ToEntero) Then
DtPorAtender = OC.DtResultados DtPorAtender = OC.DtResultados
GvPorAtender.DataSource = DtPorAtender 'OC.DtResultados GvPorAtender.DataSource = DtPorAtender 'OC.DtResultados
@@ -255,8 +248,8 @@ Partial Class RepOC
End If End If
If OC.GetOrdenesPendientes(DdlTipo.SelectedValue.ToString, 1, UsuarioActual.CveEmpresa, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, If OC.GetOrdenesPendientes(DdlTipo.SelectedValue.ToString, 1, UsuarioActual.CveEmpresa, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero,
DdlEstatus.SelectedValue.ToEntero, UsuarioActual.CveUsuario, ddlcliente.SelectedValue.ToEntero, SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False), DdlEstatus.SelectedValue.ToEntero, UsuarioActual.CveUsuario, ddlclientes.SelectedValue.ToEntero, SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False),
CveUsuarioAsignado:=DdlUsuarioAsignado.SelectedValue.ToEntero(), EntregaDirecta:=DdlEntregaDirecta.SelectedValue.ToEntero(), TieneAnticipo:=DdlTieneAnticipo.SelectedValue.ToEntero, EsTemporal:=EsTemporal) Then CveUsuarioAsignado:=DdlUsuarioAsignado.SelectedValue.ToEntero(), EntregaDirecta:=DdlEntregaDirecta.SelectedValue.ToEntero(), TieneAnticipo:=DdlTieneAnticipo.SelectedValue.ToEntero) Then
GvPendientes.DataSource = OC.DtResultados GvPendientes.DataSource = OC.DtResultados
DtPendiente = OC.DtResultados DtPendiente = OC.DtResultados
GvPendientes.DataBind() GvPendientes.DataBind()
@@ -373,9 +366,6 @@ Partial Class RepOC
#Region " CONSULTAR " #Region " CONSULTAR "
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles btnConsultar.Click Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles btnConsultar.Click
Dim EsTemporal As Integer = If(ChkEsTempral.Checked, 1, -1)
LbPorAtenderPDF.Visible = False LbPorAtenderPDF.Visible = False
LbPorAtender.Visible = False LbPorAtender.Visible = False
LbPendientes.Visible = False LbPendientes.Visible = False
@@ -387,16 +377,15 @@ Partial Class RepOC
Dim FI As Date = If(txtFechaI.Text.Trim = "", MinFecha, txtFechaI.Text.Trim.ToDate) Dim FI As Date = If(txtFechaI.Text.Trim = "", MinFecha, txtFechaI.Text.Trim.ToDate)
Dim FF As Date = If(txtFechaF.Text.Trim = "", MaxFecha, txtFechaF.Text.Trim.ToDate) Dim FF As Date = If(txtFechaF.Text.Trim = "", MaxFecha, txtFechaF.Text.Trim.ToDate)
FF = FF.AddDays(1) FF = FF.AddDays(1)
Dim OC As New ClsOC Dim OC As New ClsOC
If OC.GetOrdenesCompraRep(DdlTipo.SelectedValue.ToString, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, DDlClasificacion.SelectedValue.ToEntero, If OC.GetOrdenesCompraRep(DdlTipo.SelectedValue.ToString, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, DDlClasificacion.SelectedValue.ToEntero,
DdlEstatus.SelectedValue.ToEntero, FI, FF, -1, DdlProveedores.SelectedValue.ToEntero, If(txtFolio.Text.ToEntero = 0, -1, txtFolio.Text.ToEntero), ddlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero, FI, FF, -1, DdlProveedores.SelectedValue.ToEntero, If(txtFolio.Text.ToEntero = 0, -1, txtFolio.Text.ToEntero), ddlUsuario.SelectedValue.ToEntero,
If(CheckNoCompleta.Checked, -1, UsuarioActual.CveUsuario), UsuarioActual.Empresa.CveEmpresa, If(DDlPS.SelectedValue = "", -1, DDlPS.SelectedValue.ToEntero), If(CheckNoCompleta.Checked, True, False), If(CheckNoCompleta.Checked, -1, UsuarioActual.CveUsuario), UsuarioActual.Empresa.CveEmpresa, If(DDlPS.SelectedValue = "", -1, DDlPS.SelectedValue.ToEntero), If(CheckNoCompleta.Checked, True, False),
ddlcliente.SelectedValue.ToEntero, CveActivoFijo:=DdlActivoFijo.SelectedValue.ToEntero, SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False), ddlclientes.SelectedValue.ToEntero, CveActivoFijo:=DdlActivoFijo.SelectedValue.ToEntero, SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False),
CveUsuarioAutorizo:=DdlUsuarioAutorizo.SelectedValue.ToEntero(), CveUsuarioAsignado:=DdlUsuarioAsignado.SelectedValue.ToEntero(), EntregaDirecta:=DdlEntregaDirecta.SelectedValue.ToEntero(), CveUsuarioAutorizo:=DdlUsuarioAutorizo.SelectedValue.ToEntero(), CveUsuarioAsignado:=DdlUsuarioAsignado.SelectedValue.ToEntero(), EntregaDirecta:=DdlEntregaDirecta.SelectedValue.ToEntero(),
CveMoneda:=DdlMoneda.SelectedValue.ToEntero(), MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero, TieneAnticipo:=DdlTieneAnticipo.SelectedValue.ToEntero, EsTemporal:=EsTemporal) Then CveMoneda:=DdlMoneda.SelectedValue.ToEntero(), MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero, TieneAnticipo:=DdlTieneAnticipo.SelectedValue.ToEntero) Then
GvConsultar.DataSource = OC.DtResultados GvConsultar.DataSource = OC.DtResultados
DtOC = OC.DtResultados DtOC = OC.DtResultados
@@ -551,15 +540,12 @@ Partial Class RepOC
Dim Clasificacion = If(DDlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b>&nbsp;{DDlClasificacion.SelectedItem.Text}") Dim Clasificacion = If(DDlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b>&nbsp;{DDlClasificacion.SelectedItem.Text}")
Dim Producto = If(DDlPS.SelectedValue = "-1", "", $"&emsp;<b>Producto/Servicio:</b>&nbsp;{DDlPS.SelectedText}") Dim Producto = If(DDlPS.SelectedValue = "-1", "", $"&emsp;<b>Producto/Servicio:</b>&nbsp;{DDlPS.SelectedText}")
Dim Completa As String = If(CheckNoCompleta.Checked = False, "", $"&emsp;, <b>No completa</b>&nbsp;") Dim Completa As String = If(CheckNoCompleta.Checked = False, "", $"&emsp;, <b>No completa</b>&nbsp;")
Dim Proveedor = If(DdlProveedores.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedores.txtText.Value }") Dim Proveedor = If(DdlProveedores.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedores.txtText.Value}")
Dim Cliente = If(ddlcliente.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b>&nbsp;{ddlcliente.SelectedItem.Text}") Dim Cliente = If(ddlclientes.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b>&nbsp;{ddlclientes.txtText.Value}")
Dim TieneAnticipo As String = If(DdlTieneAnticipo.SelectedValue.ToEntero = -1, "", $"&emsp;<b>Anticpo:</b>&nbsp;{DdlTieneAnticipo.SelectedItem.Text}") Dim TieneAnticipo As String = If(DdlTieneAnticipo.SelectedValue.ToEntero = -1, "", $"&emsp;<b>Anticpo:</b>&nbsp;{DdlTieneAnticipo.SelectedItem.Text}")
If DtPorAtender IsNot Nothing AndAlso DtPorAtender.Rows.Count > 0 Then If DtPorAtender IsNot Nothing AndAlso DtPorAtender.Rows.Count > 0 Then
Dim Cantidad As Integer = DtOC.COUNT("CveOrdenCompra") Dim Cantidad As Integer = DtOC.COUNT("CveOrdenCompra")
Dim TotalPesos As Double = DtOC.SUM("Total", "CveMoneda = 1") Dim TotalPesos As Double = DtOC.SUM("Total", "CveMoneda = 1")
Dim TotalDolares As Double = DtOC.SUM("Total", "CveMoneda = 2") Dim TotalDolares As Double = DtOC.SUM("Total", "CveMoneda = 2")