begin

/*
Некоторые команды, которые используеются внизу
^H - температура печати, ставить не ниже 10
^AD - означает термопечать, для термотрансферной ставить AT
^D1 - отрезка после каждой этикетки, если не нужна, то поставить 0
^E28 - положение в миллиметрах отрезчика относительно датчика положения бирки. 28 мм для бирки высотой 40 мм
*/

  select
      S.NAME,
      Cast (DOR.DATE_OUT as DATE),
      DOS.BARCODE_READ,
      DOS.BARCODE,
      D.DOC_NUM,
      substring(TT.NAME from 1 for 27) as TOVAR_LINE1,
      substring(TT.NAME from 28 for 54) as TOVAR_LINE2,
      substring(TT.NAME from 55 for 82) as TOVAR_LINE3,
case
    when dor.sclad_kredit_id = 1005 then '1'
    when dor.sclad_kredit_id = 10012 then '2'
    when dor.sclad_kredit_id = 1007 then '3'
    when dor.sclad_kredit_id = 10011 then '4'
    when dor.sclad_kredit_id = 1008 then '5'
    else '0'
  end as sklad_num
  from DOC_ORDER_SERVICES DOS
  left join DOCS_ORDER DOR on DOR.ID = DOS.DOC_ORDER_ID
  left join DOCS D on D.DOC_ID = DOR.DOC_ID
  left join TOVARS_TBL TT on TT.TOVAR_ID = DOS.TOVAR_ID
  left join CONTRAGENTS C on C.CONTR_ID = D.CONTRAGENT_ID
  left join SCLADS S on S.ID = DOR.SCLAD_KREDIT_ID
  where DOS.ID = :DOS_ID
  into :SCLAD_KREDIT_NAME,  :DATE_END, :BARCODE_READ, :BARCODE, :DOC_NUM, :TOVAR_LINE1,
       :TOVAR_LINE2,:TOVAR_LINE3,:SKLAD_NUM;

  EZPL_TEXT = '^Q38,3
^W56
^H5
^P1
^S2
^AD
^C1
^R8
~Q+8
^O1
^D0
^E17
~R255
^XSET,ROTATION,0
^L
Dy2-me-dd
Th:m:s
Dy2-me-dd
Th:m:s
BQ,82,106,2,6,50,0,0,' || :BARCODE || '
AD,8,194,1,1,0,0,'|| :TOVAR_LINE1 || '
AD,8,232,1,1,0,0,'|| :TOVAR_LINE2 || '
AD,8,270,1,1,0,0,'|| :TOVAR_LINE3 || '
AD,122,28,1,2,0,0,' || :BARCODE_READ || '
AD,24,156,1,1,0,0,Заказ:' || :DOC_NUM ||'/'|| :DATE_END || '
AD,66,0,1,1,0,0,' || :SCLAD_KREDIT_NAME || '
AD,392,14,2,3,0,0,' || :SKLAD_NUM || '
E
';

  suspend;
end