38 messaggi dal 04 marzo 2012
Ciao,
in una pagina ASP 2 con VBscrip su un programma non fatto da me ho un esportazione delle righe che vedo a video in excel, non ho capito perchè alcune volte funziona ma la maggior parte no.

<td align="right" valign="top"><a href="analisiexcel.asp?<%=Request.QueryString() %>">Excel</a></td>

IL messaggio di errore è il seguente:
Impossibile raggiungere il sito

La pagina web all'indirizzo http://xxxxxx/yyyyy/analisiexcel.asp?DAL=01%2F01%2F17&AL=31%2F12%2F17&ART1=&ART2=&GM1=&GM2=&GM3=&GM4=&CTY=T&MAG=&MAGE=&AG1=&AG2=&MA1=&MA2=&MA3=&MA4= potrebbe essere temporaneamente non disponibile oppure è stata permanentemente spostata a un nuovo indirizzo web.
ERR_INVALID_RESPONSE

IL problema che la pagina esiste ed è posizionata nello stesso percorso.
Cosa potrebbe essere?
Se serve posso postare la pagina.
Grazie
10.246 messaggi dal 09 febbraio 2002
Contributi
Ciao,
verifica se la pagina asp sta facendo un redirect verso un percorso inesistente, oppure se per errore sta facendo un redirect a sé stessa, costringendo il browser a fare ridirezioni continue che poi, ad un certo punto, deciderà di interrompere.

Inizierei con il cercare le istruzioni Response.Redirect e a vedere verso che percorso reindirizzano.

ciao,
Moreno

Enjoy learning and just keep making
282 messaggi dal 13 luglio 2005
Ciao fughy,
non sono un po' troppi quei parametri che spedisci in GET?

Io proverei anche a vedere, se e' possibile, di inviare quei parametri in POST.

Ciao.

Umb
38 messaggi dal 04 marzo 2012
Ciao Moreno,
non ho altri response-redirect ho solo questo link sulla pagina che mi indirizza alla pagina analisiexcel.asp passandogli una serie di valori, la pagina esiste.

<td align="right" valign="top"><a href="analisiexcel.asp?<%=Request.QueryString() %>">Excel</a></td>
38 messaggi dal 04 marzo 2012
Ciao Umb,
mi puoi dare qualche dritta su come usare il post per cortesia, magari posso provare a modificare la cosa per vedere se va meglio.

Luigi
10.246 messaggi dal 09 febbraio 2002
Contributi
Ciao Luigi


non ho altri response-redirect ho solo questo link sulla pagina

No, intendevo dire che dovresti controllare la presenza di redirect nel codice di analisiexcel.asp.


non sono un po' troppi quei parametri che spedisci in GET?

No, quell'url è più che accettabile. Non è poi così lungo da dover valutare una POST. Il problema non è sicuramente lì.

ciao,
Moreno

Enjoy learning and just keep making
282 messaggi dal 13 luglio 2005
Si, hai ragione BrightSoul, i parametri cosi' come si vedono nella URL inviata da fughy non sono tanti. Ma i parametri rimangono sempre gli stessi e sempre vuoti come sono nell'esempio?

Ciao.

Umb
38 messaggi dal 04 marzo 2012
Non in quella pagina non vedo response.redirect se non uno ma non penso sia quello che dia problema, metto comunque il codice per una vostra verifica.
<%@Language="VBSCRIPT" CodePage="65001"%>
<% 'response.expires = 900 %>
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers=""
MM_authFailedURL="../noaccess.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
MM_grantAccess = true
End If
End If
If Not MM_grantAccess Then
MM_qsChar = "?"
If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
MM_referrer = Request.ServerVariables("URL")
if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
Response.Redirect(MM_authFailedURL)
End If
%>

<!--#include file="db_analisimargine.asp" -->
<!--#include file="funzioni.asp" -->

<%
Dim rsMovimentiLotti__find_articolo
rsMovimentiLotti__find_articolo = Request.QueryString("ART1")
If (rsMovimentiLotti__find_articolo = "") Then
rsMovimentiLotti__find_articolo = "**TUTTI**"
End If


Dim selezione_dal
Dim Century
selezione_dal = "%"
If (Request.QueryString("DAL") <> "") Then
Century = "20"
selezione_dal = Century & right(Request.QueryString("DAL"),2) & mid(Request.QueryString("DAL"),4,2) & left(Request.QueryString("DAL"),2)
End If

Dim selezione_al
selezione_al = "%"
If (Request.QueryString("AL") <> "") Then
Century = "20"
selezione_al = Century & right(Request.QueryString("AL"),2) & mid(Request.QueryString("AL"),4,2) & left(Request.QueryString("AL"),2)
End If

Session("data_from") = Request.QueryString("DAL")
Session("data_to") = Request.QueryString("AL")


'******* ELENCO LOTTI VENDUTI

Dim CodCliente
Dim UMven
Dim UMacq
Dim PrVendita

Dim GTotaleQta
Dim GTotaleVenduto
Dim GTotaleAcquistato

'nuovo calcolo valore acquistato
Dim GTotaleAcquistato_new

Dim NCcarico(100)
Dim NCcarico_count

NCcarico_count = 0

Dim DH 'DatawareHouse analisi margine vendite
Dim DH_cmd
Dim DH_numRows

Set DH_cmd = Server.CreateObject ("ADODB.Command")
DH_cmd.ActiveConnection = MM_DH_STRING

Dim DA 'DatawareHouse analisi margine acquisti
Dim DA_cmd
Dim DA_numRows

Set DA_cmd = Server.CreateObject ("ADODB.Command")
DA_cmd.ActiveConnection = MM_DH_STRING


'definisco la select per filtrare i dati
Dim SQLSelect
Dim SQLFrom
Dim SQLCliFo
Dim SQLWhere
Dim SQLVenduti

'selezione campi ************
SQLSelect = "SELECT *"

'from ************
SQLFrom = " FROM MOVIME"

'costruzione filtro clienti
If Request.QueryString("COD_CLI") <> "" Then
CodCliente = Request.QueryString("COD_CLI")
Else
CodCliente = "%"
End If
SQLCliFo = " AND (CODCLIFO Like '" & CodCliente & "')"

'selezione per tutti - italia - estero
If Request.QueryString("CTY") = "I" Then
SQLCliFo = SQLCliFo + " AND (NAZIONE = ' 0')"
End If
If Request.QueryString("CTY") = "E" Then
SQLCliFo = SQLCliFo + " AND (NAZIONE <> ' 0')"
End If

'SQLWhere = " WHERE ("

'selezione per data ************
'SQLWhere = SQLWhere + "(DATAPROT >= '" & selezione_dal & "' AND DATAPROT <= '" & selezione_al & "')"
SQLDateVen = " WHERE ((DATAPROT >= '" & selezione_dal & "' AND DATAPROT <= '" & selezione_al & "') AND TIPOMOV <>'A'" ' AND TIPOPROT <>'NC' "
SQLDateAcq = " WHERE ((DATAPROT <= '" & selezione_al & "') AND TIPOMOV ='A' "

'articolo
If Request.QueryString("ART1") <> "" Then
SQLWhere = SQLWhere + " AND (CODICE>='" & Request.QueryString("ART1") & "' AND CODICE<='" & Request.QueryString("ART2") & "')"
End If

'gruppo merceologico
If Request.QueryString("GM1") <> "" Then
SQLWhere = SQLWhere + " AND (GRUPPOMERC >='" & Left(Request.QueryString("GM1"),3) + Right(Request.QueryString("GM1") ,3) & "' AND GRUPPOMERC<='" & Left(Request.QueryString("GM2"),3) + Right(Request.QueryString("GM2") ,3) & "')"

End If

'esclusi gruppo merceologico
If Request.QueryString("GM4") <> "" Then
SQLWhere = SQLWhere + " AND (GRUPPOMERC NOT IN (SELECT COMPLETO FROM PAGLIARA.dbo.GRUPMERC WHERE PAGLIARA.dbo.GRUPMERC.COMPLETO > ='" & Left(Request.QueryString("GM3"),3) + Right(Request.QueryString("GM3") ,3) & "' AND PAGLIARA.dbo.GRUPMERC.COMPLETO<='" & Left(Request.QueryString("GM4"),3) + Right(Request.QueryString("GM4") ,3) & "'))"

End If

'marchio
If Request.QueryString("MA1") <> "" Then
SQLWhere = SQLWhere + " AND (MARCHIO >='" & Request.QueryString("MA1") & "' AND MARCHIO<='" & Request.QueryString("MA2") & "')"
End If

'esclusi marchio
If Request.QueryString("MA3") <> "" Then
SQLWhere = SQLWhere + " AND (MARCHIO NOT IN (SELECT MARCHIO FROM PAGLIARA.dbo.TMARCHI WHERE PAGLIARA.dbo.TMARCHI.MARCHIO > ='" & Request.QueryString("MA3") & "' AND PAGLIARA.dbo.TMARCHI.MARCHIO <='" & Request.QueryString("MA4") & "'))"
End If

'agente
SQLWhereVen = SQLWhere
If Request.QueryString("AG1") <> "" Then
SQLWhereVen = SQLWhereVen + " AND (AGENTE >='" & Request.QueryString("AG1") & "' AND AGENTE <='" & Request.QueryString("AG2") & "')"
End If

'magazzino
If Request.QueryString("MAG") <> "" Then
SQLWhereVen = SQLWhereVen + " AND (MAGAZZINO ='" & Request.QueryString("MAG") & "')"
End If

'magazzino escluso
If Request.QueryString("MAGE") <> "" Then
SQLWhereVen = SQLWhereVen + " AND (MAGAZZINO <>'" & Request.QueryString("MAGE") & "')"
End If

'solo le vendite
'SQLWhere = SQLWhere + " AND (TIPO <>'" & Request.QueryString("MAGE") & "')"

SQLWhereVen = SQLWhereVen + SQLClifo + ")"
SQLWhereAcq = SQLWhere +")"
'SQLSelect = SQLSelect

'order by
SQLSelectVen = SQLSelect + SQLFrom + SQLDateVen + SQLWhereVen + " ORDER BY CODICE, DTCREAZLOTTO, LOTTO, TIPOMOV, MAGAZZINO, DATAPROT"
SQLSelectAcq = SQLSelect + SQLFrom + SQLDateAcq + SQLWhereAcq + " ORDER BY CODICE, DTCREAZLOTTO, LOTTO, TIPOMOV, MAGAZZINO, DATAPROT"


'response.Write("V:" & SQLSelectVen & "<br />")
'response.Write("A:" & SQLSelectAcq)

'bloccati = bloccati.open

DH_cmd.CommandText = SQLSelectVen
DA_cmd.CommandText = SQLSelectAcq

Set DH = DH_cmd.Execute
DH_numRows = 0

Set DA = DA_cmd.Execute
DA_numRows = 0

Dim i
Dim magazzino_corrente
Dim articolo_corrente
Dim lotto_corrente
Dim causale_corrente

Dim magazzino_successivo
Dim lotto_successivo
Dim articolo_successivo

'variabili per lotto
Dim somma_quantita_causale
Dim somma_riga_causale
Dim media_prnetto_causale_acquisto
Dim media_prnetto_causale_vendita
Dim media_prlordo_causale_acquisto
Dim media_prlordo_causale_vendita

Dim contatore_righe_causale
Dim margine_riga
Dim ricarico_riga

Dim somma_riga_lotto_acquisti
Dim somma_riga_lotto_vendite
Dim somma_quantita_lotto_acquisti
Dim somma_quantita_lotto_vendite

Dim margine_lotto
Dim ricarico_lotto

'variabili per articolo
Dim somma_quantita_articolo_acquisto
Dim somma_quantita_articolo_vendita
Dim somma_riga_articolo_acquisto
Dim somma_riga_articolo_vendita

Dim media_prnetto_articolo_acquisto
Dim media_prnetto_articolo_vendita

Dim media_prlotto_articolo_acquisto
Dim media_prlotto_articolo_vendita

Dim margine_articolo
Dim ricarico_articolo

'variabili per riga di vendita per nuovo calcolo valore acquistato
Dim somma_costo_riga_vendite
Dim totale_somma_costo_riga_vendite
Dim margine_articolo_new
Dim ricarico_articolo_new


'variabili per magazzino
Dim margine_magazzino
Dim ricarico_magazzino

i = 1

'********** INSTANZIAMENTO FILE DI EXCEL *************
Dim file
Dim riga
file = "analisi_margine.xls"
riga = 1

Response.Buffer = True
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "content-disposition", "inline; filename=" & file

'testata colonne
%>

<table>
<tr>
<td>DATA</td>
<td>RAGIONE SOCIALE</td>
<td>AGENTE</td>
<td>ARTICOLO</td>
<td>MARCHIO</td>
<td>LOTTO</td>
<td>MAGAZZINO</td>
<td>U.M.</td>
<td>QUANTITA'</td>
<td>PV NETTO</td>
<td>SPESE/KG</td>
<td>PV LORDO</td>
<td>TOTALE</td>
<td>Ma PA LORDO</td>
<td>Ma TOT ACQ</td>
<td>MARGINE %</td>
<td>RICARICO %</td>
</tr>

<%


'********** MOVIMENTI DI ACQUISTO *******************

magazzino_corrente = ""
articolo_corrente = ""
lotto_corrente = ""
causale_corrente = ""
GTotaleAcquistato_new =0

While Not DH.EOF

'testata articolo
If articolo_corrente <> DH.Fields.Item("CODICE").Value Then
articolo_corrente = DH.Fields.Item("CODICE").Value
somma_quantita_articolo_acquisto = 0
somma_quantita_articolo_vendita = 0
somma_quantita_articolo_vendita_noNC = 0

somma_riga_articolo_acquisto = 0
somma_riga_articolo_vendita = 0
somma_riga_articolo_vendita_lordo = 0
somma_riga_articolo_vendita_lordo_noNC = 0

media_prnetto_articolo_acquisto = 0
media_prnetto_articolo_vendita = 0
media_prlotto_articolo_acquisto = 0
media_prlotto_articolo_vendita = 0
somma_costo_riga_vendite = 0
somma_costo_riga_vendite_noNC = 0

descrizione_articolo = DH.Fields.Item("CODICE").Value & " - " & DH.Fields.Item("DESCRIZION").Value

End If

'testata lotto
If lotto_corrente <> DH.Fields.Item("LOTTO").Value Then
lotto_corrente = DH.Fields.Item("LOTTO").Value
margine_lotto = 0
ricarico_lotto = 0
somma_quantita_lotto_acquisti = 0
somma_quantita_lotto_vendite = 0
somma_riga_lotto_acquisti = 0
somma_riga_lotto_vendite = 0
End If

