TMaketAktOfp - Тип данных

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

TMaketAktOfp - Тип данных

Сообщение Zver »

Уважаемые коллеги, кто знает, как подключить описание этого типа?

Подробное описание:

Переходим на 44 ядро.

В нашей доработке используется заголовочный файл aDocReq.vih.
В новой версии заголовочного файла у ряда функций, например, DocReq_MakeFO(),
появились параметры типа TMaketAktOfp, которые раньше не использовались.

Так что сейчас при компиляции появляется ошибка: "Ошибка: Ожидалось имя или описание типа".

Для перекомпиляции ресурса необходимо подключить описание этого типа.
Программист-самоучка
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: TMaketAktOfp - Тип данных

Сообщение edward_K »

вам нужен файл ofprecs.vpp - ищите его в frm, если нет пишите в ТП, чтобы включили его в состав исходников форм.

Код: Выделить всё

//------------------------------------------------------------------------------
//                                                      (c) корпорация Галактика
// Галактика 5.80 - модуль "Платежный календарь"
// Определение Глобальных для ОФП переменных as Record
//------------------------------------------------------------------------------

#ifndef __OFPRECS_VPP__
#define __OFPRECS_VPP__
// инф.из SoprHoz

// всего записей - 10

// Ошибки
type TLastError = record
  sName : string;
  wType : word;   // ceNoError            - 0 без ошибок
                  // ceWarningWithCorrect - 1 предупреждение без прерывания (самокорекция)
                  // ceWarningNoCorrect   - 2 предупреждение без прерывания (пропускание без коррекции)
                  // ceWarningWithBreak   - 4 предупреждение с прерыванием  (критическое)
                  // ceError              - 5 ошибка (критическое с остановкой)
end;

// идентификаторы маркера
Type mrkRec = record
  lAdr  : LongInt;
  sName : String;
  wCount: #__TypeNumPick__;
end;

type TMaketDocReq = record
    wAlg_wRegim
  , wAlg_dInput
  , wAlg_dBegPlat
  , wAlg_dEndPlat
  , wAlg_doSumma
  , wAlg_cKatOrg
  , wAlg_cKatStroy
  , wAlg_cCO
  , wAlg_cStBud
  , wAlg_cCurator
  , wAlg_cPurpose
  , wAlg_wComment
  , wAlg_cNalog   : word;
end;

type TMaketAktOfp = record
    wAlg_wRegim
  , wAlg_dInput
  , wAlg_dFirst
  , wAlg_dDoc
  , wAlg_doSumma
  , wAlg_cKatOrg
  , wAlg_cKatStroy
  , wAlg_cCO
  , wAlg_cStBud
  , wAlg_cCurator
  , wAlg_cPurpose
  , wAlg_wComment
  , wAlg_cNalog
  , wAlg_wVidPlat  : word;
end;

type TMaketGroup = record
    wFieldsAlg     : longint;
    wAlg_wPrior
  , wAlg_dInput
  , wAlg_dBegPlat
  , wAlg_dEndPlat
  , wAlg_dFirst
  , wAlg_dDoc
  , wAlg_doSumma
  , wAlg_cKatOrg
  , wAlg_cKatStroy
  , wAlg_cCO
  , wAlg_cStBud
  , wAlg_cCurator
  , wAlg_cPurpose
  , wAlg_wComment
  , wAlg_cNalog
  , wAlg_wVidPlat  : word;
    Descr          : tDescr;
    DesGr          : tDesGr;
    cDogovor
  , cAppDog
  , cCalPlan
  , cBaseDoc
  , cCredit
  , cDocReq
  , cGroup         : comp;
end;

