[Erp5-report] r10893 - /erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payr...

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Oct 23 18:31:56 CEST 2006


Author: kevin
Date: Mon Oct 23 18:31:55 2006
New Revision: 10893

URL: http://svn.erp5.org?rev=10893&view=rev
Log:
Support multiline gross salary on printing

Modified:
    erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_initializePreview.xml
    erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml
    erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_postCalculation.xml
    erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_preCalculation_l10n_fr_2006.xml
    erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml

Modified: erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_initializePreview.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_initializePreview.xml?rev=10893&r1=10892&r2=10893&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_initializePreview.xml (original)
+++ erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_initializePreview.xml Mon Oct 23 18:31:55 2006
@@ -195,7 +195,6 @@
 INT_LEN = 3\n
 for (preview_line_id, preview_line_item) in pre_calculation.items():\n
   num += 1\n
-  context.log("Kev dfsdfsdfsdff", repr((preview_line_id, preview_line_item)))\n
   service      = preview_line_item[\'service\']\n
   salary_range = preview_line_item[\'salary_range\']\n
   service_id   = service.getId()\n
@@ -316,7 +315,6 @@
                             <string>INT_LEN</string>
                             <string>preview_line_id</string>
                             <string>preview_line_item</string>
-                            <string>repr</string>
                             <string>service_id</string>
                             <string>o</string>
                           </tuple>

Modified: erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml?rev=10893&r1=10892&r2=10893&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml (original)
+++ erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml Mon Oct 23 18:31:55 2006
@@ -50,12 +50,10 @@
 
 <?xml version="1.0" encoding="iso-8859-1" ?>\n
 \n
-<tal:block tal:define="employee python: here.getDestinationSectionValue();\n
-                       employer python: here.getSourceSectionValue();\n
-                       paysheet_details python: here.PaySheetTransaction_getDetails();\n
-                       paysheet_categories python: paysheet_details[\'paysheet_categories\'];\n
-                       urssaf python: employer.getDestinationSectionValue();\n
-                       start_date python: here.getStartDate()">\n
+<tal:block tal:define="employee            python: here.getDestinationSectionValue();\n
+                       employer            python: here.getSourceSectionValue();\n
+                       urssaf              python: employer.getDestinationSectionValue();\n
+                       start_date          python: here.getStartDate()">\n
 \n
   <template bottommargin=\'0.665cm\'\n
             showboundary=\'0\'\n
@@ -66,8 +64,8 @@
             allowsplitting=\'1\'\n
             landscape=\'0\'\n
             leftmargin=\'0.635cm\'\n
-            tal:define=\'portal python:here.portal_url.getPortalObject()\'>\n
-    \n
+            tal:define=\'portal python: here.portal_url.getPortalObject()\'>\n
+\n
     <stylesheet>\n
       <tablestyle name="decompte">\n
         <stylecmd expr="(\'FONTSIZE\', (0,0), (-1,-1), 7)"/>\n
@@ -110,7 +108,7 @@
         <stylecmd expr="(\'BOTTOMPADDING\', (0,0), (0,0), 0)"/>\n
         <stylecmd expr="(\'ALIGNMENT\', (0,0), (0,0), \'CENTER\')"/>\n
         <stylecmd expr="(\'VALIGN\', (0,0), (0,0), \'MIDDLE\')"/>\n
-                \n
+\n
         <!-- Premiere ligne de droite\n
              <stylecmd expr="(\'LINEABOVE\', (-1,0), (-1,0), 0.1, (0.4,0.4,0.4))"/>\n
              <stylecmd expr="(\'LINEBEFORE\', (-1,0), (-1,0), 0.1, (0.4,0.4,0.4))"/>\n
@@ -132,7 +130,7 @@
              <stylecmd expr="(\'LINEBEFORE\', (-1,0), (-1,0), 0.1, (0.4,0.4,0.4))"/>\n
              <stylecmd expr="(\'LINEAFTER\', (-1,0), (-1,0), 0.1, (0.4,0.4,0.4))"/>\n
         -->\n
-        <stylecmd expr="(\'OUTLINE\', (-1,0), (-1,0), 0.1, (0.4,0.4,0.4))"/>        \n
+        <stylecmd expr="(\'OUTLINE\', (-1,0), (-1,0), 0.1, (0.4,0.4,0.4))"/>\n
       </tablestyle>\n
 \n
     </stylesheet>\n

Modified: erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_postCalculation.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_postCalculation.xml?rev=10893&r1=10892&r2=10893&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_postCalculation.xml (original)
+++ erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_postCalculation.xml Mon Oct 23 18:31:55 2006
@@ -250,13 +250,13 @@
                   , dest_org = context.getDestinationSection()\n
                   , cells    = [{ "x"    : labour_employee_share_category\n
                                 , "y"    : labour_salary_range\n
-                                , "base" : 1.0\n
-                                , "rate" : r_(total_employee_share - gross_salary)\n
+                                , "base" : -1.0\n
+                                , "rate" : r_(gross_salary - total_employee_share)\n
                                 },\n
                                 { "x"    : labour_employer_share_category\n
                                 , "y"    : labour_salary_range\n
-                                , "base" : 1.0\n
-                                , "rate" : -gross_salary\n
+                                , "base" : -1.0\n
+                                , "rate" : gross_salary\n
                                 }]\n
                   )\n
 \n

Modified: erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_preCalculation_l10n_fr_2006.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_preCalculation_l10n_fr_2006.xml?rev=10893&r1=10892&r2=10893&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_preCalculation_l10n_fr_2006.xml (original)
+++ erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_preCalculation_l10n_fr_2006.xml Mon Oct 23 18:31:55 2006
@@ -487,27 +487,27 @@
 # Add blank lines for services which is a variable part od the gross salary.\n
 # Thanks to this, the accountant has the freedom to add the missing amount of money\n
 #   that this script can\'t guess.\n
-kw[\'retenue_maladie/base\'] = \\\n
+kw[\'retenue_maladie/gross\'] = \\\n
 { \'employer_share\': None\n
 , \'employee_share\': None\n
 , \'base\'          : 1.0\n
 }\n
-kw[\'primes/base\'] = \\\n
+kw[\'primes/gross\'] = \\\n
 { \'employer_share\': None\n
 , \'employee_share\': None\n
 , \'base\'          : 1.0\n
 }\n
-kw[\'absences/base\'] = \\\n
+kw[\'absences/gross\'] = \\\n
 { \'employer_share\': None\n
 , \'employee_share\': None\n
 , \'base\'          : 1.0\n
 }\n
-kw[\'iccp/base\'] = \\\n
+kw[\'iccp/gross\'] = \\\n
 { \'employer_share\': None\n
 , \'employee_share\': None\n
 , \'base\'          : 1.0\n
 }\n
-kw[\'precarite/base\'] = \\\n
+kw[\'precarite/gross\'] = \\\n
 { \'employer_share\': None\n
 , \'employee_share\': None\n
 , \'base\'          : 1.0\n

Modified: erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml?rev=10893&r1=10892&r2=10893&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml (original)
+++ erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml Mon Oct 23 18:31:55 2006
@@ -51,156 +51,178 @@
 <?xml version="1.0" encoding="iso-8859-1" ?>\n
 \n
 <document filename="report01.pdf"\n
-   xmlns:tal="http://xml.zope.org/namespaces/tal"\n
-   tal:define="employee            python: here.getDestinationSectionValue();\n
-               employer            python: here.getSourceSectionValue();\n
-               paysheet_details    python: here.PaySheetTransaction_getDetails();\n
-               paysheet_categories python: paysheet_details[\'paysheet_categories\'];\n
-               urssaf              python: employer.getDestinationSectionValue();\n
-               start_date          python: here.getStartDate();\n
-               boldstyle           python: \'(\\\'FONT\\\', \\\'Helvetica-Bold\\\', 7)\'">\n
-\n
-    <title>Pay Sheet</title>\n
-    <author>Nexedi ERP5</author>\n
-    <subject>Pay Sheet</subject>\n
-    <content>\n
-       <table splitbyrow="1" rowheight=\'0.4cm\' repeatrows="1" repeatcols="0" style="decompte">\n
-         <tr>\n
-           <td colwidth="4.318cm">Nature</td>\n
-           <td colwidth="3.81cm">Base</td>\n
-           <td colwidth="1.524cm">Assiette</td>\n
-           <td colwidth="2.77cm">Taux part patronale</td>\n
-           <td colwidth="2.288cm">Part patronale</td>\n
-           <td colwidth="2.397cm">Taux part salariale</td>\n
-           <td colwidth="1.959cm">Part salariale</td>\n
-         </tr>\n
-\n
-         <tr tal:attributes="stylecmd boldstyle"> <!--stylecmd="(\'FONT\', \'Helvetica-Bold\', 7)"> -->\n
-            <td>Salaire brut</td>\n
-            <td> </td>\n
-            <td> </td>\n
-            <td> </td>\n
-            <td> </td>\n
-            <td> </td>\n
-            <td tal:content="python: \'%.2f\' % paysheet_details[\'gross_salary\']" tal:condition="python: paysheet_details[\'gross_salary\'] not in (None, \'\')">???</td>\n
-         </tr>\n
-\n
-         <tal:block tal:condition="python: paysheet_categories.has_key(\'no_cat\')">\n
-           <tal:block define="no_cat_lines python: paysheet_categories[\'no_cat\'][\'lines\']">\n
-             <tr tal:repeat="line no_cat_lines">\n
-               <td><tal:block content="python: line[\'title\']"/> </td>\n
-               <td content="python: line[\'base_name\']"> </td>\n
-               <td content="python: \'%.2f\' % line[\'base\']"  tal:condition="python: line[\'base\'] not in (None, \'\')"> </td>\n
-               <td content="python: \'%.3f %%\' % line[\'employer_share_rate\']" tal:condition="python: line[\'employer_share_rate\'] not in (None, \'\')"> </td>\n
-               <td content="python: \'%.2f\' % line[\'employer_share\']" tal:condition="python: line[\'employer_share\'] not in (None, \'\')"> </td>\n
-               <td content="python: \'%.3f %%\' % line[\'employee_share_rate\']" tal:condition="python: line[\'employee_share_rate\'] not in (None, \'\')"> </td>\n
-               <td content="python: \'%.2f\' % line[\'employee_share\']" tal:condition="python: line[\'employee_share\'] not in (None, \'\')"> </td>\n
-             </tr>\n
-           </tal:block>\n
-         </tal:block>\n
-\n
-         <tal:block repeat="category paysheet_categories">\n
-           <tr tal:attributes="stylecmd boldstyle">\n
-             <td tal:content="python: paysheet_categories[category][\'title\']"> </td>\n
-             <td> </td>\n
-             <td> </td>\n
-             <td> </td>\n
-             <td> </td>\n
-             <td> </td>\n
-             <td> </td>\n
-           </tr>\n
-           <tal:block define="paysheet_lines python: paysheet_categories[category][\'lines\']">\n
-             <tr tal:repeat="line paysheet_lines" stylecmd="(\'LEFTPADDING\',8)">\n
-               <td><tal:block tal:content="python: \'   \' + line[\'title\']"/> </td>\n
-               <td><tal:block tal:content="python: line[\'base_name\']"/> </td>\n
-               <td> <tal:block content="python: \'%.2f\' % line[\'base\']"  tal:condition="python: line[\'base\'] not in (None, \'\')"></tal:block></td>\n
-               <td> <tal:block content="python: \'%.3f %%\' % line[\'employer_share_rate\']" tal:condition="python: line[\'employer_share_rate\'] not in (None, \'\')"></tal:block></td>\n
-               <td> <tal:block content="python: \'%.2f\' % line[\'employer_share\']" tal:condition="python: line[\'employer_share\'] not in (None, \'\')"></tal:block></td>\n
-               <td> <tal:block content="python: \'%.3f %%\' % line[\'employee_share_rate\']" tal:condition="python: line[\'employee_share_rate\'] not in (None, \'\')"></tal:block></td>\n
-               <td> <tal:block content="python: \'%.2f\' % line[\'employee_share\']" tal:condition="python: line[\'employee_share\'] not in (None, \'\')"></tal:block></td>\n
-             </tr>\n
-           </tal:block>\n
-         </tal:block>\n
-\n
-         <tr tal:attributes="stylecmd boldstyle">\n
-           <td>Total des cotisations</td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'total_employer_share\']" tal:condition="python: paysheet_details[\'total_employer_share\'] not in (\'\', None)"> </tal:block></td>\n
-           <td> </td>\n
-           <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'total_employee_share\']" tal:condition="python: paysheet_details[\'total_employee_share\'] not in (\'\', None)"> </tal:block></td>\n
-         </tr>\n
-\n
-         <tr tal:attributes="stylecmd boldstyle">\n
-           <td>Salaire Net Imposable</td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'taxable_net_salary\']" tal:condition="python: paysheet_details[\'taxable_net_salary\'] not in (\'\', None)"> </tal:block></td>\n
-         </tr>\n
-         <tal:block repeat="category paysheet_categories">\n
-           <tal:block define="paysheet_lines python: paysheet_categories[category][\'lines\']">\n
-             <tal:block repeat="line paysheet_lines">\n
-               <tr tal:condition="python: line.has_key(\'taxable\') and line[\'taxable\']==\'yes\'">\n
-                 <td> <tal:block content="python: line[\'title\']"/></td>\n
-                 <td> <tal:block content="python: line[\'base_name\']"/></td>\n
-                 <td> <tal:block replace="python: \'%.2f\' % line[\'base\']" tal:condition="python: line[\'base\'] not in (\'\', None)"></tal:block></td>\n
-                 <td> </td>\n
-                 <td> </td>\n
-                 <td> <tal:block replace="python: \'%.3f %%\' % line[\'employee_share_rate\']" tal:condition="python: line[\'employee_share_rate\'] not in (\'\', None)"></tal:block></td>\n
-                 <td> <tal:block replace="python: \'%.2f\' % abs(float(line[\'employee_share\']))" tal:condition="python: line[\'employee_share\'] not in (\'\', None)"></tal:block></td>\n
-               </tr>\n
-             </tal:block>\n
-           </tal:block>\n
-         </tal:block>\n
-         <tr tal:attributes="stylecmd boldstyle">\n
-           <td>Salaire Net</td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> </td>\n
-           <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'net_salary\']" tal:condition="python: paysheet_details[\'net_salary\'] not in (\'\', None)"> </tal:block></td>\n
-         </tr>\n
-       </table>\n
-\n
-       <table rowheight="0.6cm"><tr><td> </td></tr></table>\n
-\n
-       <table style="cumul_conges">\n
-         <tr>\n
-           <td colwidth="11cm"> <tal:block tal:replace="python: \'Cumuls annuels (%s)\' % start_date.year()" tal:condition="python: start_date not in (\'\', None)"/></td>\n
-           <td colwidth="3cm"> </td>\n
-           <td colwidth="5cm"> <!-- <tal:block tal:replace="python: \'Dur\xc3\xa9e des cong\xc3\xa9s pay\xc3\xa9s : ???\'"/> --> </td>\n
-         </tr>\n
-       </table>\n
-\n
-\n
-       <table style="cumul_conges_corps">\n
-         <tr>\n
-           <td colwidth="2cm">Salaire brut</td>\n
-           <td colwidth="3cm">Cotisations salariales</td>\n
-           <td colwidth="2cm">Salaire net</td>\n
-           <td colwidth="2cm">Net imposable</td>\n
-           <td colwidth="2cm">Part patronale</td>\n
-           <td colwidth="3cm"> </td>\n
-           <td colwidth="5cm"> <tal:block tal:replace="python: \'Dur\xc3\xa9e des d\xc3\xa9lais de pr\xc3\xa9avis : \' + context.PaySheetTransaction_getResignmentLegalDelay()"/></td>\n
-         </tr>\n
-         <tr>\n
-           <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_gross_salary\']" tal:condition="python: paysheet_details[\'yearly_gross_salary\'] not in (\'\', None)"></tal:block></td>\n
-           <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_employee_share\']" tal:condition="python: paysheet_details[\'yearly_employee_share\'] not in (\'\', None)"></tal:block></td>\n
-           <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_net_salary\']" tal:condition="python: paysheet_details[\'yearly_net_salary\'] not in (\'\', None)"></tal:block></td>\n
-           <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_taxable_net_salary\']" tal:condition="python: paysheet_details[\'yearly_taxable_net_salary\'] not in (\'\', None)"></tal:block></td>\n
-           <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_employer_share\']" tal:condition="python: paysheet_details[\'yearly_employer_share\'] not in (\'\', None)"></tal:block></td>\n
-           <td> </td>\n
-           <td> </td>\n
-         </tr>\n
-       </table>\n
-\n
-    </content>\n
-\n
+  xmlns:tal="http://xml.zope.org/namespaces/tal"\n
+  tal:define="details               python: here.PaySheetTransaction_getDetails();\n
+              start_date            python: here.getStartDate();\n
+              boldstyle             python: \'(\\\'FONT\\\', \\\'Helvetica-Bold\\\', 7)\';\n
+              GROSS_SALARY_GROUP_ID python: \'gross\'">\n
+\n
+  <title>Pay Sheet</title>\n
+  <author>Nexedi ERP5</author>\n
+  <subject>Pay Sheet</subject>\n
+  <content>\n
+    <table splitbyrow="1" rowheight=\'0.4cm\' repeatrows="1" repeatcols="0" style="decompte">\n
+      <tr>\n
+        <td colwidth="4.318cm">Nature</td>\n
+        <td colwidth="3.81cm">Base</td>\n
+        <td colwidth="1.524cm">Assiette</td>\n
+        <td colwidth="2.77cm">Taux part patronale</td>\n
+        <td colwidth="2.288cm">Part patronale</td>\n
+        <td colwidth="2.397cm">Taux part salariale</td>\n
+        <td colwidth="1.959cm">Part salariale</td>\n
+      </tr>\n
+\n
+      <tal:block repeat="group python: details[\'groups\']">\n
+        <tal:block condition="python: group[\'id\'] == GROSS_SALARY_GROUP_ID">\n
+          <tr tal:attributes="stylecmd boldstyle">\n
+            <td tal:content="python: group[\'title\']"> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+          </tr>\n
+          <tr tal:repeat="line python: group[\'sublines\']" stylecmd="(\'LEFTPADDING\',8)">\n
+            <td><tal:block content="python: \'   \' + line[\'service_title\']"/> </td>\n
+            <td><tal:block content="python: line[\'salary_range_title\']"/> </td>\n
+            <td><tal:block content="python: line[\'base\']"\n
+                          condition="python: line[\'base\'] != None"/> </td>\n
+            <td><tal:block content="python: line[\'employer_rate\']"\n
+                          condition="python: line[\'employer_rate\'] != None"/> </td>\n
+            <td><tal:block content="python: line[\'employer_share\']"\n
+                          condition="python: line[\'employer_share\'] != None"/> </td>\n
+            <td><tal:block content="python: line[\'employee_rate\']"\n
+                          condition="python: line[\'employee_rate\'] != None"/> </td>\n
+            <td><tal:block content="python: line[\'employee_share\']"\n
+                          condition="python: line[\'employee_share\'] != None"/> </td>\n
+          </tr>\n
+        </tal:block>\n
+      </tal:block>\n
+\n
+      <tr tal:attributes="stylecmd boldstyle">\n
+        <td>Salaire Brut</td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td tal:content="python: details[\'totals\'][\'gross_salary\']"\n
+            tal:condition="python: details[\'totals\'].has_key(\'gross_salary\')"> </td>\n
+      </tr>\n
+\n
+      <tal:block repeat="group python: details[\'groups\']">\n
+        <tal:block condition="python: group[\'id\'] != GROSS_SALARY_GROUP_ID">\n
+          <tr tal:attributes="stylecmd boldstyle">\n
+            <td tal:content="python: group[\'title\']"> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+            <td> </td>\n
+          </tr>\n
+          <tr tal:repeat="line python: group[\'sublines\']" stylecmd="(\'LEFTPADDING\',8)">\n
+            <td><tal:block content="python: \'   \' + line[\'service_title\']"/> </td>\n
+            <td><tal:block content="python: line[\'salary_range_title\']"/> </td>\n
+            <td><tal:block content="python: line[\'base\']"\n
+                          condition="python: line[\'base\'] != None"/> </td>\n
+            <td><tal:block content="python: line[\'employer_rate\']"\n
+                          condition="python: line[\'employer_rate\'] != None"/> </td>\n
+            <td><tal:block content="python: line[\'employer_share\']"\n
+                          condition="python: line[\'employer_share\'] != None"/> </td>\n
+            <td><tal:block content="python: line[\'employee_rate\']"\n
+                          condition="python: line[\'employee_rate\'] != None"/> </td>\n
+            <td><tal:block content="python: line[\'employee_share\']"\n
+                          condition="python: line[\'employee_share\'] != None"/> </td>\n
+          </tr>\n
+        </tal:block>\n
+      </tal:block>\n
+\n
+      <tr tal:attributes="stylecmd boldstyle">\n
+        <td>Total des Cotisations</td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td><tal:block replace="python: details[\'totals\'][\'total_employer_share\']"\n
+                       condition="python: details[\'totals\'].has_key(\'total_employer_share\')"/> </td>\n
+        <td> </td>\n
+        <td><tal:block replace="python: details[\'totals\'][\'total_employee_share\']"\n
+                       condition="python: details[\'totals\'].has_key(\'total_employee_share\')"/> </td>\n
+      </tr>\n
+\n
+      <tr tal:attributes="stylecmd boldstyle">\n
+        <td>Salaire Net Imposable</td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td><tal:block replace="python: details[\'totals\'][\'taxable_net_salary\']"\n
+                       condition="python: details[\'totals\'].has_key(\'taxable_net_salary\')"/> </td>\n
+      </tr>\n
+\n
+<!--\n
+      <tal:block repeat="category paysheet_categories">\n
+        <tal:block define="paysheet_lines python: paysheet_categories[category][\'lines\']">\n
+          <tal:block repeat="line paysheet_lines">\n
+            <tr tal:condition="python: line.has_key(\'taxable\') and line[\'taxable\']==\'yes\'">\n
+              <td> <tal:block content="python: line[\'title\']"/></td>\n
+              <td> <tal:block content="python: line[\'base_name\']"/></td>\n
+              <td> <tal:block replace="python: \'%.2f\' % line[\'base\']" tal:condition="python: line[\'base\'] not in (\'\', None)"></tal:block></td>\n
+              <td> </td>\n
+              <td> </td>\n
+              <td> <tal:block replace="python: \'%.3f %%\' % line[\'employee_share_rate\']" tal:condition="python: line[\'employee_share_rate\'] not in (\'\', None)"></tal:block></td>\n
+              <td> <tal:block replace="python: \'%.2f\' % abs(float(line[\'employee_share\']))" tal:condition="python: line[\'employee_share\'] not in (\'\', None)"></tal:block></td>\n
+            </tr>\n
+          </tal:block>\n
+        </tal:block>\n
+      </tal:block>\n
+-->\n
+      <tr tal:attributes="stylecmd boldstyle">\n
+        <td>Salaire Net</td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td> </td>\n
+        <td><tal:block replace="python: details[\'totals\'][\'net_salary\']"\n
+                       condition="python: details[\'totals\'].has_key(\'net_salary\')"/> </td>\n
+      </tr>\n
+    </table>\n
+\n
+    <table rowheight="0.6cm"><tr><td> </td></tr></table>\n
+\n
+    <table style="cumul_conges">\n
+      <tr>\n
+        <td colwidth="11cm"> <tal:block tal:replace="python: \'Cumuls annuels (%s)\' % start_date.year()" tal:condition="python: start_date not in (\'\', None)"/></td>\n
+        <td colwidth="3cm"> </td>\n
+        <td colwidth="5cm"> <!-- <tal:block tal:replace="python: \'Dur\xc3\xa9e des cong\xc3\xa9s pay\xc3\xa9s : ???\'"/> --> </td>\n
+      </tr>\n
+    </table>\n
+<!--\n
+    <table style="cumul_conges_corps">\n
+      <tr>\n
+        <td colwidth="2cm">Salaire brut</td>\n
+        <td colwidth="3cm">Cotisations salariales</td>\n
+        <td colwidth="2cm">Salaire net</td>\n
+        <td colwidth="2cm">Net imposable</td>\n
+        <td colwidth="2cm">Part patronale</td>\n
+        <td colwidth="3cm"> </td>\n
+        <td colwidth="5cm"> <tal:block tal:replace="python: \'Dur\xc3\xa9e des d\xc3\xa9lais de pr\xc3\xa9avis : \' + context.PaySheetTransaction_getResignmentLegalDelay()"/></td>\n
+      </tr>\n
+      <tr>\n
+        <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_gross_salary\']" tal:condition="python: paysheet_details[\'yearly_gross_salary\'] not in (\'\', None)"></tal:block></td>\n
+        <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_employee_share\']" tal:condition="python: paysheet_details[\'yearly_employee_share\'] not in (\'\', None)"></tal:block></td>\n
+        <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_net_salary\']" tal:condition="python: paysheet_details[\'yearly_net_salary\'] not in (\'\', None)"></tal:block></td>\n
+        <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_taxable_net_salary\']" tal:condition="python: paysheet_details[\'yearly_taxable_net_salary\'] not in (\'\', None)"></tal:block></td>\n
+        <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_employer_share\']" tal:condition="python: paysheet_details[\'yearly_employer_share\'] not in (\'\', None)"></tal:block></td>\n
+        <td> </td>\n
+        <td> </td>\n
+      </tr>\n
+    </table>\n
+-->\n
+  </content>\n
 </document>
 
 ]]></string> </value>




More information about the Erp5-report mailing list