'testata magazzino

If magazzino_corrente <> DH.Fields.Item("MAGAZZINO").Value Then
magazzino_corrente = DH.Fields.Item("MAGAZZINO").Value
margine_magazzino = 0
ricarico_magazzino = 0

If Request.QueryString("V") = 1 Or Request.QueryString("A") = 1 Then

End If

End If

'INIZIO righe acquisto *************************************************************


somma_quantita_causale = 0
somma_riga_causale = 0
somma_riga_causale_lordo = 0
contatore_righe_causale = 0

If Not DA.EOF Then

Do While rtrim(articolo_corrente) & rtrim(lotto_corrente) & rtrim(magazzino_corrente) <> rtrim( DA.Fields.Item("CODICE").Value ) & rtrim(DA.Fields.Item("LOTTO").Value) & rtrim(DA.Fields.Item("MAGAZZINO").Value)
Da.MoveNext
Loop

Do While rtrim(articolo_corrente) & rtrim(lotto_corrente) & rtrim(magazzino_corrente) = rtrim( DA.Fields.Item("CODICE").Value ) & rtrim(DA.Fields.Item("LOTTO").Value) & rtrim(DA.Fields.Item("MAGAZZINO").Value)


'Testata acquisti
If Request.QueryString("A") = 1 And contatore_righe_causale = 0 Then

End If


'*AI* in quanto includo le aperture di inventario prendo il valore caricato a mano nel campo personalizzato

unitami = DA.Fields.Item("UNITAMI").Value

If DA.Fields.Item("USRPRACQAI").Value <> 0 Then
PrezzoSel = DA.Fields.Item("USRPRACQAI").Value
TotaleRigaSel = PrezzoSel * DA.Fields.Item("QUANTITA").Value
Else
PrezzoSel = DA.Fields.Item("EPRNETTO").Value
TotaleRigaSel = PrezzoSel * DA.Fields.Item("QUANTITA").Value
End If

'calcolo prezzi e totali lordi
PrezzoLordoSel = PrezzoSel + DA.Fields.Item("TOT_SPESE_SPLIT").Value
TotaleRigaLordoSel = PrezzoLordoSel * DA.Fields.Item("QUANTITA").Value


'creo l'insieme delle NC che sono usate in carico
If DA.Fields.Item("TIPOPROT").Value = "NC" Then
NCcarico(NCcarico_count) = DA.Fields.Item("NUMERO").Value
NCcarico_count = NCcarico_count + 1
End If


If Request.QueryString("A") = 1 Then

End If

somma_quantita_articolo_acquisto = somma_quantita_articolo_acquisto + DA.Fields.Item("QUANTITA").Value
somma_riga_articolo_acquisto = somma_riga_articolo_acquisto + TotaleRigaLordoSel

somma_quantita_causale = somma_quantita_causale + DA.Fields.Item("QUANTITA").Value
somma_riga_causale = somma_riga_causale + TotaleRigaSel
somma_riga_causale_lordo = somma_riga_causale_lordo + TotaleRigaLordoSel

media_prnetto_causale = media_prnetto_causale + PrezzoSel
media_prlordo_causale = media_prlordo_causale + PrezzoLordoSel
contatore_righe_causale = contatore_righe_causale + 1

somma_riga_lotto_acquisti = somma_riga_lotto_acquisti + PrezzoLordoSel
somma_quantita_lotto_acquisti = somma_quantita_lotto_acquisti + DA.Fields.Item("QUANTITA").Value

media_prnetto_causale_acquisto = round ( somma_riga_causale / somma_quantita_causale, 4)
media_prlordo_causale_acquisto = round ( somma_riga_causale_lordo / somma_quantita_causale, 4)

DA.MoveNext

If Request.QueryString("A") = 1 And (DA.EOF ) Then

Exit Do
ElseIf Request.QueryString("A") = 0 And (DA.EOF ) Then
Exit Do
ElseIf Request.QueryString("A") = 1 Then
If(rtrim(articolo_corrente) & rtrim(lotto_corrente) & rtrim(magazzino_corrente) <> rtrim( DA.Fields.Item("CODICE").Value )& rtrim(DA.Fields.Item("LOTTO").Value) & rtrim(DA.Fields.Item("MAGAZZINO").Value) ) Then

End If
End If


Loop

End If


'FINE righe acquisto ************************************************************************


'INIZIO righe vendita ************************************************************************

somma_quantita_causale = 0
somma_quantita_noNC = 0
somma_riga_causale = 0
somma_riga_causale_noNC = 0
somma_riga_causale_lordo = 0
somma_riga_causale_lordo_noNC = 0
contatore_righe_causale = 0

Dim TotaleRiga
Dim TotaleRigaLordo

TotaleRiga = 0
TotaleRigaLordo = 0


Do While Not DH.EOF

