[RISOLTO] xcalctab tabelle risultati consecutivi

  • Creatore
    Topic
  • #112757
    Up
    0
    Down
    ::


    Buongiorno a tutti,
    come indicato in un latro post, uso xcalctab per preventivi e fatture.
    Grazie agli ottimi suggerimenti di Robitex funziona alla perfezione, anche se nuove esigenze mi creano problemi.

    Da poco, mi ritrovo a dover fare delle Notule di diritto d’autore in Francia.
    Su un sito professionale (ATLF), viene messo a disposizione un foglio di calcolo già sistemato.
    A me piacerebbe molto poter invece calcolare il totale con LaTeX, ma non so come fare.
    In sostanza, mi si pongono due problemi :
    – come poter mettere una dopo l’altra due tabelle, di cui la seconda parte dal risultato della prima?

    – come si fa, con diversi \per uno dopo l’altro a partire sempre da un risultato A e non dalla somma delle righe precedenti?

    Purtroppo non credo di poter allegare il foglio di calcolo in questione perché è riservato ai professionisti iscritti all’associazione e non so se mi sono spiegata bene.

    In sostanza avrei bisogno di fare qualche cosa del genere:
    Tabella 1 (colonne: quantità; prezzo unitario; risultato) –> (quantità * prezzo prestazione) + 20% IVA = Totale 1A
    Tabella 2 (colonne: tasso, base, contributi) –> (Totale 1 + 0.50%) + (Totale 1 + 6.8% di T1) + (Totale 1 + 2.4% di T1) + [(Totale 1 – 0.8% di T1) + 2.5%] = Totale 2
    Tabella 3 –> Totale 2 + spesa 1 + spesa 2 +spesa 3 = Totale 3

    Per ora riesco solo a fare
    `\documentclass[french,11pt]{article}
    \usepackage{babel}

    \usepackage{fp}

    \usepackage{calctab}

    \begin{document}

    \ctontraslation{sur}
    \ctcurrency{Montant (€)}
    \ctdescription{Désignation}
    \ctheaderone{Nb de feuillets}
    \ctheadertwo{Tarif}

    \begin{xcalctab}
    \amount{Traduction italien > français}{150}{25}

    \add{Total 1}
    \perc{Différentiel taxe collecté par le preneur (art. 285 bis du CGI)}{0,80}

    \add{Total prestation}
    \end{xcalctab}

    \ctontraslation{sur}
    \ctcurrency{Base (€)}
    \ctdescription{}
    \ctheaderone{Coris.}
    \ctheadertwo{Taux}

    \begin{xcalctab}
    \amount{Total prestation}{1}{3750} %qui devo inserire manualmente il risultato della tabella precedente, mentre invece mi piacerebbe che lo facesse da solo.
    \perc{Cotisation vieil. déplaf.}{0,40}
    \perc{C.S.G. déductible}{6,80} %a partire da qui, non prende 3750 come base, ma il risultato precedente. Io vorrei che tenesse il risultato sopra come base di calcolo…
    \perc{C.S.G. non déductible}{2,40} %idem
    \perc{C.R.D.S. non déductible}{0,50} %idem
    \perc{C.F.P.C.}{0,35} %idem
    \perc{Cotisation retraite}{6,90} %idem
    \add{Total Agessa}

    \end{xcalctab}
    \end{document}
    `

    In ogni caso, rispondo volentieri a qualsiasi domanda che permetta di capire meglio cosa sto cercando e accetto con piacere qualsiasi dritta!

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #112758
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        pensee_sauvage” post=113090Buongiorno a tutti,
        come indicato in un latro post, uso xcalctab per preventivi e fatture.
        Grazie agli ottimi suggerimenti di Robitex funziona alla perfezione, anche se nuove esigenze mi creano problemi.

        Da poco, mi ritrovo a dover fare delle Notule di diritto d’autore in Francia.
        Su un sito professionale (ATLF), viene messo a disposizione un foglio di calcolo già sistemato.
        A me piacerebbe molto poter invece calcolare il totale con LaTeX, ma non so come fare.
        In sostanza, mi si pongono due problemi :
        – come poter mettere una dopo l’altra due tabelle, di cui la seconda parte dal risultato della prima?

        – come si fa, con diversi \per uno dopo l’altro a partire sempre da un risultato A e non dalla somma delle righe precedenti?

        Purtroppo non credo di poter allegare il foglio di calcolo in questione perché è riservato ai professionisti iscritti all’associazione e non so se mi sono spiegata bene.

        In sostanza avrei bisogno di fare qualche cosa del genere:
        Tabella 1 (colonne: quantità; prezzo unitario; risultato) –> (quantità * prezzo prestazione) + 20% IVA = Totale 1A
        Tabella 2 (colonne: tasso, base, contributi) –> (Totale 1 + 0.50%) + (Totale 1 + 6.8% di T1) + (Totale 1 + 2.4% di T1) + [(Totale 1 – 0.8% di T1) + 2.5%] = Totale 2
        Tabella 3 –> Totale 2 + spesa 1 + spesa 2 +spesa 3 = Totale 3

        Per ora riesco solo a fare
        `\documentclass[french,11pt]{article}
        \usepackage{babel}

        \usepackage{fp}

        \usepackage{calctab}

        \begin{document}

        \ctontraslation{sur}
        \ctcurrency{Montant (€)}
        \ctdescription{Désignation}
        \ctheaderone{Nb de feuillets}
        \ctheadertwo{Tarif}

        \begin{xcalctab}
        \amount{Traduction italien > français}{150}{25}

        \add{Total 1}
        \perc{Différentiel taxe collecté par le preneur (art. 285 bis du CGI)}{0,80}

        \add{Total prestation}
        \end{xcalctab}

        \ctontraslation{sur}
        \ctcurrency{Base (€)}
        \ctdescription{}
        \ctheaderone{Coris.}
        \ctheadertwo{Taux}

        \begin{xcalctab}
        \amount{Total prestation}{1}{3750} %qui devo inserire manualmente il risultato della tabella precedente, mentre invece mi piacerebbe che lo facesse da solo.
        \perc{Cotisation vieil. déplaf.}{0,40}
        \perc{C.S.G. déductible}{6,80} %a partire da qui, non prende 3750 come base, ma il risultato precedente. Io vorrei che tenesse il risultato sopra come base di calcolo…
        \perc{C.S.G. non déductible}{2,40} %idem
        \perc{C.R.D.S. non déductible}{0,50} %idem
        \perc{C.F.P.C.}{0,35} %idem
        \perc{Cotisation retraite}{6,90} %idem
        \add{Total Agessa}

        \end{xcalctab}
        \end{document}
        `

        In ogni caso, rispondo volentieri a qualsiasi domanda che permetta di capire meglio cosa sto cercando e accetto con piacere qualsiasi dritta!

        Ciao.
        Intanto il pacchetto fp non serve, come non serve impostare due volte ctontraslation.
        In realtà la seconda tabella potrebbe forse essere meglio rappresentata da un ambiente calctab, visto che non ci sono quantità da moltiplicare.
        Per il calcolo corretto delle percentuali, esiste l’opzione id con cui si assegna un nome a un importo.
        Successivamente, richiamando quel nome nelle opzioni di \perc si ottiene il calcolo della percentiale solo su quella voce.

        Ecco un esempio di codice riformulato sul tuo:
        `\documentclass[french,11pt]{article}
        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage{babel}

        \usepackage{calctab}

        \begin{document}
        \ctontraslation{sur}
        \ctcurrency{Montant (\euro)}
        \ctdescription{Désignation}
        \ctheaderone{Nb de feuillets}
        \ctheadertwo{Tarif}

        \begin{xcalctab}
        \amount{Traduction italien > français}{150}{25}
        \add{Total 1}
        \perc{Différentiel taxe}{0,80}
        \add{Total prestation}
        \end{xcalctab}

        \ctcurrency{Base (\euro)}
        \ctdescription{}
        \ctheaderone{Coris.}
        \ctheadertwo{Taux}

        \begin{calctab}
        \amount[id=total]{Total prestation}{3750}
        \perc{Cotisation vieil. déplaf.}{0,40}
        \perc[total]{C.S.G. déductible}{6,80}
        \perc[total]{C.S.G. non déductible}{2,40}
        \perc[total]{C.R.D.S. non déductible}{0,50}
        \perc[total]{C.F.P.C.}{0,35}
        \perc[total]{Cotisation retraite}{6,90}
        \add{Total Agessa}
        \end{calctab}
        \end{document}`

        Rimane il problema del “trasferimento” da una tabella all’altra di valori, cosa che il pacchetto calctab non prevede.
        Magari riesco più tardi a darci un’occhiata.

        Comunque sia, verifica sempre il calcolo. Nel tuo caso si può fare con un’unica operazione:
        150 x 25 x 1.1735 = 4400.625

        R.

      • #112759
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::


          Vabbé dai, così?
          R.

          `\documentclass[french,11pt]{article}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage{babel}

          \usepackage{calctab}

          \newcommand\valnb{150}
          \newcommand\tarif{25}

          \begin{document}
          \ctontraslation{sur}
          \ctcurrency{Montant (\euro)}
          \ctdescription{Désignation}
          \ctheaderone{Nb de feuillets}
          \ctheadertwo{Tarif}

          \begin{xcalctab}
          \amount{Traduction italien > français}{\valnb}{\tarif}
          \add{Total 1}
          \perc{Différentiel taxe}{0,80}
          \add{Total prestation}
          \end{xcalctab}

          \ctcurrency{Base (\euro)}
          \ctdescription{}
          \ctheaderone{Coris.}
          \ctheadertwo{Taux}

          \begin{calctab}
          \amount[id=total]{Total prestation}{\valnb * \tarif}
          \perc{Cotisation vieil. déplaf.}{0,40}
          \perc[total]{C.S.G. déductible}{6,80}
          \perc[total]{C.S.G. non déductible}{2,40}
          \perc[total]{C.R.D.S. non déductible}{0,50}
          \perc[total]{C.F.P.C.}{0,35}
          \perc[total]{Cotisation retraite}{6,90}
          \add{Total Agessa}
          \end{calctab}
          \end{document}`

          Ps. Chissà con LuaTeX come si potrebbe fare…

        • #112760
          Up
          0
          Down
          ::


          Ancora una volta: grazie mille!
          Il codice proposto funziona a meraviglia e realizza esattamente quanto cercavo 🙂
          È davvero malleabile calctab! guardando le tue soluzioni mi dico, che buon’idea, ovvio che così dovrebbe funzionare…ma, ancora una volta, non penso ci sarei arrivata autonomamente.
          Poco per volta si impara, grazie anche agli ottimi suggerimenti che si ricevono!

        • #112761
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::

            pensee_sauvage” post=113093Ancora una volta: grazie mille!
            Il codice proposto funziona a meraviglia e realizza esattamente quanto cercavo 🙂
            È davvero malleabile calctab! guardando le tue soluzioni mi dico, che buon’idea, ovvio che così dovrebbe funzionare…ma, ancora una volta, non penso ci sarei arrivata autonomamente.
            Poco per volta si impara, grazie anche agli ottimi suggerimenti che si ricevono!

            Cara pensee_sauvage,
            non è calctab ad essere malleabile ma bensì il sistema TeX.
            Rispetto agli altri strumenti questo sistema è basato intimamente con la programmazione. Proprio per questo motivo all’utente non è posto alcun limite di elaborazione.

            Per il resto è (quasi) solo esperienza.
            R.

            Ps. mi raccomando moltiplica i valori inziali con i coefficienti dati dalla somma delle percentuali con 1, avrai la verifica in pochi secondi del risultato.
            Calctab contiene un bug che non ho mai risolto se le cose si fanno complicate. Bug di calcolo che tuttavia nessuno mi ha mai segnalato \o/ 😛 😉

        Visualizzazione 3 filoni di risposte
        • Devi essere connesso per rispondere a questo topic.

        Go to top