correction affichage facture

This commit is contained in:
2020-12-06 08:03:37 +01:00
parent ab0d4997eb
commit 879546e166
3 changed files with 61 additions and 27 deletions

View File

@@ -126,6 +126,38 @@ def get_devis_by_no(request,nodossier):
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).first()
return results
def get_facture_by_no(request,nodossier):
# lire facture
societe = nodossier[0:2]
no_id = nodossier[5:]
query = """
SELECT d.*, c.*, a.NOM as nom_cabinet, e.NOM as nom_expert FROM facture d
INNER JOIN clients c ON d.societe = c.societe and d.cd_cli = c.cd_cli
INNER JOIN p_cabinet a ON d.cabinet = a.code
INNER JOIN p_experts e ON d.cabinet = e.code_cab and d.expert = e.code_exp
WHERE d.societe = :societe and d.no_id=:no_id;"""
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).first()
return results
def get_proforma_by_no(request,nodossier):
# lire facture
societe = nodossier[0:2]
no_id = nodossier[5:]
query = """
SELECT d.*, c.*, a.NOM as nom_cabinet, e.NOM as nom_expert FROM proforma d
INNER JOIN clients c ON d.societe = c.societe and d.cd_cli = c.cd_cli
INNER JOIN p_cabinet a ON d.cabinet = a.code
INNER JOIN p_experts e ON d.cabinet = e.code_cab and d.expert = e.code_exp
WHERE d.societe = :societe and d.no_id=:no_id;"""
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).first()
return results
def update_devis_ligne(request, nodossier, nolig, new_values):
societe = nodossier[0:2]
no_id = nodossier[5:]

View File

@@ -7,14 +7,14 @@
<div class="col-md-6">
<table class="table table-condensed">
<tr>
<td><h4>CHANTIER</h4><h4 class="text-primary">${devis.societe}-${devis.nochantier}</h4>
<td><h4>CHANTIER</h4><h4 class="text-primary">${entete.societe}-${entete.nochantier}</h4>
</td>
<td>
<h4>${devis.C_QUALITE} ${devis.C_NOM}</h4>
${devis.C_ADR}<br />
<span tal:condition="devis.C_ADR2">${devis.C_ADR2}<br /></span>
${devis.C_CP} ${devis.C_VILLE}<br />
${devis.C_EMAIL}
<h4>${entete.C_QUALITE} ${entete.C_NOM}</h4>
${entete.C_ADR}<br />
<span tal:condition="entete.C_ADR2">${entete.C_ADR2}<br /></span>
${entete.C_CP} ${entete.C_VILLE}<br />
${entete.C_EMAIL}
</td>
</tr>
<tr>
@@ -24,9 +24,9 @@
Tél. mobile - fax
</td>
<td>
${devis.C_ETAGE} - ${devis.C_CODE}<br />
${devis.C_TEL1} - ${devis.C_TEL2}<br />
${devis.C_TELP} - ${devis.C_FAX}
${entete.C_ETAGE} - ${entete.C_CODE}<br />
${entete.C_TEL1} - ${entete.C_TEL2}<br />
${entete.C_TELP} - ${entete.C_FAX}
</td>
</tr>
</table>
@@ -38,10 +38,10 @@
<tr>
<td><h4>CLIENT</h4></td>
<td>
<h4>${devis.QUALITE} ${devis.NOM}</h4>
${devis.ADRESSE}<br />
<span tal:condition="devis.ADRESSE2">${devis.ADRESSE2}<br /></span>
${devis.CP} ${devis.VILLE}<br />
<h4>${entete.QUALITE} ${entete.NOM}</h4>
${entete.ADRESSE}<br />
<span tal:condition="entete.ADRESSE2">${entete.ADRESSE2}<br /></span>
${entete.CP} ${entete.VILLE}<br />
</td>
</tr>
<tr>
@@ -51,16 +51,16 @@
Tél. mobile - fax
</td>
<td>
${devis.NOMRESP}<br />
${devis.TEL1} - ${devis.TEL2}<br />
${devis.TELP} - ${devis.FAX}
${entete.NOMRESP}<br />
${entete.TEL1} - ${entete.TEL2}<br />
${entete.TELP} - ${entete.FAX}
</td>
</tr>
</table>
</div>
<h4>Statut : ${devis.STATUS}</h4>
<h4>Statut : ${entete.STATUS}</h4>
</div> <!-- row -->
<!-- ENTETE DEVIS -->
<!-- ENTETE entete -->
<table class="table table-bordered table-condensed">
<tr class="well">
<th class="text-right">Total HT</th>
@@ -69,10 +69,10 @@
<th class="text-right">TVA</th>
</tr>
<tr>
<td class="text-right">${layout.to_euro(devis.TOTALHT)}</td>
<td class="text-right">${layout.to_euro(devis.TOTALTVA)}</td>
<td class="text-right">${layout.to_euro(devis.TOTALTTC)}</td>
<td class="text-right">${devis.TAUXTVA} %</td>
<td class="text-right">${layout.to_euro(entete.TOTALHT)}</td>
<td class="text-right">${layout.to_euro(entete.TOTALTVA)}</td>
<td class="text-right">${layout.to_euro(entete.TOTALTTC)}</td>
<td class="text-right">${entete.TAUXTVA} %</td>
</tr>
</table>

View File

@@ -75,16 +75,18 @@ def devis_view(request):
type_doc = nodevis[3:5]
if type_doc == 'DE':
page_title = "Devis no : %s" % (nodevis)
entete = get_devis_by_no(request, nodevis)
elif type_doc == 'FA':
page_title = "Facture no : %s" % (nodevis)
entete = get_facture_by_no(request, nodevis)
else:
page_title = "Proforma no : %s" % (nodevis)
devis = get_devis_by_no(request, nodevis)
if devis is None:
entete = get_proforma_by_no(request, nodevis)
if entete is None:
request.session.flash(u"Le document no %s est introuvable" % (nodevis), 'danger')
return HTTPFound(location=request.route_url("dossier_lookup"))
# lire tous les lignes du devis
# lire tous les lignes du doc
details = get_devis_lig_by_no(request, nodevis)
# select background color according to society
bg_color = "bg-%s" % societe
@@ -92,7 +94,7 @@ def devis_view(request):
return {
'page_title': page_title,
'nodevis': nodevis,
'devis': devis,
'entete': entete,
'details': details,
'bg_color': bg_color,
}