public static eCardType GetCardTypeBy(this eDocumentObjectType pObjectType) { switch (pObjectType) { case eDocumentObjectType.oInvoices: case eDocumentObjectType.oCorrectionInvoice: case eDocumentObjectType.oCorrectionInvoiceReversal: case eDocumentObjectType.oInvoicesReserve: case eDocumentObjectType.oCreditNotes: case eDocumentObjectType.oDeliveryNotes: case eDocumentObjectType.oReturns: case eDocumentObjectType.oOrders: case eDocumentObjectType.oQuotations: return(eCardType.Customer); case eDocumentObjectType.oPurchaseInvoices: case eDocumentObjectType.oCorrectionPurchaseInvoice: case eDocumentObjectType.oCorrectionPurchaseInvoiceReversal: case eDocumentObjectType.oPurchaseInvoicesReserve: case eDocumentObjectType.oPurchaseCreditNotes: case eDocumentObjectType.oPurchaseDeliveryNotes: case eDocumentObjectType.oPurchaseReturns: case eDocumentObjectType.oPurchaseOrders: case eDocumentObjectType.oPurchaseDownPayments: case eDocumentObjectType.oDownPayments: case eDocumentObjectType.oPurchaseQuotations: return(eCardType.Vendor); default: return(eCardType.None); } }
/// <summary> /// Instancia um novo documento /// </summary> /// <param name="pCompanyDb">Banco de dados da empresa</param> /// <param name="pDocumentObjectType">Tipo do Objeto</param> public Document(string pCompanyDb, eDocumentObjectType pDocumentObjectType) : base(pCompanyDb, "O" + pDocumentObjectType.GetTableNameSufix()) { Expenses = new List <DocumentAdditionalExpenses>(); DocumentRefenceList = new List <DocumentReferenceInformation>(); Lines = new List <Line>(); TaxExtension = new DocumentTaxExtension(pCompanyDb, pDocumentObjectType); DownPaymentsToDraw = new List <DocumentDownPaymentsToDraw>(); }
public static bool IsDocumentReserve(eDocumentObjectType pObjectType) { switch (pObjectType) { case eDocumentObjectType.oInvoicesReserve: case eDocumentObjectType.oPurchaseInvoicesReserve: return(true); default: return(false); } }
public static bool WasCreatedInSap9(string companyDb, eDocumentObjectType documentObjectType, int docEntry) { var query = string.Format( @"Select 1 From {0} T0 Where Replace(T0.VersionNum,'.','') >= '{1}%' And T0.DocEntry = {2}" , documentObjectType.GetTableNameMaster(companyDb), Sap9Pl4, docEntry); return(Connection.Instance.SqlExecuteScalar <int>(query) > 0); }
public Line(string pCompanyDb, eDocumentObjectType pObjectType) : base(pCompanyDb, pObjectType.GetTableNameSufix() + "1") { ObjType = pObjectType; TaxAmounts = new List <DocumentTaxAmount>(); BatchNumbes = new List <BatchNumber>(); WithholdingTaxes = new List <DocumentWithholdingTax>(); SerialNumbers = new List <LineSerialNumber>(); BatchNumberForDrafts = new List <BatchNumberBase>(); AdditionalExpenses = new List <DocumentLinesAdditionalExpenses>(); AddUomEntryIfNeeded(); }
/// <summary> /// Pega um documento de marketing /// </summary> /// <param name="pDocEntry">Código do Docuemnto</param> /// <param name="pDocType">Tipo do Documento</param> /// <param name="pCompanyDB">Empresa</param> /// <returns>Um documento de marketing</returns> public static Document GetDocument(Int32 pDocEntry, eDocumentObjectType pDocType, string pCompanyDB) { pCompanyDB.CheckForArgumentNull("pCompanyDb"); var doc = new Document(pCompanyDB, pDocType); if (doc.GetByKey(pDocEntry)) { return(doc); } var message = string.Format(DontFindText1Key, pDocType.GetName(), pDocEntry); throw new Exception(message); }
/// <summary> /// Pega uma linha de um documenot /// </summary> /// <param name="docType">Tipo de Objeto</param> /// <param name="pDocEntry">Código do Documento</param> /// <param name="pLineNum">Linha do Documento</param> /// <param name="pCompanyDB">Banco de Dados</param> /// <returns>um território preenchido</returns> /// <exception cref="ArgumentNullException">Null passado com parametro</exception> /// <exception cref="Exception">Não encontro o registro</exception> public static Line GetLine(eDocumentObjectType docType, int pDocEntry, int pLineNum, string pCompanyDB) { pCompanyDB.CheckForArgumentNull("pCompanyDb"); var line = new Line(pCompanyDB, docType); if (!line.GetByKey(pDocEntry, pLineNum)) { throw new Exception(( DontFindText2Key.Fmt( "Linha do {0}".Fmt(docType.GetName()), pDocEntry, "Linha", pLineNum))); } return(line); }
public DocumentTaxExtension(string pCompanyDb, eDocumentObjectType pDocumentObjectType) : base(pCompanyDb, pDocumentObjectType.GetTableNameSufix() + "12") { }
public static string GetName(this eDocumentObjectType pObjectType) { string mResult = null; switch (pObjectType) { case eDocumentObjectType.oInvoices: mResult = "Nota Fiscal de Saída"; break; case eDocumentObjectType.oCorrectionInvoice: mResult = ""; break; case eDocumentObjectType.oCorrectionInvoiceReversal: mResult = ""; break; case eDocumentObjectType.oInvoicesReserve: mResult = "Nota Fiscal Saída ( Reserva / Futura )"; break; case eDocumentObjectType.oCreditNotes: mResult = "Nota Fiscal de Saída ( Devolução )"; break; case eDocumentObjectType.oDeliveryNotes: mResult = "Entrega de Mercadoria"; break; case eDocumentObjectType.oReturns: mResult = "Devolução de Entrega de Mercadoria"; break; case eDocumentObjectType.oOrders: mResult = "Pedido de Venda"; break; case eDocumentObjectType.oPurchaseInvoices: mResult = "Nota Fiscal de Entrada"; break; case eDocumentObjectType.oPurchaseInvoicesReserve: mResult = "Nota Fiscal de Entrada ( Reserva / Futura )"; break; case eDocumentObjectType.oCorrectionPurchaseInvoice: mResult = ""; break; case eDocumentObjectType.oCorrectionPurchaseInvoiceReversal: mResult = ""; break; case eDocumentObjectType.oPurchaseCreditNotes: mResult = "Nota Fiscal de Entrada (Devolução)"; break; case eDocumentObjectType.oPurchaseDeliveryNotes: mResult = "Recebimento de Mercadoria"; break; case eDocumentObjectType.oPurchaseReturns: mResult = "Devolução de Mercadorias"; break; case eDocumentObjectType.oPurchaseOrders: mResult = "Pedido de Compra"; break; case eDocumentObjectType.oPurchaseQuotations: mResult = "Oferta de Compra"; break; case eDocumentObjectType.oQuotations: mResult = "Cotação"; break; case eDocumentObjectType.oInventoryGenEntry: mResult = "Entrada de Mercadoria"; break; case eDocumentObjectType.oInventoryGenExit: mResult = "Saída de Mercadoria"; break; case eDocumentObjectType.oDrafts: mResult = "Esboço de Documentos"; break; case eDocumentObjectType.oDownPayments: mResult = "Adiantamento a Cliente"; break; case eDocumentObjectType.oPurchaseDownPayments: mResult = "Adiantamento para Fornecedor"; break; default: mResult = "Não selecionado"; break; } return(mResult); }
public LineSerialAndBatch(string companyDb, eDocumentObjectType documentObjectType) : base(companyDb, documentObjectType.GetTableNameSufix() + "16") { }
public DocumentTaxAmount(string pCompanyDb, eDocumentObjectType pDocumentObjectType) : base(pCompanyDb, string.Format("{0}{1}", pDocumentObjectType.GetTableNameSufix(), "4")) { }
public DocumentReferenceInformation(string pCompanyDb, eDocumentObjectType pDocumentObjectType) : base(pCompanyDb, pDocumentObjectType.GetTableNameSufix() + "21") { this.ObjType = pDocumentObjectType; }
public Installment(string pCompanyDb, eDocumentObjectType pDocumentObjectType) : base(pCompanyDb, pDocumentObjectType.GetTableNameSufix() + "6") { }
public static string GetTableNameSufix(this eDocumentObjectType pObjectType) { string mResult = string.Empty; switch (pObjectType) { case eDocumentObjectType.oInvoices: case eDocumentObjectType.oCorrectionInvoice: case eDocumentObjectType.oCorrectionInvoiceReversal: case eDocumentObjectType.oInvoicesReserve: // OINV mResult = "INV"; break; case eDocumentObjectType.oCreditNotes: // ORIN mResult = "RIN"; break; case eDocumentObjectType.oDeliveryNotes: // ODLN mResult = "DLN"; break; case eDocumentObjectType.oReturns: // ORDN mResult = "RDN"; break; case eDocumentObjectType.oOrders: // eDocumentObjectType.RDR mResult = "RDR"; break; case eDocumentObjectType.oQuotations: // eDocumentObjectType.QUT mResult = "QUT"; break; case eDocumentObjectType.oPurchaseInvoices: case eDocumentObjectType.oCorrectionPurchaseInvoice: case eDocumentObjectType.oCorrectionPurchaseInvoiceReversal: case eDocumentObjectType.oPurchaseInvoicesReserve: // eDocumentObjectType.PCH mResult = "PCH"; break; case eDocumentObjectType.oPurchaseCreditNotes: // eDocumentObjectType.RPC mResult = "RPC"; break; case eDocumentObjectType.oPurchaseDeliveryNotes: // eDocumentObjectType.PDN mResult = "PDN"; break; case eDocumentObjectType.oPurchaseReturns: // eDocumentObjectType.RPD mResult = "RPD"; break; case eDocumentObjectType.oPurchaseOrders: // eDocumentObjectType.POR mResult = "POR"; break; case eDocumentObjectType.oInventoryGenEntry: // eDocumentObjectType.IGN mResult = "IGN"; break; case eDocumentObjectType.oInventoryGenExit: // eDocumentObjectType.IGE mResult = "IGE"; break; case eDocumentObjectType.oDrafts: // eDocumentObjectType.DRF mResult = "DRF"; break; case eDocumentObjectType.oPurchaseDownPayments: // eDocumentObjectType.DPO mResult = "DPO"; break; case eDocumentObjectType.oDownPayments: // eDocumentObjectType.DPI mResult = "DPI"; break; case eDocumentObjectType.oStockUpdate: mResult = ""; break; case eDocumentObjectType.oPurchaseQuotations: mResult = "PQT"; break; } return(mResult); }
public static string GetTableNameMaster(this eDocumentObjectType pObjectType) { return("[O" + GetTableNameSufix(pObjectType) + "]"); }
public static string GetTableNameLines(this eDocumentObjectType pObjectType, string pCompanyDB) { return("[" + pCompanyDB + "].." + pObjectType.GetTableNameLines()); }
public static string GetTableNameLines(this eDocumentObjectType pObjectType) { return("[" + GetTableNameSufix(pObjectType) + "1]"); }
public static eTransactionType GetDocTransactionType(this eDocumentObjectType pObjectType) { var transType = eTransactionType.oCopy; switch (pObjectType) { case eDocumentObjectType.oInvoices: case eDocumentObjectType.oCorrectionInvoice: case eDocumentObjectType.oCorrectionInvoiceReversal: case eDocumentObjectType.oInvoicesReserve: transType = eTransactionType.oOut; break; case eDocumentObjectType.oCreditNotes: transType = eTransactionType.oIn; break; case eDocumentObjectType.oDeliveryNotes: transType = eTransactionType.oOut; break; case eDocumentObjectType.oReturns: transType = eTransactionType.oIn; break; case eDocumentObjectType.oOrders: transType = eTransactionType.oOut; break; case eDocumentObjectType.oPurchaseInvoices: case eDocumentObjectType.oCorrectionPurchaseInvoice: case eDocumentObjectType.oCorrectionPurchaseInvoiceReversal: case eDocumentObjectType.oPurchaseInvoicesReserve: transType = eTransactionType.oIn; break; case eDocumentObjectType.oPurchaseCreditNotes: transType = eTransactionType.oOut; break; case eDocumentObjectType.oPurchaseDeliveryNotes: transType = eTransactionType.oIn; break; case eDocumentObjectType.oPurchaseReturns: transType = eTransactionType.oOut; break; case eDocumentObjectType.oPurchaseQuotations: transType = eTransactionType.oOut; break; case eDocumentObjectType.oPurchaseOrders: transType = eTransactionType.oIn; break; case eDocumentObjectType.oQuotations: transType = eTransactionType.oOut; break; case eDocumentObjectType.oInventoryGenEntry: transType = eTransactionType.oIn; break; case eDocumentObjectType.oInventoryGenExit: transType = eTransactionType.oIn; break; case eDocumentObjectType.oDrafts: transType = eTransactionType.oCopy; break; case eDocumentObjectType.oDownPayments: transType = eTransactionType.oOut; break; case eDocumentObjectType.oPurchaseDownPayments: transType = eTransactionType.oIn; break; } return(transType); }
/// <summary> /// Pega os lotes de uma linha do documento /// </summary> /// <param name="pCompanyb">Nome do Banco de Dados</param> /// <param name="pItemCode">Código do Item</param> /// <param name="pWhsCode">Depósito</param> /// <param name="pDocEntry">Número do Documento</param> /// <param name="pLineNum">Linha do docuemnto</param> /// <param name="pDocType">Tipo do Documento</param> /// <param name="ignoreStock">Ignorar movimento de estoque</param> /// <returns>Retorna uma lista de documentos</returns> public static List <BatchNumberTrans> GetBatchNumbers( string pCompanyb, string pItemCode, string pWhsCode, int pDocEntry, int pLineNum, eDocumentObjectType pDocType, bool ignoreStock = false) { var query = @" SELECT MIN(b.LogEntry) as LogEntry, MIN(b.ItemCode) as [ItemCode], MIN(c.DistNumber) as [BatchNum], MIN(b.LocCode) as [WhsCode], MIN(b.ItemName) as [ItemName], MIN(b.ApplyType) as [BaseType], MIN(b.ApplyEntry) as [BaseEntry], MIN(b.AppDocNum) as [BaseNum], MIN(b.ApplyLine) as [BaseLinNum], MIN(b.DocDate) as [DocDate], ( CASE WHEN ABS(SUM(a.Quantity)) = 0 THEN SUM(a.AllocQty) ELSE ABS(SUM(a.Quantity)) END ) as [Quantity], MIN(b.CardCode) as [CardCode], MIN(b.CardName) as [CardName], ( CASE WHEN SUM(a.Quantity) > 0 THEN 0 WHEN SUM(a.Quantity) < 0 THEN 1 ELSE 2 END ) as [Direction], MIN(b.CreateDate) as [CreateDate], MIN(b.BaseType) as [BsDocType], MIN(b.BaseEntry) as [BsDocEntry], MIN(b.BaseLine) as [BsDocLine], 'N' as [DataSource], NULL as [UserSign] FROM [{0}]..ITL1 a INNER JOIN [{0}]..OITL b ON a.LogEntry = b.LogEntry INNER JOIN [{0}]..OBTN c ON a.ItemCode = c.ItemCode and a.SysNumber = c.SysNumber Where b.ApplyEntry = {1} And b.ApplyType = {2} And b.ApplyLine = {3} And b.ItemCode = '{4}' And b.LocCode = '{5}' {6} -- Selecionar somente transacao que baixa do estoque, eliminando no caso, o pedido de venda GROUP BY b.ItemCode, a.SysNumber, b.ApplyType, b.ApplyEntry, b.ApplyLine, b.LocCode, b.StockEff having (SUM(b.DocQty) <> 0) -- To exclude those document lines with batch numbers that have been totally deallocated. OR (SUM(b.DefinedQty) <> 0) -- For the case: batch is on release only and use complete operation to define batch. OR (SUM(b.DocQty) = 0 and b.StockEff = 2 and min(b.BaseType) <> 17 and min(b.BaseType) <> 13 ) -- for the case DLN/INV based on sales order with allocated batch." ; query = String.Format(query, pCompanyb, pDocEntry, pDocType.To <int>(), pLineNum, pItemCode, pWhsCode, ignoreStock ? "" : "And b.StockEff = 1"); var data = Connection.Instance.SqlServerQuery(query); var batches = new List <BatchNumberTrans>(); foreach (DataRow dataRow in data.Rows) { var batch = new BatchNumberTrans(pCompanyb); batch.FillFields(dataRow, true); batches.Add(batch); } return(batches); }
public static int ToInt32(this eDocumentObjectType pObjectType) { return(Convert.ToInt32(pObjectType)); }
public LineFreightRow(string pCompanyDb, eDocumentObjectType pDocumentObjectType) : base(pCompanyDb, pDocumentObjectType.GetTableNameSufix() + "2") { this.ObjType = pDocumentObjectType; }
public DocumentDownPaymentsToDraw(string pCompanyDb, eDocumentObjectType pDocumentObjectType) : base(pCompanyDb, pDocumentObjectType.GetTableNameSufix() + "9") { }
private bool IsDraft(eDocumentObjectType pDocumentObjectType = eDocumentObjectType.oNone) { return(pDocumentObjectType == eDocumentObjectType.oDrafts || (TableName != null && TableName.Contains("DRF"))); }
public DocumentAdditionalExpenses(string pCompanyDb, eDocumentObjectType pDocumentObjectType) : base(pCompanyDb, pDocumentObjectType.GetTableNameSufix() + "13") { this.ObjType = pDocumentObjectType; }
public DocumentWithholdingTax(string pCompanyDb, eDocumentObjectType pDocumentObjectType) : base(pCompanyDb, pDocumentObjectType.GetTableNameSufix() + "5") { }
public DocumentLinesAdditionalExpenses(string companyDb, eDocumentObjectType documentObjectType) : base(companyDb, documentObjectType.GetTableNameSufix() + "2") { this.ObjType = documentObjectType; }