Asignar al documento PUE o PPD según sea el caso #74
Replies: 3 comments
-
Hola muy buenas tardes, en la documentación puedes encontrar un ejemplo de cómo Crear Un Documento public class CrearFactura
{
private readonly IDocumentoService _documentoService;
private readonly IMovimientoService _movimientoService;
public CrearFactura(IDocumentoService documentoService, IMovimientoService movimientoService)
{
_documentoService = documentoService;
_movimientoService = movimientoService;
}
public int Crear()
{
tLlaveDoc siguienteFolio = _documentoService.BuscarSiguienteSerieYFolio("PRUEBAFACTURA");
var documento = new Documento
{
Concepto = new ConceptoDocumento { Codigo = "PRUEBAFACTURA" },
Serie = siguienteFolio.aSerie,
Folio = (int)siguienteFolio.aFolio,
Fecha = DateTime.Today,
Cliente = new ClienteProveedor { Codigo = "PRUEBA" },
Referencia = "Referencia",
FormaPago = FormaPagoEnum._03, // Asigna la forma de pago
MetodoPago = MetodoPagoEnum.PPD, // Asigna el metodo de pago
Observaciones = "Observaciones",
Moneda = MonedaEnum.PesoMexicano.ToMoneda(),
TipoCambio = 1,
Agente = new Agente { Codigo = "PRUEBA" }
};
documento.DatosExtra.Add(nameof(admDocumentos.CTEXTOEXTRA1), "Texto Extra 1");
documento.DatosExtra.Add(nameof(admDocumentos.CTEXTOEXTRA2), "Texto Extra 2");
var movimiento = new Movimiento
{
Producto = new Producto { Codigo = "PRUEBA" },
Almacen = new Almacen { Codigo = "1" },
Unidades = 1,
Precio = 100,
Referencia = "Referencia",
Observaciones = "Observaciones"
};
movimiento.DatosExtra.Add(nameof(admMovimientos.CTEXTOEXTRA1), "Texto Extra 1");
documento.Movimientos.Add(movimiento);
int nuevoDocumentoId = _documentoService.Crear(documento);
foreach (Movimiento mov in documento.Movimientos) _movimientoService.Crear(nuevoDocumentoId, mov);
return nuevoDocumentoId;
}
} |
Beta Was this translation helpful? Give feedback.
-
Buenas tardes |
Beta Was this translation helpful? Give feedback.
-
Los campos son:
Te comparto un ejemplo de cómo actualizar el método y forma de pago de un documento utilizando var datosDocumento = new Dictionary<string, string>(documento.DatosExtra);
datosDocumento.TryAdd(nameof(admDocumentos.CMETODOPAG), documento.FormaPago.Value);
datosDocumento.TryAdd(nameof(admDocumentos.CCANTPARCI), MetodoPagoHelper.ConvertToSdkValue(documento.MetodoPago).ToString());
_documentoService.Actualizar(documento.Id, datosDocumento); El campo Te comparto el código de public static int ConvertToSdkValue(MetodoPagoEnum metodo)
{
if (metodo == MetodoPagoEnum.PUE) return 1;
if (metodo == MetodoPagoEnum.PPD) return 2;
throw new ArgumentException("El metodo no es valido.", nameof(metodo));
} Como puedes ver, si es |
Beta Was this translation helpful? Give feedback.
-
Buen día
He estado revisando las tablas de documento, concepto de documento, cliente, etc., para saber en que tabla se asigna la forma o método de pago PUE Pago en una sola exhibición y/o PPD Pago en parcialidades o diferido pero por mas que reviso las tablas y hago pruebas NO consigo setear en el documento la forma de pago o método de pago, en específico PUE y/o PPD.
El documento creado se timbra sin ningún problema pero al parecer por defecto le asigna PUE y tengo algunos clientes que su forma de pago o método debe ser PPD
En que tabla se asigna esto al momento de crear el documento?
Por tu atención
Gracias
Beta Was this translation helpful? Give feedback.
All reactions