If rtrim(articolo_corrente) & rtrim(lotto_corrente) & rtrim(magazzino_corrente) = rtrim(DH.Fields.Item("CODICE").Value )& rtrim(DH.Fields.Item("LOTTO").Value) & rtrim(DH.Fields.Item("MAGAZZINO").Value) Then

UMven = DH.Fields.Item("UNITAMI").Value

If Request.QueryString("V") = 1 and contatore_righe_causale = 0 Then

End If


'array per gestire l'esclusione o meno delle nc usate nella sezione degli acquisti
If DH.Fields.Item("TIPOPROT").Value = "NC" Then
NCincludi = True
For ii = 0 to NCcarico_count
If NCcarico(ii) = DH.Fields.Item("NUMERO").Value Then NCincludi = False
Next
End If


If DH.Fields.Item("TIPOPROT").Value <> "NC" Then

If DH.Fields.Item("EPRNETTO").Value = 0 Then
PrVendita = media_prnetto_causale_acquisto
Else
PrVendita = DH.Fields.Item("EPRNETTO").Value
End If

PrVenditaLordo = PrVendita + DH.Fields.Item("TOT_SPESE_SPLIT").Value

if PrVenditaLordo <> 0 Then
margine_riga = round ( ( PrVenditaLordo - media_prlordo_causale_acquisto) / PrVenditaLordo ,6) * 100
Else
margine_riga = 0
End If

If media_prlordo_causale_acquisto <> 0 Then
ricarico_riga = round ( ( PrVenditaLordo - media_prlordo_causale_acquisto) / media_prlordo_causale_acquisto, 6 ) * 100
Else
ricarico_riga = 0
End If

ElseIf DH.Fields.Item("TIPOPROT").Value = "NC" And NCincludi Then

If DH.Fields.Item("EPRNETTO").Value = 0 Then
PrVendita = media_prnetto_causale_acquisto
Else
PrVendita = DH.Fields.Item("EPRNETTO").Value
End If

PrVenditaLordo = PrVendita + DH.Fields.Item("TOT_SPESE_SPLIT").Value

if PrVenditaLordo <> 0 Then
margine_riga = 0
'margine_riga = round ( ( PrVenditaLordo - media_prlordo_causale_acquisto) / PrVenditaLordo ,6) * 100
Else
margine_riga = 0
End If

If media_prlordo_causale_acquisto <> 0 Then
ricarico_riga = 0
'ricarico_riga = round ( ( PrVenditaLordo - media_prlordo_causale_acquisto) / media_prlordo_causale_acquisto, 6 ) * 100
Else
ricarico_riga = 0
End If


End If

TotaleRiga = PrVendita * DH.Fields.Item("QUANTITA").Value
TotaleRigaLordo = PrVenditaLordo * DH.Fields.Item("QUANTITA").Value

'inizio riga excel
riga = riga + 1


If Request.QueryString("V") = 1 Then 'and DH.Fields.Item("TIPOPROT").Value <> "NC" Then

%>
<tr>
<td><%=Right((DH.Fields.Item("DATAPROT").Value ),2) &"/"& Mid((DH.Fields.Item("DATAPROT").Value ),5,2) &"/"& LEFT((DH.Fields.Item("DATAPROT").Value ),4)%></td>
<td><%=Left(DH.Fields.Item("RAGIONESOC").Value,20) %></td>
<td><%=Left(DH.Fields.Item("AGENTE").Value,20) %></td>
<td><%=DH.Fields.Item("DESCRIZION").Value %></td>
<td><%=DH.Fields.Item("MARCHIO").Value%></td>
<td>'<%=DH.Fields.Item("LOTTO").Value %></td>
<td>'<%=magazzino_corrente %></td>
<td><%=UMven %></td>



<%
If DH.Fields.Item("TIPOPROT").Value <> "NC" Then 'xxxx era NC
%>
<td align="right"><%=format2(DH.Fields.Item("QUANTITA").Value) %></td>
<td align="right"><%=format(DH.Fields.Item("EPRNETTO").Value) %></td>
<td align="right"><%=format(DH.Fields.Item("TOT_SPESE_SPLIT").Value) %></td>
<td align="right">=(J<%=riga %> + K<%=riga %>)</td>
<td align="right">=ARROTONDA(I<%=riga %>*L<%=riga %>;3)</td>
<td align="right"><%=format(media_prlordo_causale_acquisto) %></td>
<td align="right">=ARROTONDA(I<%=riga %>*N<%=riga %>;3)</td>
<td align="right">=ARROTONDA(ARROTONDA((M<%=riga %>-O<%=riga %>) / M<%=riga %>;6)*100;2)</td>
<td align="right">=ARROTONDA(ARROTONDA((M<%=riga %>-O<%=riga %>) / O<%=riga %>;6)*100;2)</td>

