Необходимо разработать печатную форму накладной на отпуск в производство с итогами по странице, а также возможностью указывать комиссию. Т.к. нужны итоги по странице, то решил использовать FastReport, а т.к. комиссии в потоке нет, то создавать поток через свой интерфейс. FRM:
Код: Выделить всё
.LinkForm 'AktSpis_FR' Prototype is 'MANUFNAKL'
.NameInList 'Акт на списание из производства (FastReport)'
.{
.begin
  RunInterface(AktSpisFRReport, KATSOPRNREC);
  MANUFNAKL.fExit;
end.
.{
.if EXISTNAMELONG
.else
.end
.{
.}
.}
.}
.endformКод: Выделить всё
TABLE STRUCT LOCAL KOMISSIA "Комиссия"(
  DOLZ   : STRING
, NAME   : STRING
);
Interface AktSpisFRReport;
create view mainView
var
  nrecsopr : string;
  com : Commission;
  kolkom : word;
as select * from KATSOPR, SPSOPR, KATMC, KOMISSIA, KATED, KATMOL
where ((
    comp(nrecsopr)   == KATSOPR.NREC
And KATSOPR.CMOLFROM == KATMOL.NREC
And KATSOPR.NREC     == SPSOPR.CSOPR
And SPSOPR.CMCUSL    == KATMC.NREC
And KATMC.CED        == KATED.NAME
));
parameters
  nrecsopr;
datastream MainStream
  (
    [NameOrg]      sGetTune('MyOrg');
    [NUMSOPR]      KATSOPR.NSOPR;
    [DATSOPR]      KATSOPR.DSOPR;
    [FROM_FIO_MOL] KATMOL.NAME;
    table SPSOPR
    (
      [SOPRNREC] SPSOPR.NREC;
      [NAME_TOVAR] KATMC.NAME;
      [NOMENKL]  KATMC.BARKOD;
      [ED_IZM]  KATED.NAME;
      [PRICE]  SPSOPR.PRICE;
      [KOL_FACT]  SPSOPR.KOL;
      [SUMMA] SPSOPR.PRICE * SPSOPR.KOL;
    );
    table KOMISSIA
    (
      [DOLZKOM] KOMISSIA.DOLZ;
      [FIOKOM]  KOMISSIA.NAME;
    );
  )
end;
  handleEvent
    cmInit:
    {
      delete all KOMISSIA;
      LoadVipInterface(com);
      com.InitCommission(501);
      com.ClearSelection;
      com.RunWindowSelection(1);
      if (com.GetSelection <> comp(0))
      {
        if (com.GetCommissionChairMan)
        {
          insert into KOMISSIA set
            NAME := com.GetComponentFIO(0),
            DOLZ := com.GetComponentPost(0);
        }
        kolkom := com.GetComponentsCount;
        if (kolkom >= 1)
        {
          insert into KOMISSIA set
            NAME := com.GetComponentFIO(1),
            DOLZ := com.GetComponentPost(1);
        }
        if (kolkom >= 2)
        {
          insert into KOMISSIA set
            NAME := com.GetComponentFIO(2),
            DOLZ := com.GetComponentPost(2);
        }
        if (kolkom >= 3)
        {
          insert into KOMISSIA set
            NAME := com.GetComponentFIO(3),
            DOLZ := com.GetComponentPost(3);
        }
        if (kolkom >= 4)
        {
          insert into KOMISSIA set
            NAME := com.GetComponentFIO(5),
            DOLZ := com.GetComponentPost(5);
        }
      }
      //nrecsopr := '100000001B733h';
      if tsOk = GetFirst KATSOPR {};
      RunFReport(MainStream, '', false);
      Abort;
    }
  end;
end.1. Если отчет формировать, то все красиво - предлагается выбрать комиссию, затем форму в FastReport, которая формируется. Если же попытаться отредактировать отчет в FastReport (F4), то все зависает - появляется окошко от frm-ки про формирование отчета и помогает только снятие процесса.
2. Как в самом отчете FastReport сделать, чтоб второй MasterData (с комиссией) печатался в самом конце, после всех итогов? Я итоги по странице печатаю в PageFooter, общие итоги - в ReportSummary.

 там был то подсчет итожков чтобы вверху выводилась цифра и сам бэнд был разворачиваемый
  там был то подсчет итожков чтобы вверху выводилась цифра и сам бэнд был разворачиваемый