Giter Site home page Giter Site logo

odoo_payroll's People

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

Watchers

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

odoo_payroll's Issues

odoo limit number of appears fields on report

Hello
I solicitate you help for odoo problem can you help me .I want to limit number of fields that can be checked(appears_journal) max=20. If there are more than 20 checks for appears_journal it displays error message and don’t save.
i want to limit number of selected fields :for example with payroll field appears_on_ payslip .How to limit number of field to appears on payslip :all fields can’t appear on payslip !

Now i give you my code

On py file :

from odoo import models, fields, api
from openerp.exceptions import ValidationError

class HrJournal(models.Model):
_inherit = 'hr.salary.rule'

abreviation = fields.Char(string='Nom abrégé',size=5,help="Nom abrégé de la régle moins de 6 caracteres pour ne pas encombrer le journal ")
appears_journal = fields.Boolean(string= appears on journal,default=False, help="Utilisé pour faire apparaitre dans le journal de paie.")
            #pealf = self.env['hr.salary.rule'].search_count([(' appears_journal ','=',True)]) 
@api.constrains(' appears_journal ')
def _check_boolean(self):



    checked_bool = self.search([('id', '!=', self.id),(' appears_journal ', '=', True)], limit=5)  

    if self. appears_journal and checked_bool:

    
      raise ValidationError(_("There's already 5 checked boolean in record '%s'") % checked_bool.name)

on xml file :

Sur Journal hr.salary.rule
                              <field name=" appears_journal l" />
                                                                                                    
                              <field name="abreviation"  attrs="{'required':[(' appears_journal ','=',True)]}"/>
                              
                </xpath>                                                       
        </field>
    </record>
</data>

Thanks

limiter le nombres de champs dans un bulletin

Bonjour
Je veux limiter le nombre de selections de appears_on_payslip .Tous les champs ne peuvent pas apparaitre dans le bulletin, donc il fait limiter le nombre de selection à 20.si on selectionne plus de 20 champs il apparait un message d'erreur.
Merci

Installation error

Hello,
On odoo 9 Version 9.0c-20160817 (Community Edition), i can't install the module.
I've an error : "field[@name='timesheet_ids']/form/field[@name='name'] can't be localize on the parent view."
hr.timesheet.sheet.form`
[view_id: 670, xml_id: n/a, model: hr_timesheet_sheet.sheet, parent_id: 564]
None" while parsing /var/lib/odoo/.local/share/Odoo/addons/9.0/payroll_activity_on_timesheet/views/hr_timesheet_sheet.xml:4, near

Thanks for your help.
Ericzen

odoo limit number of record per page

Hello i am trying to do an summary table with vertical header ,now i want to limit the recors(column) only 7 records (columns)per page.
my code is here

                            <!--<div class="col-xs-3" style=" background-color:#00CC00;">
                            </div>-->
                            
                                
						<td>	
								
									
									
							     <tr>   
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									No.
								</td>
								<t t-set="sr_no" t-value="0"/>
                                <t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<t t-set="sr_no" t-value="sr_no+1"/>
								
								<td style="border: 1px solid #808080;padding:3px;text-align: right">
									<span t-esc="sr_no"/>
								</td>
                                </t>
							  
							    </tr>

								<tr>
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									Mat.
								</td>
								
							    <t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<td style="border: 1px solid #808080;padding:3px;text-align: right">
									<span t-esc="s.employee_id.matricule"/>
								</td>
							    </t>
								</tr>

								<tr>
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									Employé
								</td>
								<t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<td style="border: 1px solid #808080;padding:3px;text-align: right">
								<tr>
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									Hrs
								</td>
								<t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<td style="border: 1px solid #808080;padding:3px;text-align: right">
									<span t-esc="s.get_no_hours_paid()"/>
								</td>
								</t>
								</tr>

								<tr>
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									Sal.Base
								</td>
								<t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<td style="border: 1px solid #808080;padding:3px;text-align: right">
									<span t-esc="doc.get_amt_by_code('Salaire de base',s)"/>
								</td>
								</t>
								</tr>
                                



                               
								
								
								  
								   	
                               
								   	
								<tr t-foreach="doc.get_deduction_rules('ALW')" t-as="alw" >
										
										<th style="border: 1px solid #808080;padding:3px;text-align: center" align="center">
											<span t-esc="alw"/>
										</th>
										

									    <t t-foreach="doc.alw_cat_list" t-as="cat" >
									    
									    
										 <t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s"  >
									 
									      <t t-if="cat==alw"  >
									     	
									       <td style="border: 1px solid #808080;padding:3px;text-align: right"> 
										
										    <span t-esc="doc.get_amt_by_code(cat,s)"/>
                                            
										
									        </td>
									        
                                            
									      </t>
									     </t>
                                        
                                        
								        </t>
                                        <tr></tr>
								</tr>
									    

								      
										
									
										
									
                                    
                                
									
								
								
                                  
                            
								 
								
								

								
									
								    
								


                               

								<tr>
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;"  align="center">
									Total Aug.
								</td>
								<t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<th style="border: 1px solid #808080;padding:3px;text-align: right" align="right">
									<span t-esc="s.get_total(s,'ALW')"/>
								</th>
								</t>
								</tr>

								<tr>
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									Brut
								</td>
                                <t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<td style="border: 1px solid #808080;padding:3px;text-align: right">
									<span t-esc="doc.get_amt_by_code('Salaire Brut Total',s)"/>
								</td>
								</t>
								</tr>

                                
								<t t-foreach="doc.get_deduction_rules('DED')" t-as="deduction">
										<tr>
										<td style="border: 1px solid #808080;padding:3px;text-align: center" align="center">
											<span t-esc="deduction"/>
										</td>
										</tr>
									
									
								</t>
								
								<tr>
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									Total Déd.
								</td>
								<t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<td style="border: 1px solid #808080;padding:3px;text-align: right" align="right">
									<span t-esc="s.get_total(s,'DED')"/>
								</td>
								</t>
								</tr>

								<tr>
                                
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									Net
								</td>
								<t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<td style="border: 1px solid #808080;padding:3px;text-align: right" align="right">
									<span t-esc="doc.get_amt_by_code('Net à payer',s)"/>
								</td>
								</t>
								</tr>

								<tr>
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									IR
								</td>
								<t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<td style="border: 1px solid #808080;padding:3px;text-align: right">
									<span t-esc="doc.get_amt_by_code('Impôt/Revenu',s)"/>
								</td>
								</t>
								</tr>

								<tr>
								<td style="border: 1px solid #808080;padding:3px;text-align: center ;background-color:#00CC00;" align="center">
									Panier
								</td>
								<t t-foreach="doc.slip_ids.sorted(key=lambda x: x.employee_id.matricule)" t-as="s" >
								<td style="border: 1px solid #808080;padding:3px;text-align: right">
									<span t-esc="doc.get_amt_by_code('Prime Panier',s)"/>
								</td>
							    </t>
								</tr>
								
						</td>
								
							
						

							<!-- To calculate grand total -->
							
                                
								
							    
								
								
								
								
								
								
								

								<!-- <td style="border: 1px solid #808080;padding:3px;text-align: right"> </td> -->
								
								
								<!-- Net pay -->
								
								
								
							  
						
						
					</table>
                   </body>

and the result is here:

image

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.