<%
ElseIf DH.Fields.Item("TIPOPROT").Value = "NC" And NCincludi Then
%>
<td align="right">-<%=format2(DH.Fields.Item("QUANTITA").Value) %></td>
<td align="right"><%=format(DH.Fields.Item("EPRNETTO").Value) %></td>
<td align="right"><%=format(DH.Fields.Item("TOT_SPESE_SPLIT").Value) %></td>
<td align="right">=(J<%=riga %> + K<%=riga %>)</td>
<td align="right">=ARROTONDA(I<%=riga %>*L<%=riga %>;3)</td>
<td align="right"><%=format(media_prlordo_causale_acquisto) %></td>
<td align="right">=ARROTONDA(I<%=riga %>*N<%=riga %>;3)</td>
<td align="right">=ARROTONDA(ARROTONDA((M<%=riga %>-O<%=riga %>) / M<%=riga %>;6)*100;2)</td>
<td align="right">=ARROTONDA(ARROTONDA((M<%=riga %>-O<%=riga %>) / O<%=riga %>;6)*100;2)</td>

<%
Else
%>

<td align="right"></td>
<td align="right"></td>
<td align="right"></td>
<td align="right"></td>
<td align="right"></td>
<td align="right"></td>
<td align="right"></td>
<%
End If
%>
</tr>
<%
End If


'rsMovimentiLottiNoteCredito.MoveFirst
'rsMovimentiLottiNoteCredito.Find "CODCLIFO = '" & rsMovimentiLottiVendite.Fields.Item("RAGIONESOC").Value & "'"

' riporto note di credito *************************


'calcolo prima il totale delle vendite

If DH.Fields.Item("TIPOPROT").Value <> "NC" Then
somma_quantita_causale = somma_quantita_causale + DH.Fields.Item("QUANTITA").Value
somma_riga_causale_lordo = somma_riga_causale_lordo + TotaleRigaLordo
somma_quantita_articolo_vendita = somma_quantita_articolo_vendita + DH.Fields.Item("QUANTITA").Value
somma_riga_articolo_vendita_lordo = somma_riga_articolo_vendita_lordo + TotaleRigaLordo
'somma_costo_riga_vendite_noNC = somma_costo_riga_vendite_noNC + (DH.Fields.Item("QUANTITA").Value * media_prlordo_causale_acquisto )
Else
If NCincludi Then
somma_quantita_causale = somma_quantita_causale - DH.Fields.Item("QUANTITA").Value
somma_riga_causale_lordo = somma_riga_causale_lordo - TotaleRigaLordo
somma_quantita_articolo_vendita = somma_quantita_articolo_vendita - DH.Fields.Item("QUANTITA").Value
somma_riga_articolo_vendita_lordo = somma_riga_articolo_vendita_lordo - TotaleRigaLordo
End If
End If

'verifico che il totale delle vendite sia diverso da ZERO prima di tutto


If somma_quantita_causale <> 0 Then

If DH.Fields.Item("TIPOPROT").Value <> "NC" Then

'somma_quantita_articolo_vendita = somma_quantita_articolo_vendita + DH.Fields.Item("QUANTITA").Value
somma_quantita_articolo_vendita_noNC = somma_quantita_articolo_vendita_noNC + DH.Fields.Item("QUANTITA").Value
'somma_quantita_causale = somma_quantita_causale + DH.Fields.Item("QUANTITA").Value
somma_quantita_noNC = somma_quantita_noNC + DH.Fields.Item("QUANTITA").Value
somma_quantita_lotto_vendite = somma_quantita_lotto_vendite + DH.Fields.Item("QUANTITA").Value

somma_riga_articolo_vendita = somma_riga_articolo_vendita + TotaleRiga
'somma_riga_articolo_vendita_lordo = somma_riga_articolo_vendita_lordo + TotaleRigaLordo
somma_riga_articolo_vendita_lordo_noNC = somma_riga_articolo_vendita_lordo_noNC + TotaleRigaLordo

somma_riga_causale = somma_riga_causale + TotaleRiga
somma_riga_causale_noNC = somma_riga_causale_noNC + TotaleRiga
'somma_riga_causale_lordo = somma_riga_causale_lordo + TotaleRigaLordo
somma_riga_causale_lordo_noNC = somma_riga_causale_lordo_noNC + TotaleRigaLordo

'nuovo calcolo valore acquistato ****************
somma_costo_riga_vendite = somma_costo_riga_vendite + (DH.Fields.Item("QUANTITA").Value * media_prlordo_causale_acquisto )
somma_costo_riga_vendite_noNC = somma_costo_riga_vendite_noNC + (DH.Fields.Item("QUANTITA").Value * media_prlordo_causale_acquisto )

Else
If NCincludi Then
'somma_quantita_articolo_vendita = somma_quantita_articolo_vendita - DH.Fields.Item("QUANTITA").Value
'somma_quantita_causale = somma_quantita_causale - DH.Fields.Item("QUANTITA").Value
somma_quantita_lotto_vendite = somma_quantita_lotto_vendite - DH.Fields.Item("QUANTITA").Value
somma_riga_articolo_vendita = somma_riga_articolo_vendita - TotaleRiga

