diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index ee9dc3df8..78272dc76 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -9741,18 +9741,21 @@ Partial Class Compras_Compras
ReceptorRFC = ValorXML(node, "RFC")
End If
- node = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces)
- If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then
- If ValorXML(node, "TipoRelacion").ToString.Contiene("04", "07") Then
- Dim nodeDocumentosRelacionados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:CfdiRelacionado", Prefijo), namespaces)
- For Each documento As XmlNode In nodeDocumentosRelacionados
- If documento.Attributes("UUID").Value <> "" Then
- ListaDocumentos.Add(documento.Attributes("UUID").Value)
- End If
- Next
+ If UsuarioActual.CveEmpresa.Contiene(119) Then
+ node = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces)
+ If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then
+ If ValorXML(node, "TipoRelacion").ToString.Contiene("04", "07") Then
+ Dim nodeDocumentosRelacionados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:CfdiRelacionado", Prefijo), namespaces)
+ For Each documento As XmlNode In nodeDocumentosRelacionados
+ If documento.Attributes("UUID").Value <> "" Then
+ ListaDocumentos.Add(documento.Attributes("UUID").Value)
+ End If
+ Next
+ End If
End If
End If
+
node = XMLDoc.SelectSingleNode(String.Format("//{0}:Impuestos", Prefijo), namespaces)
If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then
Dim nodeRetenciones As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Impuestos/{0}:Retenciones/{0}:Retencion", Prefijo), namespaces)
diff --git a/Planeacion/CatFolios.aspx.vb b/Planeacion/CatFolios.aspx.vb
index 70eaeb189..1c8f92399 100644
--- a/Planeacion/CatFolios.aspx.vb
+++ b/Planeacion/CatFolios.aspx.vb
@@ -70,6 +70,7 @@ Partial Class CatFolios
DdlTipoDocto.Items.Insert(31, New ListItem("Proveedor", "Pro"))
DdlTipoDocto.Items.Insert(32, New ListItem("Acreedor", "Acr"))
DdlTipoDocto.Items.Insert(33, New ListItem("Productos/Servicios", "PS"))
+ DdlTipoDocto.Items.Insert(34, New ListItem("NC de Remisión", "RNC"))
ElseIf UsuarioActual.Empresa.CvePlataforma = 2 Then
DdlTipoDocto.Items.Insert(1, New ListItem("Facturas", "Ing"))
DdlTipoDocto.Items.Insert(2, New ListItem("Notas de Crédito", "Egs"))
diff --git a/Ventas/PopUpBuscarFolio.aspx b/Ventas/PopUpBuscarFolio.aspx
index 79cf3b927..e05a1490b 100644
--- a/Ventas/PopUpBuscarFolio.aspx
+++ b/Ventas/PopUpBuscarFolio.aspx
@@ -46,6 +46,7 @@
+
Estatus Factura: |
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index eb95bd40a..a20b8a60a 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -1727,6 +1727,10 @@ Partial Class Ventas
DdlTipoComprobante.Items.Insert(DdlTipoComprobante.Items.Count, New ListItem("Pedido", "Pd2"))
+ If UsuarioActual.Empresa.Funcionalidad(344).ToString = "1" Then
+ DdlTipoComprobante.Items.Insert(DdlTipoComprobante.Items.Count, New ListItem("NC de Remisión", "RNC"))
+ End If
+
If UsuarioActual.Empresa.Funcionalidad(528) = "1" Then 'FUNCIONALIDAD. DE REGISTRO DE CUENTA PREDIAL.
GvPS.Columns(ColumnaPredial).Visible = True
thPredial1.Visible = True
@@ -6568,7 +6572,7 @@ Partial Class Ventas
'ContPAQ El movimiento 1 es el de Venta
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
- If UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ant", "Rem", "Cot", "Ped", "Pd2", "PA", "NC") Then
+ If UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "NC") Then
AutoConta = False
End If
@@ -6623,7 +6627,7 @@ Partial Class Ventas
Dim EstatusSMS = 0
'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO
- If (TipoDoctoDevolucion = "" OrElse Not TipoDoctoDevolucion.Contiene("Rem", "Cot", "Ped", "DPe", "PA", "Pd2")) Then
+ If (TipoDoctoDevolucion = "" OrElse Not TipoDoctoDevolucion.Contiene("Rem", "RNC", "Cot", "Ped", "DPe", "PA", "Pd2")) Then
Dim DebeTimbrar As Boolean = True
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then
@@ -9104,7 +9108,7 @@ Partial Class Ventas
CvePlantilaPoliza = 4
ElseIf ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
CvePlantilaPoliza = 7
- ElseIf ObjFactura.TipoDocto = "Rem" Then
+ ElseIf ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
CvePlantilaPoliza = 4
End If
@@ -9173,7 +9177,7 @@ Partial Class Ventas
Select Case ConceptoContable
Case 1 'Cliente
- If Not ObjFactura.TipoDocto.Contiene("Egs", "Rem") Then
+ If Not ObjFactura.TipoDocto.Contiene("Egs", "Rem", "RNC") Then
importeMovimiento = (ObjFactura.Total - TotalOtrosConceptos) * ValorMultiplicador
importeMX = importeMovimiento * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago
@@ -9247,6 +9251,37 @@ Partial Class Ventas
ViewState("SeGuardoPrePoliza") = True
End If
+ Case 277 'Remisión del cliente
+
+ If ObjFactura.TipoDocto = "RNC" Then
+ importeMovimiento = (ObjFactura.Total - TotalOtrosConceptos) * ValorMultiplicador
+ importeMX = importeMovimiento * tipoCambio * Multiplicador
+ FechaMovimiento = ObjFactura.FechaPago
+ CveSubProyectoContabilizar = CveSubProyectoVenta
+ If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
+
+ If tipoCambio = 1 Then
+ IdCtaContable = ObjFactura.Cliente.IdCtaContClientes
+ CveCuenta = ObjFactura.Cliente.CveCuentaClientes
+ Else
+ IdCtaContable = ObjFactura.Cliente.IdCtaContMonedaExtranjera
+ CveCuenta = ObjFactura.Cliente.CveCuentaMonedaExtranjera
+ End If
+ IdCtaContableCliente = IdCtaContable
+ CveCuentaCliente = CveCuenta
+
+ If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
+ If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 278, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
+ ErrorPrepoliza = True
+ End If
+ Else
+ ErrorPrepoliza = True
+ End If
+
+ importeMovimiento = 0
+ ViewState("SeGuardoPrePoliza") = True
+ End If
+
Case 12 'Nota de Credito
If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
importeMovimiento = ObjFactura.Total * ValorMultiplicador
@@ -9712,7 +9747,7 @@ Partial Class Ventas
importeMovimiento = 0
Case 4 'Venta Clasificacion
- If Not ObjFactura.TipoDocto.Contiene("Rem", "Ant", "Egs", "Dev") Then
+ If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC", "Ant", "Egs", "Dev") Then
Dim ConceptoContableAplicar = 4
Dim CveVentaAplicar = ObjFactura.CveVenta
@@ -9890,7 +9925,7 @@ Partial Class Ventas
importeMovimiento = 0
Case 103 'Descuento
- If Not ObjFactura.TipoDocto.Contiene("Rem") AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "-1" Then
+ If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "-1" Then
importeMovimiento = ObjFactura.Descuento * ValorMultiplicador
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
@@ -9937,7 +9972,7 @@ Partial Class Ventas
End If
Case 8 'Ret IVA por Trasladar
- If Not ObjFactura.TipoDocto.Contiene("Rem") Then
+ If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
importeMovimiento = ObjFactura.RetIVA * ValorMultiplicador
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago
@@ -9968,7 +10003,7 @@ Partial Class Ventas
End If
Case 9 'Ret ISR por Trasladar
- If Not ObjFactura.TipoDocto.Contiene("Rem") Then
+ If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
importeMovimiento = ObjFactura.RetISR * ValorMultiplicador
importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago
@@ -9998,7 +10033,7 @@ Partial Class Ventas
End If
End If
Case 13 'Iva por Trasladar
- If Not ObjFactura.TipoDocto.Contiene("Rem") Then
+ If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then
importeMovimiento = ObjFactura.IVA * ValorMultiplicador
importeMX = Math.Round(importeMovimiento * tipoCambio * Multiplicador, 2)
FechaMovimiento = ObjFactura.FechaPago