• Gentili sviluppatori di WooCommerce Fatture in Cloud,

    Mi trovo ad affrontare un errore critico sul mio sito web dopo aver attivato il vostro plugin nella versione gratuita. Il mio obiettivo è quello di implementare la versione premium del plugin, ma ho riscontrato un errore che necessita di una vostra verifica.

    Dettagli dell’Errore:
    Durante il normale funzionamento, appare un errore PHP critico come segue:

    [03-Jun-2024 08:20:49 UTC] PHP Fatal error: Uncaught Error: Call to undefined method Automattic\WooCommerce\Admin\Overrides\OrderRefund::get_customer_note() in /home/filcovoa/public_html/wp-content/plugins/woo-fattureincloud/inc/ordine.php:224 Stack trace: #0 /home/filcovoa/public_html/wp-content/plugins/woo-fattureincloud/inc/setup-file.php(134): include_once() #1 /home/filcovoa/public_html/wp-content/plugins/woo-fattureincloud/inc/setup_page_display.php(120): include_once(‘/home/filcovoa/…’) #2 /home/filcovoa/public_html/wp-includes/class-wp-hook.php(324): woo_fattureincloud_setup_page_display(”) #3 /home/filcovoa/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(”, Array) #4 /home/filcovoa/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #5 /home/filcovoa/public_html/wp-admin/admin.php(259): do_action(‘woocommerce_pag…’) #6 {main} thrown in /home/filcovoa/public_html/wp-content/plugins/woo-fattureincloud/inc/ordine.php on line 224

    Questo errore si verifica quando tento di accedere alla tab ordine del plugin.

    Ambiente:
    WordPress: 6.5.2
    WooCommerce: 8.9.1?
    Plugin Fatture in Cloud: Versione gratuita (ultima disponibile)

    Richiesta:
    Potreste per favore verificare la causa di questo problema? Siamo molto interessati ad acquistare la versione premium del plugin, ma abbiamo bisogno di assicurarci che funzioni correttamente nel nostro ambiente di e-commerce.

    Grazie per la vostra assistenza. Resto in attesa di un vostro riscontro per risolvere questo problema al più presto possibile.

    Grazie per il supporto

    The page I need help with: [log in to see the link]

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author woofatture

    (@woofatture)

    Salve Adelmo,

    l’errore è dovuto alla impossibilità di leggere le note dell’ordine WooCommerce del cliente:

    $order->get_customer_note();

    il consiglio è di testare il plugin in una altra installazione di test come illustrato nella documentazione:

    https://woofatture.com/docs/come-testare-i-conflitti-tra-plugin-e-temi/



    Cordiali Saluti
    Team Supporto
    Woofatture.com

    Thread Starter Adelmo Infante

    (@francpranz)

    Salve Team di Supporto Woofatture,

    Grazie per il vostro continuo supporto. Volevo aggiornarvi su un’analisi che ho condotto riguardo l’errore critico che stiamo affrontando con il plugin.

    Dall’esame del log degli errori, sembra che il problema sorga quando si tenta di accedere al metodo get_customer_note() su un oggetto di tipo OrderRefund, che sembra non supportare tale metodo:

    
    PHP Fatal error: Uncaught Error: Call to undefined method Automattic\WooCommerce\Admin\Overrides\OrderRefund::get_customer_note() in /home/filcovoa/public_html/wp-content/plugins/woo-fattureincloud/inc/ordine.php:224


    Per prevenire l’errore critico e permettere al sito di continuare a funzionare senza interruzioni, ho implementato un controllo condizionale che esclude la chiamata del metodo get_customer_note() sugli oggetti OrderRefund:

    
    if (!($order instanceof \Automattic\WooCommerce\Admin\Overrides\OrderRefund)) {
    $order_note = $order->get_customer_note();
    } else {
    // Nessuna azione per OrderRefund, o gestione alternativa se necessario
    $order_note = "Questo è un ordine di rimborso e non verrà processato per le note.";
    }


    Questa modifica ha temporaneamente risolto l’errore, ma sono consapevole che potrebbe essere necessaria una soluzione più strutturale per garantire la piena funzionalità del plugin.

    Sono conscio che potrebbe esserci una spiegazione o una configurazione che mi è sfuggita, quindi, se poteste fornire ulteriori dettagli su come il plugin gestisce le istanze degli oggetti Order e OrderRefund, o se ci sono particolari impostazioni che dovrei verificare, sarei molto grato.

    Grazie ancora per la vostra assistenza e attendo un vostro riscontro per capire meglio come procedere.

    Plugin Author woofatture

    (@woofatture)

    Salve Adelmo,

    come scritto nella prima pagina del plugin WooCommerce Fattureincloud il consiglio è di leggere interamente la Documentazione all’interno della quale è presente la seguente descrizione

    Il plugin WooCommerce Fattureincloud permette di trasformare gli ordini ricevuti nel proprio negozio online realizzato con WooCommerce in

    • Fatture normali
    • Fatture Elettroniche

    su Fattureincloud.it

    La funzionalità di gestione degli OrderRefund e delle conseguenti Note Credito non è al momento presente

    Se la fattura fosse già stata generata e si intende effettuare un rimborso, il consiglio è di creare una Nota di Credito direttamente su Fattureincloud.it e dopo aver modificato l’ordine esistente cliccando sul tasto “Rimborsa” non convertirlo su Fattureincloud.it

    Un esempio di codice come quello suggerito è sempre prezioso ed è stato condiviso col Team Sviluppo dopo test e verifiche potrebbe essere eventualmente integrato nelle prossime versioni del plugin


    Cordiali Saluti
    Team Supporto
    Woofatture.com

    Thread Starter Adelmo Infante

    (@francpranz)

    Salve Team di Supporto Woofatture,

    Forse non sono stato completamente chiaro nei miei messaggi precedenti, e per questo mi scuso. Desidero fornire una spiegazione più dettagliata e specifica del problema tecnico che abbiamo riscontrato con il vostro plugin WooCommerce Fatture in Cloud, per garantire che la situazione sia compresa pienamente,.

    Il problema centrale è l’invocazione del metodo get_customer_note() su un oggetto della classe OrderRefund. Questa classe, a differenza della classe WC_Order, non dispone del metodo get_customer_note(), il che causa un errore critico nel nostro sistema. L’errore emerge perché il plugin tenta di trattare un oggetto di tipo rimborso (OrderRefund) come se fosse un ordine normale (WC_Order), che supporta questo metodo.

    Ecco il dettaglio del log degli errori che illustra l’errore:

    PHP Fatal error: Uncaught Error: Call to undefined method Automattic\WooCommerce\Admin\Overrides\OrderRefund::get_customer_note() in /wp-content/plugins/woo-fattureincloud/inc/ordine.php:224
    
    

    Per evitare questo errore e mantenere la stabilità del sito, ho implementato un controllo condizionale nel codice che verifica il tipo di oggetto prima di chiamare il metodo get_customer_note():

    if (!($order instanceof \Automattic\WooCommerce\Admin\Overrides\OrderRefund)) { $order_note = $order->get_customer_note(); 
    } else { 
    // Gestione alternativa per OrderRefund o nessuna azione 
    $order_note = "Questo è un ordine di rimborso e non verrà processato per le note."; 
    }

    Questa modifica ha temporaneamente risolto il problema, ma sono consapevole che potrebbe essere necessaria una soluzione più strutturata per evitare future complicazioni.

    Per concludere, vorrei sapere come posso procedere per risolvere definitivamente questo errore critico che si genera sul mio sito web quando attivo il vostro plugin. Qualsiasi consiglio o passaggio aggiuntivo che potreste fornire sarebbe molto apprezzato.

    Grazie ancora per il vostro supporto e attendo un vostro riscontro.

    Cordiali saluti,

    Plugin Author woofatture

    (@woofatture)

    Salve Adelmo,

    chiarimento: l’osservazione in merito all’oggetto OrderRefund come scritto precedentemente è stata accolta:

    Un esempio di codice come quello suggerito è sempre prezioso ed è stato condiviso col Team Sviluppo dopo test e verifiche potrebbe essere eventualmente integrato nelle prossime versioni del plugin

    il senso del post precedente era che il consiglio nella gestione di un ordine rimborsato è quello di non cercare di trasformarlo in una nota credito in Fattureincloud.it

    L’errore al momento come visibile dal video in cui è stato effettuato un test, non è “bloccante” per il funzionamento del plugin, selezionando un altro ordine il plugin funziona normalmente:

    Come visibile nel video l’ordine 130 che è stato rimborsato è visibile anche in anteprima, se si clicca sul tasto “Seleziona” compare l’errore perché l’ordine 131 è l’ordine del rimborso, l’OrderRefund.

    Ciò che si può migliorare è far scomparire l’errore generico WordPress e far comparire la causa della mancata visualizzazione dell’ordine 131, ovvero = “quest’ordine non è visibile in quanto è un ordine di rimborso”, che di norma non sarebbe visibile a meno che non si clicchi sul tasto Seleziona quando l’ordine rimborsato è cronologicamente l’ultimo

    Per quanto riguarda la generazione automatica, essendo lo stato dell’ordine “Rimborsato” la generazione sarà sempre evitata.

    Cordiali Saluti
    Team Supporto
    Woofatture.com

Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.