diff --git a/src/tp/tp0101.cpp b/src/tp/tp0101.cpp index c7e810978..6f9daeb36 100755 --- a/src/tp/tp0101.cpp +++ b/src/tp/tp0101.cpp @@ -320,6 +320,9 @@ bool TPack_clifo::trasferisci() "FROM Customers_Suppliers LEFT JOIN Unit_Measure " "ON (CurrencyCode = Unit_Measure.UMCode AND Unit_Measure.UMType='9') " "WHERE (StatusFlag=1 OR StatusFlag=2 OR StatusFlag=3) AND "; + + get_custom_query("tp0100", "Clienti", query); + if (_only_agenti) query << "(FlagCustSupp='A')"; else diff --git a/src/tp/tp0102.cpp b/src/tp/tp0102.cpp index 6d87d645f..ec5f465cd 100755 --- a/src/tp/tp0102.cpp +++ b/src/tp/tp0102.cpp @@ -4,6 +4,47 @@ #include "../mg/codcorr.h" #include "../include/conart.h" +// query personalizzabili +// archivio variabile standard +// CLIENTI/AGENTI Qtp0100Clienti "SELECT Customers_Suppliers.*, Unit_Measure.UMDesc FROM Customers_Suppliers LEFT JOIN Unit_Measure +// ON (CurrencyCode = Unit_Measure.UMCode AND Unit_Measure.UMType='9') " +// WHERE (StatusFlag=1 OR StatusFlag=2 OR StatusFlag=3) AND " dietro viene messa una condizione per clienti o agenti +// ARTICOLI Qtp0100Articoli "SELECT Paper_Composition_Group.CompDesc FROM Mag_Existing_Article, Articles_Composition, Paper_Composition_Group +// WHERE (Mag_Existing_Article.ArtCode='" << key << "') AND (Mag_Existing_Article.ArticleCode=Articles_composition.ArticleCode) AND (Mag_Existing_Article.VariantCode=Articles_composition.VariantCode) AND +// (Articles_Composition.CompCode=Paper_Composition_Group.CompCode);" +// INFORMAZIONI AGGIUNTIVE ARTICOLI Qtp0100Extra_info_articoli "SELECT Mag_Existing_Article.ArticleCustCode, Mag_Existing_Article.ArticleCode +// FROM Mag_Existing_Article WHERE Mag_Existing_Article.ArtCode='" << key << "';" +// CONAI Qtp0100Conai "SELECT SubclassCode,Weight FROM Articles_environmentTax WHERE Articles_environmentTax.ArticleCode=" dietro viene messo il codice articolo +// IVA Qtp0100IVA "SELECT * FROM IVA WHERE IVACode=#CODIVA;" +// Composizione imballi Qtp0100OrderPaperComp "SELECT Paper_Composition_Group.CompDesc FROM CDoc_Rows, Paper_Composition_Group +// WHERE (CDoc_Rows.DocNumber=#NDOC) AND (CDoc_Rows.RowNumber=#NROW) AND (CDoc_Rows.CompCode=Paper_Composition_Group.CompCode);"; #NROW deve essere lasciato coś +// BOLLE Qtp010Bolle "SELECT DISTINCT PDdT_Header.DocCode, PDdT_Header.StoreDocType, PDdT_Header.DocRefNumber,PDdT_Header.DocDate, Store_Year.SyReferenceYear, PDdT_Header.CustSuppCode, +// Customers_Suppliers.FlagCustSupp, Customers_Suppliers.CodContab, Customers_Suppliers.CategoryCode, Customers_Suppliers.ZoneCode,Customers_Suppliers_1.CodContab AS AgentCode, +// PDdT_Header.Change, CAMPOCurrencies.UMDesc AS Currency,PDdT_Header.PaymentCode, PDdT_Header.ApplyEnvTax, PDdT_Header.DiscountOnPayment, +// CausaliTrasporto.Code AS CodTrasporto, Porto.Code AS CodResa, CausaliTrasporto.Description1 AS TipoTrasporto,Porto.Description1 AS TipoResa, PDdT_Header.Appearance, PDdT_Header.GrossWeight, PDdT_Header.NetWeight, +// PDdT_Header.ShiverNumber, (select case when PDdT_Header.BankDesc is null Or [PDdT_Header].[BankDesc]<>''then PDdT_Header.BankDesc else customers_suppliers.bankname end) AS BankDesc, PDdT_Header.CodIvaNI, +// Customers_Suppliers_2.CustSuppCode AS DestCode, Customers_Suppliers_2.FlagCustSupp AS FlagDestCode, Customers_Suppliers_2.CodContab AS DestCodContab,Customers_Suppliers_2.TradeName1, Customers_Suppliers_2.Address, Customers_Suppliers_2.Locality, +// Customers_Suppliers_2.ZipCode, Customers_Suppliers_2.Region, PDdT_Row.DocRow, PDdT_Row.ArtCode,PDdT_Row.ArtDesc, PDdT_Row.CDocNumber, PDdT_Row.CDocRow,CDoc_Rows.CustReference AS RowCustReference, CDoc_Header.CustReference, PDdT_Row.Provv, +// PDdT_Row.DiscountRowDesc, CDoc_Header.DocDate AS OrderDate,PDdT_Row.Quantity, Unit_Measure.UMDesc, PDdT_Row.Quantity1, Unit_Measure_1.UMDesc AS UMDesc1,PDdT_Row.Quantity2, Unit_Measure_2.UMDesc AS UMDesc2, PDdT_Row.AdvanceSale, PDdT_Row.Price, +// PDdT_Row.DefPrice, PDdT_Row.PriceNet, PDdT_Row.PriceNetDef, PDdT_Row.AmountNet, PDdT_Row.AmountNetDef,PDdT_Row.Amount, PDdT_Row.AmountDef, PDdT_Row.FlagUMPrice, IVA.IVACode, PDdT_Row.AccountCode, " +// PDdT_Row.AccountSubCode, PDdT_Row.WeightETUnit, PDdT_Row.ClassCode, PDdT_Row.SubclassCode,PDdT_Row.DDTRowType, PDdT_Header.StatusFlag, PDdT_Row.Report, PDdT_Row.FamilyCode, +// Mag_Existing_Article.ArtType, Mag_Existing_Article.Height, Mag_Existing_Article.Width, Mag_Existing_Article.Lenght,(select case when [Modalità Fornitura Bancali].[Value1] is null then 1 else [Modalità Fornitura Bancali].[Value1] end) AS FornituraBancali, +// PDdT_Header.InvoicingType, PDdT_Header.DocProvv, PDdT_Header.ReceiptBook +// FROM ((((((PDdT_Header LEFT JOIN Customers_Suppliers ON PDdT_Header.CustSuppCode = Customers_Suppliers.CustSuppCode) +// LEFT JOIN Unit_Measure AS CAMPOCurrencies ON (CAMPOCurrencies.UMcode=PDdT_Header.CurrencyCode AND CAMPOCurrencies.UMType='9') +// LEFT JOIN Customers_Suppliers AS Customers_Suppliers_1 ON PDdT_Header.AgentCode = Customers_Suppliers_1.CustSuppCode) +// LEFT JOIN Porto ON PDdT_Header.PortCode = Porto.Code) " +// LEFT JOIN Store_Year ON PDdT_Header.DocYear = Store_Year.SyCode) " +// LEFT JOIN Customers_Suppliers AS Customers_Suppliers_2 ON PDdT_Header.DestCode = Customers_Suppliers_2.CustSuppCode) " +// LEFT JOIN CausaliTrasporto ON PDdT_Header.DocCausalCode = CausaliTrasporto.Code) +// RIGHT JOIN (Mag_Existing_Article RIGHT JOIN ((CDoc_Header RIGHT JOIN (((IVA RIGHT JOIN (((CDoc_Rows RIGHT JOIN PDdT_Row ON (CDoc_Rows.DocNumber = PDdT_Row.CDocNumber)AND (CDoc_Rows.RowNumber = PDdT_Row.CDocRow)) +// LEFT JOIN Unit_Measure ON PDdT_Row.UMQty = Unit_Measure.UMCode) +// LEFT JOIN [Modalità Fornitura Bancali] ON PDdT_Row.DeliveryPalletType = [Modalità Fornitura Bancali].Code)ON IVA.IVACode = PDdT_Row.IVACode) LEFT JOIN Unit_Measure AS Unit_Measure_1 ON PDdT_Row.UMQta1 = Unit_Measure_1.UMCode) +// LEFT JOIN Unit_Measure AS Unit_Measure_2 ON PDdT_Row.UMQta2 = Unit_Measure_2.UMCode)ON CDoc_Header.DocNumber = CDoc_Rows.DocNumber) +// LEFT JOIN CDoc_Rows_Detail ON (CDoc_Rows.RowNumber = CDoc_Rows_Detail.RowNumber) AND (CDoc_Rows.DocNumber = CDoc_Rows_Detail.DocNumber))ON Mag_Existing_Article.ArtCode = PDdT_Row.ArtCode) ON PDdT_Header.DocCode = PDdT_Row.DocCode +// WHERE (((PDdT_Row.DDTRowType)='0' Or (PDdT_Row.DDTRowType)='2') AND ((PDdT_Header.StatusFlag)='1' OR (PDdT_Header.StatusFlag)='2' Or (PDdT_Header.StatusFlag)='3') AND ((select case when [Modalità Fornitura Bancali].[Value1] is null then 1 else [Modalità Fornitura Bancali].[Value1] end)=1) AND ((PDdT_Header.InvoicingType) Is Not Null) AND ((PDdT_Header.DocProvv)<>-1)) +// ORDER BY PDdT_Header.DocRefNumber, PDdT_Row.DocRow;" + // Assegna sottocategoria e peso di una classe CONAI solo se non vuoti bool TArticolo_pack::set_conai(const TString& scat, const real& weight) { @@ -59,14 +100,18 @@ public: bool TCache_art::update_paper_composition(const char* key, TArticolo_pack& art) { TString qry(512); - qry = query_header(); + qry << "SELECT Paper_Composition_Group.CompDesc\n" << "FROM Mag_Existing_Article, Articles_Composition, Paper_Composition_Group\n" << "WHERE (Mag_Existing_Article.ArtCode='" << key << "') AND " << "(Mag_Existing_Article.ArticleCode=Articles_composition.ArticleCode) AND (Mag_Existing_Article.VariantCode=Articles_composition.VariantCode) AND " << "(Articles_Composition.CompCode=Paper_Composition_Group.CompCode);"; + + get_custom_query("tp0100", "Articoli", qry); + TODBC_recordset paperset(qry); bool done = paperset.move_first(); + if (done) { const TString& pc = paperset.get(0u).as_string(); // Paper composition @@ -79,11 +124,15 @@ bool TCache_art::update_paper_composition(const char* key, TArticolo_pack& art) int TCache_art::get_extra_info(const char* key, TArticolo_pack& art) { TString qry(512), article_code; - qry = query_header(); + qry << "SELECT Mag_Existing_Article.ArticleCustCode, Mag_Existing_Article.ArticleCode\n" << "FROM Mag_Existing_Article\n" << "WHERE Mag_Existing_Article.ArtCode='" << key << "';"; + + get_custom_query("tp0100", "Extra_info_articoli", qry); + TODBC_recordset artset(qry); + int info = artset.move_first() ? 1 : 0; if (info) { @@ -119,10 +168,15 @@ int TCache_art::get_extra_info(const char* key, TArticolo_pack& art) if (article_code.full()) // Ho trovato un articolo di magazzino, carico CONAI info { - qry = query_header(); + qry.cut(0); qry << "SELECT SubclassCode,Weight\n" - << "FROM Articles_environmentTax\n" - << "WHERE Articles_environmentTax.ArticleCode=" << article_code << ';'; + << "FROM Articles_environmentTax\n" + << "WHERE Articles_environmentTax.ArticleCode="; + + get_custom_query("tp0100", "Conai", qry); + + qry << article_code << ';'; + TODBC_recordset envtax(qry); art.reset_conai(); @@ -465,7 +519,11 @@ const TString& TPack_ddt::get_codice_iva(const TDate& datadoc) TString8 codiva; // Codice IVA di PACK da decodificare! TString qry(256); - qry << query_header() << "SELECT * FROM IVA WHERE IVACode=#CODIVA"; + + qry << "SELECT * FROM IVA WHERE IVACode=#CODIVA;"; + + get_custom_query("tp0100", "IVA", qry); + TODBC_recordset iva(qry); const TString& codivani = get_str("CodIvaNI"); @@ -512,11 +570,13 @@ bool TPack_ddt::get_paper_from_order(TString& desc) const return false; TString qry(256); - qry << query_header(); + qry << "SELECT Paper_Composition_Group.CompDesc\n" "FROM CDoc_Rows, Paper_Composition_Group\n" "WHERE (CDoc_Rows.DocNumber=#NDOC)AND(CDoc_Rows.RowNumber=#NROW)" - "AND(CDoc_Rows.CompCode=Paper_Composition_Group.CompCode)"; + "AND(CDoc_Rows.CompCode=Paper_Composition_Group.CompCode);"; + + get_custom_query("tp0100", "OrderPaperComp", qry); TODBC_recordset paper(qry); paper.set_var("#NDOC", TVariant(ndoc)); @@ -589,9 +649,11 @@ bool TPack_ddt::trasferisci() "((PDdT_Header.StatusFlag)='1' OR (PDdT_Header.StatusFlag)='2' Or (PDdT_Header.StatusFlag)='3') AND " "((select case when [Modalità Fornitura Bancali].[Value1] is null then 1 else [Modalità Fornitura Bancali].[Value1] end)=1) AND " "((PDdT_Header.InvoicingType) Is Not Null) AND ((PDdT_Header.DocProvv)<>-1))" - "\nORDER BY PDdT_Header.DocRefNumber, PDdT_Row.DocRow" + "\nORDER BY PDdT_Header.DocRefNumber, PDdT_Row.DocRow;" ; + get_custom_query("tp0100", "Bolle", query); + if (_extended_discount) { const TFixed_string discount("PDdT_Row.DiscountRowDesc, ");