Выбивает на строке OpenADOTables
Код:
procedure TDM.DataModuleCreate(Sender: TObject);
begin
ConfigParams := TParams.Create;
LoadConfig(ExtractFilePath(Application.ExeName)+'config.ini');
BuildConnection;
OpenADOTables
end;
Вот здесь например, при создании новой карточки:
Код:
procedure TfrmCardsIn.NewInvoiceIn;
var
mR : integer;
begin
SetEnebledControl(ATYPE);
DM.tblInvoiceIn.Append;
DM.tblInvoiceIn['TYPE'] := ATYPE;
case ATYPE of
0:
begin
DM.tblInvoiceIn['XDSTID']:= '99999';
DM.tblInvoiceIn['XSRCID']:= '0';
DM.tblInvoiceIn.FieldByName('GUID').Value := DM.tblInvoiceMax.FieldByName('AMAX').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('SERIES').Value := DM.tblMaxNumber.FieldByName('SERIES').AsString ;
DM.tblInvoiceIn.FieldByName('ANUMBER1').Value := DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('ANUMBER2').Value := DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('ADATE').Value := StrToDate(DM.ConfigParams.FindParam('WorkDate').Value);
DM.tblInvoiceIn.FieldByName('DSTAMOUNT').Value := 0;
DM.tblInvoiceIn.FieldByName('SRCAMOUNT').Value := 0;
end;
1:
begin
DM.tblInvoiceIn['XDSTID']:= '0';
DM.tblInvoiceIn['XSRCID']:= '0';
DM.tblInvoiceIn.FieldByName('GUID').Value := DM.tblInvoiceMax.FieldByName('AMAX').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('SERIES').Value := DM.tblMaxNumber.FieldByName('SERIES').AsString ;
DM.tblInvoiceIn.FieldByName('ANUMBER1').Value := DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('ANUMBER2').Value := DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('ADATE').Value := StrToDate(DM.ConfigParams.FindParam('WorkDate').Value);
DM.tblInvoiceIn.FieldByName('DSTAMOUNT').Value := 0;
DM.tblInvoiceIn.FieldByName('SRCAMOUNT').Value := 0;
DM.tblMinNumber.Parameters.ParamByName('@SELFDIRID').Value := DM.tblInvoiceIn.FieldByName('XDSTID').AsString;
DM.tblMinNumber.Open;
DM.tblInvoiceIn.FieldByName('SERIES').AsString := DM.tblMinNumber.FieldByName('SERIES').AsString;
DM.tblInvoiceIn.FieldByName('ANUMBER1').AsInteger := DM.tblMinNumber.FieldByName('ANUMBER').AsInteger;
DM.tblInvoiceIn.FieldByName('ANUMBER2').AsInteger := DM.tblMinNumber.FieldByName('ANUMBER').AsInteger;
DM.tblMinNumber.Close
end;
2:
begin
DM.tblInvoiceIn['XDSTID']:= '0';
DM.tblInvoiceIn['XSRCID']:= '99999';
DM.tblInvoiceIn.FieldByName('GUID').Value := DM.tblInvoiceMax.FieldByName('AMAX').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('SERIES').Value := DM.tblMaxNumber.FieldByName('SERIES').AsString ;
DM.tblInvoiceIn.FieldByName('ANUMBER1').Value := 0;//DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('ANUMBER2').Value := 0;//DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('ADATE').Value := StrToDate(DM.ConfigParams.FindParam('WorkDate').Value);
DM.tblInvoiceIn.FieldByName('DSTAMOUNT').Value := 0;
DM.tblInvoiceIn.FieldByName('SRCAMOUNT').Value := 0;
end;
3:
begin
DM.tblInvoiceIn['XDSTID']:= '0';
DM.tblInvoiceIn['XSRCID']:= '99999';
DM.tblInvoiceIn.FieldByName('GUID').Value := DM.tblInvoiceMax.FieldByName('AMAX').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('SERIES').Value := DM.tblMaxNumber.FieldByName('SERIES').AsString ;
DM.tblInvoiceIn.FieldByName('ANUMBER1').Value := 0;//DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('ANUMBER2').Value := 0;//DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger + 1;
DM.tblInvoiceIn.FieldByName('ADATE').Value := StrToDate(DM.ConfigParams.FindParam('WorkDate').Value);
DM.tblInvoiceIn.FieldByName('DSTAMOUNT').Value := 0;
DM.tblInvoiceIn.FieldByName('SRCAMOUNT').Value := 0;
end;
end;
Mr := frmEditCard.ShowModal;
if mR = mrOK then
begin
try
DM.tblInvoiceIn.Post;
case ATYPE of
0: DM.qryInvoiceIn.Requery;
1: DM.qryInvoiceReplace.Requery;
2: DM.qryInvoiceRemove.Requery;
3: DM.qryInvoiceSpoil.Requery;
end;
//(dsCards.DataSet).Refresh;
dsCards.DataSet.Locate('GUID',DM.tblInvoiceIn['GUID'],[])
except
on E: Exception do
begin
ShowMessage(E.Message);
DM.tblInvoiceIn.Cancel
end
end;
end
else DM.tblInvoiceIn.Cancel
end;
Вот содержание файла Config.ini:
PictureName = T:\Programs\Other\Kachie\123.JPG
WorkDate = 01.01.2012
ZPArcDir = D:\!Kachie\ZPArxiv
ZPDir1 = D:\!Kachie\zarpl
ZPDir2 = D:\!Kachie\Rabzar
TabelDir = D:\!Kachie\TabelArxiv
BankListDir = D:\!Kachie\zarpl\Spiski\001
TabelPrintFileName = Табель
SERVER = SERVER-GET\SQL
DATABASE = ORPP
Там была проблема в таблицах. В ComboBox как-то DataSource сбились. Вот только теперь выдает "Exception class EDatabaseError with message: Circular datalinks are not allowed" при создании формы.
В DataSource не тот Table указал. Теперь все заработало! Спасибо!