برنامج المحاسبة unicenta

  • al_rian

برنامج المحاسبة unicenta هو برنامج اوبن سورس فقمت بالتعديل عليه واردت ان ان اقوم بالتعديل على الفاتورة ولكن اردت ان اقوم بإضافة جدول داخل الفاتورة حتى تصبح اكثر جمالية ولكن ام اعرف كيف اقوم باضافته

فارجو مساعدتي

الكود الخاص بالفاتورة:

"<?xml version="1.0" encoding="UTF-8"?>

<!--

Openbravo POS is a point of sales application designed for touch screens.
Copyright (C) 2007-2008 Openbravo, S.L.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

-->

<display>
    <line>
        <text align="left" length="10" bold="true">Total.</text>
        <text align="right" length="10" bold="true">${ticket.printTotal()}</text>
    </line>
    <line>
       <text align="center" length="20" bold="true">Thank you.</text>
    </line>
</display>

Printer.Ticket.Logo الريان لتقنية المعلومات للتواصل: 0544978917 Bon Nr: ${pickupid}

        <text align="right" length="25" bold="true">${ticket.printDate()}</text>
<text align="right" length="20" bold="true">التاريخ:</text>

    </line>  


     #if ($ticket.getCustomer())
    <line>

        <text align="left" length="30" bold="true">${ticket.getCustomer().getName()}</text>
 <text align="right" length="10" bold="true">العميل:</text>

    </line>      
    <line>

        <text align="right" length="35" bold="true">${ticket.getCustomer().getTaxid()}</text>
    </line>  
    #end

    #if ($place != "")
    <line>

        <text align="right" length="20" bold="true">${place}</text>
  <text align="right" length="15" bold="true">الطاولة:</text>
    </line>  
    #end
    <line></line>    
    <line>
     <text align ="right" length="10" bold="true">إجمالي</text>
        <text align ="center" length="5" bold="true">xكمية</text>
        <text align ="right" length="10" bold="true">السعر</text>

<text align ="center" length="17" bold="true">الصنف</text>
    </line>      
    <line>
         <text>------------------------------------------</text>
    </line>   

   #foreach ($ticketline in $ticket.getLines())
    <line>

        <text align ="left" length="10" bold="true">${ticketline.printSubValue()}</text>
        <text align ="left" length="5" bold="true">x${ticketline.printMultiply()}</text>

        <text align ="left" length="10" bold="true">${ticketline.printPrice()}</text>



#if ($ticketline.isProductCom()) 
             <text align ="left" length="17" bold="true">*${ticketline.printName()}</text>
         #else
             <text align ="left" length="17" bold="true">${ticketline.printName()}</text>
         #end


    </line> 
    #end

    <line>
         <text>------------------------------------------</text>
    </line>   
    <line>
          <text align="left" length="10" bold="true"></text>
        <text align ="left" length="10" bold="true">${ticket.printArticlesCount()}</text>

عدد الأصناف:

    </line> 

    <line></line> 

