Құжаттама/Құрылғыларды баптау

Әкімшіге

PDF пішімдері

pdf_forms.xml конфигурациясы, HTML үлгілері және тапсырысқа арналған дайын PDF пішімі.

PDF пішімі — қосымша құжат деректерін қоятын HTML үлгісі. PDF Android құрылғысында жасалады. Оны ашып көруге немесе басқа қосымша арқылы жіберуге болады.

Деректер Chunk Templates үлгі тілі арқылы қойылады. Нұсқаулықта өрістер, сүзгілер, шарттар, циклдер және есептеулер сипатталған.

Дайын мысал

Тапсырыс үшін PDF пішімінің мысалы бар архивті пайдаланыңыз.

ФайлМақсаты
pdf_forms.xml«Тапсырыс» пішімі бар PDF пішімдер тізімі.
order_summary_kk.htmlТауарлар, жеңілдіктер мен қорытынды сомалар көрсетілетін HTML үлгісі.
exchange-profile.xmlexchange.xml файлына қосылатын профиль.
README.txtОрнату қадамдары.

Жүктелген HTML файлындағы тегтер қосымша PDF жасаған кезде нақты мәндермен ауыстырылады.

Пішімдер тізімі — pdf_forms.xml

<?xml version="1.0" encoding="utf-8"?>
<pdf-forms>
  <document name="order">
    <forms>
      <form>
        <presentation>Тапсырыс</presentation>
        <file>order_summary_kk.html</file>
      </form>
    </forms>
  </document>
</pdf-forms>
Элемент немесе атрибутМақсаты
<document name="…">Пішім қолжетімді құжат. Тапсырыс үшін order, төлем үшін invoice, стор-чек үшін storecheck көрсетіледі.
<forms>Осы құжатқа арналған пішімдер тізімі.
<form>Бір пішім.
langҚосымша интерфейсінің тіл коды. Мысалы, ағылшын тілі үшін en, украин тілі үшін uk. Міндетті емес.
<presentation>Пайдаланушы таңдау кезінде көретін пішім атауы.
<file>HTML файлының кеңейтімімен бірге жазылған нақты атауы.

Бірнеше пішім үшін <forms> ішіне жеке <form> жазбаларын қосыңыз. pdf_forms.xml толық тізімді анықтайды. Жоғарыдағы мысалда бір тапсырыс пішімі бар. Басқа пішімдерді сақтау үшін олардың жазбаларын сол файлға қосып, тиісті үлгілерді де жіберіңіз.

Қосымша алдымен lang мәні интерфейстің ағымдағы тіліне сәйкес пішімдерді таңдайды. Ондай пішімдер болмаса, lang көрсетілмеген пішімдер алынады. Олар да болмаса, осы құжаттың барлық пішімі көрсетіледі. Бір пішім болса, бірден қолданылады. Бірнешеу болса, қосымша таңдау ұсынады.

Қазақша үлгіде lang көрсетілмеген. Сондықтан оны қазақша мәтінді құжат жасау үшін басқа тілдегі интерфейспен де пайдалануға болады. Тізімде интерфейс тіліне сәйкес пішімдер болса, солар бірінші таңдалады.

HTML үлгісі

HTML үлгісін UTF-8 кодтауымен сақтаңыз. Стильдерді файлдың ішінде қалдырыңыз. Үлгіні құрылғыда pdf_forms.xml файлының қасына орналастырыңыз. <file> элементіне қалта жолынсыз файл атауын жазыңыз.

Тегтер мәндерді құжатқа қояды.

<h1>№ {$doc.number|html} тапсырыс</h1>
<p>Күні: {$doc.date_localized|html}</p>
<p>Клиент: {$doc.customer_name|html}</p>
Тапсырыс деректерінің тобыМысалдар
doc{$doc.number}, {$doc.date_localized}, {$doc.customer_name}, {$doc.sum}, {$doc.discount}.
doc.customerКлиент анықтамалығының өрістері. Мысалы, {$doc.customer.code} немесе қосымша мекенжай өрісі.
weКомпания деректемелері. {$we.company}, {$we.address}, {$we.registration}, {$we.billing}, {$we.comment}.
tableЦиклде оқылатын құжат жолдары.
row.productАғымдағы жолдағы тауардың анықтамалық өрістері. Мысалы, {$row.product.measure_unit}.

