Numerazione progressiva documenti

venerdì 18 luglio 2008 - 18.07

nalfein Profilo | Newbie

Ciao a tutti ed un ringraziamento particolare a Freeteo per l'aiuto di qualche giorno fa (ho cambiato un valore e ora funziona, grazie mille davvero)
Per arrivare al discorso da thread ho un problema di numerazione progressiva dei documenti
Cerco di spiegarmi: all'interno del documento ho N.ORDINE(variabile presa da un db) /(campo testo"/" dato da CR) e numero progressivo documento dato dalle date di consegna della merce (3 date di consegna differenti = tre pagine differenti con questo numero che sara' rispettivamente 1,2,3)
Per fare un esempio: ho l'ordine n° 1 che ha 3 prodotti in cosegna in tre periodi differenti allora avro' una cosa cosi'
0001 / 1 (prima pagina) * (vedi nota in fondo)
0001 / 2 (seconda pagina) *
0001 / 3 (terza pagina) *
Il vero problema e' che anche quando i prodotti vengono consegnati nello stesso momento avro' comunque 0001/ 1 (cioe' tutto in una pagina, o piu' se i prodotti sono tanti ma tutte le pagine sempre con questa intestazione. Capirete che questo puo' generare confuzione dato che se vedi un /1 ti apsetti che ci sia un /2 e cosi' via)

Per dare dati precisi

Su CR
{@numero_documento} / {@consegna}

Il codice di {@consegna} (che poi e' quello che devo praticamente cambiare) e' questo:

WhilePrintingRecords;
numberVar conta_consegne;
conta_consegne

n.b.
la variabile conta_consegne e' dentro il db e ad essa non riesco ad accedere; credo comunque che "conti" quante date diverse ci sono e restituisca un numero

A me servirebbe:
1) Eliminare il campo testo "/" (e quello basta un canc hehe lo so)
2) Far si che se i prodotti hanno solo una data di consegna ci sia solo il numero d'ordine e basta(quindi 0001)
altrimenti se vi sono piu' date allora vi sia il formato con le consegne contate (quindi 0001 /1 - 2 - 3 ecc... ecc...)
3) Di conseguenza mi serve arrivare ad avere

{@numero_documento} {@consegna} (quindi senza "/")

in cui il campo "/" sia diciamo cosi' "dentro" {@consegna} o per dirla terra terra
Se tutto deve partire domani allora 0001 e {@consegna} manco appare altrimenti 0001 e {@consegna} avra' /1, /2, /3 o quante pagine siano

- - - - - - - - - - - - - - - - - - - - - - -
*Attenzione non cerco di creare un numeratore di pagine ma di consegne. Quindi se ci sono 100 prodotti che devono essere consegnati domani e 100 dopodomani avro 0001/1 (che sara' composta da 10 o 20 pagine tutte con 0001/1) e 0001/2 (altre 10 o 20 pagine)

Il numeratore di pagine "spicciolo" (quello di un libro per intenderci) e' da un'altra parte nel report e funziona tranquillo
- - - - - - - - - - -

Spero di essere stato chiaro

Se servono altri dati, dite pure

Grazie mille in aticipo per le risposte



MODIFICA:
Ho provato a mettere if conta_consegne <2 then 0 else conta_consegne (giusto per provare)
Ma cosi' ottengo solo che, sia in caso di consegne singole che multiple la prima serie di consegne sia 0001/0 e poi si passi direttamente a 0001/2 (saltando l'1 e generando ancora piu' confusione hehe)
Il problema pare che sia che in ogni caso conta_consegne sara' almeno =1 (per forza) quindi non credo che sia questa la strada da percorrere




Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5