<line> </line> 


    <line></line> 
    <line size="1">
        <text align ="right" length="20" bold="true">${ticket.printTotal()}</text>
        <text align ="left" length="16" bold="true">الاجمالي.</text>

    </line>    

    #foreach ($paymentline in $ticket.payments)      
     #if ($paymentline.name == "cash")
    <line></line>     
    <line>
        <text bold="true" align="left">النقدي</text>
    </line>  
    <line>
         <text align ="right" length="20" bold="true">${paymentline.printPaid()}</text>
         <text align="right" length="15" bold="true">المدفوع: </text>

     </line>  
    <line>

        <text align ="right" length="20" bold="true">${paymentline.printChange()}</text>
        <text align="right" length="15" bold="true">المتبقي: </text>
    </line>   
     #end
     #if ($paymentline.name == "cashrefund")
    <line></line>     
    <line>
        <text bold="true">Refund</text>
     </line>
    <line>
        <text align ="right" length="42" bold="true">${paymentline.printTotal()}</text>
    </line>    
     #end
     #if ($paymentline.name == "magcard")
    <line></line>        
    <line>
        <text bold="true">Mag card</text>
    </line>   
     <line>
        <text align ="right" length="42" bold="true">${paymentline.printTotal()}</text>
    </line>    
    <line>
        <text>${paymentline.printCardNumber()}</text>
        <text align ="left" length="22" bold="true">رقم العميل:</text>

    </line>
    <line>
        <text>${paymentline.printExpirationDate()}</text>
        <text align ="left" length="22" bold="true">تاريخ الانتهاء:</text>

    </line>
    <line>
        <text>${paymentline.printTransactionID()}</text>
        <text align ="left" length="22" bold="true">رقم العملية:</text>

    </line>
    <line>
        <text align ="left" length="22" bold="true">Authorization:</text>
        <text>${paymentline.printAuthorization()}</text>
    </line>
     #end  
     #if ($paymentline.name == "magcardrefund")
    <line></line>     
    <line>
        <text bold="true">Mag card refund</text>
    </line>    
    <line>
        <text align ="right" length="42" bold="true">${paymentline.printTotal()}</text>
    </line>    
     #end
     #if ($paymentline.name == "cheque")
    <line></line>     
    <line>
        <text bold="true">Cheque</text>
    </line>    
    <line>
        <text align ="right" length="42" bold="true">${paymentline.printTotal()}</text>
    </line>    
     #end
     #if ($paymentline.name == "chequerefund")
    <line></line>     
    <line>
        <text bold="true">Cheque refund</text>
    </line>    
    <line>
        <text align ="right" length="42" bold="true">${paymentline.printTotal()}</text>
    </line>    
     #end
     #if ($paymentline.name == "paperin")
    <line></line>     
    <line>
        <text bold="true">Note</text>
    </line>    
    <line>
        <text align ="right" length="42" bold="true">${paymentline.printTotal()}</text>
    </line>    
     #end
     #if ($paymentline.name == "paperout")
    <line></line>     
    <line>
        <text bold="true">Note Refund</text>
    </line>    
    <line>
        <text align ="right" length="42" bold="true">${paymentline.printTotal()}</text>
    </line>    
     #end
     #if ($paymentline.name == "free")
    <line></line>     
    <line>
        <text bold="true">مجاني</text>
    </line>    
    <line>
        <text align ="right" length="42" bold="true">${paymentline.printTotal()}</text>
    </line>    
     #end
     #if ($paymentline.name == "debt")
    <line></line>     
    <line>
        <text bold="true">آجل</text>
    </line>    
    <line>
        <text align ="right" length="42" bold="true">${paymentline.printTotal()}</text>
    </line>    
     #end 
     #end 

    <line></line>
    <line>
        <text>${ticket.printUser()}</text>
        <text align="left" length="15" bold="true">خدمت بواسطة: </text>

    </line> 

    <line></line>            
    <line>
        <text align="center" length="42" bold="true">شكرا لك لزيارتنا.</text>
    </line>   
</ticket>

#foreach ($paymentline in $ticket.payments)      
 #if ($paymentline.name == "cash")
<opendrawer/>
 #end
 #if ($paymentline.name == "cashrefund")
<opendrawer/>
 #end  
#end

"

اريد ان اضع الصنف والسعر والكمية والاجمالي في جدول كما في الصورة

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

السلام عليكم،

لم تطرح أي شيء يمكن العمل أو التعديل عليه؟ هل تقصد أن علينا أن نحمل مصدر unicenta للتعديل عليه؟

وعليكم السلام ورحمة الله وبركاته،

لقد قمت بتحديث الموضوع لتوضيح أكثر

وشكرا لاهتمامك

الجواب باختصار : لا يمكن

هذا البرنامج يستخدم محرك سكربتات خاص xml وهذا لا يدعم كل وسوم html بالتالي لا يمكن تنسيق جدول او div او border

يمكنك استخدام الرموز ---- ||| لرسم اشكال مضلعة ولكنك لن تحصل على جدول منتظم اذا كانت اسماء الاصناف متفاوتة في الطول

.

السبب في أن المطور لم يضمن وسوم html المعقدة هو ان هذه "التذكرة" تطبع عن طريق الطابعات الحرارية

اذا كنت تريد طباعة الفواتير على طابعات الحبر فالأمر أسهل بكثير

شكرا لك اخي الكريم.

ولكن اليس هناك اي حل آخر؟

لطباعة receipt او فواتير A4؟

لطباعة receipt