JSON pomoc oko skracenog broja racuna

Ako neko ima da se razumije, malo sam zapeo…

Ukratko, ovaj kod prikazuje puni broj racuna koji je formata: RXX-1-1-2023
$invoice_number

U kodu to onda izgleda ovako:

{
  "stack": [
    {
      "text": "Reference number: HR00 $invoice_number"
    }
  ],
  "alignment": "right",
  "margin": [
    -25,
    0,
    0,
    0
  ]
}

Meni treba da prikazem skracenu verziju pr. XX-2023

Pokusao sam i na sluzbenom forumu ali nisam dobio nikakav odgovor:

Ispod su dva koda od GPT-a, a zelio bi sve staviti u jedan kod ako je to moguce?

To achieve the desired result within the JSON structure, you can use a simple template placeholder and then replace it with the formatted invoice number in your code. Here’s the modified code:

{
  "stack": [
    {
      "text": "Reference number: HR00 $formatted_invoice_number"
    }
  ],
  "alignment": "right",
  "margin": [
    -25,
    0,
    0,
    0
  ]
}

Then, in your code, you can replace $formatted_invoice_number with the actual formatted invoice number using the appropriate programming language. For example, in JavaScript:

// Given input
const inputText = "Reference number: HR00 R43-1-1-2023";

// Extracting the invoice number
const invoiceNumber = inputText.split(' ')[2]; // Assuming the invoice number is the third word after splitting by spaces

// Formatting the invoice number
const formattedInvoiceNumber = invoiceNumber.slice(1, 3) + "-" + invoiceNumber.slice(8);

// Replace the placeholder with the formatted invoice number
const modifiedText = yourJsonCode.stack[0].text.replace("$formatted_invoice_number", formattedInvoiceNumber);

console.log(modifiedText); // Output: "Reference number: HR00 43-2023"

By following this approach, you can dynamically replace the placeholder with the formatted invoice number within your existing JSON structure.

Samo stavi ovo:
const invoiceNumber = $invoice_number;

Chat je pogrešno zaključio da treba parsati finalni tekst i onda je pogrešno uzeo 3. riječ umjesto četvrte.

Ostalo djeluje korektno.

a moze li se to sve uraditi unutar jednog koda, tj samo tamo gdje se izvrsava?

npr da sve ovdje dole rijesim, bez da moram tamo u nekoj datoteci traziti gdje je to i dodavati kod koji ce generisati ovo sto gpt kaze… problem je to sve pronaci, milion nekih fajlova… a potrebno je samo da se prikaze unutar izlaznog pdf-a

{
      "text": "Poziv na broj: HR00 $invoice_number"
}

pokusavam ovako, ali ne ide

izbaci mi ovo
image

Nisam doma s PHP-om, ali nisam našao replace funkciju.
Samo str_replace(…

gdje lijepis taj JSON kod pa generise PDF?

ova linija radi u javascriptu, vidi mozes li sta iskombinovat:

invoiceNumber.split('R')[1].split('-')[0] + "-" + invoiceNumber.split('R')[1].split('-')[3]

unutar programa imam editor za dizajn template-a

ako promjenim na code, onda je to ovako… e sada da li vam je to dovoljno informacija ?
link powered by ace vodi na: http://ace.ajax.org/

pokusam ovo i dobijem

ako stavim ovako:

dobijem

Gdje ti je definisan $invoice_number?

to ne znam, moracu je preko ftpa kompletnu skinuti pa lokalno pretrazivati gdje je to definisano…

Vidi gdje je definisan $invoice_number i onda ispod toga dodaj:

$broj = explode('-', $invoice_number);
$xx = substr($broj[0], 1); 
$god = $broj[3];

$invoice_kratki = $xx . '-' . $god . '.';

I kasnije u JSON samo ispis umjesto $invoice_number radi $invoice_kratki.

Prva linija ti lomi invoice broj na dijelove koristeci srednju crtu kao separator
Druga ti identifikuje brojeve posle slova R
Treca godinu

a zadnja ti radi ispis po tvojoj zelji.

Ispis ce ti biti: 31-2023. (sa tackom).

EDIT (ko zna koji) - ako neces tacku na kraju, samo obrisi ‘.’ u zadnjoj liniji

1 Like

ask chat gpt :smiley:

barem meni pomogne

hvala javim se kada nadjem gdje je definisan invoice_number