GithubHelp home page GithubHelp logo

devcode-it / openstamanager Goto Github PK

View Code? Open in Web Editor NEW
101.0 24.0 68.0 31.53 MB

Il software gestionale open source per l'assistenza tecnica e la fatturazione

Home Page: https://www.openstamanager.com

License: GNU General Public License v3.0

PHP 50.59% CSS 0.42% JavaScript 47.03% XSLT 1.78% Makefile 0.03% HTML 0.11% Shell 0.01% Perl 0.03%
gestionale assistenza fatturazione fatturazione-elettronica assistenza-tecnica assets-management magazzino gestione-impianti assets-manager inventory

openstamanager's Introduction

Il software gestionale open-source per l'assistenza tecnica e la fatturazione.

Sito web · Documentazione · Forum


GitHub release Downloads SourceForge license

Il gestionale OpenSTAManager è un software open-source e web based, sviluppato dall'azienda informatica DevCode di Este per gestire ed archiviare il servizio di assistenza tecnica e la relativa fatturazione. Il nome del progetto deriva dalla parziale traduzione in inglese degli elementi principali che lo compongono: la natura open-source e il suo obiettivo quale Gestore del Servizio Tecnico di Assistenza.

Un software gestionale, identificato nell'insieme degli applicativi che automatizzano i processi di gestione all'interno delle aziende, appartiene solitamente a una specifica categoria del settore, specializzata negli ambiti di:

  • Gestione della contabilità;
  • Gestione del magazzino;
  • Gestione e ausilio della produzione;
  • Gestione e previsione dei budget aziendali;
  • Gestione ed analisi finanziaria.

Secondo questa definizione, OpenSTAManager riesce a generalizzare al proprio interno le funzionalità caratteristiche della contabilità e della gestione del magazzino, presentando inoltre moduli piuttosto avanzati e destinati a complementare l'attività aziendale in relazione agli interventi di assistenza della realtà lavorativa in oggetto.

La documentazione ufficiale è disponibile all'indirizzo https://docs.openstamanager.com/.

Requisiti software

L'installazione del gestionale richiede la presenza di un server web con abilitato il DBMS MySQL e il linguaggio di programmazione PHP.

PHP EOL Supportato
8.1 25/11/2024 ✔️
8.0 26/11/2023 ✔️
7.4 28/11/2022 ✔️
7.3 06/12/2021
7.2 30/11/2020
MYSQL EOL Supportato
8.3 30/04/2024 ✔️
8.2 31/01/2024 ✔️
8.1 25/10/2023 ✔️
8.0 30/04/2026 ✔️
5.7 21/10/2023 ✔️
5.6 05/02/2021

Per ulteriori informazioni sui pacchetti che forniscono questi elementi di default, visitare la sezione Installazione della documentazione.

Requisiti hardware

Minimi:

  • 1 CPU
  • 2GB di ram
  • 200MB di spazio per il gestionale

Consigliati:

  • 2 CPU
  • 4GB di ram
  • 2GB di spazio per il gestionale

Installazione rapida

git clone https://github.com/devcode-it/openstamanager.git
cd openstamanager

# Download di composer da https://getcomposer.org/download/

yarn develop-OSM

Installazione

Per procedere all'installazione è necessario seguire i seguenti punti:

  1. Scaricare una release ufficiale del progetto.

  2. Creare una cartella (ad esempio openstamanager) nella root del server web installato ed estrarvi il contenuto della release scaricata. Il percorso della cartella root del server varia in base al software in utilizzo:

    • LAMP (/var/www/html)
    • XAMPP (C:/xampp/htdocs per Windows, /opt/lampp/htdocs/ per Linux, /Applications/XAMPP/htdocs/ per MAC)
    • WAMP (C:\wamp\www)
    • MAMP (C:\MAMP\htdocs per Windows, /Applications/MAMP/htdocs per MAC)
  3. Creare un database vuoto (tramite PHPMyAdmin o riga di comando).

  4. Accedere a http://localhost/openstamanager dal vostro browser.

  5. Inserire i dati di configurazione per collegarsi al database.

  6. Procedere all'installazione del software, cliccando sul pulsante Installa.

Attenzione: è possibile che l'installazione richieda del tempo. Si consiglia pertanto di attendere almeno qualche minuto senza alcun cambiamento nella pagina di installazione (in particolare, della progress bar presente) prima di cercare una possibile soluzione nelle discussioni del forum o nella sezione dedicata.

Versioni