type TMaketBySoprHoz = record
    wFieldsAlg        : longint;
    Descr             : tDescr;
    DesGr             : tDesGr;
    wAlg_wBySH
  , wAlg_wVidPlat
  , wAlg_wVidPlat_DO
  , wAlg_wStatus
  , wAlg_wStatus_DO
  , wAlg_wPrior
  , wAlg_wPrior_DO
  , wAlg_dInput
  , wAlg_dInput_DO
  , wAlg_dFirst
  , wAlg_dFirst_DO
  , wAlg_dDoc
  , wAlg_dDoc_DO
  , wAlg_doSumma
  , wAlg_doSumma_DO
  , wAlg_cKatOrg
  , wAlg_cKatOrg_DO
  , wAlg_cKatStroy
  , wAlg_cKatStroy_DO
  , wAlg_cCO
  , wAlg_cCO_DO
  , wAlg_cStBud
  , wAlg_cStBud_DO
  , wAlg_cCurator
  , wAlg_cCurator_DO
  , wAlg_cPurpose
  , wAlg_cPurpose_DO
  , wAlg_wComment
  , wAlg_wComment_DO
  , wAlg_cAktSum        : word;
    wAlg_cGroup
  , wAlg_cGroup_DO
  , wAlg_cAktSum_Rashod
  , wAlg_cAktSum_Prihod : comp;
end;

type TClearInfo = record
  TiDkGal   : word;
  dDoc      : date;
  Direct    : word;
  ClearType : word;
  MeanType  : word;
  MeanType2 : word;
  cPlatMean : comp;
  cPlatMean2: comp;
  cVal      : comp;
  Summa     : double;
end;

// для промежуточного хранения инф. о ПС
type TSaldo = record
  cSaldo   : comp;
  cModel   : comp;
  MeanType : word;
  cPlatMean: comp;
  cVal     : comp;
  SumIn    : double;
  SumOut   : double;
  dDoc     : date;
end;

// -----------------------------------------------------------------------------
type TTuneFObyDO = record
  Title       : string;   // заголовок (инт.просмотра, печатных форм отчетов)
  Name        : string;   // название настройки
  wMode       : word;     // режим - пока всегда = cgMode_MakeNew
  // настройка
  cTune       : comp;     // UserDeskRep.nRec - может пригодиться для поз-ния
  nReport     : word;
  cSortLeafs  : comp;     // сортировка листьев
  cTuneLevels : comp;     // ссылка на настройки
  ItogoExists : boolean;  // есть доп.нулевой уровень UserDeskRep.ResWord[9]
  ItogoName   : TName;    // его название UserDeskRep.ResName[9]

  // множественные фильтры
  OpenKauKatOrg     : word; // 1 - раскрывать иерархию организаций
  OpenKauKatOrgNum  : word; // кол-во раскрываемых уровней, 0 - все
  OpenKauFpCO       : word; // 1 - раскрывать иерархию ЦО
  OpenKauFpCONum    : word; // кол-во раскрываемых уровней, 0 - все
  OpenKauFpStBud    : word; // 1 - раскрывать иерархию статей
  OpenKauFpStBudNum : word; // кол-во раскрываемых уровней, 0 - все
  OpenKauGroupDO    : word; // 1 - раскрывать иерархию Групп ДО
  OpenKauGroupDONum : word; // кол-во раскрываемых уровней, 0 - все
  //
  Filter
  , FltDO
  , FltDog    : word;
  DateBeg
  , DateEnd   : date;
  Direct      : word;
  StatusDO    : word; // ссылка при одиночном выборе
  StatusNDO   : word; // количество выбранных записей в фильтре
  DOType      : word; // тип заявки (для реестра заявок)
  KatOrgDO    : comp; // ссылка при одиночном выборе
  KatOrgNDO   : word; // количество выбранных записей в фильтре
/*
  AktCO       : comp;
  AktCON      : word;
  AktBaseDoc  : comp;
  AktBaseDocN : word;
  AktDogovor  : comp;
  AktDogovorN : word;
  AktCurator  : comp;
  AktCuratorN : word;
*/
end;

