%head :scss body{ font-size:10px; font-family:arial, sans-serif; .table{ border-collapse:collapse; font-size:10px; font-family:arial, sans-serif; td,th{ border:1px solid gray; } } .table{ td{ padding:2px 5px; } } } .clear{ clear:both; } .table{ width:100%; } td.numeraire{ white-space: nowrap; text-align:right; } -price_line_block = @price_document.price_line_block %body %div{:style => "float:right;margin-top:3cm;font-size:13px;margin-bottom:2cm;padding-right:2cm;"} -if @price_document.label == "Bon de livraison" -@bl = true -particular_doc = price_line_block.particular_send -else -particular_doc = price_line_block.particular_bill -if particular_doc.organisation? %strong=particular_doc.organisation -if particular_doc.organisation? %br =particular_doc.com_name %br -if particular_doc.firstname? or particular_doc.name? =particular_doc.civilite =particular_doc.firstname =particular_doc.name %br =particular_doc.address_2 -if particular_doc.address_3? %br =particular_doc.address_3 %br =particular_doc.cp =particular_doc.city %br =particular_doc.country .clear %p{:style => "float:right;padding:0;margin:0;text-align:right;position:relative;top:-20px;"} %span{:style => "font-size:14pt;font-weight:bold;text-transform:uppercase;"} =@price_document.label %span{:style => "font-weight:normal;"}=@price_document.d_number -if @price_document.ref_element_type == "PCustomerSheet" and @price_document.ref_element -bc = @price_document.ref_element.price_documents.where(:cc_label => "Bon de commande").order("date DESC, created_at DESC").first -if bc %br Ref commande : =bc.d_number %p Date de commande : =l price_line_block.creation_date %p Semaine de livraison souhaitée : =l price_line_block.wish_date, :format => "%V" (du =l price_line_block.wish_date.beginning_of_week au =l price_line_block.wish_date.end_of_week ) %p Nombre de colis : =price_line_block.nbr_ship -if price_line_block.customer_ref? %p Référence commande personnalisée : =price_line_block.customer_ref -if particular_doc -range_part = price_line_block.particular_send -range_part = range_part.particular_ref if range_part.particular_ref %p Jour(s) de fermeture : -oras = [] -OpenRange.where(:id => (OpenRange.all.ids - range_part.open_ranges.ids)).each do |ora| -oras << ora.name =oras.join(", ") %table.table %thead %tr %th Référence %th Désignation %th Qté [U] %th Qté [Kg] -if !@bl %th P.U. HT [Kg] %th TVA -if !price_line_block.remise_ecole_ok %th Remise %br Marché %br annuel -if price_line_block.ca_remise_qte_ok %th Remise %br Qté livrée %br ="/cde" -if price_line_block.ca_remise_pre_order_ok %th Remise %br commande %br anticipée %th Remise %br comptant -else %th Remise %br école %th P.U. Net %th Montant HT %tbody -price_line_block.price_lines.each do |price_line| %tr %td =price_line.ref %td =price_line.title %td.numeraire =price_line.qte %td.numeraire =price_line.qte * price_line.weight_u -if !@bl %td.numeraire =number_to_currency price_line.ca_price_u_kg_ht %td.numeraire =price_line.tva_account_value.to_s+"%" -if !price_line_block.remise_ecole_ok %td.numeraire =price_line.discount_market_percent.to_s+"%" %br =number_to_currency price_line.ca_discount_market_ht -if price_line_block.ca_remise_qte_ok %td.numeraire =price_line.discount_qte_percent.to_s+"%" %br =number_to_currency price_line.ca_discount_qte_ht -if price_line_block.ca_remise_pre_order_ok %td.numeraire =price_line.discount_delay_percent.to_s+"%" %br =number_to_currency price_line.ca_discount_delay_ht %td.numeraire =price_line.discount_comptant_percent.to_s+"%" %br =number_to_currency price_line.ca_discount_comptant_ht -else %td.numeraire =price_line.discount_ecole_percent.to_s+"%" %br =number_to_currency price_line.ca_discount_ecole_ht %td.numeraire =number_to_currency price_line.ca_price_u_kg_net_ht %td.numeraire =number_to_currency price_line.tot_amount_ht -if !@bl %table.table{:style => "width:auto;float:right;border-top:0;"} %tr %th{:style => "border-top:0;"} Poids total :    %td.numeraire{:style => "border-top:0;"} ="#{price_line_block.weight_tot}Kg" %tr %th Total remises U. HT : %td.numeraire =number_to_currency price_line_block.cumul_discount_ht %tr %th Total HT %td.numeraire =number_to_currency price_line_block.tot_lines_ht -if price_line_block.tot_discount_ht != 0.0 %tr %th Remise commerciale exceptionnelle (HT ="(#{price_line_block.ct_tot_discount_percent}%)" %td.numeraire =number_to_currency price_line_block.tot_discount_ht %tr %th Frais de port HT =#"(TVA #{price_line_block.fdp_tva_rate}%)" %td.numeraire =number_to_currency price_line_block.tot_fdp_ht %tr %th Total HT Net %td.numeraire =number_to_currency price_line_block.tot_amount_ht %tr %th Total TVA %td.numeraire =number_to_currency price_line_block.tot_amount_tva %tr %th Total TTC %td.numeraire =number_to_currency price_line_block.tot_amount_ttc %tr %th   %th %tr %th Net à payer %td.numeraire =number_to_currency price_line_block.tot_amount_ttc -else %table.table{:style => "width:auto;float:right;border-top:0;"} %tr %th{:style => "border-top:0;"} Poids total :    %td.numeraire{:style => "border-top:0;"} ="#{price_line_block.weight_tot}Kg" -if !@bl %br %br %table.table{:style => "width:auto;"} %tr %th Taux %br TVA %th Montant HT Net %th Montant TVA -tva_rates = {} -price_line_block.price_lines.each do |pl| -tva_rates[pl.tva_account_value.to_s] = tva_rates[pl.tva_account_value.to_s] || {:montant => 0.0, :tva => 0.0} -tva_rates[pl.tva_account_value.to_s][:montant] += pl.tot_amount_ht.to_f - (pl.tot_amount_ht.to_f * ((price_line_block.ct_tot_discount_percent and price_line_block.ct_tot_discount_percent != 0.0) ? (price_line_block.ct_tot_discount_percent.to_f/100) : 0.0)) -tva_rates[pl.tva_account_value.to_s][:tva] += pl.tot_amount_tva.to_f - (pl.tot_amount_tva.to_f * ((price_line_block.ct_tot_discount_percent and price_line_block.ct_tot_discount_percent != 0.0) ? (price_line_block.ct_tot_discount_percent.to_f/100) : 0.0.to_f)) -tva_rates[price_line_block.fdp_tva_rate.to_s] = tva_rates[price_line_block.fdp_tva_rate.to_s] || {:montant => 0.0, :tva => 0.0} -tva_rates[price_line_block.fdp_tva_rate.to_s][:montant] += price_line_block.tot_fdp_ht -tva_rates[price_line_block.fdp_tva_rate.to_s][:tva] += price_line_block.tot_fdp_tva -tva_rates.each do |key, value| %tr %td ="#{key}%" %td =number_to_currency value[:montant] %td =number_to_currency value[:tva] -if @bl %div{:style => "width:60%;"} =simple_format price_line_block.bl_comment -if !@bl %br %br %table.table{:style => "width:auto;"} %tr %th Échéance %th Mode de paiement %th Montant net %tr %td =price_line_block.payment_delais.to_i jours %td =price_line_block.p_payment_type.name if price_line_block.p_payment_type %td =number_to_currency price_line_block.tot_amount_ttc .clear