Intégration rel232
This commit is contained in:
parent
f1bbc653d9
commit
33a3c42451
24 changed files with 211 additions and 540 deletions
|
|
@ -4,9 +4,8 @@
|
|||
|
||||
Ce document décrit l'installation complète de PhpCompta et explique
|
||||
comment ont été installés les programmes dont PhpCompta dépend. Php-
|
||||
Compta PhpCompta <http://www.alchimerys.be/FR/phpcompta>, site savan-
|
||||
nah PhpCompta Savannah <http://savannah.nongnu.org/projects/php-
|
||||
compta/>
|
||||
Compta PhpCompta <http://www.phpcompta.org>, site savannah PhpCompta
|
||||
Savannah <http://savannah.nongnu.org/projects/phpcompta/>
|
||||
______________________________________________________________________
|
||||
|
||||
Table of Contents
|
||||
|
|
@ -43,7 +42,13 @@
|
|||
peut se faire avec les "packages" standards fournis; ces "packages"
|
||||
sont largement suffisants. Les explications données ici sur
|
||||
l'installation de ces produits sont destinées à ceux préfèrant le
|
||||
faire manuellement.
|
||||
faire manuellement. En général vous pourrez l'installer assez
|
||||
facilement Installation Rapide
|
||||
<http://www.phpcompta.org/pmwiki.php/Documentation/InstallationRapide>
|
||||
Il existe aussi un manuel d'installation exhaustif pour Debian, pleins
|
||||
d'informations utiles Manuel pour Debian
|
||||
<http://www.blanchin.eu/?p=12>.
|
||||
|
||||
|
||||
|
||||
Si vous installez sous Windows, il est assez compliqué de recompiler.
|
||||
|
|
@ -57,6 +62,8 @@
|
|||
|
||||
[1m2. Postgresql (version 8.0.1 minimum)[0m
|
||||
|
||||
|
||||
|
||||
[1m2.1. Installation[0m
|
||||
|
||||
Soit avec des binaires préparés, soit à partir du code source
|
||||
|
|
@ -64,6 +71,7 @@
|
|||
Le plus simple est d'utiliser les binaires de votre distribution, ne
|
||||
compiler ces programmes que si vraiment vous devez le faire ou que
|
||||
vous préfèrez avoir la dernière version disponible.
|
||||
|
||||
Si vous décidez de le compiler vous-même, les options suivantes
|
||||
fonctionnent
|
||||
|
||||
|
|
@ -98,8 +106,7 @@
|
|||
ne pas oublier d'ajouter dans le PATH, l'endroit où se trouve les
|
||||
binaires de postgres
|
||||
|
||||
ex:
|
||||
export PATH=$PATH:/opt/psql732/bin
|
||||
export PATH=$PATH:/opt/psql/bin
|
||||
|
||||
|
||||
|
||||
|
|
@ -120,6 +127,8 @@
|
|||
le cas où vous utilisez un VirtualHost avec une adresse IP, c'est
|
||||
cette adresse qu'il vous faudra mettre
|
||||
|
||||
|
||||
|
||||
[1m2.3. Optimisation[0m
|
||||
|
||||
Posgresql est une base de données très rapide, cependant, il vous
|
||||
|
|
@ -180,6 +189,8 @@
|
|||
Si vous décidez de le compiler vous-même, les options suivantes
|
||||
fonctionnent
|
||||
|
||||
|
||||
|
||||
./configure --prefix=/opt/http2/ \
|
||||
--enable-ssl \
|
||||
--enable-http \
|
||||
|
|
@ -200,30 +211,26 @@
|
|||
|
||||
|
||||
Et si vous décidez d'avoir la même configuration que moi, mais ce
|
||||
n'est pas obligatoire
|
||||
n'est pas obligatoire Il est possible d'utiliser les virtuals hosts
|
||||
ainsi
|
||||
|
||||
< VirtualHost 172.16.30.150 >
|
||||
ServerName site
|
||||
ErrorLog phpcompta-error.log
|
||||
TransferLog phpcompta-debug.log
|
||||
DocumentRoot /home/httpd/compta/html
|
||||
</VirtualHost >
|
||||
|
||||
|
||||
|
||||
Note certains ont fait ceci pour configurer Apache
|
||||
|
||||
<VirtualHost localhost>
|
||||
ServerAdmin webmaster@dummy-host.example.com
|
||||
DocumentRoot /www/phpcompta/html/
|
||||
ServerName phpcompta
|
||||
php_flag session.auto_start 1
|
||||
php_flag magic_quotes_gpc 0
|
||||
php_flag session.use_trans_sid 1
|
||||
php_value include_path ".:../include:../addon"
|
||||
<VirtualHost *>
|
||||
Servername ...
|
||||
DocumentRoot /var/www/acapulco/htdocs
|
||||
<Directory /var/www/acapulco/htdocs/phpcompta/html/>
|
||||
AddDefaultCharset iso-8859-1
|
||||
php_value include_path .:../../include:../include:addon
|
||||
php_flag magic_quotes_gpc off
|
||||
php_flag session.auto_start on
|
||||
php_value session.save_path /tmp
|
||||
php_value max_execution_time 120
|
||||
php_flag short_open_tag on
|
||||
php_flag session.use_trans_sid on
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
|
||||
|
||||
|
||||
Actuellement, le répertoire html, contient un fichier .htaccess qui
|
||||
contient le nécessaire pour que les variables php soient correctes
|
||||
(voir ``configuration de .htaccess'').
|
||||
|
|
@ -242,13 +249,14 @@
|
|||
vous-même, les options suivantes fonctionnent
|
||||
|
||||
|
||||
./configure --prefix=/opt/php431 \
|
||||
--with-apxs2=/opt/http2/bin/apxs \
|
||||
--with-fastcgi \
|
||||
--with-zlib \
|
||||
--with-pgsql=/usr/local/psql \
|
||||
--with-mysql \
|
||||
--with-apache2=/software/httpd-2.0.44
|
||||
|
||||
./configure --prefix=/opt/php431 \
|
||||
--with-apxs2=/opt/http2/bin/apxs \
|
||||
--with-fastcgi \
|
||||
--with-zlib \
|
||||
--with-pgsql=/usr/local/psql \
|
||||
--with-mysql \
|
||||
--with-apache2=/software/httpd-2.0.44
|
||||
|
||||
|
||||
|
||||
|
|
@ -320,7 +328,6 @@
|
|||
|
||||
Etape
|
||||
|
||||
|
||||
· Se connecter en tant que postgres et taper les commandes
|
||||
|
||||
|
||||
|
|
|
|||
112
doc/FAQ-fr.txt
112
doc/FAQ-fr.txt
|
|
@ -22,22 +22,20 @@
|
|||
8. J'ai trouvé un tit bug, comment faire un patchs ??
|
||||
9. Comment faire de la doc
|
||||
10. Comment contribuer ?
|
||||
11. recevoir des erreurs de création
|
||||
12. Erreur objet n'existe pas
|
||||
13. Comment appliquer un patch ?
|
||||
13.1 Quel patch utiliser ?
|
||||
13.2 Comment appliquer le patch
|
||||
11. Comment appliquer un patch ?
|
||||
11.1 Quel patch utiliser ?
|
||||
11.2 Comment appliquer le patch
|
||||
|
||||
14. Les entêtes de facture
|
||||
15. Problèmes fréquents
|
||||
15.1 Impossible de se logguer
|
||||
15.2 J'ai le message d'erreur 'cannot find file ....'
|
||||
12. Les entêtes de facture
|
||||
13. Problèmes fréquents
|
||||
13.1 Impossible de se logguer
|
||||
13.2 J'ai le message d'erreur 'cannot find file ....'
|
||||
|
||||
16. Je reçois une erreur postgresql à propos d'une table log qui n'existe pas
|
||||
17. Après avoir installé la version 1.1.0, les périodes centralisées ne le sont plus
|
||||
18. J'ai toujours des timeouts
|
||||
19. Mais où sont les rapports prédéfini
|
||||
20. Developpeur
|
||||
14. Je reçois une erreur postgresql à propos d'une table log qui n'existe pas
|
||||
15. Après avoir installé la version 1.1.0, les périodes centralisées ne le sont plus
|
||||
16. J'ai toujours des timeouts
|
||||
17. Mais où sont les rapports prédéfini
|
||||
18. Developpeur
|
||||
|
||||
|
||||
______________________________________________________________________
|
||||
|
|
@ -64,6 +62,7 @@
|
|||
- webcompta
|
||||
|
||||
|
||||
|
||||
En fait c'est phpcompta, bien qu'au départ c'était wcompta,
|
||||
contraction de WebCompta mais malheureusement, c'est le nom d'un soft
|
||||
qui existait déjà, j'ai été obligé de changer vers phpcompta.
|
||||
|
|
@ -93,10 +92,9 @@
|
|||
|
||||
[1m4. Ou trouvez les patches[0m
|
||||
|
||||
Sur la page d'origine, malheureusement, il n'est pas encore possible
|
||||
de téléchargez des fichiers sur Savannah
|
||||
|
||||
On peut y arriver à partir de la page de savannah (Homepage)
|
||||
Sur Site phpcompta <http://www.phpcompta.org/> la page d'origine,
|
||||
malheureusement, il n'est pas encore possible de télécharger des
|
||||
fichiers sur Savannah
|
||||
|
||||
[1m5. Comment adapter le fichier php.ini[0m
|
||||
|
||||
|
|
@ -107,10 +105,12 @@
|
|||
variable register_globale = off dans le php.ini
|
||||
|
||||
|
||||
php.ini doit contenir pour phpcompta
|
||||
php.ini doit contenir pour phpcompta, cependant il n'est pas certain
|
||||
qu'il faille changer ces paramètres, vous devez aller sur
|
||||
admin/setup.php pour voir ce qui doit être fait
|
||||
|
||||
[PHP]
|
||||
include_path=".:../include:addon"
|
||||
include_path=".:../include:../../include:addon"
|
||||
[Session]
|
||||
session.name = PHPSESSID
|
||||
; name of the session
|
||||
|
|
@ -129,7 +129,6 @@
|
|||
|
||||
phpcompta
|
||||
|
||||
|
||||
[1m7. Quel est l'utilisateur et le mot de passe par défaut?[0m
|
||||
|
||||
l'utilisateur et le mot de passe par défaut sont phpcompta/phpcompta,
|
||||
|
|
@ -209,45 +208,10 @@
|
|||
|
||||
Cela m'évite de devoir chaque fois changer sur le site de phpcompta
|
||||
|
||||
[1m11. recevoir des erreurs de création[0m
|
||||
[1m11. Comment appliquer un patch ?[0m
|
||||
|
||||
|
||||
|
||||
ERROR: column "jrn_deb_max_line" is of type 'integer' but expression is
|
||||
of type 'boolean' You will need to rewrite or cast the expression
|
||||
ERROR: column "jrn_deb_max_line" is of type 'integer' but expression is
|
||||
of type 'boolean' You will need to rewrite or cast the expression
|
||||
ERROR: column "jrn_deb_max_line" is of type 'integer' but expression is
|
||||
of type 'boolean' You will need to rewrite or cast the expression
|
||||
ERROR: column "jrn_deb_max_line" is of type 'integer' but expression is
|
||||
of type 'boolean' You will need to rewrite or cast the expression
|
||||
|
||||
|
||||
|
||||
Vous avez utilisé une version instable ! Cela a été corrigé reprenez
|
||||
les fichiers du CVS
|
||||
|
||||
[1m12. Erreur objet n'existe pas[0m
|
||||
|
||||
|
||||
|
||||
ERROR: sequence "s_isup" does not exist
|
||||
ERROR: sequence "s_fdef" does not exist
|
||||
ERROR: sequence "s_idef" does not exist
|
||||
ERROR: table "isupp" does not exist
|
||||
ERROR: table "fiche" does not exist
|
||||
ERROR: table "isupp_def" does not exist
|
||||
ERROR: table "fichedef" does not exist
|
||||
|
||||
|
||||
|
||||
Du à une commande drop sur un objet inexistant, n'y pretez pas atten-
|
||||
tion
|
||||
|
||||
[1m13. Comment appliquer un patch ?[0m
|
||||
|
||||
|
||||
[1m13.1. Quel patch utiliser ?[0m
|
||||
[1m11.1. Quel patch utiliser ?[0m
|
||||
|
||||
Dans certains cas, le dernier patch ne reprend PAS les autres, il
|
||||
faudra lire la release note du patch pour savoir ce qu'il faut
|
||||
|
|
@ -260,7 +224,7 @@
|
|||
exemple path-r092-1.tgz, est le premier patch pour la release 0.9.2
|
||||
|
||||
|
||||
[1m13.2. Comment appliquer le patch[0m
|
||||
[1m11.2. Comment appliquer le patch[0m
|
||||
|
||||
Après l'avoir téléchargé, allez dans le répertoire de PhpCompta,
|
||||
c'est-à-dire celui qui contient les sources
|
||||
|
|
@ -271,33 +235,33 @@
|
|||
|
||||
|
||||
|
||||
[1m14. Les entêtes de facture[0m
|
||||
[1m12. Les entêtes de facture[0m
|
||||
|
||||
Pourquoi les coordonnées de la société faisant la facture
|
||||
n'apparraissent-ils pas ?
|
||||
|
||||
Simplement parce que je n'ai pas eu le temps de le coder, pour
|
||||
l'instant, vous devrez uniquement utiliser des factures préimprimées
|
||||
Parce que vous n'avez pas rempli les coordonnées de votre société dans
|
||||
les paramètres ou parce que votre modèle n'en contenait pas.
|
||||
|
||||
|
||||
[1m15. Problèmes fréquents[0m
|
||||
[1m13. Problèmes fréquents[0m
|
||||
|
||||
[1m15.1. Impossible de se logguer[0m
|
||||
[1m13.1. Impossible de se logguer[0m
|
||||
|
||||
Il faut contrôler le fichier log d'Apache
|
||||
|
||||
|
||||
[1m15.2. J'ai le message d'erreur 'cannot find file ....'[0m
|
||||
[1m13.2. J'ai le message d'erreur 'cannot find file ....'[0m
|
||||
|
||||
Dans votre php.ini, n'oubliez pas de mettre correctement le
|
||||
include_patch voir php-setting ``Php''
|
||||
|
||||
|
||||
|
||||
[1m16. Je reçois une erreur postgresql à propos d'une table log qui[0m
|
||||
[1m14. Je reçois une erreur postgresql à propos d'une table log qui[0m
|
||||
[1mn'existe pas[0m
|
||||
|
||||
C'est normal, les sortie de déboggages sont envoyées dans une base de
|
||||
C'est normal, les sortie de déboggage sont envoyées dans une base de
|
||||
données, ce qui facilite la recherche, le tri,...
|
||||
|
||||
|
||||
|
|
@ -313,7 +277,7 @@
|
|||
|
||||
|
||||
|
||||
[1m17. Après avoir installé la version 1.1.0, les périodes centralisées[0m
|
||||
[1m15. Après avoir installé la version 1.1.0, les périodes centralisées[0m
|
||||
[1mne le sont plus[0m
|
||||
|
||||
Oui, c'est tout-à-fait normal, la période 1.1.0 introduit plusieurs
|
||||
|
|
@ -324,14 +288,16 @@
|
|||
C'est à cause de cela, qu'il faut re-centraliser.
|
||||
|
||||
|
||||
|
||||
[1m18. J'ai toujours des timeouts[0m
|
||||
[1m16. J'ai toujours des timeouts[0m
|
||||
|
||||
Soit vous augmentez le timeout de votre server http soit vous mettez
|
||||
l'option fsync=N dans le fichier de configuration de PostgreSql.
|
||||
l'option fsync=N dans le fichier de configuration de PostgreSql ou
|
||||
encore changer dans votre php.ini le paramètre max_execution_time soit
|
||||
dans le fichier .htaccess, soit dans le fichier php.ini soit dans la
|
||||
définition de votre virtual host dans la configuration d'apache.
|
||||
|
||||
|
||||
[1m19. Mais où sont les rapports prédéfini[0m
|
||||
[1m17. Mais où sont les rapports prédéfini[0m
|
||||
|
||||
Parce que les rapports peuvent toujours être facilement adaptés, ils
|
||||
sont inclus dans le produit mais pas installé. Pour les trouver, allez
|
||||
|
|
@ -340,7 +306,7 @@
|
|||
l'outil PhpPgAdmin.
|
||||
|
||||
|
||||
[1m20. Developpeur[0m
|
||||
[1m18. Developpeur[0m
|
||||
|
||||
Les développeurs trouveront toutes la documentation dans
|
||||
doc/developper. Pour la base de données, j'utilise postgresql_autodoc
|
||||
|
|
|
|||
|
|
@ -540,7 +540,7 @@ il est n
|
|||
|
||||
|
||||
<sect>Sécurité
|
||||
<sect1> Remarques
|
||||
<sect1> Introduction
|
||||
<p>
|
||||
PhpCompta a sa propre sécurité, cependant si vous voulez vraiment
|
||||
sécuriser votre comptabilité, vous devez prendre en compte qu'il ne
|
||||
|
|
@ -642,6 +642,38 @@ pourra
|
|||
Le sens d'écrire dans ce contexte-ci doit se comprendre
|
||||
comme la capacité à pouvoir ajouter ou modifier des informations.
|
||||
|
||||
<p>Dans chaque dossier, vous devez donner les droits des
|
||||
utilisateurs. Il y a les journaux et les actions. Les journaux sont
|
||||
les journaux auquels vous avez ou non accès.
|
||||
|
||||
<p>
|
||||
Les actions
|
||||
<itemize>
|
||||
<item> Accès au Grand Livre : vous permet d'accèder au GrandLivre et
|
||||
donc de voir toutes les opérations.
|
||||
<item> Impression : accès aux impressions
|
||||
<item> Formulaire : menu avancé, vous permet de créer vos propres
|
||||
formulaires
|
||||
<item> Mise à jour Plan Comptable
|
||||
<item> Gestion Journaux : dans le menu avancé, configuration des journaux
|
||||
<item> Paramètres : gestion des taux TVA, paramètre société, ...
|
||||
<item> Centralise
|
||||
<item> Fiche Read : pour rechercher une fiche
|
||||
<item> Voir le stock
|
||||
<item> Modifie le stock: permet de modifier manuellement le stock,
|
||||
celui-ci sera de toute façon modifié par les actions d'achat et de vente.
|
||||
<item> Fiche ajout : pour pouvoir ajouter une fiche
|
||||
<item> Voir la balance des comptes : pour voir la balance des comptes,
|
||||
nécessaire d'avoir aussi l'accès Impression
|
||||
<item> Import et export des écritures d'ouverture
|
||||
<item> Module Suivi Document : module gestion
|
||||
<item> Module Client : module gestion
|
||||
<item> Module Fournisseur : module gestion
|
||||
<item> Module Administration : module gestion
|
||||
<item> Module Gestion: module gestion
|
||||
</itemize>
|
||||
|
||||
|
||||
</sect1>
|
||||
</sect>
|
||||
<sect> Gestion de stock
|
||||
|
|
|
|||
|
|
@ -56,8 +56,6 @@ h2.error {
|
|||
* used and immediately delete after an upgrade.
|
||||
* This file is included in each release for a new upgrade
|
||||
*
|
||||
* \todo remove the rebuild of mod2 (drop / create) for the next version
|
||||
* the mod2 from the version < 2.0 are full of bugs
|
||||
*/
|
||||
$inc_path=get_include_path();
|
||||
if ( strpos($inc_path,";") != 0 ) {
|
||||
|
|
@ -342,7 +340,19 @@ if ($account == 0 ) {
|
|||
ExecuteScript($cn,'sql/mod1/schema.sql');
|
||||
ExecuteScript($cn,'sql/mod1/data.sql');
|
||||
Commit($cn);
|
||||
if ( DEBUG=='false') ob_end_clean();
|
||||
|
||||
echo "Creation of Modele2";
|
||||
ExecSql($cn,"create database ".domaine."mod2 encoding='latin1'");
|
||||
$cn=DbConnect(2,'mod');
|
||||
StartSql($cn);
|
||||
if ( DEBUG=='false') { ob_start(); }
|
||||
ExecuteScript($cn,'sql/mod2/schema.sql');
|
||||
ExecuteScript($cn,'sql/mod2/data.sql');
|
||||
Commit($cn);
|
||||
|
||||
if ( DEBUG=='false') ob_end_clean();
|
||||
|
||||
}// end if
|
||||
// Add a french accountancy model
|
||||
//--
|
||||
|
|
@ -358,19 +368,6 @@ $cn=DbConnect();
|
|||
// ExecSql($cn,"delete from modeledef where mod_id=2");
|
||||
// }
|
||||
//----------------------------------------------------------------------
|
||||
$Res=CountSql($cn,"select * from modeledef where mod_id=2");
|
||||
if ( $Res == 0) {
|
||||
echo "Creation of Modele2";
|
||||
ExecSql($cn,"create database ".domaine."mod2 encoding='latin1'");
|
||||
$cn=DbConnect(2,'mod');
|
||||
if ( DEBUG=='false') { ob_start(); }
|
||||
ExecuteScript($cn,'sql/mod2/schema.sql');
|
||||
ExecuteScript($cn,'sql/mod2/data.sql');
|
||||
$sql="INSERT INTO modeledef VALUES (2, '(FR) Basique', 'Comptabilité Française, tout doit être adaptée');";
|
||||
$cn=DbConnect();
|
||||
ExecSql($cn,$sql);
|
||||
if ( DEBUG=='false') ob_end_clean();
|
||||
}
|
||||
//
|
||||
// Test the connection
|
||||
//--
|
||||
|
|
@ -506,6 +503,9 @@ if ( DEBUG=='false' ) ob_start();
|
|||
if ( GetVersion($db) == 27 ) {
|
||||
ExecuteScript($db,'sql/patch/upgrade27.sql');
|
||||
} // version
|
||||
if ( GetVersion($db) == 28 ) {
|
||||
ExecuteScript($db,'sql/patch/upgrade28.sql');
|
||||
} // version
|
||||
|
||||
if ( DEBUG == 'false') ob_end_clean();
|
||||
}//for
|
||||
|
|
@ -625,6 +625,9 @@ if (DEBUG == 'false' ) ob_start();
|
|||
if ( GetVersion($db) == 27 ) {
|
||||
ExecuteScript($db,'sql/patch/upgrade27.sql');
|
||||
} // version
|
||||
if ( GetVersion($db) == 28 ) {
|
||||
ExecuteScript($db,'sql/patch/upgrade28.sql');
|
||||
} // version
|
||||
|
||||
if ( DEBUG == 'false') ob_end_clean();
|
||||
}
|
||||
|
|
|
|||
10
html/admin/sql/patch/upgrade28.sql
Normal file
10
html/admin/sql/patch/upgrade28.sql
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
begin;
|
||||
delete from user_sec_act where ua_act_id in (2,9,19,18);
|
||||
delete from action where ac_id=2;
|
||||
delete from action where ac_id=9;
|
||||
delete from action where ac_id=19;
|
||||
delete from action where ac_id=18;
|
||||
update action set ac_description='Lecture du Grand-Livre' where ac_id=1;
|
||||
|
||||
update version set val=29;
|
||||
commit;
|
||||
|
|
@ -166,6 +166,12 @@ if ( $p_action == 'bank')
|
|||
// Impression
|
||||
if ( $p_action == 'impress')
|
||||
{
|
||||
if ( $User->CheckAction($cn,IMP) == 0)
|
||||
{
|
||||
NoAccess();
|
||||
exit;
|
||||
}
|
||||
|
||||
require_once("impress.inc.php");
|
||||
}
|
||||
if ( $p_action == 'fiche') {
|
||||
|
|
|
|||
|
|
@ -50,6 +50,12 @@ $action=$_REQUEST['p_action'];
|
|||
|
||||
// call impress sub-menu
|
||||
if ( $action == 'impress' ) {
|
||||
if ( $User->CheckAction($cn,IMP) == 0)
|
||||
{
|
||||
NoAccess();
|
||||
exit;
|
||||
}
|
||||
|
||||
require_once('impress.inc.php');
|
||||
}
|
||||
if ( $action == 'fiche') {
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ BODY {
|
|||
<script src="js/scripts.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<BODY onLoad="SetFocus(\'login\',0)">
|
||||
Version 2.3.1
|
||||
Version 2.3.2
|
||||
<div class="remark">
|
||||
<p class="gras">Il est conseillé de ne PAS utiliser Internet Explorer.
|
||||
</p><p>
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ if ( isset($_GET['filter'])) {
|
|||
// have to find what account are available
|
||||
$SqlCred="";
|
||||
// Load the property
|
||||
$l_line=GetJrnProperty($cn,$_GET['p_jrn']);
|
||||
$l_line=GetJrnProp($cn,$_GET['p_jrn']);
|
||||
if ( strlen(trim ($l_line['jrn_def_class_cred']) ) > 0 ) {
|
||||
$valid_cred=split(" ",$l_line['jrn_def_class_cred']);
|
||||
|
||||
|
|
|
|||
|
|
@ -54,13 +54,13 @@ echo '</div>';
|
|||
|
||||
if ( $User->admin == 0 ) {
|
||||
// check if user can access
|
||||
if (CheckAction($_SESSION['g_dossier'],$_SESSION['g_user'],ENCJRN) == 0 ){
|
||||
// Acces Grand livre
|
||||
if ($p_jrn == -1 && CheckAction($_SESSION['g_dossier'],$_SESSION['g_user'],ENCJRN) == 0 ){
|
||||
/* Cannot Access */
|
||||
NoAccess();
|
||||
}
|
||||
// if a jrn is asked
|
||||
if ( $p_jrn != -1 ) {
|
||||
if (CheckJrn($_SESSION['g_dossier'],$_SESSION['g_user'],$p_jrn) == 0 ){
|
||||
if ( $p_jrn != -1 && CheckJrn($_SESSION['g_dossier'],$_SESSION['g_user'],$p_jrn) == 0 ){
|
||||
/* Cannot Access */
|
||||
NoAccess();
|
||||
exit -1;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ include_once ("user_menu.php");
|
|||
|
||||
$cn_dossier=DbConnect($_SESSION['g_dossier']);
|
||||
|
||||
if ( $User->CheckAction($cn_dossier,SECU) == 0 ) {
|
||||
if ( $User->CheckAction($cn_dossier,GJRN) == 0 ) {
|
||||
/* Cannot Access */
|
||||
NoAccess();
|
||||
exit -1;
|
||||
|
|
@ -92,7 +92,7 @@ foreach ($_GET as $name=>$value)
|
|||
if ( $action == "change_jrn" ) {
|
||||
// Check if the user can access that folder
|
||||
if ( CheckDossier($_GET['login'],$_SESSION['g_dossier']) == 0 ) {
|
||||
echo "<H2 class=\"error\">he cannot access this folder</H2>";
|
||||
echo "<H2 class=\"error\">Cet utilisateur ne peut pas accéder ce dossier</H2>";
|
||||
$action="";
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ if ( isset ($_POST['delete']) )
|
|||
// Add card
|
||||
if ( $sub_action=="insert" )
|
||||
{
|
||||
$retour=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
urldecode($_REQUEST['url']));
|
||||
|
||||
$admin=new Admin($cn);
|
||||
|
|
@ -73,7 +73,7 @@ if ( $sub_action == "" )
|
|||
//Display a blank card
|
||||
if ( $sub_action=="blank")
|
||||
{
|
||||
$retour=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
"commercial.php?p_action=admin");
|
||||
echo '<div class="u_redcontent">';
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ if ( $sub_action == 'detail' )
|
|||
$f_id=$_REQUEST['f_id'];
|
||||
echo '<div class="u_redcontent">';
|
||||
$sup=new Admin($cn,$f_id);
|
||||
$retour=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
urldecode($_REQUEST['url']));
|
||||
echo $retour;
|
||||
echo '<form action="'.$_REQUEST['url'].'" method="post">';
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ if ( isset ($_POST['delete']) )
|
|||
if ( $sub_action=="insert" )
|
||||
{
|
||||
|
||||
$retour=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
urldecode($_REQUEST['url']));
|
||||
|
||||
$customer=new Customer($cn);
|
||||
|
|
@ -77,7 +77,7 @@ if ( $sub_action == "" )
|
|||
if ( $sub_action=="blank")
|
||||
{
|
||||
|
||||
$retour=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
"commercial.php?p_action=client");
|
||||
echo '<div class="u_redcontent">';
|
||||
|
||||
|
|
@ -145,7 +145,7 @@ if ( $sub_action == 'detail' )
|
|||
$f_id=$_REQUEST['f_id'];
|
||||
echo '<div class="u_redcontent">';
|
||||
$client=new Customer($cn,$f_id);
|
||||
$retour=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
urldecode($_REQUEST['url']));
|
||||
echo $retour;
|
||||
echo '<form action="'.$_REQUEST['url'].'" method="post">';
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ define ("DEBUG","false");
|
|||
// access aux journaux
|
||||
define ("ENCJRN",1);
|
||||
// création facture
|
||||
define("FACT",2);
|
||||
// define("FACT",2);
|
||||
// lecture aux fiche
|
||||
define ("FICHE_READ",3);
|
||||
// Impression
|
||||
|
|
@ -48,12 +48,6 @@ define ("MPCMN",6);
|
|||
define ("GJRN",7);
|
||||
// Gestion des paramètres globaux
|
||||
define ("PARM",8);
|
||||
// Gestion de la sécurité
|
||||
define ("SECU",9);
|
||||
// gestion devise
|
||||
define ("DEVISE",18);
|
||||
// gestion Période
|
||||
define ("PERIODE",19);
|
||||
// Voir la balance des compte
|
||||
define ("BALANCE",20);
|
||||
// Access à la centralisation
|
||||
|
|
@ -70,8 +64,8 @@ define("ADMIN",26); // Module Administration
|
|||
define("SEC_GESTION",30); // Module Gestion
|
||||
|
||||
define ("FICHE_WRITE",15);
|
||||
define ("STOCK_WRITE",16);
|
||||
define ("STOCK_READ",17);
|
||||
define ("STOCK_WRITE",17);
|
||||
define ("STOCK_READ",16);
|
||||
define ("EXP_IMP_ECR",21);
|
||||
define ("IMP_BQE",22);
|
||||
// Erreur
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ if ( $sub_action == "" )
|
|||
//Display a blank card
|
||||
if ( $sub_action=="blank")
|
||||
{
|
||||
$retour_action=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour_action=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
"commercial.php?p_action=contact");
|
||||
echo '<div class="u_redcontent">';
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
/*! \file
|
||||
* \brief Main page for the printing
|
||||
*/
|
||||
require_once("check_priv.php");
|
||||
|
||||
// show sub menu
|
||||
|
||||
|
|
|
|||
378
include/jrn.php
378
include/jrn.php
|
|
@ -22,246 +22,6 @@
|
|||
* \brief work with the ledger
|
||||
*/
|
||||
require_once('class_fiche.php');
|
||||
/*!
|
||||
* \brief Record an entry in the selected journal
|
||||
*
|
||||
* \param p_dossier dossier id
|
||||
* \param p_user user id
|
||||
* \param p_jrn selected journal
|
||||
*
|
||||
* \return none
|
||||
*
|
||||
*
|
||||
*/
|
||||
function RecordJrn($p_dossier,$p_user,$p_jrn,$p_MaxDeb,$p_MaxCred,$p_array = null,$p_update=0)
|
||||
{
|
||||
include_once("postgres.php");
|
||||
include_once("preference.php");
|
||||
|
||||
echo_debug('jrn.php',__LINE__,"RecordJrn($p_dossier,$p_user,$p_jrn,$p_MaxDeb,$p_MaxCred,$p_array,$p_update)");
|
||||
for ( $i = 0; $i < $p_MaxDeb; $i++) {
|
||||
${"e_class_deb$i"}=0;
|
||||
${"e_mont_deb$i"}=0;
|
||||
}
|
||||
for ( $i = 0; $i < $p_MaxCred; $i++) {
|
||||
${"e_class_cred$i"}=0;
|
||||
${"e_mont_cred$i"}=0;
|
||||
}
|
||||
$cn=DbConnect($p_dossier);
|
||||
// userPref contient la periode par default
|
||||
$userPref=GetUserPeriode($cn,$p_user);
|
||||
list ($l_date_start,$l_date_end)=GetPeriode($cn,$userPref);
|
||||
$e_op_rem=substr($l_date_start,2,8);
|
||||
|
||||
if ( $p_array == null ) {
|
||||
$e_op_date="01";
|
||||
$e_comment="";
|
||||
$e_rapt="";
|
||||
$e_ech="";
|
||||
$e_sum_deb=0;
|
||||
$e_sum_cred=0;
|
||||
} else {
|
||||
foreach ( $p_array as $n=>$e) {
|
||||
${"e_$n"}= $e;
|
||||
}
|
||||
}
|
||||
/* Get Jrn's properties */
|
||||
$l_line=GetJrnProperty($cn,$p_jrn);
|
||||
if ( $l_line == null ) return;
|
||||
echo '<DIV class="redcontent">';
|
||||
echo '<FORM NAME="encoding" ACTION="enc_jrn.php" METHOD="POST">';
|
||||
|
||||
printf ('<H2 class="info"> %s %s </H2>',$l_line['jrn_def_name'],$l_line['jrn_def_code']);
|
||||
|
||||
echo "<INPUT TYPE=HIDDEN NAME=\"MaxDeb\" VALUE=\"$p_MaxDeb\">";
|
||||
echo "<INPUT TYPE=HIDDEN NAME=\"MaxCred\" VALUE=\"$p_MaxCred\">";
|
||||
echo 'Date : <INPUT TYPE="TEXT" NAME="op_date" VALUE="'.
|
||||
$e_op_date.'" SIZE="4">'.
|
||||
$e_op_rem;
|
||||
|
||||
// Comment
|
||||
echo '<br><SPAN>Comment = <INPUT TYPE="TEXT" SIZE="70" NAME="comment" VALUE="'.$e_comment.'"></span>';
|
||||
|
||||
// Chargement comptes disponibles
|
||||
if ( strlen(trim ($l_line['jrn_def_class_deb']) ) > 0 ) {
|
||||
$valid_deb=split(" ",$l_line['jrn_def_class_deb']);
|
||||
|
||||
// Creation query
|
||||
$SqlDeb="select pcm_val,pcm_lib from tmp_pcmn where ";
|
||||
foreach ( $valid_deb as $item_deb) {
|
||||
if ( strlen (trim($item_deb))) {
|
||||
echo_debug('jrn.php',__LINE__,"l_line[jrn_def_class_deb] $l_line[jrn_def_class_deb] item_deb $item_deb");
|
||||
if ( strstr($item_deb,"*") == true ) {
|
||||
$item_deb=strtr($item_deb,"*","%");
|
||||
$Sql=" pcm_val like '$item_deb' or";
|
||||
} else {
|
||||
$Sql=" pcm_val = '$item_deb' or";
|
||||
}
|
||||
$SqlDeb=$SqlDeb.$Sql;
|
||||
}
|
||||
}
|
||||
$SqlDeb = substr($SqlDeb,0,strlen($SqlDeb)-2)." order by pcm_val::text";
|
||||
} else
|
||||
{
|
||||
$SqlDeb="select pcm_val,pcm_lib from tmp_pcmn order by pcm_val::text";
|
||||
}
|
||||
echo_debug('jrn.php',__LINE__,"SqlDeb $SqlDeb");
|
||||
$Res=ExecSql($cn,$SqlDeb);
|
||||
$Count=pg_NumRows($Res);
|
||||
|
||||
for ( $i=0;$i<$Count;$i++) {
|
||||
$l2_line=pg_fetch_array($Res,$i);
|
||||
$lib=substr($l2_line['pcm_lib'],0,35);
|
||||
$poste [$l2_line['pcm_val']]= $lib;
|
||||
}
|
||||
|
||||
echo "<TABLE>";
|
||||
echo '<TR><TD><H2 class="info"> débit </H2></TD></TR>';
|
||||
for ( $i=0;$i < $p_MaxDeb;$i++) {
|
||||
echo "<tr>";
|
||||
echo "<TD>";
|
||||
printf ('<SELECT NAME="class_deb%d">',$i);
|
||||
foreach ( $poste as $key => $value){
|
||||
$selected="";
|
||||
if ( ${"e_class_deb$i"} == $key ) $selected="SELECTED";
|
||||
$a=sprintf('<OPTION VALUE="%s" %s >%s - % .40s',
|
||||
$key,
|
||||
$selected,
|
||||
$key,
|
||||
$value);
|
||||
echo $a;
|
||||
}
|
||||
echo "</SELECT>";
|
||||
printf ('</TD>');
|
||||
|
||||
printf('<TD> Montant :<INPUT TYPE="TEXT" id="mont_deb%d" NAME="mont_deb%d" VALUE="%s" onChange="CheckTotal()"></TD>',
|
||||
$i,$i,${"e_mont_deb$i"},$i);
|
||||
echo "</tr>";
|
||||
|
||||
}
|
||||
// Total debit
|
||||
echo '<TR><TD>';
|
||||
echo 'Total ';
|
||||
echo '</TD><TD>';
|
||||
echo '<input type="TEXT" NAME="sum_deb" VALUE="'.$e_sum_deb.'" onChange="CheckTotal()">';
|
||||
echo '</TD></TR>';
|
||||
if ( $p_update == 0 ) echo "<TR><TD> <INPUT TYPE=\"SUBMIT\" VALUE=\"+ de line\" NAME=\"add_line_deb\"></TD></TR>";
|
||||
|
||||
|
||||
|
||||
|
||||
echo '<TR><TD><H2 class="info"> crédit </H2> </TD></TR>';
|
||||
// Chargement comptes disponibles
|
||||
if ( strlen(trim ($l_line['jrn_def_class_cred']) ) > 0 ) {
|
||||
$valid_cred=split(" ",$l_line['jrn_def_class_cred']);
|
||||
|
||||
// Creation query
|
||||
$SqlCred="select pcm_val,pcm_lib from tmp_pcmn where ";
|
||||
foreach ( $valid_cred as $item_cred) {
|
||||
if ( strlen (trim($item_cred))) {
|
||||
echo_debug('jrn.php',__LINE__,"l_line[jrn_def_class_cred] $l_line[jrn_def_class_cred] item_cred $item_cred");
|
||||
if ( strstr($item_cred,"*") == true ) {
|
||||
$item_cred=strtr($item_cred,"*","%");
|
||||
$Sql=" pcm_val like '$item_cred' or";
|
||||
} else {
|
||||
$Sql=" pcm_val = '$item_cred' or";
|
||||
}
|
||||
$SqlCred=$SqlCred.$Sql;
|
||||
}
|
||||
}
|
||||
$SqlCred = substr($SqlCred,0,strlen($SqlCred)-2)." order by pcm_val::text" ;
|
||||
} else
|
||||
{
|
||||
$SqlCred="select pcm_val,pcm_lib from tmp_pcmn order by pcm_val::text";
|
||||
}
|
||||
echo_debug('jrn.php',__LINE__,"SqlCred $SqlCred");
|
||||
$Res=ExecSql($cn,$SqlCred);
|
||||
$Count=pg_NumRows($Res);
|
||||
|
||||
|
||||
for ( $i=0;$i<$Count;$i++) {
|
||||
$l2_line=pg_fetch_array($Res,$i);
|
||||
$lib=substr($l2_line['pcm_lib'],0,35);
|
||||
$poste_c[$l2_line['pcm_val']]=$lib;
|
||||
}
|
||||
for ( $i=0;$i < $p_MaxCred;$i++) {
|
||||
echo "<tr>";
|
||||
echo "<TD>";
|
||||
printf ('<SELECT NAME="class_cred%d">',$i);
|
||||
foreach ( $poste_c as $key => $value){
|
||||
$selected="";
|
||||
if ( ${"e_class_cred$i"} == $key ) $selected="SELECTED";
|
||||
$a=sprintf('<OPTION VALUE="%s" %s >%s - % .40s',
|
||||
$key,
|
||||
$selected,
|
||||
$key,
|
||||
$value);
|
||||
echo $a;
|
||||
}
|
||||
|
||||
echo "</SELECT>";
|
||||
echo "</TD>";
|
||||
|
||||
printf ('<TD> Montant :<INPUT TYPE="TEXT" id="mont_cred%d" NAME="mont_cred%d" VALUE="%s" onChange="CheckTotal()"></TD>',
|
||||
$i,$i,${"e_mont_cred$i"});
|
||||
echo "</tr>";
|
||||
|
||||
}
|
||||
// Total Credit
|
||||
echo '<TR><TD>';
|
||||
echo 'Total';
|
||||
echo '</TD><TD>';
|
||||
echo '<input type="TEXT" NAME="sum_cred" VALUE="'.$e_sum_cred.'" onChange="CheckTotal()">';
|
||||
echo '</TD></TR>';
|
||||
echo "<TR><TD> <INPUT TYPE=\"SUBMIT\" VALUE=\"+ de line\" NAME=\"add_line_cred\"></TD></TR>";
|
||||
if ( isset ($_GET["PHPSESSID"]) ) {
|
||||
$sessid=$_GET["PHPSESSID"];
|
||||
}
|
||||
else {
|
||||
$sessid=$_POST["PHPSESSID"];
|
||||
}
|
||||
|
||||
$search='<INPUT TYPE="BUTTON" VALUE="Cherche" OnClick="SearchJrn(\''.$sessid."','rapt','$e_sum_cred')\">";
|
||||
echo_debug('jrn.php',__LINE__,"search $search");
|
||||
// To avoid problem with unknown variable
|
||||
if ( ! isset ($e_rapt) ) {
|
||||
$e_rapt="";
|
||||
}
|
||||
|
||||
echo '<TR><TD colspan="2">
|
||||
rapprochement : <INPUT TYPE="TEXT" name="rapt" value="'.$e_rapt.'">'.$search.'</TD></TR>';
|
||||
echo "</TABLE>";
|
||||
|
||||
// To avoid problem with unknown variable
|
||||
if ( ! isset ($e_comment) ) {
|
||||
$e_comment="";
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ( $p_update==0) {
|
||||
echo '<input type="submit" Name="add_record" Value="Enregistre">';
|
||||
} else {
|
||||
echo '<input type="submit" Name="update_record" Value="Enregistre">';
|
||||
}
|
||||
echo '<input type="reset" Value="Efface">';
|
||||
|
||||
// To avoid problem with unknown variable
|
||||
if ( ! isset ($e_sum_deb) ) {
|
||||
$e_sum_deb=0;
|
||||
}
|
||||
|
||||
// To avoid problem with unknown variable
|
||||
if ( ! isset ($e_sum_cred) ) {
|
||||
$e_sum_cred=0;
|
||||
}
|
||||
|
||||
|
||||
echo '<SPAN ID="diff"></SPAN>';
|
||||
echo "</FORM>";
|
||||
echo '</DIV>';
|
||||
|
||||
}
|
||||
/*!
|
||||
* \brief Display the form to UPDATE account operation
|
||||
*
|
||||
|
|
@ -396,140 +156,6 @@ if ( $p_update == 0 ) echo "<TR><TD> <INPUT TYPE=\"SUBMIT\" VALUE=\"+ de line\"
|
|||
return $r;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief debug function to be dropped
|
||||
*
|
||||
* parm :
|
||||
* -
|
||||
* gen :
|
||||
* -
|
||||
* return:
|
||||
* -
|
||||
*
|
||||
*/
|
||||
|
||||
function ViewRec($p_array = null) {
|
||||
if ($p_array == null) {
|
||||
echo_debug('jrn.php',__LINE__,"p_array is null");
|
||||
}else {
|
||||
foreach ( $p_array as $n=>$e) {
|
||||
echo_debug('jrn.php',__LINE__,"a[$n]= $e");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
/*!
|
||||
* \brief Call the RecordJrn. In fact does nothing
|
||||
*
|
||||
* parm :
|
||||
* - the same as RecordJrn
|
||||
* gen :
|
||||
* - none
|
||||
* return:
|
||||
* - none
|
||||
*
|
||||
*/
|
||||
function CorrectRecord($p_dossier,$p_user,$p_jrn,$p_MaxDeb,$p_MaxCred,$p_array)
|
||||
{
|
||||
|
||||
RecordJrn($p_dossier,$p_user,$p_jrn,$p_MaxDeb,$p_MaxCred,$p_array);
|
||||
}
|
||||
/*!
|
||||
* \brief View the added operation
|
||||
*
|
||||
* parm :
|
||||
* - p_dossier
|
||||
* - p_jrn
|
||||
* - p_id
|
||||
* - p_MaxDeb
|
||||
* - p_MaxCred
|
||||
* - p_array
|
||||
* gen :
|
||||
* - none
|
||||
* return:
|
||||
* - none
|
||||
*
|
||||
*/
|
||||
function ViewRecord ($p_dossier,$p_jrn,$p_id,$p_MaxDeb,$p_MaxCred,$p_array)
|
||||
{
|
||||
echo_debug ("ViewRecord : $p_dossier");
|
||||
echo_debug('jrn.php',__LINE__,"function ViewRecord ($p_dossier,$p_jrn,$p_id,$p_MaxCred,$p_MaxDeb,$p_array)");
|
||||
foreach ( $p_array as $key=>$element) {
|
||||
${"e_$key"}=$element;
|
||||
echo_debug('jrn.php',__LINE__," e_$key=$element;");
|
||||
|
||||
}
|
||||
// Get Jrn's Prop
|
||||
$l_prop=GetJrnProp($p_dossier,$p_jrn);
|
||||
|
||||
include_once("poste.php");
|
||||
if ( $l_prop == null ) return;
|
||||
$col_vide="<TD></TD>";
|
||||
echo '<TABLE ALIGN=CENTER BORDER=1 style="border-style:groove">';
|
||||
echo '<TR>';
|
||||
echo "<TD>". $l_prop['jrn_def_name']."(".$l_prop['jrn_def_code'].") </TD>";
|
||||
echo "<TD> Date : $e_op_date</TD>";
|
||||
echo "</TR>";
|
||||
echo "</TABLE>";
|
||||
|
||||
|
||||
echo "<table width=600 border=0>";
|
||||
echo "<TR><TD>operation $p_id</TD></TR>";
|
||||
for ($i = 0; $i < $p_MaxDeb;$i++) {
|
||||
//Deb
|
||||
if ( strlen(trim(${"e_mont_deb$i"})) > 0 && ${"e_mont_deb$i"} > 0 ) {
|
||||
$class=GetPosteLibelle($p_dossier,${"e_class_deb$i"});
|
||||
|
||||
echo '<TR style="background-color:lightblue"><TD>'.${"e_class_deb$i"}."</TD>$col_vide<TD> $class </TD> <TD>".${"e_mont_deb$i"}."</TD>$col_vide</TR>";
|
||||
}
|
||||
}
|
||||
|
||||
// Cred
|
||||
for ($i = 0; $i < $p_MaxCred;$i++) {
|
||||
if ( strlen(trim(${"e_mont_cred$i"})) > 0 && ${"e_mont_cred$i"} > 0 ) {
|
||||
$class=GetPosteLibelle($p_dossier,${"e_class_cred$i"});
|
||||
|
||||
echo '<TR style="background-color:lightgreen;">'.$col_vide.'<TD>'.${"e_class_cred$i"}."</TD><TD> $class </TD>$col_vide <TD>".${"e_mont_cred$i"}."</TD></TR>";
|
||||
}
|
||||
}
|
||||
echo "<TR style=\"background-color:lightgray\">";
|
||||
echo $col_vide;
|
||||
echo $col_vide;
|
||||
echo "<TD align=\"center\"> Total</TD>";
|
||||
echo "<TD> $e_sum_deb</TD><TD> $e_sum_cred</TD>";
|
||||
echo "</TABLE>";
|
||||
// Bouton again
|
||||
echo '<table align="center">';
|
||||
echo '<TR><TD class="mtitle">';
|
||||
echo ' <A class="mtitle" HREF="enc_jrn.php?action=record&max_deb='.$l_prop['jrn_deb_max_line'].'&max_cred='.$l_prop['jrn_cred_max_line'].'&p_jrn='.$p_jrn.'"> Ajouter</A>';
|
||||
echo '</TD></TR></TABLE>';
|
||||
}
|
||||
/*!
|
||||
* \brief Get the properties of a journal
|
||||
*
|
||||
* parm :
|
||||
* - p_cn database connection
|
||||
* - p_jrn the jrn id
|
||||
* gen :
|
||||
* - none
|
||||
* return:
|
||||
* - an array containing properties
|
||||
*
|
||||
*/
|
||||
function GetJrnProperty($p_cn,$p_jrn)
|
||||
{
|
||||
$Res=ExecSql($p_cn,"select jrn_Def_id,jrn_def_name,jrn_def_class_deb,jrn_def_class_cred,jrn_def_type,
|
||||
jrn_deb_max_line,jrn_cred_max_line,jrn_def_ech,jrn_def_ech_lib,jrn_def_code,
|
||||
jrn_def_fiche_deb,jrn_def_fiche_deb
|
||||
from jrn_Def
|
||||
where jrn_def_id=$p_jrn");
|
||||
$Count=pg_NumRows($Res);
|
||||
if ( $Count == 0 ) {
|
||||
echo '<DIV="redcontent"><H2 class="error"> Paramètres journaux non trouvés</H2> </DIV>';
|
||||
return null;
|
||||
}
|
||||
return pg_fetch_array($Res,0);
|
||||
}
|
||||
/*!
|
||||
* \brief Get the properties of a journal
|
||||
*
|
||||
|
|
@ -544,6 +170,7 @@ function GetJrnProperty($p_cn,$p_jrn)
|
|||
*/
|
||||
function GetJrnProp($p_dossier,$p_jrn,$is_connected=0)
|
||||
{
|
||||
echo_debug("jrn.php",__LINE__,"GetJrnProp");
|
||||
if ( $is_connected == 0 )
|
||||
$cn=DbConnect($p_dossier);
|
||||
else
|
||||
|
|
@ -947,11 +574,12 @@ function SetInternalCode($p_cn,$p_grpt,$p_jrn)
|
|||
//$num=CountSql($p_cn,"select * from jrn where jr_def_id=$p_jrn and jr_internal != 'ANNULE'")+1;
|
||||
$num = NextSequence($p_cn,'s_internal');
|
||||
$num=strtoupper(hexdec($num));
|
||||
$atype=GetJrnProperty($p_cn,$p_jrn);
|
||||
$atype=GetJrnProp($_SESSION['g_dossier'],$p_jrn);
|
||||
$type=$atype['jrn_def_code'];
|
||||
$internal_code=sprintf("%d%s-%s",$_SESSION['g_dossier'],$type,$num);
|
||||
$Res=ExecSql($p_cn,"update jrn set jr_internal='".$internal_code."' where ".
|
||||
" jr_grpt_id = ".$p_grpt);
|
||||
echo_debug ("jrn.php",__LINE__,"internal_code = $internal_code");
|
||||
return $internal_code;
|
||||
}
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ SyncRight($_SESSION['g_dossier'],$_SESSION['g_user']);
|
|||
// Get The priv on the selected folder
|
||||
if ( $User->admin == 0 ) {
|
||||
|
||||
$r=GetPriv($_SESSION['g_dossier'],$_SESSION['g_user']);
|
||||
$r=CheckAction($_SESSION['g_dossier'],$_SESSION['g_user'],STOCK_READ);
|
||||
if ($r == 0 ){
|
||||
/* Cannot Access */
|
||||
NoAccess();
|
||||
|
|
@ -77,6 +77,12 @@ include_once("stock_inc.php");
|
|||
// Adjust the stock
|
||||
if ( isset ($_POST['sub_change']))
|
||||
{
|
||||
if ( CheckAction($_SESSION['g_dossier'],$_SESSION['g_user'],STOCK_WRITE) == 0 )
|
||||
{
|
||||
/* Cannot Access */
|
||||
NoAccess();
|
||||
}
|
||||
|
||||
$change=$_POST['stock_change'];
|
||||
$sg_code=$_POST['sg_code'];
|
||||
$sg_date=$_POST['sg_date'];
|
||||
|
|
@ -153,19 +159,26 @@ if ( $action == 'detail' ) {
|
|||
$sg_code=(isset ($_GET['sg_code'] ))?$_GET['sg_code']:$_POST['sg_code'];
|
||||
$year=(isset($_GET['year']))?$_GET['year']:$_POST['year'];
|
||||
$a=ViewDetailStock($cn,$sg_code,$year);
|
||||
$write=CheckAction($_SESSION['g_dossier'],$_SESSION['g_user'],STOCK_WRITE);
|
||||
|
||||
$b=ChangeStock($sg_code,$year);
|
||||
echo '<div class="u_redcontent">' ;
|
||||
echo $a;
|
||||
echo 'Entrer la valeur qui doit augmenter ou diminuer le stock';
|
||||
echo '<form action="?p_action=stock" method="POST">';
|
||||
echo $b;
|
||||
echo '<input type="submit" name="sub_change" value="Ok">';
|
||||
echo '<A class="mtitle" HREF="?p_action=stock"><INPUT TYPE="BUTTON" value="Retour"</A>';
|
||||
$b="";
|
||||
|
||||
echo '</form>';
|
||||
echo '</div>';
|
||||
exit();
|
||||
|
||||
echo '<div class="u_redcontent">' ;
|
||||
echo $a;
|
||||
if ( $write != 0)
|
||||
{
|
||||
echo 'Entrer la valeur qui doit augmenter ou diminuer le stock';
|
||||
echo '<form action="?p_action=stock" method="POST">';
|
||||
echo ChangeStock($sg_code,$year);
|
||||
echo '<input type="submit" name="sub_change" value="Ok">';
|
||||
echo '</form>';
|
||||
}
|
||||
echo '<A class="mtitle" HREF="?p_action=stock"><INPUT TYPE="BUTTON" value="Retour"</A>';
|
||||
|
||||
|
||||
echo '</div>';
|
||||
exit();
|
||||
}
|
||||
|
||||
// Show the possible years
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ if ( isset ($_POST['delete']) )
|
|||
// Add card
|
||||
if ( $sub_action=="insert" )
|
||||
{
|
||||
$retour=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
urldecode($_REQUEST['url']));
|
||||
|
||||
$supplier=new Supplier($cn);
|
||||
|
|
@ -73,7 +73,7 @@ if ( $sub_action == "" )
|
|||
//Display a blank card
|
||||
if ( $sub_action=="blank")
|
||||
{
|
||||
$retour=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
"commercial.php?p_action=fournisseur");
|
||||
echo '<div class="u_redcontent">';
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ if ( $sub_action == 'detail' )
|
|||
$f_id=$_REQUEST['f_id'];
|
||||
echo '<div class="u_redcontent">';
|
||||
$sup=new Supplier($cn,$f_id);
|
||||
$retour=sprintf('<A class="two" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
$retour=sprintf('<A class="mtitle" HREF="%s"><input type="button" value="Retour"></A>',
|
||||
urldecode($_REQUEST['url']));
|
||||
echo $retour;
|
||||
echo '<form action="'.$_REQUEST['url'].'" method="post">';
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ require_once("user_form_ven.php");
|
|||
include_once("class_widget.php");
|
||||
require_once("class_jrn.php");
|
||||
$cn=DbConnect($_SESSION['g_dossier']);
|
||||
|
||||
// default action is insert_vente
|
||||
if ( ! isset ($_GET['action']) && ! isset ($_POST["action"]) ) {
|
||||
exit;
|
||||
|
|
@ -35,6 +36,10 @@ if ( ! isset ($_GET['action']) && ! isset ($_POST["action"]) ) {
|
|||
}
|
||||
|
||||
if ( $action == 'insert_vente' ) {
|
||||
if ( CheckJrn($_SESSION['g_dossier'],$_SESSION['g_user'],$_GET['p_jrn']) != 2 ) {
|
||||
NoAccess();
|
||||
exit -1;
|
||||
}
|
||||
|
||||
// Add item
|
||||
if (isset($_POST["add_item"]) ) {
|
||||
|
|
|
|||
|
|
@ -303,7 +303,8 @@ function InsertJrnx($p_cn,$p_type,$p_user,$p_jrn,$p_poste,$p_date,$p_amount,$p_g
|
|||
function InsertJrn($p_cn,$p_date,$p_echeance,$p_jrn,$p_comment,$p_grpt,$p_periode)
|
||||
{
|
||||
echo_debug ('user_common.php',__LINE__,"InsertJrn param
|
||||
p_date $p_date p_poste $p_comment p_amount p_grpt = $p_grpt p_periode = $p_periode p_echeance = $p_echeance
|
||||
p_date $p_date p_poste $p_comment p_amount
|
||||
p_grpt = $p_grpt p_periode = $p_periode p_echeance = $p_echeance
|
||||
comment = $p_comment");
|
||||
$p_comment=FormatString($p_comment);
|
||||
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ function FormODS($p_cn,$p_jrn,$p_periode,$p_submit,$p_array=null,$pview_only=tru
|
|||
}
|
||||
// code
|
||||
// Do we need a filter ?
|
||||
$l_line=GetJrnProperty($p_cn,$p_jrn);
|
||||
$l_line=GetJrnProp($p_cn,$p_jrn);
|
||||
if( strlen(trim ($l_line['jrn_def_class_cred']) ) > 0 or
|
||||
strlen(trim ($l_line['jrn_def_class_deb']) ) > 0 ) {
|
||||
$filter=1;
|
||||
|
|
|
|||
|
|
@ -393,7 +393,6 @@ function u_ShowMenuRecherche($p_cn,$p_jrn,$p_sessid,$p_array=null)
|
|||
}
|
||||
|
||||
// Find the journal property
|
||||
// $JrnProperty=GetJrnProperty($p_cn,$p_jrn);
|
||||
|
||||
$opt='<OPTION VALUE="="> =';
|
||||
$opt.='<OPTION VALUE="<="> <=';
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
# clean all phpcompta related DB.
|
||||
DOMAIN="test_"
|
||||
DOMAIN="v232_"
|
||||
dropdb -U phpcompta -h localhost ${DOMAIN}account_repository
|
||||
dropdb -U phpcompta -h localhost ${DOMAIN}dossier1
|
||||
dropdb -U phpcompta -h localhost ${DOMAIN}dossier3
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue