SDK Live: Difference between revisions

From eStream Software
Line 71: Line 71:


===Delphi===
===Delphi===
* Example-AR_PM
====Example-AR_PM====
<syntaxhighlight lang="delphi">
<syntaxhighlight lang="delphi">
procedure TfmMain.dxbb_ARPMClick(Sender: TObject);
procedure TfmMain.dxbb_ARPMClick(Sender: TObject);

Revision as of 08:17, 9 October 2015

Introduction

This is the "Bridge" direct live linking between External Program with SQL Accounting

Pros

  1. Can Live or Batch Update.
  2. Can do action such as New, Edit & Delete.
  3. About 95% of modules is covered.
  4. Can direct Retrieve/Get Information From Connected Database.
  5. Support GST.
  6. Free of Charge for End User. (Freeware)

Cons

  1. Must had SQL Accounting installed & running.
  2. Must self do checking else error prompt will unable to “capture”.
  3. Only supported in IE for JScript

Documentation

Linking Flow

Steps

  1. Install sqlaccounting
  2. Create Sample Data
  3. Login (username & password is Admin)
  4. Double click the SQLSDK.chm file
  5. Click Application Object | Business Objects
  6. Click the word "here"
  7. Click Yes
  8. In the list Look for (example)
- AR_IV -> Customer Invoice
- AR_CN -> Customer Credit Note
- AP_PI -> Supplier Invoice
- SL_ID -> Sales Invoice
- ST_AJ -> Stock Adjustment

Problems

With CHM File

A. Problem with opening CHM Help files?

  1. Right click the chm file & select Properties
  2. At General tab Click Unblock button.
  3. Click Apply | Ok.

B. Still can't open CHM file?

  1. Login SQL Accounting
  2. Click Tools | Options
  3. Click Register & follow wizard
  4. Exit SQL Accounting
  5. Login SQL Accounting
  6. Run CHM File

With Compiler

If you compiler had error may try add the esfw10.dll file under the SQL Accounting\bin folder

Extra Notes

Login Database Profile

  • Can use the "Common.Agent.RO" Report Objects to get the Profile info.
  • Then use the cdsProfile Dataset
- CompanyName Field
- Remark Field
  • Refer to "How to retrieve data from Customer Invoice Listing Report?" on chm
- Can by pass the Steps 5 Spool Parameters

Example External Program

Delphi

Example-AR_PM

procedure TfmMain.dxbb_ARPMClick(Sender: TObject);
var lMain, lKO, lBizApp, lBizObj, lDocKey, V : Variant;
    i : integer;
begin
  lBizApp := CreateOleObject('SQLAcc.BizApp');
  try
    lBizObj := lBizApp.BizObjects.Find('AR_PM');
    lMain   := lBizObj.DataSets.Find('MainDataSet');
    lKO     := lBizObj.DataSets.Find('cdsKnockOff');

    lBizObj.New;
    lMain.FindField('DOCKEY').Value        := -1;
    lMain.FindField('DocNo').Value         := '--PM Test--';
    lMain.FindField('CODE').Value          := '300-A0001';
    lMain.FindField('DocDate').Value       := '28 Aug 2016';
    lMain.FindField('PostDate').Value      := '28 Aug 2016';
    lMain.FindField('Description').Value   := 'Payment for A/c';
    lMain.FindField('PaymentMethod').Value := '320-000';
    lMain.FindField('DocAmt').AsFloat      := 1060;
    lMain.FindField('Cancelled').Value     := 'F';
    lMain.FindField('CHANGED').Value       := 'F';

    V := lBizApp.CreateOleVariantArray(2);
    V.SetItem(0, 'IV'); //Document Type is either is IV or DN for Sales & PI or SD for Purchase
    V.SetItem(1, '--IV Test--');  //Document Number

    if lKO.Locate('DocType;DocNo', V.AsOleVariant, False, False) then
      begin
        lKO.Edit;
        lKO.FindField('KOAmt').value       := 500;
        lKO.FindField('KnockOff').AsString := 'T';
        lKO.Post;
      end;

    lBizObj.Save;
    MessageDlg('AR_PM-DocNo : ''--PM Test--'' Posted...', mtInformation, [mbOK],0);
  finally
    lBizObj.Close;
  end;
end;

See also

  1. SQL Accounting Linking
  2. SQL XML Import
  3. SQL Text Import