'response.Write("Totale Riga lordo in NC: " & TotaleRigaLordo)
'response.Write("<br>somma_riga_articolo_vendita_lordo: " & somma_riga_articolo_vendita_lordo)

'somma_riga_articolo_vendita_lordo = somma_riga_articolo_vendita_lordo - TotaleRigaLordo

'response.Write("<br>Totale Riga lordo in NC: " & somma_riga_articolo_vendita_lordo)

somma_riga_causale = somma_riga_causale - TotaleRiga
'somma_riga_causale_lordo = somma_riga_causale_lordo - TotaleRigaLordo

somma_costo_riga_vendite = somma_costo_riga_vendite - (DH.Fields.Item("QUANTITA").Value * media_prlordo_causale_acquisto )
End If
End If
End If

somma_riga_lotto_vendite = somma_riga_lotto_vendite + TotaleRigaLordo

If DH.Fields.Item("TIPOPROT").Value <> "NC" Then

media_prnetto_causale = media_prnetto_causale + PrVendita
media_prlordo_causale = media_prlordo_causale + PrVenditaLordo

End If

contatore_righe_causale = contatore_righe_causale + 1

DH.MoveNext

Else
Exit Do
End If
Loop


magazzino_corrente = ""

If somma_quantita_noNC <> 0 Then


media_prnetto_causale_vendita = round ( somma_riga_causale_noNC / somma_quantita_noNC,4)
media_prlordo_causale_vendita = round ( somma_riga_causale_lordo_noNC / somma_quantita_noNC, 4)

'media_prnetto_causale_vendita = round ( somma_riga_causale / somma_quantita_causale, 4)
'media_prlordo_causale_vendita = round ( somma_riga_causale_lordo / somma_quantita_causale, 4)
End If

If Request.QueryString("V") = 1 Then


End If

'FINE righe magazzino **********************************

If Not DH.EOF Then
magazzino_successivo = DH.Fields.Item("MAGAZZINO").Value
Else
magazzino_successivo = "MAGAZZINIFINITI"
End If

If magazzino_corrente <> magazzino_successivo Then

if media_prlordo_causale_vendita <> 0 Then
margine_magazzino = Round ( ( media_prlordo_causale_vendita - media_prlordo_causale_acquisto ) / media_prlordo_causale_vendita, 6) * 100
If Request.QueryString("V") = 1 Then
If somma_quantita_causale = 0 Then

Else

End If
End If
Else
If Request.QueryString("V") = 1 Then
End If
End If

If media_prlordo_causale_acquisto <> 0 Then
ricarico_magazzino = Round ( ( media_prlordo_causale_vendita - media_prlordo_causale_acquisto ) / media_prlordo_causale_acquisto, 6 ) * 100
If Request.QueryString("V") = 1 Then
If somma_quantita_causale = 0 Then

Else

End If
End If

Else
If Request.QueryString("V") = 1 Then
End If
End If

Else

If Request.QueryString("V") = 1 Then

End If

End If

'FINE righe vendita ************************************************************************

'conti di fine articolo

If Not DH.EOF Then
articolo_successivo = DH.Fields.Item("CODICE").Value
Else
articolo_successivo = "ARTICOLIFINITI"
End If

'totale generale articolo
If articolo_corrente <> articolo_successivo Then

if somma_quantita_articolo_acquisto <> 0 Then
media_prnetto_articolo_acquisto = format (somma_riga_articolo_acquisto / somma_quantita_articolo_acquisto)
media_prlordo_articolo_acquisto = format (somma_riga_articolo_acquisto / somma_quantita_articolo_acquisto)
Else
media_prnetto_articolo_acquisto = 0
media_prlordo_articolo_acquisto = 0
ricarico_articolo = 0
ricarico_articolo_new = 0
End If

if somma_quantita_articolo_vendita <> 0 Then
media_prnetto_articolo_vendita = format (somma_riga_articolo_vendita / somma_quantita_articolo_vendita)
'media_prlordo_articolo_vendita = format (somma_riga_articolo_vendita_lordo_noNC / somma_quantita_articolo_vendita_noNC)
Else
media_prnetto_articolo_vendita = 0
media_prlordo_articolo_vendita = 0
margine_articolo = 0
margine_articolo_new = 0
End If

if somma_quantita_articolo_vendita_noNC <> 0 Then
'media_prlordo_articolo_vendita_noNC = format (somma_riga_articolo_vendita_lordo_noNC / somma_quantita_articolo_vendita_noNC)

End iF

'if somma_riga_articolo_acquisto = 0 then somma_riga_articolo_acquisto = 1
'if somma_riga_articolo_vendita = 0 then somma_riga_articolo_vendita = 1

If media_prlordo_articolo_vendita <> 0 Then
margine_articolo = round ( ( media_prlordo_articolo_vendita - media_prlordo_articolo_acquisto ) / media_prlordo_articolo_vendita,6 ) * 100
Else
margine_articolo = 0
End If

