Как узнать номер таблицы в базе данных

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

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

Ответить
sol
Постоянный обитатель
Сообщения: 165
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Орловская обл. коммерческая организация

Как узнать номер таблицы в базе данных

Сообщение sol »

по KATDOC.TIDKGAL? Т.е. какая таблица соответствует документу в KATDOC? Вручную понятно как, но может быть есть какая-то функция, автоматизирующая процесс???
LaaLaa

Re: Как узнать номер таблицы в базе данных

Сообщение LaaLaa »

Функции не припомню, но возможно вам поможет следующая таблица значений

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

     case SoprHoz.TiDkGal of
       1..11,17,18,21,22,27,30..33,37..39,
       70,1004,1005,1011,1030,1032 : // финансовые сопроводительные документы
         tbl(PlPor);
       34..36 : // банковские документы и операции с валютой
         tbl(ValutDoc);
       74,75,78,79 : // книга закупок/продаж
         tbl(BookPrZk);
       81..89 : // векселя и кредиты
         tbl(AppVeks);
       12,20,80,28,704 : // Приходы МБП
         tbl(MbpIn);
       13,19,29,703 : // Расходы МБП
         tbl(MbpOut);
       15,16 : // ОС и НМА
         tbl(MoveOs);
       100..103,106,110..114,119,151,
       201..204,206,211,251,
       501..506,508,511..513,521..523,532,551..553, 554, 557,
       600..607,611,612,621,622,630, 632, 700:
         tbl(KatSopr);
       900..920 : // все накладные и акты розничной торговли
         tbl(RzDoc);
       150,160,250,260 : // складские ордера
         tbl(SklOrder);
       41..43,51..53,61..63,68,550, // документы основания
       90..95 :                     // договоры цессии
         tbl(BaseDoc);
       400,401 : // договор, соглашение
         tbl(Dogovor);
       403 :     // ПКП
         tbl(CalPlan);
     end;
или код следующей функции

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