Per mantenere un elevato grado di trasparenza riguardo al ciclo delle release, seguiamo le linee guida Semantic Versioning (SemVer) per definire le versioni del progetto. Per vedere tutte le versioni disponibili al download, visitare la pagina relativa su GitHub (per versioni precedenti alla 2.3, visitare SourceForge).

Nel caso utilizziate il programma per uso commerciale, si consiglia di scaricare le release disponibili nel sito ufficiale del progetto (https://www.openstamanager.com), evitando di utilizzare direttamente il codice della repository. Se siete inoltre interessati a supporto e assistenza professionali, li potete richiedere nella sezione dedicata.

Build

Nel caso si stia utilizzando la versione direttamente ottenuta dalla repository di GitHub, è necessario eseguire i seguenti comandi da linea di comando per completare le dipendenze PHP (tramite Composer) e gli assets (tramite Yarn) del progetto.

php composer.phar install
yarn global add gulp
yarn install
gulp

In alternativa alla sequenza di comandi precedente, è possibile utilizzare il seguente comando (richiede l'installazione di GIT e Yarn, oltre che l'inserimento dell'archivio composer.phar nella cartella principale del progetto):

yarn run develop-OSM

Per ulteriori informazioni, visitare le sezioni Assets e Framework della documentazione.

Strumenti di sviluppo e debug

Consigliamo di installare psalm e configurarlo nel proprio IDE se supportato, in modo che vengano eseguiti ulteriori controlli automatici sul codice scritto.

E' già configurato su composer l'inclusione di PHP-CS-Fixer, uno strumento che permette di formattare in modo uniforme il codice scritto. Si può configurare nel proprio IDE se supportato. Il percorso dell'eseguibile è vendor/bin/php-cs-fixer.

Perché software open-source

Il progetto è un software open-source perché permette agli utilizzatori di studiarne il funzionamento ed adattarlo alle proprie esigenze; inoltre, in ambito commerciale, non obbliga l'utilizzatore ad essere legato allo stesso fornitore di assistenza.

In questo modo è possibile ottenere un'ulteriore garanzia sul funzionamento del software, poiché chiunque ne abbia le capacità può verificarlo, escludendo mancanze in relazione alla sicurezza e alla privacy dei dati (caratteristica che il software proprietario non può offrire).

Community

La community è una componente importante in un progetto open-source, perché mette in contatto utenti e programmatori tra di loro e permette pertanto l'individuazione di soluzioni innovative e migliori.

Siamo presenti su Facebook, Instagram, Twitter, YouTube, Telegram e Mastodon e il nostro forum ufficiale è disponibile all'indirizzo https://forum.openstamanager.com, dove potete segnalare i vostri problemi e soddisfare le vostre curiosità nelle sezioni più adeguate.

Contribuire

Per poter contribuire ed eseguire i test automatici, si consiglia di seguire le indicazioni descritte all'interno della documentazione ufficiale.

Se volete contribuire attivamente con semplici migliorie o correzioni potete cercare tra le issue per i nuovi contributori.

Bounty Program

Potresti trovare degli issue contrassegnati con il label bountysource. Questo significa che è disponibile una ricompensa per chi risolverà l'issue secondo i criteri descritti all'interno. Devi creare innanzitutto un account su BountySource.com. Successivamente, il funzionamento sarà il seguente:

  • esegui un fork del repository
  • risolvi l'issue
  • invia una pull request

Verificheremo se la pull request soddisferà i requisiti e, una volta approvata, provvederemo ad accreditare la ricompensa nel tuo account di BountySource.

Licenza

Questo progetto è tutelato dalla licenza GPL 3.

openstamanager's People

Contributors

antonioscarpino avatar bacca1997 avatar beppe9000 avatar bimbo1989 avatar cjbeppe avatar dariosera avatar dasc3er avatar fpsoftware avatar idraulicadueci avatar iforgotband avatar lepool avatar loviuz avatar lucapsg avatar lucasalva87 avatar maicol07 avatar marcus905 avatar matteopistorello avatar miatmax avatar microcluster avatar nicnal avatar pek5892 avatar sartoshi-foot-dao avatar stefanostc avatar tox82 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openstamanager's Issues

Normalizzazione dell'internazionalizzazione

L'introduzione di un sistema centralizzato di internazionalizzazione e conversione ha permesso di migliorare l'adattabilità del software a diversi linguaggi e convenzioni, ora personalizzabili attraverso il file di configurazione.
Il sistema attualmente impostato può comunque essere ancora migliorato, in particolare attraverso la gestione univoca della conversione con alcune librerie preimpostate, evitando così la gestione manuale di tutte le operazioni.

Propongo quindi l'introduzione di un'ulteriore libreria PHP: Punic.
Questa libreria è stata infatti creata appositamente per implementare il corretto comportamento di internazionalizzazione (basato sugli standard), e la sua implementazione permetterebbe di migliorare l'adeguabilità del gestionale per future traduzioni ed espansioni.

Particolarmente utile sarebbe la gestione automatica dei formati di numeri e date, che permetterebbe di delegare a questa libreria tutte le operazioni altrimenti implementate ma non ampiamente testate.

  • Unificazione della conversione dei numeri (evitando così l'utilizzo alternato dell'estensione intl e del metodo customNumber)
  • Miglioramento dell'adattabilità delle date

Problema nel creare un ddt di acquisto da ordine fornitore

Non riesce a creare DDT di acquisto da Ordine Fornitore (Errore: Uncaught Exception PDOException: "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'dt_ddt.descrizione' in 'field list' - SELECT numero, numero_esterno, dt_ddt.descrizione AS tipo, dt_ddt.dir FROM dt_ddt LEFT JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='1'" at C:\xampp\htdocs\opensta2.3\lib\classes\Database.php line 610 ), nè se creo diretamente un DDT di acquisto, stesso errore. Stesso errore anche per DDt di Vendita (ovviamente).

Possibile Problema Sola Lettura beta2

Stavo provando la versione beta2 che avete rilasciato in questi giorni ed ho riscontrato un possibile problema: da amministratore sono entrato su strumenti->utenti e permessi->tecnici dove ho inserito un nuovo utente tecnico e aggiornato i permessi per il gruppo. Ho dato ai menu anagrafiche e magazzino e relativi sottomenu il permesso Sola Lettura. Mi sono disconnesso da amministratore e sono entrato con il nuovo utente tecnico creato. A questo punto se entro nel magazzino e voglio accedere ad un articolo per visionare i dati in sola lettura come da permesso, cliccando sull'articolo entra nella pagina di edit, ma mi dice record non trovato anzichè mostrarmi i dettagli dell'articolo (in teoria senza darmi la possibilità di modificarne i dati). La stessa cosa anche nelle anagrafiche che compaiono dopo aver inserito un intervento per il tecnico. E' un funzionamento corretto o c'è un problema?

Bug su modulo Viste

Non mi pare sia stato ancora segnalato:
Sul modulo delle viste da un errore se si prova ad aggiungere un nuovo campo alla vista, errore dovuto al fatto che il campo id_module è obbligatorio nell'insert, ma non viene messo nella query di inserimento

Sostituzione campi DATETIME inutilizzati

Ho approfondito la presenza di campi DATETIME nel database, per controllare se c'erano miglioramenti simili a quelli indicati in #3.

Per la precisione, propongo la conversione a DATE dei seguenti attributi.

co_movimenti

  • data
  • data_documento

co_ordiniservizio

  • data_scadenza

co_ordiniservizio_pianificazionefatture

  • data_scadenza

co_righe_contratti

  • data_richiesta

co_righe_preventivi

  • data_evasione

co_scadenziario

  • data_emissione
  • scadenza
  • data_pagamento

dt_automezzi_tecnici

  • data_inizio
  • data_fine

my_impianto_componenti

  • data
  • data_sostituzione

or_righe_ordini

  • data_evasione

Inoltre, i seguenti campi sono sostituibili con il nuovo attributo automatico created_at.
mg_prodotti

  • data

mg_movimenti

  • data

Propongo di sfruttare la tipologia DATETIME per continuare a memorizzare le seguenti date.

in_interventi

  • data_richiesta
  • firma_data
  • data_invio

in_interventi_tecnici

  • orario_inizio
  • orario_fine

Infine, ho individuato come tabella al momento inutilizzata dt_automezzi_tagliandi.

DDT auto-intestati per lavori in cantiere

modulo DDT vendita, permettere l'auto-intestazione, è previsto dalla normativa vigente

Nel caso il materiale venga inviato ad un cantiere, il ddt va auto-intestato, ovvero nel campo "cliente" si può impostare l'azienda predefinita (è sufficiente aggiungere tipo anagrafica cliente) è necessario poi selezionare anche un cliente finale e l'eventuale sede del cliente finale. Aggiungere quindi un ulteriore idanagrafica sul database.

Nel campo "destinazione diversa" della stampa quindi possiamo avere:

  1. l'indirizzo del cliente
  2. l'indirizzo di una sede del cliente
  3. l'indirizzo del cliente finale
  4. l'indirizzo di una sede del cliente finale
  • stampa da aggiornare di conseguenza
  • aggiungere nuova "causale di trasporto": "installazione"

Problema generazione codice intervento

Aggiungevo alcuni interventi completati dell'anno 2016 per dei test e il mi è stato restituito il sequente errore:
image
Potrebbe essere un mio problema nel DB o un bug?

Problema di assegnazione percorsi

Se cambio una riga generica nella fattura di vendita ricevo errore 404.
The requested URL /modules/fatture/editor.php was not found on this server.

apache_error.log

[Fri Sep 22 08:14:39 2017] [error] [client ::1] File does not exist: /Applications/MAMP/htdocs/modules/fatture/lib, referer: http://localhost:8888/editor.php?id_module=14&id_record=563 [Fri Sep 22 08:14:44 2017] [error] [client ::1] script '/Applications/MAMP/htdocs/modules/fatture/editor.php' not found or unable to stat, referer: http://localhost:8888/editor.php?id_module=14&id_record=563

Gestione modulare attraverso Composer

Per migliorare la scalabilità e il grado di manutenibilità del codice, in futuro potrebbe risultare utile gestire i moduli del progetto attraverso pacchetti indipendenti installati attraverso Composer.
Un esempio di questa pratica può essere individuato nella maggior parte dei progetti moderni, dove diverse componenti dedicate a specifiche azioni vengono gestite in repository separate con un relativo controllo di versione.

Questa modifica permetterebbe alcuni importanti miglioramenti a livello di codice, tra cui il completo spostamento della gestione delle operazioni all'interno di classi generalizzate e non dipendenti da singoli file PHP, aumentando così la portabilità del progetto.

In particolare, proporrei una suddivisione del genere:

  • File di base del progetto (devcode-it/openstamanager)
    All'interno della repository principale potrebbe essere gestita la struttura del gestionale presente nella root del server; in particolare, la cartella per i log, per gli upload e per i temi, oltre che i file PHP necessari a completare le richieste HTTP.
    Di conseguenza, questa repository sarebbe dedicata a definire la struttura generale del gestionale per tutti i componenti che potrebbero essere personalizzati/inseriti/modificati dagli utenti.

  • Core del progetto
    La repository in questione conterrebbe tutte le strutture di base che si occuperebbero di far funzionare il progetto, preferibilmente gestite attraverso una logica ad oggetti.
    I file PHP della repository principale richiamerebbero semplicemente queste classi per rispondere alla richieste HTTP, senza effettuare alcun tipo di operazione indipendente.

  • Repository dei moduli
    Ogni modulo possiederebbe una repository apposita, dedicata a gestire i contenuti da visualizzare nelle pagine (gli attuali file edit.php, actions.php, ... in futuro esportabili a loro volta in una struttura ad oggetti) e i file di installazione e aggiornamento.
    Il core del progetto dovrebbe occuparsi del relativo richiamo a questi moduli, dopo averli registrati a livello di database (come avviene attualmente).

Il vantaggio principale di questa struttura sarebbe l'indipendenza dei moduli, che potrebbero eventualmente essere aggiornati in modo separato rispetto al core secondo dei criteri stabilibili attraverso Composer.
Inoltre, separando i contenti specifici dell'installazione (log, upload, temi) dall'effettivo codice dedicato alla loro gestione, sarebbe possibile procedere all'aggiornamento del core del progetto senza rischio di perdere o sovrascrivere dati personalizzati.

Ovviamente, questa modifica risulta piuttosto corposa: la propongo per poter introdurre un'ulteriore discussione sui possibili miglioramenti futuri.

Ragazzi manca molto per la versione stabile 2.3?

Salve ragazzi,
So che lavorate a pieno ritmo e mi complimento per i progressi fatti.
egoisticamente siccome sto inserendo molti articoli a listino e le conversioni lavorando su sql danno spesso qualche errore vorrei lavorare nativamente sulla 2.3.
Se però sarà pronta l'anno prossimo lavorerò sulla 2.2

grazie anticipatamente per la cortese risposta
Roberto

Gestione avanzata permessi

Aggiunta modulo per la gestione dei filtri permessi, in modo da poter scegliere quali filtri abilitare per gruppo.
Esempio:
il gruppo "Tecnici" potrà vedere solo i suoi interventi, oppure tutti. Sarà l'amministratore che abiliterà o meno questo filtro.
Possibilità di aggiungere filtri manualmente con query (modalità avanzata per esperti).

Bug eliminazione fatture

Cancello fattura numero 4, cancella anche le righe in fattura numero 5 (fatture di vendita) e anche fatture precedenti, 1 e 3. E anche da alcune fatture di acquisto.
In pratica se creo una fattura con delle righe di articoli o senza, poi ne creo una seconda sempre con alcune righe ed articoli e poi con il pulsante Elimina cancello la seconda, vengono cancellate anche le righe della prima o di alcune altre fatture, indipendentemente se sono di vendita o acquisto.

Rivalsa INPS/Ritenuta d'acconto

Come segnalato nel post del forum relativo (https://www.openstamanager.com/forum/viewtopic.php?f=4&t=88303), vorrei controllare il funzionamento corretto per i campo di Rivalsa INPS e Ritenuta d'acconto...

Ho controllato il codice, e attualmente i due campi compaiono come obbligatori:

  • Sempre per le fatture di acquisto
  • Per le fatture di vendita, se sono stati impostati dal modulo Impostazioni

@fpsoftware @lucasalva87 Questo comportamento è corretto?

Oppure sarebbe più corretto che comparissero nel seguente modo:

  • Obbligatori per le fatture di vendita, se sono stati impostati dal modulo Impostazioni
  • Sempre facoltativi per le fatture di acquisto

Suggerimenti

Ciao, sto provando la beta2 della 2.3, qualche primo suggerimento:

  • C'è ancora qualche problema con gli sconti/rincari: Se nel listino metto una percentuale negativa (= rincaro, anche se secondo me per logica è uno sconto...), nella pagina dell'articolo il prezzo, nella sezione listini, il prezzo è mostrato rincarato della percentuale giusta, mentre nel preventivo viene applicato uno sconto, quindi l'opposto.
  • Mi sembra giusto mostrare nel preventivo gli sconti applicati ai singoli articoli, ma non i rincari. Non ha senso dire al cliente "Guarda che questo articolo costa 10€ ma per te lo rincaro del 20%";
  • Nella beta precedente avevo fatto una modifica veloce ai preventivi, cioè in corrispondenza di ogni articolo avevo aggiunto anche l'immagine dell'articolo, per completezza. Sarebbe possibile aggiungere tale modifica nella versione finale?

Grazie
Roberto

Campi Partita IVA CAP (numerici) che iniziano con 0

Durante la fase di inserimento, i campi Partita IVA e CAP, vengono in fase di salvataggio su MySQL, privati dello 0 iniziale. Agendo sul DB manualmente, con l'inserimento del carattere 0, viene salvato e infatti quando vedo l'anagrafica, i campi che iniziano per 0, sono corretti. Se provo però a salvare senza modifiche, tutti i campi che iniziano per 0 vengono modificati.

Miglioramento del sistema di sviluppo

Con il passaggio a Github come gestore del progetto, si è aperta la possibilità di integrare il processo di sviluppo con strumenti automatizzati quali Continuous Integration e Unit Testing, che risulterebbero molto utili per controllare in modo automatico il funzionamento di alcune sezioni di base del codice.

In particolare, propongo innanzitutto l'introduzione di un sistema di testing PHP basato sul framework open source PHPUnit.
Questo porterebbe alla creazione di un'apposita cartella (tests) contenente un insieme di casistiche su cui richiamare le funzioni del gestionale (derivanti da classi o altre fonti) e controllarne l'effettivo funzionamento.

Un'esempio di base in questo senso è fornito dalla classe Formatter, al momento responsabile della conversione automatica dei formati per il gestionale: nel caso si presentassero future necessità di ampliamento delle casistiche (come nel caso #30), questi test controllerebbero l'effettivo funzionamento della classe in tutte le situazioni prevedibili e di interesse.
Lo stesso vale per tutte le altre classi, oltre che per le funzioni responsabili di individuare scadenze, prezzi e altro all'interno dei singoli moduli.

In questo modo, sarebbe possibile migliorare il controllo sull'effettivo funzionamento delle funzioni di base del progetto a seguito di piccole e grandi correzioni.

Una volta completata (o introdotta) questa funzionalità, si potrebbe individuare uno strumento CI tra i molti disponibili e integrarlo con il sistema Github dei commit, ottenendo in questo modo un feedback automatico basato sul sistema di testing.

Suggerimenti nelle funzionalità in "Azioni di gruppo" - Anagrafica

Ho importato con MySQL, dopo vari adattamenti con Excel, l'anagrafica proveniente da un precedente gestionale. Non ho capito come funziona l'attribuzione della caratteristica (Cliente, Azienda, Fornitore, etc..) nelle tabelle in database. Sarebbe fantastico procedere con delle modifiche "rapide" di gruppo, con la possibilità di attribuire ad n anagrafiche la caratteristica/ruolo esatta.

Sto sperimentando tra l'altro la possibilità di sincronizzare il Database con uno Foglio Google+Script con l'utilizzo di JDBC (un pò troppo limitato su Google)

Problema nel caricamento di un nuovo modulo via zip

  • nella documentazione Moduli.md la directory del modulo viene indicata col nome module_dir, ma nel file aggiornamenti/upload_modules.php viene utilizzata la dicitura directory, quindi il file MODULE deve essere diverso
  • controllo ZIP su aggiornamenti/upload_modules.php errato credo: carico un file .zip e mi dice
    Errore: il file caricato non è zip. Manca un not su riga 17 penso:
    elseif (strstr($filename, '.zip')) { --errore
    dovrebbe essere
    elseif (!strstr($filename, '.zip')) { --errore

Malfunzionamento della prima nota

Non funziona la primanota da fattura di vendita. Il valore nel campo "Dare" dopo che viene confermato con "Aggiungi" risulta "0" . Il problema sta nella condizione "if" nel file actions nel modulo "primanota" .
Quando invece una primanota viente modificata la funzione è corretta.

Problema visualizzazione prima nota

Non so se avete già risolto, comunque segnalo questo piccolo problema di visualizzazione: se vado ad inserire un nuovo movimento in prima nota e il movimento supera i 1000 euro, sul totale a fondo pagina mi compare 1 euro, in pratica il totale vede il punto di separazione delle migliaia come una virgola. E' solo un problema di visualizzazione, poi salva i dati correttamente.

Idfornitore legato al prodotto

Vi propongo questa modifica già vista e implementata in una fork di OSM.

per ogni articolo agganciare l'ID fornitore.

il motivo è semplice: poter visualizzare i prodotti anche filtrando per fornitore. Questa funzione è quasi indispensabile per trovare prodotti con codici errati oppure con codici e descrizioni particolari.
Sfogliando la lista per fornitore oltre a rendersi conto della quantità di articoli del fornitore sarà anche possibile discriminare la quantità a magazzino di un dato fornitore e poter verificare bolle di carico che sono sempre nominali e mai miste (o quasi mai) con quantità a magazzino.
Vero che esiste l'articolo ma sbagliare un codice è un attimo e poter cercare all'interno di un singolo fornitore renderebbe il tutto molto più semplice.

Mancando la colonna o riga ID fornitore nella tabella mg_articoli tutto questo diventa possibile esclusivamente facendolo a mano. io la colonna excel l'ho comunque caricata.. chissà se non vi complica la vita ed è utile a tutti....

mancherebbe anche la quantità relativa all'eventuale confezione.
Non parlo del kit che srà nella versione a pagamento. ma solo di una specifica ulteriore dell'unità di misura.
ad es io ho sia pezzi singoli che confezione. sia in fattura che in ddt sarebbe molto utile avere la possibilità di inserire in caricamento dati la quantità relativa alla singola confezione di vendita.
diversamente va inserito in descrizione articolo. fattibile ma è un'operazione che richiede una manipolazione importane dei file excel. Oltre a questo la quantità (e chiedo) minima di acquisto a volte è indicata in pezzi altre in confezioni.
Grazie alla discriminante sarebbe più semplice da gestire? es. q.tà minima di acuisto 100 pezzi
la confezione è da 10 automaticamente ordine fornitore diventa 10 confezioni. idem per la vendita.
il cliente ordina in pezzi mentre la vendita è fatta si a pezzi ma colli e ddt vanno a numero di confezioni o imballo.

A volte l'imballo è proprio la confezione.

alla fine sarebbe sufficiente avere indicata la quantità del singolo collo.
sia in colonna fattura che in ddt sarebbe una discriminante a mio avviso sufficiente

unità minima di acquisto e unità minima di vendita. in questo modo 10 unità vendute possono essere 10 pezzi come 10 confezioni da 10 pezzi?

spero di essermi spiegato ma rimango a disposizone per qualsiasi chiarimento.
ho cercato qua e nn ho trovat onulla a riguardo. se qualcuno ha già chiesto sorry per il doppione

Roberto

Bug Gruppi e Permessi

Ho creato un nuovo gruppo su strumenti -> Utenti e Permessi, chiamandolo per esempio Ufficio Acquisti, al quale voglio dare i permessi di lettura e scrittura solo sulla dashboard e sugli acquisti per esempio. Creo un utente acquisti e do i permessi su Dashboard, Acquisti, Ordini Fornitore, Fatture di acquisto. Vedo che non posso aggiungere il gruppo sui campi delle viste per esempio delle Fatture perchè sono disabilitati, quindi non mi aspetto di doverlo fare. Mi sloggo da admin ed entro col nuovo utente acquisti. Entro nelle fatture e mi da un errore, prima come alert javascript: DataTables warning: table id=main_10 - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1; quindi errore in rosso: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'id'. E non compaiono le fatture nella tabella, che risulta vuota. Lo stesso accade anche su altre pagine, attività per esempio.
Credo sia un bug sul codice, ho provato anche sulla versione online della 2.3 beta dal sito di OpenSTA e c'è lo stesso probelma..

Problema valori numerici decimali (0,xx) - Beta 2

Salve,
inserendo la tariffa oraira e kilometrica in attività generica o tariffe tecnici il costo chilometrico 0,6 per es non viene memorizzato. solo 1 o 1,frazione
è simile al bug dell'anagrafica che non prendeva gli zero iniziali per PIVA e telefono?
sperem :)

Roberto

Soglia quantità minima articoli

La soglia minima quantità non è impostabile a zero. Se tento di impostare 0, mi restituisce sempre il valore 1.
Sto provando la versione HEAD.

Modulo statistiche

  • Fatturato
  • Entrate/Uscite
  • Articoli più venduti
  • Numero di interventi mensili
  • Clienti top

Conformare il Piano dei Conti

Conformare il modulo Piano dei Conti con il nuovo sistema di calcolo, per evitare problemi di pochi centesimi come segnalato negli altri moduli.

Aggiunta badge sul README

Propongo l'aggiunta di alcuni badge per migliorare la visibilità del progetto in modo visivo:

  • Release corrente (solo release ufficiale oppure anche pre-release)
    GitHub release
    GitHub release

  • Download (release ufficiale o totali)
    Github Releases
    Github Releases

  • Download totali da Sourceforge (per le versioni precedenti)
    SourceForge

  • Licenza del progetto
    license

  • Commit dall'ultima release ufficiale
    Github commits (since latest release)

  • Donazione PayPal
    Donate

@loviuz @lucasalva87 @fpsoftware Voi che ne pensate?
Per maggiori dettagli sulle possibilità, il gestore automatico di questi badge è Shields.io.
Gli stili disponibili sono qui.

Problemi Fatture di acquisto

Ciao, stavo provando ad inserire delle fatture di acquisto ed ho trovato dei piccoli errori. Ho eseguito le prove anche nella demo online accedendo tramite il sito dal pulsante Prova OSM 2.3 beta2 in modo da indicare dove ho riscontrato i problemi.
1- Ho inserito un nuovo ordine di acquisto. Poi ho fatto Crea fattura da ordine. Ordine numero 2(o ED98) della demo. Nella fattura creata la riga non compare in modo corretto, inoltre da errore rosso per la query una volta che esco dalla fattura. Si può vedere dalla fattura numero 2.
2- Ho creato una fattura, la numero 3. L'ho emessa e sono entrato nello scadenziario per pagare la scadenza. Come per la beta 1 non riesco ad inserire il valore su pagato perchè mi dice Il totale degli importi inseriti non corrisponde al totale da pagare!
3- Ho creato la fattura numero 4 come la 3 e sono andato su scadenziario a pagarla, questa volta inserendo direttamente la prima nota. Tutto corretto a parte il fatto che poi la fattura risulta in stato Parzialmente pagato anche se ho effettuato tutto il pagamento completo dell'importo. Dovrebbe risultare credo in stato Pagato

Problema salvataggio scadenze su scadenzario

Creata fattura di acquisto da 103,70 euro con 2 scadenze (tipo pagamento: bonifico 30/60 gg d.f). Vado sullo scadenziario e cerco di inserire il pagamento della prima rata. Inserisco l'importo e salvo. Non salva dicendomi "Il totale degli importi inseriti non corrisponde al totale da pagare!", stesso problema anche con 1 sola scadenza. Su fatture di vendita non accade.

Gestione account email

Modulo per la gestione degli account SMTP per inviare le email dai moduli.
Modulo per l'invio mail standardizzato, integrabile per ogni modulo da cui scegliere:

  • account SMTP con cui inviare
  • campo destinatario da usare
  • template html da utilizzare per l'invio con utilizzo di tag per leggere i campi del database da utilizzare.

Ogni modulo potrà avere più invii email.

Errore di creazione fattura da ordine

Prima Creato Ordine Cliente - Poi tentato Crea Fattura da ordine. Dovrebbe creare fattura di vendita, essendo ordine cliente. Invece crea fattura di acquisto.

DDT Vendita-Acquisto: logica inserimento riga

nella funzione di inserimento "nuova riga" c'è ancora il controllo per sommare le righe simili, era da eliminare come sulle fatture.
Se si caricano righe simili (es. carico lo stesso articolo più volte) va sempre inserito come una nuova riga e mai aggiornare dati esistenti, in questo modo si può gestire il caso di un articolo omaggio o con prezzo scontato, etc.

Problema con caratteri speciali nei tag personalizzati

Ciao,

Ho provato inseriere nella descrizione del articolo un carattere speciale (tipo "). Se inserisco l'articolo nella fattura non ci sono problemi. Se però provo a modificarlo non compare più la descrizione e viene tolta dalla fattura. Si può riprodurre nella demo con articolo 123 descrizione 1/4"

Operazioni veloci su anagrafica

Qualcuno chiede di aggiungere la creazione intervento dall'anagrafica. Io propongo: perché non creare, ad esempio, un riquadro "Operazioni veloci" da dentro l'anagrafica?
Un tot di pulsanti del tipo "Nuovo intervento", "Nuova fattura", "Nuovo preventivo", ecc... così da aver già pre-selezionata l'anagrafica senza andare avanti e indietro fra i moduli.

Errore durante l'aggiunta di un contratto in fattura

Inserisco un contratto, poi voglio fare la fattura. Nelle righe clicco "+ Contratto" per importare la riga del contratto e inserisco Iva 22% nella riga importata. La riga che compare poi contiene nella casella IVA l'importo corretto, ma sotto c'è la dicitura 95 invece del corretto "Iva 22%".
Nella tabella delle righe manca il collegamento alla tabella co_iva, mette uno 0 invece dell'id giusto.

Problemi su fatture

Avrei rilevato anche i seguenti problemi sulle fatture:

  • Fatto ordine fornitore, poi fatta fattura da ordine, mi ha cambiato il numero di pezzi della prima riga da 2 a 1 sulla fattura (anche se mantiene il totale corretto.
  • Creata fattura di vendita con sconto 5% sul totale fattura, metodo di pagamento con 2 scadenze. Crea le 2 scadenze senza tener conto dello sconto. Il totale fattura è 3801, le scadenze sono da 2000.
  • Nella riga di sconto creata come sconto totale sulla fattura vi è la dicitura dell'IVA ma manca a database il campo id_iva nella tabella delle righe dei documenti co_righe_documenti mi pare, se c'è descrizione credo sarebbe corretto inserire anche l'id di collegamento alla tabella dell'IVA.

Gestione avanzata stampe

Creazione dei modelli di stampa su database, con possibilità di creare più stampe per modulo e raggruppate in un'unica voce di menu.

Miglioramenti minori

Elenco di miglioramenti minori consigliati/da considerare/da completare per le release future.

La lista può risultare utile per le persone che sono interessate a contribuire al progetto, per ottenere una maggiore comprensione del funzionamento generico del gestionale.

  • Introdurre i campi di Rivalsa INPS/Ritenuta d'acconto sulle anagrafiche Fornitore (#29, #305)
  • Nascondere i rincari dalle stampe (#32)
  • Aggiungere il campo per la Posta Elettronica Certificata in Anagrafiche (#40)
  • Introdurre la modifica di massa sulla tipologia di anagrafica? (#33)
  • Aggiungere le immagini degli articoli nelle liste (Preventivi, Fatture, ...)? (#32)

Piccolo problema statistiche

Ciao, ho un dubbio sul modulo statistiche: la colonna del primo grafico Fatturato non dovrebbe mostrare le fatture di vendita? Mi sembra che al momento mostri invece gli acquisti..

Osservazioni su Fatture

Ciao, ho trovato 2 cosette che non mi convincono sul modulo Fatture, allora le segnalo.
La prima è la seguente: creo una fattura di acquisto con 3 scadenze per esempio. Se pago una scadenza metterò parzialmente pagato sulla fattura. A quel punto scompaiono le scadenze, anche se non sono state tutte pagate.
La seconda è: carico un file come allegato alla fattura, poi se provo a scaricarlo non mantiene il nome originale con cui l'ho caricato, ma prende un nome casuale (del file temporaneo immagino). Nel senso che viene salvato nella cartella files con il nome temporaneo casuale (nella 2.2 salvava il nome originale).
Non so se sono 2 intended functionality o piccoli problemi, intanto le inserisco, poi al limite chiudete la issue..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.