'If media_prlordo_articolo_vendita_noNC <> 0 Then
'margine_articolo_new = round ( ( somma_riga_articolo_vendita_lordo_noNC - somma_costo_riga_vendite_noNC ) / somma_riga_articolo_vendita_lordo_noNC, 6 ) * 100
'Else
'margine_articolo_new = round ( ( somma_riga_articolo_vendita_lordo_noNC - somma_costo_riga_vendite_noNC ) / somma_riga_articolo_vendita_lordo_noNC, 6 ) * 100
'End If
'response.Write("<br> round ( ( somma_riga_articolo_vendita_lordo - somma_costo_riga_vendite ) / somma_riga_articolo_vendita_lordo, 6 ) * 100")
'response.Write("<br> somma_riga_articolo_vendita_lordo =" & round(somma_riga_articolo_vendita_lordo,4) & " - somma_costo_riga_vendite: " & somma_costo_riga_vendite & "<br>")
'response.Write("<br> somma_riga_articolo_vendita_lordo_noNC =" & somma_riga_articolo_vendita_lordo_noNC & " - somma_costo_riga_vendite_noNC: " & somma_costo_riga_vendite_noNC & "<br>")

'response.Write("<br> somma_costo_riga_vendite = " & somma_costo_riga_vendite & "<br>")

If somma_quantita_articolo_vendita <> 0 Then

margine_articolo_new = round ( ( somma_riga_articolo_vendita_lordo - somma_costo_riga_vendite ) / somma_riga_articolo_vendita_lordo, 6 ) * 100

End If

If media_prlordo_articolo_acquisto <> 0 And somma_quantita_articolo_vendita <> 0 Then
ricarico_articolo = round ( ( media_prlordo_articolo_vendita - media_prlordo_articolo_acquisto ) / media_prlordo_articolo_acquisto, 6) * 100
ricarico_articolo_new = round ( ( somma_riga_articolo_vendita_lordo - somma_costo_riga_vendite ) / somma_costo_riga_vendite, 6) * 100
'ricarico_articolo_new = round ( ( somma_riga_articolo_vendita_lordo_noNC - somma_costo_riga_vendite_noNC ) / somma_costo_riga_vendite_noNC, 6) * 100
Else
ricarico_articolo = 0
ricarico_articolo_new = 0
End If



GTotaleQta = GTotaleQta + somma_quantita_articolo_vendita
GTotaleAcquistato = GTotaleAcquistato + (media_prlordo_articolo_acquisto * somma_quantita_articolo_vendita)

GTotaleAcquistato_new = GTotaleAcquistato_new + somma_costo_riga_vendite_noNC

GTotaleVenduto_noNC = GTotaleVenduto + somma_riga_articolo_vendita_lordo_noNC
GTotaleVenduto = GTotaleVenduto + somma_riga_articolo_vendita_lordo

End If

Dim MaTotMargine
Dim MaTotRicavo

'nuovo calcolo valore venduto
Dim MaTotMargine_new
Dim MaTotRicavo_new


If GTotaleVenduto <> 0 Then
MaTotMargine = format( ( (GTotaleVenduto-GTotaleAcquistato)*100) / GTotaleVenduto )
MaTotMargine_new = format( ( (GTotaleVenduto_noNC-GTotaleAcquistato_new)*100) / GTotaleVenduto_noNC )
Else
MaTotMargine = 0
MaTotMargine_new = 0
End If
If GTotaleAcquistato <> 0 Then
MaTotRicavo = format( ( (GTotaleVenduto-GTotaleAcquistato)*100) / GTotaleAcquistato )
Else
MaTotRicavo = 0'format( ( (GTotaleVenduto-GTotaleAcquistato)*100) / GTotaleAcquistato_new )
End If

If GTotaleAcquistato_new <> 0 Then
MaTotRicavo_new = format( ( (GTotaleVenduto_noNC-GTotaleAcquistato_new)*100) / GTotaleAcquistato_new )
Else
MaTotRicavo_new = 0 'format( ( (GTotaleVenduto_noNC-GTotaleAcquistato_new)*100) / GTotaleAcquistato )
End If


'flush dell'output
i = i +1
If i = 100 then
Response.Flush()
i = 1
End If

Wend

'************* TOTALI FINALI *********************

%>
<tr></tr>
<tr>
<td>VALORI GENERALI</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td align="right">=SOMMA(I2:I<%=riga%>)</td>
<td></td>
<td></td>
<td></td>
<td align="right">=SOMMA(M2:M<%=riga%>)</td>
<td></td>
<td align="right">=SOMMA(O2:O<%=riga%>)</td>
<td align="right">=ARROTONDA(ARROTONDA((M<%=riga+2 %>-O<%=riga+2 %>) / M<%=riga+2 %>;6)*100;3)</td>
<td align="right">=ARROTONDA(ARROTONDA((M<%=riga+2 %>-O<%=riga+2 %>) / O<%=riga+2 %>;6)*100;3)</td>
</tr>

</table>


<%


DH.Close()
Set DH = Nothing
%>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.