function TKauProcess.FindSoprDoc(TiDk : word; cSoprDoc : comp; var TiDkCor:word) : boolean;
var tmpCor:boolean;
begin
  result  := false;
  tmpCor  := false;
  TiDkCor := 0;

  if cSoprDoc = 0 then Exit;
  case TiDk of
    cgDoc_0001..cgDoc_0011, cgDoc_0017, cgDoc_0018, cgDoc_0021, cgDoc_0022,
    cgDoc_0027, cgDoc_0030..cgDoc_0033, cgDoc_0044, cgDoc_0070,
    cgDoc_1004, cgDoc_1005, cgDoc_1011, cgDoc_1030, cgDoc_1032, cgDoc_1044 : { финансовые сопроводительные документы }
    begin
      result := GetPlPor(cSoprDoc);
    end;
    cgDoc_0071 : { спецификация АВЗ }
    begin
      result := GetBaseFin(cSoprDoc);
    end;
    cgDoc_0034..cgDoc_0036 : { банковские документы и операции с валютой }
    begin
      result := GetValutDoc(cSoprDoc);
    end;
    cgDoc_0037..cgDoc_0039 : { финансовые сопроводительные документы }
    begin
      result := GetPlPor(cSoprDoc);
    end;
    cgDoc_0072, cgDoc_0073, cgDoc_0076, cgDoc_0077 : { счет-фактуры, налоговые накладные }
    begin
      result := GetSchfact(cSoprDoc);
    end;
    cgDoc_0074, cgDoc_0075, cgDoc_0078, cgDoc_0079 : { книга закупок/продаж }
    begin
      result := GetBookPrZk(cSoprDoc);
    end;
    cgDoc_1082..cgDoc_1085, cgDoc_1087, cgDoc_1088,
    cgDoc_0081..cgDoc_0089 : { векселя и кредиты }
    begin
      result := GetAppVeks(cSoprDoc);
    end;
    cgDoc_0181, cgDoc_0183, cgDoc_0185, cgDoc_0186, cgDoc_0189, cgDoc_0190 : { векселя }
    begin
      result := GetVeksl(cSoprDoc);
    end;
    cgDoc_0012, cgDoc_0020, cgDoc_0080, cgDoc_0028, cgDoc_0704 : { Приходы МБП }
    begin
      result := GetMbpIn(cSoprDoc);
    end;
    cgDoc_0013, cgDoc_0019, cgDoc_0029, cgDoc_0703 : { Расходы МБП }
    begin
      result := GetMbpOut(cSoprDoc);
    end;
    cgDoc_0015, cgDoc_0016 : { ОС и НМА}
    begin
      result := GetSpMove(cSoprDoc);
    end;
    cgDoc_0100..cgDoc_0103, cgDoc_0106, cgDoc_0110..cgDoc_0115, cgDoc_0119,
    cgDoc_0151, cgDoc_0201..cgDoc_0204, cgDoc_0206, cgDoc_0210, cgDoc_0211,
    cgDoc_0229, cgDoc_0251, cgDoc_0501..cgDoc_0508, cgDoc_0511..cgDoc_0513,
    cgDoc_0521..cgDoc_0523, cgDoc_0532, cgDoc_0551..cgDoc_0554, cgDoc_0557,
    cgDoc_0559, cgDoc_0600..cgDoc_0606, cgDoc_0611, cgDoc_0612, cgDoc_0621,
    cgDoc_0622, cgDoc_0610, cgDoc_1610, cgDoc_0629, cgDoc_0630, cgDoc_0632,
    cgDoc_0700 : // все накладные и акты
    begin
      result := GetKatSopr(cSoprDoc);
    end;
    cgDoc_0901..cgDoc_0919 : { все накладные и акты розничной торговли }
    begin
      result := GetRzDoc(cSoprDoc);
    end;
    cgDoc_0150, cgDoc_0160, cgDoc_0250, cgDoc_0260, cgDoc_0161, cgDoc_0261,
    cgDoc_0170, cgDoc_0270 : { складские ордера }
    begin
      result := GetSklOrder(cSoprDoc);
    end;
    cgDoc_0041..cgDoc_0043, cgDoc_0051..cgDoc_0053,
    cgDoc_0061..cgDoc_0063, cgDoc_0068, cgDoc_0509, cgDoc_0550, { документы основания }
    cgDoc_0090..cgDoc_0095 :                         { договора цессии     }
    begin
      result := GetBaseDoc(cSoprDoc);
    end;
    cgDoc_0400, cgDoc_0401 : { договор, соглашение }
    begin
      result := GetDogovor(cSoprDoc);
    end;
    cgDoc_0403 : { ПКП }
    begin
      result := GetCalPlan(cSoprDoc);
    end;
    cgDoc_0023 : { платежная ведомость }
    begin
      result := GetPlatVed(cSoprDoc);
    end;
    cgDoc_0024 : { ведомость депонирования }
    begin
      result := GetVedDeponir(cSoprDoc);
    end;
    {$IFDEF __UKS__}
    cgDoc_0453 : { план строительства }
    begin
      result := GetPlStroy(cSoprDoc);
    end;
    {$IFDEF __UKS__}
    cgDoc_0454: { объект строительства }
    begin
      result := GetKatStroy(cSoprDoc);
    end;
    {$ENDIF}
    cgDoc_0455 : { вариант плана строительства }
    begin
      result := GetPlanVar(cSoprDoc);
    end;
    {$ENDIF}
    cgDoc_0801..cgDoc_0804, cgDoc_0810: { заявки }
    begin
      result := GetDocReq(cSoprDoc);
    end;
    cgDoc_0821, cgDoc_0822:
    begin
      result := GetAktOfp(cSoprDoc);
    end;
    cgDoc_0823: { финансовые операции }
    begin
      result := GetClearing(cSoprDoc);
    end;
    cgDoc_1050..cgDoc_1058:
    begin
      result := GetNalRegSp(cSoprDoc);
    end;
    {$IFDEF __YUKOS_UKS__}
    cgDoc_0705..cgDoc_0706 : // ввод строительства в экусплуатацию (перевод ОС, НМА)
    begin
      result := GetVvStroy(cSoprDoc);
    end;
    {$ENDIF}
    cgDoc_0750 : // регистрационные листы автотранспорта
    begin
      result := GetPutLst(cSoprDoc);
    end;
    cgDoc_0613 : // акт изменения целевого назначения МТР
    begin
      result := GetMtrAct(cSoprDoc);
    end;
    else
    begin
      tmpCor:=true;
    end;
  end; { case }

  if result then
    TiDkCor:= 1 //true
  else
    TiDkCor:= 0;//false

  if tmpCor then
    TiDkCor:= 2; //this cgDoc_... is not found;

end;
Ответить