// -----------------------------------------------------------------------------
// настройка ФО (для построения деревьев, отчетов по ним)
type TTuneFO = record
  Title         : string; // заголовок (инт.просмотра, печатных форм отчетов)
  ColumnVisible : word;
  ResName       : tName_x20; // наименования колонок
  // настройка
  cTune       : comp; // UserDeskRep.nRec - может пригодиться для поз-ния
  nReport     : word;
  IsArchived  : word; // архив или не архив
  cModel      : comp; // UserDeskRep.ResComp[6]

  cFpPeriodT  : comp; // тип периода планирования UserDeskRep.ResComp[14]
  cFpPeriodTU : comp; // верхий тип для выбранного типа периода
  cFpPeriod   : comp; // период планирования UserDeskRep.ResComp[8];
  cSortLeafs  : comp; // сортировка листьев
  cTuneLevels : comp; // ссылка на настройки UserDeskRep.ResComp[9]
  cDiapSum    : comp; // диапазоны сумм UserDeskRep.ResComp[11],
  cCatZadolj  : comp; // категории задолженности UserDeskRep.ResComp[13]
  cPrcZadolj  : comp; // диапазоны задолженности UserDeskRep.ResComp[15]

  HasStBudAn  : boolean; // есть уровень с ан-кой статей UserDeskRep.ResWord[10]
  SumByReason : boolean; // расчет сумм только по основаниям
  isDivideGr  : boolean; // разделять уровни группировки при печати Excel-отчета UserDeskRep.ResWord[11]
  ItogoExists : boolean; // есть доп.нулевой уровень UserDeskRep.ResWord[9]
  ItogoName   : TName;   // его название UserDeskRep.ResName[9]
  cTreeVal    : comp;    // валюта дерева //UserDeskRep.ResWord[6]
  // для заявок
  isByRecType : boolean; // фильтр по модулю (из которого запускается отчет)
  RecType     : word;    //

  OpenKauKatOrg     : word; // 1 - раскрывать иерархию организаций
  OpenKauKatOrgNum  : word; // кол-во раскрываемых уровней, 0 - все
  OpenKauFpCO       : word; // 1 - раскрывать иерархию ЦО
  OpenKauFpCONum    : word; // кол-во раскрываемых уровней, 0 - все
  OpenKauFpStBud    : word; // 1 - раскрывать иерархию статей
  OpenKauFpStBudNum : word; // кол-во раскрываемых уровней, 0 - все
  OpenKauGroupOfp   : word; // 1 - раскрывать иерархию Групп ФОб
  OpenKauGroupOfpNum: word; // кол-во раскрываемых уровней, 0 - все
  OpenKauObjBuild   : word; // 1 - раскрывать иерархию объект строительства
  OpenKauObjBuildNum: word; // кол-во раскрываемых уровней, 0 - все
  OpenKauStZatr     : word; // 1 - раскрывать иерархию статья затра
  OpenKauStZatrNum  : word; // кол-во раскрываемых уровней, 0 - все
// установленный фильтр
  Filter      : word;
  Filter2     : word;
  UnFilter    : word;
  DateFormBeg : date;
  DateFormEnd : date;
  DateBeg     : date;
  DateEnd     : date;
  FactBeg     : date;
  FactEnd     : date;
  InputBeg    : date;
  InputEnd    : date;
  AktDirect   : comp;
  DocType     : word; // тип заявки (для реестра заявок)
  AktStatus   : word;
  AktPrior    : word;
  AktPriorN   : comp;
  AktTypePlat : word;
  AktKatNotes : comp; // ссылка при одиночном выборе
  AktKatNotesN: word; // количество выбранных записей в фильтре
  AktKontr    : comp;
  AktKontrN   : word;
  AktStBud    : comp;
  AktStBudN   : word;
  AktCO       : comp;
  AktCON      : word;
  AktBaseDoc  : comp;
  AktBaseDocN : word;
  AktDogovor  : comp;
  AktDogovorN : word;
  AktCurator  : comp;
  AktCuratorN : word;
  AktGroupOfp : comp; // множественный выбор
  AktGroupOfpN: word; //
  AktAktSum   : comp; // множественный выбор
  AktAktSumN  : word; //
  AktcAktSum  : comp; // множественный выбор
  AktcAktSumN : word; //
  AktKatDoc   : comp; // множественный выбор
  AktKatDocN  : word; //
  AktKauBudW  : word; // WKAU Фильтр по аналитике бюджетирования
  AktKauBud   : comp; // CKAU
  AktKauBudN  : word; // NKAU
  AktKatStroy : comp; // множественный выбор
  AktKatStroyN: word; //
  AktInvestor  : comp; // множественный выбор
  AktInvestorN : word; //
  StZatr       : comp; // множественный выбор статья затрат
  StZatrN      : word; //
  ObjBuild     : comp; // множественный выбор объект строительства
  ObjBuildN    : word; //

  FopPsLikv   : word;
  FopMeanType : word;
  FopPlatMean : comp;
