В печатных формах на наклейках на профиль добавление отображения примечания доп элементов

Material from ADGroupWiki
Go to navigation Go to search

Для отображения в печатных формах в наклейках на профиль примечания из "Установочные (монтажные) и дополнительные элементы" нужно в наклейках на профиль добавить элемент надпись со "значением надписи" в виде следующего скрипта

$(
uses SysUtils, Shared; 

function GetRPRDetDopElemPrim: string;
var
  reil  : TId32L;
  rpr1  : TCycleRPRItem;
  rdiout: TRaskrDetalItem;
  order : TZakaz;
  izd1  : TIzdTyp;
  mt    : TMemTyp;
  idk   : TId32Kol;
begin
  result := ; 
  if not PrintData.RPRDet.ResultPresent then exit;
  rpr1 := PrintData.RPRDet.Items.GetByNum(PrintData.RPRDet.ItemPos);
  if rpr1.DetMode = crpridmDetail then
  begin       
    reil   := rpr1.rei.GetElm(rpr1.detnumx);
    rdiout := gd.RaskrProf.InDetales.GetById(reil.Id);
    if not assigned(rdiout)then exit;
    order  := gd.GetZakazById(rdiout.IdZakaz);
    if not assigned(order)then exit;
    izd1   := order.Izd.Items.GetById(rdiout.IdIzdelie);
    if not assigned(izd1)then exit;
    mt     := izd1.IzdObjItems.Mat.Items.GetById(rdiout.IdMemTyp);
    if not assigned(mt)then exit;    
    if mt.OneDopSource <> odlDopElem then exit;
    idk := GetItem(izd1.DopListAr, mt.OneDopSourceId);
    result := idk.Prim;
  end;  
end;

Также в версиях программы 10.27 и выше доступен более компактный вариант скрипта.

Примечание: функция PD.GetRPRDetDopElemData возвращает структуру (record) типа TId32Kol.

$(
begin
  result := PD.GetRPRDetDopElemData.Prim;
end;
)

или

$(PD.GetRPRDetDopElemData.Prim)