Sorry for having given you a non working example!
Here you can find a working one. The comments at the end of each line are in
italian.
Changing the height of the frame you can move the \startalign content in the
page.
As you will see, the whole content flows from one page to the following,
without splitting at the right line.
Thank you very much for your help.
%INIZIO PREAMBOLO
\setuppapersize[A4, portrait] [A4]% layout di pagina su foglio A4
\setuplayout[width=middle]% disposizione del testo sulla pagina
\setuppagenumbering[location={footer, middle}]% numero di pagina in basso al
centro
\setupbodyfont[11pt]% altezza carattere 11pt
\setupcolors[state=start, rgb=yes]% per usare colori
\setupcolor[rgb]% carico colori di default
\setuptabulate[split=yes]% consente di spezzare le liste di tabualte su più
pagine
%\setupindenting[medium, yes]% indentazione prima linea di paragrafi
\mainlanguage[it]% lingua principale del documento
\usemodule[units]% per scrivere le unità di misura in maniera coerente sia in
modalità testo che matematico
%\usemodule[NTE]% per crare le tabelle complesse multipagina utilizzando
l'ambiente TABLE
%
%----------COMANDI DEFINITI DA UTENTE-----------------
% comando \sb
\def\sb#1{\ctxlua{tex.print(#1)}}% definizione comando di sostituzione dei
valori numerici a quelli letterali
% comando \sba
\def\sba#1{\ctxlua{tex.print(string.format("\%.0f", #1))}}% sostituisce numero
a valori letterali scrivendolo senza cifre decimali
% comando \sbb
\define[1]\sbb{\ctxlua{context("\%.1f", #1)}}% sostituisce numero a valori
letterali scrivendolo con 1 cifra decimale
% comando \sbc
\define[1]\sbc{\ctxlua{context("\%.2f", #1)}}% sostituisce numero a valori
letterali scrivendolo con 2 cifre decimali
% comando \sbd
\define[1]\sbd{\ctxlua{context("\%.3f", #1)}}% sostituisce numero a valori
letterali scrivendolo con 3 cifre decimali
\definedescription[descr][style=packed,headstyle=bold,style=normal,
location=hanging,width=broad,margin=1cm]
%FINE PREAMBOLO
\starttext
Bla bla bla
{\framed[height=15cm] Bla Bla}
\startluacode
e_yfi=5
R_fi=2000
r_fi=300
D_ifi=2500
P_dfi=0.6
f_dfi=200
e_dtryfi=1 -- spessore di tentativo in progetto in mm
e_yfi=100 -- inizializzo il valore ey a 100
while math.abs(e_yfi-e_dtryfi)>0.001 do
e_dtryfi=e_yfi
Y=math.min((e_dtryfi / R_fi), 0.04)
Z=math.log10(1/Y)
X=r_fi/D_ifi
N=1.006-(1 / (6.2+(90*(Y^4))))
beta006=N*((-0.3635*(Z^3))+(2.2124*(Z^2))-(3.2937*Z)+1.8873)
beta01=N*((-0.1833*(Z^3))+(1.0383*(Z^2))-(1.2943*Z)+0.837)
beta02=math.max(0.95*(0.56-(1.94*Y)-(83.5*(Y^2))), 0.5)
if X==0.06 then
beta=beta006
elseif 0.06<X and X<0.1 then
beta=25*(((0.1-X)*beta006)+((X-0.06)*beta01))
elseif X==0.1 then
beta=beta01
elseif 0.1<X and X<0.2 then
beta=10*(((0.2-X)*beta01)+((X-0.1)*beta02))
elseif X==0.2 then
beta=beta02
else tex.print("\\red{ERRORE NELLA GEOMETRIA DEL FONDO INFERIORE}")
end
e_yfi=(beta*P_dfi*((0.75*R_fi)+(0.2*D_ifi)))/f_dfi
end
\stopluacode
\setupformulas[align=right]
\startformula
\startalign[n=3, align={left, right, left}]
\NC \text{dove} \quad \NC Y \NC = min \left({{e_{yfi}} \over {R_{fi}}}; 0.04
\right) = min \left({{\sbc{e_yfi}} \over {\sba{R_fi}}}; 0.04 \right)=\sbd{Y}
\NR
\NC \NC Z \NC = log_{10} \left({1 \over Y} \right) = log_{10} \left({1
\over \sbd{Y}} \right) = \sbc{Z} \NR
\NC \NC X \NC = {{r_{fi}} \over {D_{ifi}}} = {{\sba{r_fi}} \over {\sba
{D_ifi}}} = \sbd{X} \NR
\NC \NC N \NC = 1.006 - {1 \over {6.2 + \left(90 \cdot Y \right)^4}} =
1.006 - {1 \over {6.2 + \left(90 \cdot \sbd{Y} \right)^4}} = \sbd{N} \NR
\startluacode
if X==0.06 then
tex.print("\\NC \\NC \\beta_{0.06} \\NC = N \\cdot \\left(-0.3635 \\cdot Z^3
+ 2.2124 \\cdot Z^2 - 3.2937 \\cdot Z + 1.8873 \\right) = \\NR")
tex.print("\\NC \\NC \\NC = N \\cdot \\left(-0.3635 \\cdot \\sbc{Z}^3
+ 2.2124 \\cdot \\sbc{Z}^2 - 3.2937 \\cdot \\sbc{Z} + 1.8873 \\right) = \\sbc
{beta006} \\NR")
tex.print("\\NC \\NC \\beta \\NC =\\beta_{0.06}=\\sbc{beta006} \\NR")
elseif X>0.06 and X<0.1 then
tex.print("\\NC \\NC \\beta_{0.06} \\NC = N \\cdot \\left(-0.3635 \\cdot Z^3
+ 2.2124 \\cdot Z^2 - 3.2937 \\cdot Z + 1.8873 \\right) = \\NR")
tex.print("\\NC \\NC \\NC = N \\cdot \\left(-0.3635 \\cdot \\sbc{Z}^3
+ 2.2124 \\cdot \\sbc{Z}^2 - 3.2937 \\cdot \\sbc{Z} + 1.8873 \\right) = \\sbc
{beta006} \\NR")
tex.print("\\NC \\NC \\beta_{0.1} \\NC = N \\cdot \\left(-0.1833 \\cdot Z^3
+ 1.0383 \\cdot Z^2 - 1.2943 \\cdot Z + 0.837 \\right) = \\NR")
tex.print("\\NC \\NC \\NC = N \\cdot \\left(-0.1833 \\cdot \\sbc{Z}^3
+ 1.0383 \\cdot \\sbc{Z}^2 - 1.2943 \\cdot \\sbc{Z} + 0.837 \\right) = \\sbc
{beta01} \\NR")
tex.print("\\NC \\NC \\beta \\NC = 25 \\cdot \\left[ \\left(0.1 - X \\right)
\\cdot \\beta_{0.06} + \\left(X - 0.06 \\right) \\cdot \\beta_{0.1} \\right]=
\\NR")
tex.print("\\NC \\NC \\NC = 25 \\cdot \\left[ \\left(0.1 - \\sbd{X}
\\right) \\cdot \\sbc{beta006} + \\left(\\sbd{X} - 0.06 \\right) \\cdot \\sbc
{beta01} \\right]=\\sbd{beta} \\NR")
elseif X==0.1 then
tex.print("\\NC \\NC \\beta_{0.1} \\NC = N \\cdot \\left(-0.1833 \\cdot Z^3
+ 1.0383 \\cdot Z^2 - 1.2943 \\cdot Z + 0.837 \\right) = \\NR")
tex.print("\\NC \\NC \\NC = N \\cdot \\left(-0.1833 \\cdot \\sbc{Z}^3
+ 1.0383 \\cdot \\sbc{Z}^2 - 1.2943 \\cdot \\sbc{Z} + 0.837 \\right) = \\sbc
{beta01} \\NR")
tex.print("\\NC \\NC \\beta \\NC =\\beta_{0.1}=\\sbc{beta01} \\NR")
elseif X>0.1 and X<0.2 then
tex.print("\\NC \\NC \\beta_{0.1} \\NC = N \\cdot \\left(-0.1833 \\cdot Z^3
+ 1.0383 \\cdot Z^2 - 1.2943 \\cdot Z + 0.837 \\right) = \\NR")
tex.print("\\NC \\NC \\NC = N \\cdot \\left(-0.1833 \\cdot \\sbc{Z}^3
+ 1.0383 \\cdot \\sbc{Z}^2 - 1.2943 \\cdot \\sbc{Z} + 0.837 \\right) = \\sbc
{beta01} \\NR")
tex.print("\\NC \\NC \\beta_{0.2} \\NC = max \\left[ 0.95 \\cdot \\left(0.56
- 1.94 \\cdot Y - 82.5 \\cdot Y^2 \\right); 0.5 \\right] \\NR")
tex.print("\\NC \\NC \\NC = max \\left[ 0.95 \\cdot \\left(0.56
- 1.94 \\cdot \\sbd{Y} - 82.5 \\cdot \\sbd{Y}^2 \\right); 0.5 \\right] = \\sbd
{beta02} \\NR")
tex.print("\\NC \\NC \\beta \\NC = 10 \\cdot \\left[ \\left(0.2 - X \\right)
\\cdot \\beta_{0.1} + \\left(X - 0.1 \\right) \\cdot \\beta_{0.2} \\right]=
\\NR")
tex.print("\\NC \\NC \\NC = 10 \\cdot \\left[ \\left(0.2 - \\sbd{X}
\\right) \\cdot \\sbc{beta01} + \\left(\\sbd{X} - 0.1 \\right) \\cdot \\sbc
{beta02} \\right]=\\sbd{beta} \\NR")
elseif X==0.2 then
tex.print("\\NC \\NC \\beta_{0.2} \\NC = max \\left[ 0.95 \\cdot \\left(0.56
- 1.94 \\cdot Y - 82.5 \\cdot Y^2 \\right); 0.5 \\right] \\NR")
tex.print("\\NC \\NC \\NC = max \\left[ 0.95 \\cdot \\left(0.56
- 1.94 \\cdot \\sbd{Y} - 82.5 \\cdot \\sbd{Y}^2 \\right); 0.5 \\right] = \\sbd
{beta02} \\NR")
tex.print("\\NC \\NC \\beta \\NC =\\beta_{0.2}=\\sbd{beta02} \\NR")
end
\stopluacode
\stopalign
\stopformula
\setupformulas[align=middle]
\stoptext