end;

// Настройка ПК
type TTunePK = record

  cTune       : comp;        // cUserDeskRep
  nReport     : word;
  _Version    : word;
  StatusFop   : word;        // статус Фоп

  isValTar    : boolean;     // валюта группы

  cValGroup   : comp;        //
  sValGroup   : string[6];   //

  ViaSpAttr   : boolean;     // проходим по разноске
  HasUserPM   : boolean;     //         группа ПС
  HasAktOfp   : boolean;     //         ФО
  HasPeriods  : boolean;     // строим ПК по периодам (не по дням)
  HasDates    : boolean;     // есть уровень с датами
  DateLevel   : word;        // N уровня с датой
  LastDateLevel: word;       // последний уровень с датами (дата или вид периода)
  HasVidPeriod: boolean;     // есть уровень с видами периодов
  levVidPeriod: word;        //
  cPeriodType : comp;        // тип периода (если не перевыбрали - из настр.)
  cPeriodTypeU: comp;        // верхий тип для выбранного типа периода
  cPeriod     : comp;        // период
  NumPeriods  : word;        // число периодов
  levMaxPeriod: word;        // номер последнего уровня, на котором есть период
  PeriodHasDays : boolean;   // есть уровень с днями
  SumFormat   : String;
  NumSorts    : word;        // число уровней сортировки листьев
  NumLevels   : word;        // число уровней группировки
  levDate     : word;
  levPlatMean : word;
  levVidPM    : word;
  levVal      : word;
  cModel      : comp;
  HasSpecif   : boolean;     // отображать спецификацию в ПК
  Name        : string;      // название настройки
  AllRest     : boolean;     // остатки по всем ПС
  PsInOwnVal  : boolean;     // отображение остатков по ПС в валюте ПС
  wMode       : word;        // режим - пока всегда = cgMode_MakeNew

  cDiapSum                   // диапазоны сумм UserDeskRep.ResComp[11],
  , cCatZadolj               // категории задолженности UserDeskRep.ResComp[13]
  , cPrcZadolj               // диапазоны задолженности UserDeskRep.ResComp[15]
              : comp;
  OpenKauKatOrg     : word; // 1 - раскрывать иерархию организаций
  OpenKauKatOrgNum  : word; // кол-во раскрываемых уровней, 0 - все
  OpenKauFpCO       : word; // 1 - раскрывать иерархию ЦО
  OpenKauFpCONum    : word; // кол-во раскрываемых уровней, 0 - все
  OpenKauFpStBud    : word; // 1 - раскрывать иерархию статей
  OpenKauFpStBudNum : word; // кол-во раскрываемых уровней, 0 - все
  OpenKauGroupOfp   : word; // 1 - раскрывать иерархию Групп ФОб
  OpenKauGroupOfpNum: word; // кол-во раскрываемых уровней, 0 - все