Өріс атаулары құжат схемасына және анықтамалықтарға сәйкес келуі керек. Мысалы, клиенттің қосымша мекенжайы анықтамалықта тиісті өріс болса ғана қолжетімді.

Құжат жолдары

<table>
  <thead>
    <tr>
      <th>Тауар</th>
      <th>Саны</th>
      <th>Коэффициент</th>
      <th>Бағасы</th>
      <th>Сомасы</th>
    </tr>
  </thead>
  <tbody>
    {% loop in $table as $row %}
    <tr>
      <td>{$row.name|html}</td>
      <td>{$row.count|number}</td>
      <td>{$row.koef|number}</td>
      <td>{$row.price|decimal}</td>
      <td>{$row.sum|decimal}</td>
    </tr>
    {% onEmpty %}
    <tr>
      <td colspan="5">Тапсырыста тауарлар жоқ</td>
    </tr>
    {% endloop %}
  </tbody>
</table>

count — енгізілген сан. koef — бір енгізілген өлшем бірлігіндегі негізгі бірліктер саны. price — негізгі бірліктің бағасы. Мысалы, әрқайсысында алты данасы бар екі қаптама count=2 және koef=6 болып беріледі.

html мәтінді HTML-ге дайындайды. number санның соңындағы артық нөлдерді алып тастайды, ал decimal соманы үтірден кейін екі таңбамен көрсетеді. Сүзгілер, бос деректемелерді тексеру және жолдарды нөмірлеу Үлгі тілі — Chunk бетінде түсіндірілген.

Жіберу және тексеру

  1. Мысал архивін ашыңыз.

  2. pdf_forms.xml және order_summary_kk.html файлдарын тікелей құрылғыға арналған outbox қалтасына орналастырыңыз. Басқа пішімдер қолданылса, олардың жазбаларын алдымен pdf_forms.xml файлына біріктіріңіз.

  3. exchange-profile.xml мазмұнын өз exchange.xml файлыңыздағы <palm-client> элементінің ішіне қосыңыз.

    <exchange name="pdf_forms" view="PDF пішімдерін жүктеу">
      <get>
        <files>
          <file name="pdf_forms" files="pdf_forms.xml"/>
          <file name="order_summary_pdf" files="order_summary_kk.html"/>
        </files>
      </get>
    </exchange>
    
  4. Құрылғыда Download exchange file, содан кейін PDF пішімдерін жүктеу әрекетін орындаңыз. Алмасу журналын тексеріңіз.

  5. Компания деректемелерін толтырып, тауарлары бар тапсырысты ашыңыз. Құжат мәзірінен Preview таңдаңыз.

  6. Өрістерді, санды, бағаларды, жеңілдіктерді және қорытынды сомаларды тексеріңіз. Ұзын атаулары мен жолдары көп құжаттың беттерге бөлінуін де қарап шығыңыз.

  7. Share арқылы PDF файлын қажетті қосымшамен жіберіп көріңіз.

PDF файлында құжатты жасау сәтіндегі мәндер сақталады. Құжатты өңдегеннен кейін файлды қайта жасаңыз. Қосымша әрекеттерінің атаулары ағылшын интерфейсіндегі қалпында берілген.

PDF жасалмаса

БелгісіНені тексеру керек
Preview және Share қолжетімсізpdf_forms.xml жүктелді ме, XML дұрыс па және осы құжаттың пішімі бар ма.
Қажетті пішім тізімде жоқҚұжаттың name мәні, <form> жазбалары және lang бойынша таңдау тәртібі.
Пішімді дайындау қатесі немесе мазмұны босHTML файлы жүктелді ме, атауы <file> мәніне сәйкес пе және кеңейтімі .html ме.
Өрістер бос немесе {$…} тегтері қалып қойғанТег атаулары, құжат деректері, деректемелер және жүктелген анықтамалық өрістері. Міндетті емес өрістердің әдепкі мәнін немесе шартын тексеріңіз.
PDF жасалды, бірақ ашылмайдыҚұрылғыда PDF көруге арналған қосымша бар ма.
Санның дәлдігі дұрыс емесnumber сүзгісі немесе _display тегі қолданылса, тиісті баған баптауы.