From 426e95377f3638ea5e1a013f86117975d730139b Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Thu, 23 Sep 2021 16:14:48 +0200 Subject: [PATCH] Patch level : 12.0 1080 Files correlati : tp0.exe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commento : Aggiunte query personalizzabili per cliente al trasferimento Pack. Interno: Bisogna definire nel paragrafo tp di ditta.ini o studio.ini una variabile tra le seguenti : 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 così 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;" --- src/include/recset.cpp | 3 ++- src/include/recset.h | 4 ---- src/include/relation.h | 4 ++++ 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/include/recset.cpp b/src/include/recset.cpp index c45672389..c3ac0b2a7 100755 --- a/src/include/recset.cpp +++ b/src/include/recset.cpp @@ -517,7 +517,8 @@ const TString & TRecordset::get_custom_query(const char * module, const char * q mod = mod.sleft(2); var << module << query_var; - const TString custom_query = ini_get_string(CONFIG_DITTA, mod, var); + + const TString custom_query = ini_get_string(CONFIG_DITTA, mod, var); if (custom_query.full()) query = custom_query; diff --git a/src/include/recset.h b/src/include/recset.h index a084913e2..f8d1f4022 100755 --- a/src/include/recset.h +++ b/src/include/recset.h @@ -13,10 +13,6 @@ #include #endif -#define FIELD_NAME(lf, name) TOSTRING(lf) "." name -#define SUB_FIELD_NAME(lf, name, from, to ) TOSTRING(lf) "." name "[" TOSTRING(from) "," TOSTRING(to) "]" -#define MAIN_SUB_FIELD_NAME(name, from, to ) name "[" TOSTRING(from) "," TOSTRING(to) "]" - struct TRecordset_column_info : public TObject { TString _name; // Table.Column diff --git a/src/include/relation.h b/src/include/relation.h index 1094cddb6..d88118d5e 100755 --- a/src/include/relation.h +++ b/src/include/relation.h @@ -13,6 +13,10 @@ class TSort; class TMask; #endif +#define FIELD_NAME(lf, name) TOSTRING(lf) "." name +#define SUB_FIELD_NAME(lf, name, from, to ) TOSTRING(lf) "." name "[" TOSTRING(from) "," TOSTRING(to) "]" +#define MAIN_SUB_FIELD_NAME(name, from, to ) name "[" TOSTRING(from) "," TOSTRING(to) "]" + // @doc EXTERNAL // @class TRelation | Classe per la definizione delle relazioni esistenti tra i file