// 1- сформировать новый; 0- показать старый
  // фильтры
  Filter      : word;
  UnFilter    : word;
  BegDate     : date;
  EndDate     : date;
  AktTypePlat : word;
  AktKatNotes : comp; // ссылка при одиночном выборе
  AktKatNotesN: word; // количество выбранных записей в фильтре
  AktKontr    : comp; // ссылка при одиночном выборе
  AktKontrN   : word; // количество выбранных записей в фильтре
  AktKontrGr  : comp; //
  AktStBud    : comp; //
  AktStBudN   : word; //
  AktCO       : comp; //
  AktCON      : word; //
  AktCurator  : comp; // множественный выбор
  AktCuratorN : word; //
  AktDogovor  : comp; // множественный выбор
  AktDogovorN : word; //
  AktBaseDoc  : comp; // множественный выбор
  AktBaseDocN : word; //
  AktGroupOfp : comp; // множественный выбор
  AktGroupOfpN: word; //
  AktPrior    : comp; // множественный выбор
  AktPriorN   : word; //
  AktKatDoc   : comp; // множественный выбор
  AktKatDocN  : word; //
!  AktStatus    : word; // множественный выбор
!  AktStatusN   : word;

  FopDirect   : word;
  FopStatus   : word;
  FopPsLikv   : word;
  FopMeanType : word;
  FopPlatMean : comp;
  AktKauBudW  : word;// WKAU Фильтр по аналитике бюджетирования
  AktKauBud   : comp;// CKAU
  AktKauBudN  : word;// NKAU
  ClearingPay : word;// Финоперации - все - исполненные - фактические

end;

// команды локального меню ПК
type TOfpPKCommands = record // ofpconst.inc cgOfp_com-константы
    comChangeDate           // перенос даты
  , comChangePS             // замена ПС
  , comChangeStat           // изм.статуса Фоп
  , comFormPlatDoc          // форм.плат.док-та
  , comRecountSaldo         // пересчет остатков
  , comCloseDay             // закрытие дня/откат
  , comMoveToArc            // перенос в архив
  , comCompare              // сравнение с моделью
  , comCompareOld: boolean; // сравнение с ОРП (старый вариант)
end;

// для взаимодействия ПК с договором
type TOfpDog = record
    wModul     : word; // модуль
    wTypePlat  : word; // Вид платежа
    wDirect    : word; // 0 - выбирать все документы, 1 - только на продажу, 2 - только на закупку
    cDogovor   : comp; // договор
    cAppDogovor: comp; // доп.согл.
    cCalPlan   : comp; // ПКП
    // поля из Договора
    cProg      : comp; // назначение
    cKontr     : comp; // контрагент
    cCO        : comp; // ЦО
end;

#end //__OFPRECS_VPP__
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

Re: TMaketAktOfp - Тип данных

Сообщение Zver »

Эдвард, большое спасибо за присланный текст исходного файла.
Файл с таким названием в папке FRM у нас был, но в нём нет описания необходимой структуры.
Заменил содержание файла на присланное вами, помогло.
Программист-самоучка
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

Re: TMaketAktOfp - Тип данных

Сообщение Zver »

Видимо проблема глубже.
После замены исходного кода заголовочного файла Vip\ofprecs.vpp в нём пропало описание типа TMaketOFP,
который используется в других файлах, например F_OFP.vil.
Похоже, что надо писать в ТП.
Программист-самоучка
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: TMaketAktOfp - Тип данных

Сообщение edward_K »

Не обнаружил в этом файле такого словосочетание - похоже вы архивы от патчей не распаковали - в этом и проблема.
Не советовал бы вам подключать весь vil. Гораздо проще запускать с указанием имени компоненты - тогда проверка параметров будет выполняться, по тому что есть в подключенных ресах. Последний что у меня есть от 14.03.2013 8190 байт.
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

Re: TMaketAktOfp - Тип данных

Сообщение Zver »

Эдвард, действительно использовалась старая версия файла OFP.vil. Заменил на правильную.

Перехожу к новым ошибкам :), возникающих при перекомпиляции.
Программист-самоучка
Ответить