Differenze dataport - report elenchi ...

Allora,

sto veramente impazzendo. Ho un cliente con una società che nel 2007 ha solo 10 (e dico 10) movimenti clienti.

Una sola cat. art. serv. iva.

Eseguo il setup Elenco clienti e fornitori. Lancio il report. Tutto ok.

Eseguo il dataport (senza alcun filtro come il report) ma nel file dell’esportazione il totale è diverso. Manca uno dei clienti. Il numero 7.

Se eseguo il dataport filtrando il cliente che in precedenza non veniva esportato il sistema lo esporta.

Se eseguo il dataport filtrando dal numero 2 al numero 10 (00CLI002…00CLI010) il sistema lo esporta.

Se eseguo il dataport filtrando dal numero 1 al numero 10 (00CLI001…00CLI010) il sistema non lo esporta.

Se eseguo il dataport filtrando il cliente numero 1 e il numero 7 (00CLI001|00CLI007) il sistema lo esporta.

Ho verificato la partita iva dei clienti. Tutte ok e tutte diverse tra loro.

Ho verificato la partitra iva nella tab 254. Tutte valorizzate correttamente per i vari clienti.

COSA DIAVOLO PUO’ ESSERE?

Avete notizia di qualche baco?

La versione è la 5.0 con la CDCR28874 installata.

Ciao,

non sarà molto d’aiuto, però sembra che non sei il primo a cui salta il settimo record, vedi post incollato qui sotto (la versione è diversa).

Andrea


AlessandroA:

Non so se è già emerso, ma mi è capitato che il report riportasse 32 fornitori, mentre nel dataport ne venivano elencati solo 31, a qualcuno di voi è già capitato?

Visto che l’azienda era piccolina ho effettuato correzioni manuali.

Ma per le altre…Confused

Purtroppo anche a me è capitato…oggi…

Con la versione CDCR21922 mi salta il 7° record sia dei clienti che dei fornitori…HELP!!!

Damiano

Qual è la version list del dataport? Da quanto mi risulta la versione “CDCR27789,CDCR28874” funziona

La version list è solo la CDCR28874.

Ho caricato le versioni funzionanti nell’area download di questo sito. In un primo momento avevo messo i file che si trovano su partnersource, pensando che fossero buoni. Quando mi sono resa conto che non lo erano, ho pregato l’amministratore del sito di toglierli. Ora ci ho rimesso quelli buoni. Sono nella cartella delle localizzazioni.

Anna,

naturalmente ho approfittato subito per scaricare i 2 zip, però ho notato che in ITA-4.03-ECF c’è il fob con 5.0 nel nome e in ITA-5.00-ECF c’è il fob con 4.0SP3 nel nome. E’ buono il nome dello zip o del fob ?

grazie

Andrea

Sigh! Mi sono rin*****nita! [:P]

E’ buono quello che c’è dentro! … chissà se sarà possibile rinominare i file?

Fresco fresco da Microsoft:

correzione al report 12100 degli elenchi clienti e fornitori rilasciato con le CDCR33026 e CDCR33027 che risolvono la gestione delle note di credito riferite a fatture registrate l’anno precedente.

Per ricapitolare applica questa correzione se hai installato le i seguenti oggetti:

1- Elenchi clienti e fornitori CDCR 28874 per la vesione 5.0 e CDCR 28953 per la vesrione 4.0 SP3
2- Gestione note di credito anno precedente CDCR 33027 per la versione 5.0 e CDCR 33026 per la versione 4.0 SP3

La correzione, che va bene per entrambi le versioni, è la seguente:

Report 12100
Trigger CalculateField2(VATCustVendSet

up2 : Record “VAT Cust. and Vend. List Setup”;VATRegistrationNo : Text[20];FromDate2 : Date;ToDate2 : Datep
Old code 1

VATEntry.SETRANGE(“CM Previous Year”,FALSE);
VATEntry2.SETCURRENTKEY(Type, “VAT Registration No.”, “Document Type”, “VAT Bus. Posting Group”,“VAT Prod. Posting Group”,
“Document Date”);
IF VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Negative Amounts” THEN BEGIN//old line
VATEntry2.SETFILTER(Type, ‘%1’, VATCustVendSetup2.“Posting Type Filter”);
VATEntry2.SETFILTER(“VAT Registration No.”, ‘%1’, VATRegistrationNo);
VATEntry2.SETFILTER(“VAT Bus. Posting Group”, VATCustVendSetup2.“VAT Bus. Posting Group Filter”);

new code 1

VATEntry.SETRANGE(“CM Previous Year”,FALSE);
VATEntry2.SETCURRENTKEY(Type, “VAT Registration No.”, “Document Type”, “VAT Bus. Posting Group”,“VAT Prod. Posting Group”,
“Document Date”);
IF (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Negative Amounts”)//new line
OR (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::Both) THEN BEGIN//new line
VATEntry2.SETFILTER(Type, ‘%1’, VATCustVendSetup2.“Posting Type Filter”);
VATEntry2.SETFILTER(“VAT Registration No.”, ‘%1’, VATRegistrationNo);
VATEntry2.SETFILTER(“VAT Bus. Posting Group”, VATCustVendSetup2.“VAT Bus. Posting Group Filter”);

CASE VATCustVendSetup2.“Amount Type Filter” OF
VATCustVendSetup2.“Amount Type Filter”::Base:
BEGIN
VATEntry.CALCSUMS(Base,“Undeductable Base”,“Unrealized Base”);//old line
IF VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Negative Amounts” THEN//old line
VATEntry2.CALCSUMS(Base,“Undeductable Base”,“Unrealized Base”);
IF VATCustVendSetup2.“Posting Type Filter”=VATCustVendSetup2.“Posting Type Filter”::Sale THEN
EXIT((ROUND(VATEntry.Base + VATEntry.“Undeductable Base” + VATEntry.“Unrealized Base”, 1, ‘=’)

New code 2

CASE VATCustVendSetup2.“Amount Type Filter” OF
VATCustVendSetup2.“Amount Type Filter”::Base:
BEGIN
IF (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Positive Amounts”)//new line
OR (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::Both) THEN //new line
VATEntry.CALCSUMS(Base,“Undeductable Base”,“Unrealized Base”); //new line
IF (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Negative Amounts”) //new line
OR (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::Both) THEN //new line
VATEntry2.CALCSUMS(Base,“Undeductable Base”,“Unrealized Base”);
IF VATCustVendSetup2.“Posting Type Filter”=VATCustVendSetup2.“Posting Type Filter”::Sale THEN
EXIT((ROUND(VATEntry.Base + VATEntry.“Undeductable Base” + VATEntry.“Unrealized Base”, 1, ‘=’)

old code 3

VATCustVendSetup2.“Amount Type Filter”::Amount:
BEGIN
VATEntry.CALCSUMS(Amount,“Undeductable Amount”,“Unrealized Amount”); //old line
IF VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Negative Amounts” THEN //old line
VATEntry2.CALCSUMS(Amount,“Undeductable Amount”,“Unrealized Amount”);
IF VATCustVendSetup2.“Posting Type Filter”=VATCustVendSetup2.“Posting Type Filter”::Sale THEN

new code 3

VATCustVendSetup2.“Amount Type Filter”::Amount:
BEGIN
IF (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Positive Amounts”)//new line
OR (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::Both) THEN//new line
VATEntry.CALCSUMS(Amount,“Undeductable Amount”,“Unrealized Amount”); //new line
IF (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Negative Amounts”) //new line
OR (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::Both) THEN //new line
VATEntry2.CALCSUMS(Amount,“Undeductable Amount”,“Unrealized Amount”);
IF VATCustVendSetup2.“Posting Type Filter”=VATCustVendSetup2.“Posting Type Filter”::Sale THEN

old code 4

VATCustVendSetup2.“Amount Type Filter”::Both:
BEGIN
VATEntry.CALCSUMS(Base, Amount,“Undeductable Base”,“Undeductable Amount”,“Unrealized Base”,“Unrealized Amount”);//old line
IF VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Negative Amounts” THEN//old line
VATEntry2.CALCSUMS(Base, Amount,“Undeductable Base”,“Undeductable Amount”,“Unrealized Base”,“Unrealized Amount”);
IF VATCustVendSetup2.“Posting Type Filter”=VATCustVendSetup2.“Posting Type Filter”::Sale THEN

new code 4

VATCustVendSetup2.“Amount Type Filter”::Both:
BEGIN
//VATEntry.CALCSUMS(Base, Amount,“Undeductable Base”,“Undeductable Amount”,“Unrealized Base”,“Unrealized Amount”);//old line
//IF VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Negative Amounts” THEN//old line
IF (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Positive Amounts”) //new line
OR (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::Both) THEN //new line
VATEntry.CALCSUMS(Base, Amount,“Undeductable Base”,“Undeductable Amount”,“Unrealized Base”,“Unrealized Amount”);//new line
IF (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::“Only Negative Amounts”)//new line
OR (VATCustVendSetup2.Sign = VATCustVendSetup2.Sign::Both) THEN //new line
VATEntry2.CALCSUMS(Base, Amount,“Undeductable Base”,“Undeductable Amount”,“Unrealized Base”,“Unrealized Amount”);
IF VATCustVendSetup2.“Posting Type Filter”=VATCustVendSetup2.“Posting Type Filter”::Sale THEN

Ciao Anna,

scusa ma non ho capito alcune cose.

Ho scaricate per sicurezza la versione degli oggetti che hai pubblicato nella sezione download.

Trovo 2 oggetti. Il primo CDCR 27789 e il secondo RegF_33027_Customer_and_Vendor_List. In che ordine si applicano?

Io ho provato a importare prima l’uno e poi l’altro in ordine inverso ed i risultati sono stati alquanto controversi. In un caso le fatture di vendita venivano prese come note di credito (almeno nel report). Nell’altro come in precedenza uno dei clienti viene saltato nell’esportazione ma non nel report!!!

La correzione che hai pubblicato serve a risolvere il mio problema?

Non penso di essere l’unico ads averlo notato…

QUello che non capisco è: se c’è un problema nei mie dati dovrebbe essere presente sia nel reprot che nel dataport. QUindi?

Aggiornamento:

da quanto ho potuto vedere per qualche oscuro motivo (che ancora non ho capito) nel dataport all’interno del codice presente nel trigger [CustomerLoop - OnBeforeExportRecord()] per una specifica società non eseguo l’interrogazione relativa al setup [CL004001] e [CL004002].

Questo dipende dal fatto che nel codice la variabile j che esegue il filtro sulla VATCustVendSetup salta. Questo non succede se nel filtro cliente specifico il codice del cliente in questione …

La porzione di codice incriminata è:

IF Number > 1 THEN
Customer.NEXT(ROUND((Maxfields*(Number-1)) / CustFields, 1, ‘<’) +1 + SkippedRecords)
ELSE
IF NOT CheckCust(Customer) THEN BEGIN
SETRANGE(Number, 1, Number -1);
EXIT;
END;

FOR i := (((Number - 1) * Maxfields) +1) TO (Number * Maxfields) DO
BEGIN
IF i MOD Maxfields =0 THEN
k := Maxfields
ELSE
k := i - ((i DIV Maxfields)*Maxfields);
j := ((i-1) MOD CustFields)+1;
IF Customer.“VAT Registration No.” = ‘03570790653’ THEN
MESSAGE(Format(j));

CASE j OF
1: BEGIN
TotalCustomers += 1;
FieldArray[k] := ‘CL001001’ +
PrefixString(DELCHR(FORMAT(TotalCustomers), ‘=’, DELCHR(FORMAT(TotalCustomers), ‘=’, ‘-0123456789’)), ’ ‘, 16);
END;
2: BEGIN
FieldArray[k] := ‘CL002001’ + Customer.“Fiscal Code”;
END;
3: BEGIN
FieldArray[k] := ‘CL003001’ + Customer.“VAT Registration No.”;
END;
ELSE
BEGIN
j -= 3;
VATCustVendSetup.SETFILTER(“Export Field”, ‘%1’, j);
IF VATCustVendSetup.FIND(’-’) THEN BEGIN
IF Customer.“VAT Registration No.” = ‘03570790653’ THEN
MESSAGE(VATCustVendSetup.Description);

AmountArray[j] := VATCustVendReport.CalculateField(VATCustVendSetup, Customer.“VAT Registration No.”,FromDate,ToDate);
END;
TotalArray[j] += AmountArray[j];
FieldArray[k] := FORMAT(VATCustVendSetup.“Export Field”) +
PrefixString(DELCHR(FORMAT(AmountArray[j]), ‘=’, DELCHR(FORMAT(AmountArray[j]), ‘=’, ‘-0123456789’)), ’ ', 16);
END;
END;

Qualche suggerimento?

Credo che la risposta sia qui: http://dynamicsuser.net/forums/t/22138.aspx?PageIndex=4

cmq si tratta di togliere il +1 nella NEXT [:S] sulla Customer/Vendor table e l’EXIT

Grazie. E’ proprio così.

Quello che non capisco è perchè gli altri (o almeno) molti non hanno riscontrato il problema …