Professional Documents
Culture Documents
Customizing Softone - The Black Book Ver.2012a
Customizing Softone - The Black Book Ver.2012a
2
1 .......................................................................... 7
A. .............................................................................................. 8
A.1 (Tabs) .................................................................................................................................................8
A.2 - ............................................................................................................................................9
A.3 Grids ............................................................................................................................................ 10
A.4 Hyperlinks .................................................................................................................................................... 11
A.5 ......................................................................................................................................... 11
A.6 SoftOne Spreadsheet .................................................................................................................................. 12
B. ..................................................................................................................... 13
B.1 .................................................................................................................................... 14
B.2 Pop Up Forms .............................................................................................................................................. 16
B.3 Buttons Hyperlink Commands .................................................................................................................. 20
B.4 Editors .......................................................................................................................................................... 24
2 .......................................................................................................... 26
A. ..................................................................................................................... 27
B. ........................................................................................................ 28
.1 ....................................................................................................................................... 28
B.2 ......................................................................................................................................... 29
B.3 ................................................................................................................................... 30
B.4 ................................................................................................................................... 31
B.5 ............................................................................................................................ 31
B.6 ................................................................................................................................ 31
C. ............................................................................................ 32
C.1 Bands .................................................................................................................. 32
C.2 ............................................................................................................... 34
3 ......................................................................................... 37
. ........................................................................................................ 38
.1 .................................................................................................................................... 38
.2 ....................................................................................................................... 39
.3 ......................................................................................................................... 39
B. ..................................................................................................................... 40
B.1 .............................................................................................................................................. 40
B.2 ...................................................................................................................................... 41
B.3 ........................................................................................................................ 42
B.4 ...................................................................................................................................... 43
B.5 (Fonts) ............................................................................................................................... 44
B.6 ........................................................................................................................... 45
B.7 ........................................................................................................................... 45
C. Word ................................................................................................................................ 46
C.1 ....................................................................................................................................... 46
C.2 ........................................................................................................................................ 46
C.3 ............................................................................................................................................. 47
C.4 .......................................................................................................................................... 48
C.5 Report Footer............................................................................................................................................... 49
C.6 .............................................................................................................................................. 50
C.7 memo ......................................................................................................................... 51
D. Excel ................................................................................................................................ 52
D.1 ....................................................................................................................................... 52
D.2 ........................................................................................................................................ 52
E. ......................................................................................................................................... 53
E.1 ....................................................................................................................................... 53
E.2 ........................................................................................................................................ 53
E.2 ..................................................................................................................................... 53
G. & ................................................................................. 59
G.1 .............................................................................................................................. 59
G.2 .............................................................................................................................. 61
4 Alerts ................................................................................................................. 62
A. (Events) & .................................................................................................... 63
.1 Events ............................................................................................................................................. 63
A.2 Events ........................................................................................................................................... 64
.3 Events ......................................................................................................................................... 65
.4 ........................................................................................................... 66
B. (Actions) ...................................................................................................................... 67
B.1 ................................................................................................................................. 67
B.2 (Warning Message) ................................................................................................. 67
B.3 (Exception Message) ..................................................................................................... 67
B.4 ...................................................................................................................................................... 67
C. M ...................................................................................................................... 73
C.1 ....................................................................................................................... 73
C.2 ....................................................................................................................... 74
D. Detail ............................................................................................................................... 75
D.1 Detail ............................................................................................................................... 75
D.2 .................................................................................................................... 76
. Objects .......................................................................................................................................... 83
.1 Object ........................................................................................................... 83
B.2 Object Database View .............................................................................................. 84
B.3 Object ........................................................................................................................ 84
B.4 Object ................................................................................... 85
B.5 Object ................................................................................................................................... 86
C. Virtual Tables................................................................................................................................ 90
C.1 Virtual Table ............................................................................................................................. 90
C.2 Virtual Table ............................................................................................................... 90
8 ............................................................. 104
A. Remote Server ............................................................................................................................ 105
A.1 ............................................................................................................................................ 106
A.2 Remote Server ............................................................................................................................. 107
A.3 SMS Email ............................................................................................................................. 108
D. ......................................................................................................... 118
C. ............................................................................................................................. 155
D. Script ......................................................................................................... 156
E. Case Studies ............................................................................................................................... 157
Case Study 1 .................................................................................................................................................... 157
Case Study 2 .................................................................................................................................................... 158
Case Study 3 .................................................................................................................................................... 159
Case Study 4 .................................................................................................................................................... 161
Case Study 5 .................................................................................................................................................... 162
Case Study 6 .................................................................................................................................................... 163
....................................................................................... 202
A. Sodtype ........................................................................................................................ 203
B. Sosource ...................................................................................................................... 204
C. (X.SYS) .............................................................................................. 205
D. (acCommands) ...................................................... 206
E. Editor Commands....................................................................................................................... 208
F. Editors ..................................................................................................................... 209
G. Origin ( ) ............................................................................... 211
H. Commands Object ............................................................................ 212
I. Commands rowser Object................................................................................ 215
J. ................................................................................................. 218
A.
A.1 (Tabs)
A.2 -
A.3 - Grids
A.4 Hyperlinks
A.5
.6 SoftOne Spreadsheet
B.
B.1
B.2 Pop Up Forms
B.3 Buttons Hyperlink Commands
B.4 Editors
A.
(Views) .
, Database Views Virtual Tables.
default
. , . , ,
Tabs, Grids Buttons.
T , (.
, A, T ) .
A.1 (Tabs)
(Tabs) /
.
( 1). Form
drag n drop ( 2).
,
(E
).
A1
A2
A.2 -
, .
Object. 3
(Fast entry, , , .) .
(E Z , Z ).
drag n drop.
( , , Horizontal / Vertical Tab Order, )
( 4).
Caption
Floating .
, .
.
A3
A4
A.3 Grids
Grids , detail objects( 5).
grids ( 6).
Caption grid
AA Size
. 2
99.
100 , ,
( 7).
Floating grid .
drag n drop .
Grid 5.
A5
A6
A7
10
A.4 Hyperlinks
hyperlink (). To
hyperlink .
hypelinks :
( )
(. Z, N ).
. E A
, .
ABC Costing hyperlinks.
O hyperlinks .
H hyperlinks
. O
-
.
A8
A.5
,
.
( List Box).
5.
11
A9
A10
12
B.
(), (. , , )
,
Design( 1).
.
( B2 & B3).
.
""
, ( B2).
B1
B2
B3
13
B.1
( 4) , grids
.
(Pop Up Forms, Buttons Editors).
B4
Grid
grid.
()
grid ()
grid
grid
grid
grid
Grid
14
1
.1.1
button 5. Tab
, .
. Caption
, Forced Value Default Value
. Display Size grids.
B5
.1.2 Form
button Form
(.buttons) .
drag and drop.
, ,
.
Form 4,
.
.
.
15
B.2.1
object Form
. ,
.
Panels, , Tabs Grids , ,
.
B.2.2
Grid pop up form (
), pop up , Pop Up Form
Grid. 6 MYPOP grid
.
B6
16
1
B.2.3
1
/ custom pop up .
,
.
Form
(. MyPopUp) . ( B7)
(Panels)
Panel.( B8)
grids memo( )
Grid ,
Grid PopUp form ( B9).
,
( B10).
B7
B8
17
B9
B10
18
1
2
custom pop up button .
, Button,
Header .
Button, (. Num01) ,
Editor xcmd:20001. (. 1 - Buttons)
Javascript B5.
H OPENSUBFORM MYPOPUP.
: sub form NUM01,
Editor , XCMD:MYPOPUP ( B6).
B5
B6
19
B7 Buttons
B8 Hyperlinks
B.3.1
commands :
pop up , (. .2.4)
object , . XCMD:SALDOC ( ) (. 1)
objects.
H, I.
B.3.2
command :
, integer
o
o , editor
XCMD:cmd (cmd command)
o command button Decimals 1
( B7).
o command hyperlink Decimals ( B8).
RUNB ()
o .
:
RUN_cmd=Caption - Hyperlink
RUNB_cmd=Caption - Button
B9
20
B.3.3
1
buttons . 1 button 2
.
( 9)
tab Script
commands.
B10
21
B11
B12
B13 Buttons
22
1
2
button , .
MTRL
virtual table.
Editor ,
XCMD:20001( ) Decimals 1( B14).
Script Javascript,
click Button .
function EXECCOMMAND(cmd)
{
if (cmd==20001)
{
X.WARNING(Button Clicked);
}
}
B14
23
B.4 Editors
Editors Objects,
. Editor $
Boolean ( / ) .
Editor Commands
$DT
&
$TIME
( /)
$PASSWORD
Password ( )
$Y
Boolean ( checkbox)
$YN
$WEBPAGE
$PRINTERS
Windows
$DATERANGE
$TIMERANGE
$COLOR
Softone
$ONECOLOR
Windows
=256^2Red * 256^1Green * 256^0Blue
$FILENAME
$MASKEDIT
$RECURRENCE
(Scheduler) Softone
$MEMOEDIT
Grid memo
$LIST:OBJECT
(),
( SOLIST
SOLISTLNS)
$XRUN(D[Par1,Par2,Par3])
Par1=<visible>,
Par2=<exefilename>,
Par3=<file params>
:
( 1 extra
) :
$XRUN(D[0,C:\Xplorer.exe,"/"+CUSEXTRA.VARCHAR01])
server,
softone server.
24
1
B.4.2 Editor Attributes
Editors, , Views Strings( ITEM),
, , . ,
.
.
Editor Attributes
Extra Where
SALDOC(W[COMPANY=:X.SYS.COMPANY])
Login
Filter
MTRMARK(F[CCCMYFIELD;SODTYPE=1;51])
CCCMYFIELD=1 SODTYPE=51
CUSTOMER(W[CCCS1=1],M,R[CODE])
CCC
.
( Editor
)
Selector
SERIES(U[FPRMS;BUSUNITS;=FPRMS;BUSUNITS@]
FPRMS BUSUNITS
FPRMS BUSUNITS . @
,
. @,
.
CCCMYTABLE(H[CCCMYOBJECT])
CCCMYTABLE Link Object
CCCMYOBJECT.
Where Login Company
SALDOC(W[CCCField in (1,2,3)],C)
String List
$CCCMYSTR (W[1,2,3])
string CCCMYSTR 1,2,3
SALDOC(J[A.FINDOC])
M,R
W[]
25
A.
B.
B.1
B.2
B.3
B.4
B.5
B.6
C.
C.1 Bands
C.2
26
2 -
A.
(Browsers) .
(Runtime) ,
.
button Design
( 1).
.
1
buttons ,
. " "
. . ,
, "" , ( )
.
.
2 object .
, (Tab
) .
27
2 -
B.
.1
tab ( 1) drag-and-drop
.
.
,
SQL, .
Object View (. 5.2).
2.
28
2 -
B.2
,
3.
3
:
.
, , , .
, : ,
.
Editable,
.
, :
o
o .
o (. )
o (.
, ).
4
.
29
2 -
B.3
5 :
:
. , ( :2)
:
,
Quick View: ,
. , Quick View
, .
,
.
: .
,
3 .
:
.
:
, .
: <Drive letter>:\Documents and Settings\ <Windows user >\Application Data\SoftOne\Temp
Fast entry: .
.
30
2 -
B.4
, ,
( 6).
:
B.5
Tab
( 7). , :
.
.
,
.
(.
),
.
,
.
, Excel,
Excel.
: ,
.
B.6
tab
, .
31
2 -
C.
C.1 Bands
(Bands). tab
. C1
detail .
C1
C2
C3
32
2 -
C4
C5
33
2 -
C.2
2 band (detail) .
query .
:
,
query SQL ( C6).
:Object.ID, Object
(.SALDOC) ID (.FINDOC).
button
SQL, tab ( C7).
editors button
(C.1).
C5
C6
C7
34
2 -
2 band
.
Tab editors
FISCPRD PERIOD , ( C9).
Tab 2 ,
.
C10.
C8
C9
35
2 -
C10
36
3
A.
A.1
A.2
A.3
.
B.1 , B.2
B.3 , B.4
.5 (Fonts), .6
.7 -
C. Word
C.1 , C.2
C.3 , C.4 , C.5 Report Footer
C.6 , C.7 memo
D. Excel
D.1 , D.2
E.
E.1 , E.2
E.3
F. Crystal Reports
F.1 , F.2 Crystal
G. &
G.1 , G.2
37
.
,
( , , , .)
. .
.1
(Image Draft) (
1). ( ) Image Draft.
Draft .
button Dot Matrix ,
button Defaul values ( 2).
Xplorer.cfg
Softone User Profile Directory, button .
Xplorer.cfg
directories.
2
38
.2
E-mail: format
e-mail (attachment)
"" . e-mail
client .
.3
, :
(Word): MS Word
(Excel): MS Excel
: POS
39
B.
:
B.1
( B1.1):
Header ( ): header
(. , )
():
(. ).
Footer ( ): footer
(. , ).
B1.1
40
B.2
, :
: .
drag and drop( B1).
: () ( B2)
: (
). B3 / .
B1
B2
B3
B4
B5
41
B.3
( 6):
: / .
: , , .
: , , .
button .
: .
: .
: .
background:
background :
: .
footer .
: . footer.
. :
B6
42
B.4
( ) ( 7).
( ),
, (footer) .
footer ,
.
,
( 8).
B7
B8
43
B.5 (Fonts)
Draft
draft printer commands.
printer commands,
. printer command button
( ).
( 9). printer command
. , printer command 12CPI ,
.
draft .
. 12CPI 96 .
,
.
B9
Image
image button .
. , (fonts)
( 5).
Font font .
( )
.
Font
.
font . , font
.
font font
.
: , default (Lucida
Console 8pt).
44
B.6
,
. ( ) button
10.
.
:
,
.
.
10, : MTRLINES.QTY1>10
.
. 11
.
pack .
.
B10
B11
B.7
,
( 11).
.
, $MTRLINES.MTRL;0
$MTRLINES.MTRL;
B11
45
C. Word
C.1
Word Microsoft Word,
.
Word .( C1.1)
, Word button .( C1.2)
C1.1
C1.2
C.2
Word header, footer.
header Word.
Word
{@ @}( C2.1). SoftOne
{@
(hypelink) Table: .
C2.2
(MTRLINES).
@} .
C2.1
C2.2
.
(textbox) Word, .
46
C.3
Word .
hyperlink {@ .
:
TABLE:< >,< 1> AND < 2> OR < 3>,
:
{@ - Edit Hyperlink.
Address
.. 807:
TABLE:MTRLINES,MTRCATEGORY=807, ( C3.1).
, .
,
.
, (.
).
.
AND
OR. C3.2 807
SODTYPE 52( ).
C3.1
C3.2
47
C.4
. :
FIELD:<.> ; n ( n )
(MTRLINES.PRICE) .
Address, (;)
. ( C4.2)
C4.1
C4.2
48
(text box) ( )
.
. ( C5.1)
(hyperlink)
XTR:LP_FOOTER (Address). ( C5.2)
C5.1
C5.2
49
C.6
Word
:
(hyperlink) (Address)
IMAGE:$MTRLINES.MTRL;0 ( C6.2)
:. .
, (
C6.3).
C6.1
C6.2
C6.3
50
C.7 memo
word memo ( ),
(enters line breaks), word ,
enter( ). , line break ,
( C7.1)
line break char(13)&char(10) char(11).
REPLACE . REPLACE(REPLACE(A.REMARKS,char(13),''),char(10),char(11)) ( C7.2)
C7.3.
C7.1
C7.2
C7.3
51
7 Extra Tools
D. Excel
D.1
Excel Microsoft Excel,
.
Excel .( D1)
, Excel button .( D2)
D1
D2
D.2
Excel ,
. Word.
Excel
{> <}.
{> (hypelink)
Table: .
D3 (MTRLINES).
<} .
D3
52
7 Extra Tools
E.
E.1
SoftOne.
.( 1)
E1
E.2
.
.
( 2).
button .
,
fonts( Fonts).
E2
E.2
object SoftOne(. )
1.
.
E1
53
F. Crystal Reports
7 Extra Tools
F.1
Crystal Reports Crystal Reports.
crystal pdf file.
Crystal Crystal
Crystal Reports Runtime, SoftOne.
Crystal Report .( F1)
, Crystal button .( F2)
F1
F2
Crystal :
(primary keys)
SoftOne Crystal
.
Crystal Reports
commands, queries
( ).
F.2 Crystal
report File New Standard report
OLE DB(ADO) Microsoft OLE DB Provider for SQL
Server, SQL Server ( F1). ( F2) credentials
Server .
F1
F2
54
7 Extra Tools
F.2.1
Tab Data
panel
( F3). primary keys( F4).
crystal,
.
F3
F4
(Design)
( F5).
F5
55
7 Extra Tools
SoftOne(. FINDOC) Parameter
field, SoftOne.
iFINDOC FINDOC
( F6).
Parameter field .
FINDOC Number.
F6
Parameter field.
Report Selection Formulas Record
iFindoc FINDOC.FINDOC F7.
SoftOne F3.
F7
56
7 Extra Tools
F.2.2 command
command(
AZure) Add command query.
(Command Parameter),
crystal SoftOne.
F8 query ,
(iFINDOC) FINDOC.
Parameter Field command records, query records
( F9).
SoftOne
.
F8
F9
57
7 Extra Tools
Crystal
SoftOne.
, Crystal Reports
.
rpt F10,
Parameter fields section
( F11).
F10
F11
crystal , o
section iFINDOC
SALDOC.FINDOC , F12.
F12
Parameter fields Crystal SoftOne
crystal, crystal
SoftOne,
.
58
G. &
7 Extra Tools
email
pdf .
.
: email
txt .
G.1
( email) Tab
.
, . ( G1)
G1
email :
: .
59
7 Extra Tools
G3.
email
(SALDOC.TRDR_CUSTOMER_EMAIL) ' '
(SALDOC.FINCODE). XBODY,
.
G2
G3
60
7 Extra Tools
G.2
( ) Tab
.
.
Formula for path Formula for file
name.
G4
61
4
Alerts
A. (Events) &
A.1 Events
A.2 Events
A.3 Events
A.4
B. (Actions)
B.1
B.2
B.3
B.4
62
4 - Alerts
A. (Events) &
Alerts
.
interface,
.
(Events) (Actions),
, ..
. ,
.
.1 Events
. (Event)
(On Change).
1 alert ( ITEM.PRICEW)
(ITEM.PRICER) 0,7.
SETVALUE. .
, .
ITEM.PRICER<10
10.
: AND OR,
.
A1
63
4 - Alerts
A.2 Events
.
events Grids :
(On Insert)
A2
64
4 - Alerts
.3 Events
. events :
, (On Locate)
, (On Insert)
Alert ( 3)
, (
4). ,
(SALDOC.TFPRMS<>201).
A3
A4
65
4 - Alerts
.4
.
. , SQL
Text SQL , .
5 504
. ,
504( 6).
A5
A6
66
4 - Alerts
B. (Actions)
Alerts ,
, .
:
B.1
(formula) Text.
, .
( log in )
.
E-mail (formula).
E-mail , SoftOne Remote Server,
.
(event) .
B.4
, Alerts .
O , Alerts, :
SQL
SQL (formula) Text.
VB Script
VB script (formula) Text.
Java Script
Java script (formula) Text.
, ,
(formula) Text.
67
5
Database Designer Basic
A. Resource Editor
B.
B.1
B.2 ( )
C.
C.1
C.2
D. Detail
D.1 Detail
C.2
E. String Lists
68
. Resource Editor
, ,
, database views, virtual tables, objects string lists.
Resource Editor,
Report Tools Tools S1 Designer.
, , objects, database views, strings ,
. Resource Editor Design
, version, . 1
designs, , .
, design ,
Designs
( 2).
Resource Editor, (
, , views) .
version design ( 3).
Resource Editor, login ,
versions designs. ( 4)
Log Program Profile Directory,
button , ( XCO)
( S1_Training_ 20110426-132848.log).
, database views constraints .
: designs Custom
Administration cst . designs cst
(, , ) Solution,
, ,
(Demo), Serial Number password.
Solution copyright ( 5).
A1 Resource Editor
A3 Design
A4
A5 custom
70
B.
design .
( PRSN),
.
CCC. 1
.
( 2).
B1
B2
B.1
.
(Editors) .
Editors Editors 1 .
(Editor)
- ( A1)
&
$DT
$TIME
Boolean ( A2)
$Y
71
B.2 ( )
, links
.
,
. ,
(Editor). 3 CCCFAMLSTAT
FAMLSTAT .
, .
.
Editor 1 , Editors Attributes.
B4,
, B5.
B3
B4
B5
72
C. M
designs
.
CCC,
custom .
,
.
C.1
(selectors).
.
:
.
(;).
Tab .. XP_keycolumn.
XP_keycolumn1_ keycolumn2_keycolumnn.
,
Editor ( C1 & C2).
:
selector ,
.
C1
C2
73
C.2
( C2)
/ : $
classic menu.
C2
74
D. Detail
grids detail
Object.
,
detail Object .
D.1 Detail
.
ID PRSN(),
header .
PRSN . ( D1)
CCCCOMPSPL (), Editor
. ( C3)
D1
75
D.2
detail object
object( ), .
button
( D2)
D2
button
( ).
Panel
( D3). Locate statement
locate( PRSN )
D3
. D4 forced
value( ) login ,
:X.SYS.COMPANY.
.
D4
76
D5
grid .
grid drag and drop ( D6)
D6
77
E. String Lists
String Lists ( / / ), editors
. string list
, , , ,....
String List,
Editor NUM01 Object .
Key , Value
( E1).
NUM01 Editor
$CCCWEEKDAYS ( E2).
E3.
E1
E2
E3
78
6
Database Designer Advanced
A. Database Views
A.1 Database View
A.2 Database Views
B. Objects
B.1 Object
B.2 Object Database View
B.3 Object
B.4 Object
B.5 Object
C. Virtual Tables
C.1 Virtual Table
C.2 Virtual Table
D. Report Objects
D.1 Report Object
D.2 Report Object
79
A. Database Views
Database Views :
Editors ( ,
)
Grids .
Objects ( ).
Database View
Locate Object.
, editors .
, Tab
view .
Database View .
query :
SELECT A1.TRDR, A1.CODE, A1.NAME, A1.COMPANY, $NVL(A2.LBAL,0) AS LBAL,
$NVL(A2.LTURNOVR,0) AS LTURNOVR, A1.ISPROSP, A1.ISACTIVE FROM TRDR A1,TRDFINDATA A2
WHERE A1.TRDR=A2.TRDR AND A1.COMPANY=A2.COMPANY AND A1.SODTYPE=13
Create Fields ( A1)
E A2.
,
Editor Database View CCCViewCustomer. ( A3)
A4.
A1
A2
80
A3
A4
A.2.2 Grids
. grid
object .
query :
SELECT A.SOACTION, B.TRDR FROM SOACTION A LEFT OUTER JOIN TRDR B ON A.TRDR=B.TRDR
Create Fields ( A5)
view,
A6.
, SOACTION editor
( A7).
grid .
Grid A8.
A5
A6
81
A7
A8
A.2.3 Objects
database views objects, Database View,
(Objects),
object. Objects.
82
. Objects
Objects (--
). , Alerts .
Object CCC CCC Views.
.1 Object
Object ID ,
object ( ( 1.2).
1.1
1.2
83
EDITOPTIONS = NOINSERT
EDITOPTIONS = NODELETE
EDITOPTIONS = NOINSERT,NODELETE
&
EDITOPTIONS = READONLY
object
EDITOPTIONS = NOBROWSER
menu button
EDITOPTIONS = ONEROW
object
BROWSERONLY = 1
object ( .)
AUTOLOCATE = xxx
locate id=xxx
READONLY
Object B1
Default object
B1.
: Object, ,
object ,
Database View :
#. , BrowserOnly=1 Parameters.
B.3 Object
Database Designer.
Object .
/
Object. ( 3.1)
3.1
84
B.4 Object
/ : TEMPLATES.ObjectID , ObjectID
Object ( 4.1)
button ,
object ( 4.2)
4.1
4.2
85
B.5 Object
B.5.1 Object CCC
Object CCCVehicles.
, , object ( B4)
B1
86
B2
B3
B4
87
object.
,
. query
( AND A1.SODTYPE=13) object
TRDR, SODTYPE .
: SODTYPE
( ).
SELECT Database View Database Designer.
B5
B6
88
B7
89
C. Virtual Tables
Virtual Tables
Grids, Report Objects Dialog Objects. Database Views
Virtual Tables Editable ,
Database Views .
, CCC . (
Editors .)
, C1
Grid
Virtual Table, C2.
C1
90
C2
C3
C4
91
D. Report Objects
Report Objects .
, , captions .
(Runtime) .
D1
D2
function SetBandXProperty CallPublished attributes grid
:
function SetBandXProperty(Params1,Params2,Params3,Params4)
Params1: Band
Params2: Band Caption
Params3: Property Type (1=Caption, 2=Width.Decimals, 4=Visible, 7=HasSums, 8=DebCred, 9=Transfer)
Params4: Property Value
92
script ( D6),
SQL queries, .
D3
D4
93
D5
D6
94
7
Extra Tools
C. Menu Jobs
C.1
C.2
C.3
C.4
95
7 Extra Tools
A1
96
7 Extra Tools
A.2 XCO
XCO
, .
[LOGIN]
USERNAME=Admin
PASSWORD=test
COMPANY=2
BRANCH=3
A.4
( , , )
EXEC= .
EXEC , Fullscreen,
EXEC=RETAILDOC[FORM=RETAIL, AUTOEXEC=2, MAXIMIZE=1, RELJOBS=0, NOTOOLBAR=0]
FORM = FormName
FormName
LIST = ListName
ListName
CUSTOM = 0
Toolbar object
RELJOBS = 0
object
AUTOEXEC = 1
AUTOEXEC = 2
object
NOTOOLBAR = 1
Toolbar object
STYLE:MODELESS
FORCEFILTERS =
filedname1:fieldvalue1;
filedname2:fieldvalue2;
: CUSTOMER[LIST=MyList,AUTOEXEC=1, FORCEFILTERS=CODE=000-
FORCEVALUES =
filedname1:fieldvalue1;
filedname2:fieldvalue2;
00*? DISTRICT=]
CUSTOMER[AUTOEXEC=2,FORCEVALUES=TRDCATEGORY=3000?TRDBUSINESS=1]
97
7 Extra Tools
.1
Select Top , ,
ACMD:ACSELECTTOP ( B1).
, ,
Select Top,
( B2).
,
. Select
Top. Sql Monitor.
98
7 Extra Tools
.2
T Select Top (, , Selectors).
Y ( ),
. ,
,
.
SELECTTOP,
( B3).
B4.
, Max .
3 & 4
, B5 sql query,
200(E 200 ).
: SELECTTOP
Select Top, .1.
5
99
7 Extra Tools
C. Menu Jobs
,
( , , ) , , photo .
.
.
(
, photos).
C.1
drag n drop Tab ,
panel .
, :
( C1).
objects .
object( ITEM)
$ ( $DISTRICT).
: , ,
. ( C2)
C1
C2
100
7 Extra Tools
C.2
, ( C3):
: Object , SALDOC
: , $DISTRICT
( , photo)
:
REPORTGEN [LIST=MYREPORT] : MYREPORT
Web :
: Softone
ACMD:ACSELECTTOP : SELECTTOP
C3
101
7 Extra Tools
Menu Commands
FORM = FormName
FormName
LIST = ListName
ListName
CUSTOM = 0
Toolbar object
RELJOBS = 0
object
AUTOEXEC = 1
AUTOEXEC = 2
object
NOTOOLBAR = 1
Toolbar object
STYLE : MODELESS
PHOTO = MyPhoto
Object prototype
BROWSERONLY = 1
Object
FORCEFILTERS =
filedname1:fieldvalue1;
filedname2:fieldvalue2;
FORCEVALUES =
filedname1:fieldvalue1;
filedname2:fieldvalue2;
CUSTOMER[LIST=MyList,AUTOEXEC=1,FORCEFILTERS=CODE=000-00*?DISTRICT=]
CUSTOMER[AUTOEXEC=2,FORCEVALUES=TRDCATEGORY=3000?TRDBUSINESS=1]
102
7 Extra Tools
C.4
extra commands .
ToolBar
Photo
Toolbar
Toolbar
Toolbar
object
( buttons)
103
A. Remote Server
A.1
A.2 Remote Server
A.3 SMS Email
C. Scheduler
C.1
C.2 Scheduler
D.
104
A. Remote Server
Remote Server (Batch, Reports ,
). , :
-mails
(future)
format
(
)
, email .
batch .
: Remote Server Softone
.
A1
105
A.1
Remote Server menu Remote Server
button Add device Database Remote Server
. Database
( A2). Save config
( A3).
Remote Server email, button Add
Device .
A2
A3
106
TYPE
OBJECT
(. CUSTOMER)
JOBNAME
PHOTO
photo Object
AUTOEXECUTE
0,1
OUTPUT
FILENAME
SENDTO
MAIL, GSM
Email
MAILADDR
GSMNUM
107
A4
A5
108
A6
A7
A8
109
B1
JOBNAME ( )
TYPE=BATCH .
OBJECT T path import script
XCOFILENAME T xco ( )
B2
110
B.2.1 Windows XP
( B5).
( B6).
B3
B4
B5
B6
111
B7
B8
B.2.2 Windows 7
( B11).
( B12).
( 13)
/EXECUTE:C:\TEST\ENTOLES.TXT
( B13)
Task.
B9
B10
112
B11
B12
B13
B14
B15
113
B.3 XCO
XCO .
( B16),
Login ,
Windows Scheduler ( A.2 - Auto Login Windows Shortcut).
XCO Notepad Windows.
B16
114
C. Scheduler
Scheduler (, .),
,
.
Scheduler , Softone,
( C1).
Scheduler, ( C2).
C1
C2
115
C.1
C3, :
: .
: Login User.
: .
: ( C4).
() : .
: , .
. . : .
: .
: ,
.
: , ( C5).
: ( C6).
3
.
: SoftOne object.
(. prototype(photo),
PHOTO={} ).
C3
C4
116
C5
C6
C.2 Scheduler
extra Scheduler.
,
Remote Server.
Scheduler Commands
TYPE
OBJECT
(. CUSTOMER)
JOBNAME
PHOTO
photo Object
AUTOEXECUTE
0,1
OUTPUT
FILENAME
SENDTO
MAIL, GSM
Email
MAILADDR
GSMNUM
117
D.
To ,
. Scheduler.
- .
D1 ,
( ), test1.
button
( D2).
D1
D2
118
9
Scripts - Javascript
A. Object
A.1 Methods
A.2 Functions
B. Dataset
B.1 Methods
B.2 Functions
C. Events
C.1 Field Events
C.2 Dataset Events
C.3 Object Events
C.4 Sub Form Events
C.5 Line Printing Events
D. Case Studies
Case Study 1
Case Study 2
Case Study 3
Case Study 4
Case Study 5
Case Study 6
119
9 Javascript
A. Object
Objects
A.1 Methods
BATCHEXECUTE
Batch Object
. Case Study 4
BEEP
CANCELEDITS
Object ( ). before
DBPost.
.
function ON_POST()
{
if(X.USER == 901)
X.CANCELEDITS;
X.WARNING('ALL CHANGES WERE CANCELLED!!! ');
}
CLOSEFORM
Object.
X.CLOSEFORM();
CLOSEAPPLICATION
.
X.CLOSEAPPLICATION();
DBDELETE
Object, SoftOne
. Case Study 2
DBLOCATE(KeyData: variant)
Locate Object KeyData.
. Case Study 2
DBINSERT
Object insert mode .
. Case Study 4
DBPOST
Object, SoftOne.
120
9 Javascript
EXCEPTION (Message: string)
Example
X.EXCEPTION(' . !!!');
function ON_CUSTOMER_COUNTRY()
{
if(CUSTOMER.COUNTRY == 999)
X.FIELDCOLOR('CUSTOMER.COUNTRY',15000);
else
X.FIELDCOLOR('CUSTOMER.COUNTRY',255);
}
focus
function ON_ITELINES_NEW()
{
if( (SALDOC.SERIES == 7003) || (SALDOC.SERIES == 7023) )
X.FOCUSFIELD('ITELINES.SRCHCODE');
else
X.FOCUSFIELD('ITELINES.X_CODE');
}
FREE
object.
1)
2)
3)
. Case Study 1
. Case Study 2
. Case Study 4
INVALIDATEFIELD ()
(repaint) . REFRESH(
) , .
MTRMANFCTR
.
function ON_ITEM_NAME()
{
X.RUNSQL('UPDATE MTRMANFCTR SET ISACTIVE=0 where COMPANY=1 AND MTRMANFCTR=1', null);
X.MTRMANFCTR.REFRESH;
X.INVALIDATEFIELD('ITEM.MTRMANFCTR');
}
INCLUDE (filename)
include (script) filename .
121
9 Javascript
QUICKVIEW (ObjectName: string, List: string, Keydata: string)
Quickview List bject ObjectName Keydata
quickview .
. Case Study 1
REFRESH ()
memory table.
MTRMANFCTR
.
function ON_ITEM_NAME()
{
X.RUNSQL('UPDATE MTRMANFCTR SET ISACTIVE=0 where COMPANY=1 AND MTRMANFCTR=1', null);
X.MTRMANFCTR.REFRESH;
X.INVALIDATEFIELD('ITEM.MTRMANFCTR');
}
custom
X.RUNSQL('UPDATE CCCMYTABLE SET CCCMYFIELD=1 WHERE COMPANY='+X.SYS.COMPANY)
122
9 Javascript
SETFIELDVALUE (FieldName: string, Value: Variant)
Value FieldName
X.SETPROPERTY('MERGECHANGELOG', 'True');
X.SETPROPERTY('FIELD','SALDOC.TRDR','CAPTION','Cust');.
1)
2)
3)
X.SETPROPERTY('FIELD','SALDOC.TRDR','VISIBLE','FALSE');
X.SETPROPERTY('PANEL','PANEL14','VISIBLE','TRUE');
X.SETPROPERTY('PAGE','MYPAGE','VISIBLE','TRUE');
editor MTRDOC.WHOUSE
function ON_SALDOC_SERIES()
{
if( (SALDOC.SERIES == 7001) || (SALDOC.SERIES == 7002) )
X.SETFIELDEDITOR('MTRDOC.WHOUSE','WHOUSE(F[WHOUSE=1001])');
else
X.SETFIELDEDITOR('MTRDOC.WHOUSE','WHOUSE');
}
X.WARNING('Hello')
123
9 Javascript
A.2 Functions
ASK (ACaption, AMessage: string): integer
(Yes, No, Cancel) . index button . (6=Yes, 7=No, 2=Cancel)
ACaption: ,
AMessage:
.
function ON_POST()
{
var ans;
ans = X.ASK(' ', ' ? '); // 6=Yes, 7=No, 2=Cancel
if ((ans == 7) || (ans == 2))
{
X.EXCEPTION(' ');
}
else
{
X.WARNING(' Yes');
}
}
CHECKMODULE(ModuleNum): Boolean;
Module
CONNECTIONSTATUS: string;
. :
0 = csStandalone
1 = csClient
2 = csServer
3 = csSleepClient
4 = csOffLine
5 = csSaaS
6 = csESupport
1)
2)
3)
4)
object MySales:
SalObj = X.CreateObj('SALDOC;MySales');
. Case Study 1
. Case Study 2
. Case Study 4
124
9 Javascript
FROMFILE(FileName:string): string
FileName.
1)
2)
3)
DateforSQLQuery = X.EVAL('SQLDATE(SALDOC.TRNDATE)')
EasterDate = X.EVAL('DateToStr(GetPasxaDate('+X.SYS.FISCPRD+'))');
. Case Study 3
Command :
a. . ( module )
b. (. button), function EXECCOMMAND(Javascript, VBscript, dll)
2)
X.EXEC('button:Save')
3)
4)
1:
X.EXEC('XCMD:CUSTOMER')
2:
X.EXEC('XCMD:SALDOC,N["SET FINDOC.TRDR='+CUSTOMER.TRDR+'"]')
3:
. Case Study 6
. Case Study 4
function ON_LOCATE()
{ msg = X.FILTERSUM('ITELINES.QTY1','MTRUNIT=1');
X.WARNING(msg);
}
125
9 Javascript
FORM: string
TRNDATE sqldate .
str = X.FORMATDATE ('yyyymmdd',SALDOC.TRNDATE)
GETLASTERROR: string
. Case Study 1
1)
2)
X.GETSQLDATASET('SELECT ISNULL(QTY1,0) AS YPOL FROM MTRDATA WHERE MTRL='+ITEM.MTRL'+ AND
FISCPRD='+X.FISCPRD, '');
. Case Study 3
ID 001
X.WARNING(X.ID('CUSTOMER', '001'));
1) . Case Study 1
2) . Case Study 4
ISVALIDCONTRACT: boolean
LIST: string
126
9 Javascript
LOCALE: integer
Current Locale ID (LCID)
X.WARNING(X.LOCALE); 1032
LOGINDATE: TDateTime
NEWID: integer
ID . after post event.
ID ( )
function ON_AFTERPOST()
{
if (SALDOC.FINDOC < 0)
FINDOCID = X.NEWID;
else
FINDOCID = SALDOC.FINDOC;
}
TIME: string
hh:mm
USER: integer
Login
127
9 Javascript
B. Dataset
Dataset
.1 Methods
APPEND
DataSet Insert Mode.
DELETE
DataSet
DISABLECONTROLS
Window controls DataSet
ENABLECONTROLS
Window controls DataSet
EDIT
DataSet Edit Mode
FIRST
DataSet
. Case Study 2
INSERT
DataSet Insert Mode. .
LAST
DataSet
MERGECHANGELOG
Merges and saves all changes.
X.SETPROPERTY('MERGECHANGELOG', 'True');
NEXT
DataSet
. Case Study 2
128
9 Javascript
POST
DataSet
. Case Study 6
PRIOR
DataSet
REFRESH ()
memory table.
MTRMANFCTR
.
function ON_ITEM_NAME()
{
X.RUNSQL('UPDATE MTRMANFCTR SET ISACTIVE=0 where COMPANY=1 AND MTRMANFCTR=1', null);
X.MTRMANFCTR.REFRESH;
X.INVALIDATEFIELD('ITEM.MTRMANFCTR');
}
CUSTOMER.TRDCATEGORY ReadOnly
CUSTOMER.SETREADONLY('TRDCATEGORY', 'TRUE');
SETDATALINKS ()
/ queries Hyperlinks
dataset( virtual table). datasets queries
, query .
0=, 1=
: X.EXEC('CODE:ModuleIntf.SetDataSetLinks', X.MODULE, modulename, 0);
. Case Study 6
129
.2 Functions
9 Javascript
ACTIVE: boolean
TRUE DataSet
EOF: boolean
TRUE Dataset
. Case Study 2
FIELDCOUNT: integer
Dataset
FILTER: string
Dataset.
. Case Study 5
FILTERED: boolean
Filtered DataSet.
. Case Study 5
Locate
function ON_LOCATE()
{
testfield( 'ZIP');
testfield( 'CITY');
}
function testfield( fldn )
{
if ( CUSTOMER.ISNULL( fldn ) )
X.WARNING( fldn+' IS NULL!' );
else
X.WARNING( fldn+' IS NOT NULL!' );
}
130
9 Javascript
GETGRAPH (LabelFieldName: string, ValueFieldName: string): string
Chart Image Filename Dataset LabelFieldName ValueFieldName.
RECNO: integer
Dataset.
RECORDCOUNT: integer
Dataset
. Case Study 2
STATE: integer
State Dataset. :
Dataset States
Value
State
Description
Inactive
Browse
Edit
Insert
SetKey
CalcFields
Filter
Dataset open. Indicates that a filter operation is under way. A restricted set of data
can be viewed, and no data can be changed.
NewValue
DataSet open. Indicates that the NewValue property of fields is being fetched for an
event handler that responds to errors in applying cached updates.
OldValue
DataSet open. Indicates that the OldValue property of fields is being fetched for an
event handler that responds to errors in applying cached updates.
CurValue
DataSet open. Indicates that the CurValue property of fields is being fetched for an
event handler that responds to errors in applying cached updates.
10
BlockRead
DataSet open. Data-aware controls are not updated and events are not triggered
when the current record changes.
11
InternalCalc
DataSet open. An OnCalcFields event is underway for calculated values that are
stored with the record. (client datasets only)
12
Opening
131
9 Javascript
C. Events
Events , datasets objects.
Dataset Events
Event
Description (Occurs)
ON_<TableName>_<FieldName>_VALIDATE
record buffer (Before Change)
ON_<TableName>_<FieldName>
(After
Change)
1) SERIES
function ON_SALDOC_SERIES_VALIDATE() //Before Change of field Series
{
X.WARNING('BEFORE CHANGE');
}
2) SERIES
function ON_SALDOC_SERIES() //On Change of field Series
{
X.WARNING('AFTER CHANGE');
}
Dataset Events
Event
Description (Occurs)
ON_<TableName>_POST
post .
post.
ON_<TableName>_AFTERPOST
post .
ON_<TableName>_NEW
.
default .
ON_<TableName>_BEFOREDELETE
ON_<TableName>_AFTERDELETE
50%.
function ON_ITELINES_POST()
{
if(ITELINES.DISC1PRC > 0.5)
X.EXCEPTION(' 50%.');
}
2) .
1)
132
9 Javascript
Object Events
Event
Description (Occurs)
ON_CREATE
Create Object
ON_DESTROY
Destroy Object
ON_CANCEL
Before Cancel
ON_LOCATE
After Locate
ON_POST
Before Post
ON_AFTERPOST
After Post
ON_DELETE
Before Delete
ON_AFTERDELETE
After Delete
ON_INSERT
After Insert
ON_DOCPRINT
ON_OPENREPORT
EXECCOMMAND(cmd)
ON_RESTOREEVENTS
Conversion of object()
ON_EDIT
EXECCOMMAND(cmd) cmd = -1
EXECCOMMAND(cmd) cmd = -2
Description (Occurs)
pop up .
button OK pop up
133
9 Javascript
Description (Occurs)
ON_BANDSTART(BandName)
ON_BANDEND(BandName)
ON_BANDLINE(BandName)
ON_BANDTRANSFER(BandName)
function ON_OPENREPORT()
{
X.SETPARAM('STARTPAGEFIELD', USR.FPAGEL);
return true;
}
function ON_BANDTRANSFER(BandName)
{
X.SETTRANSFERVALUE(BandName,'MYACNTRN.X1', 1);
X.SETTRANSFERVALUE(BandName,'MYACNTRN.P1', 2);
return true;
}
function ON_BANDEND(BandName)
{
if ( BandName=='MYACNTRN' )
{
X.SETPRINTPARAM(BandName, "CAPTIONFIELDNAME", "THECAPTION");
ds=X.GETENDBANDDATASET('MYACNTRN');
ds.APPEND;
for (i=0; i<ds.FIELDCOUNT; i++) ds.FIELDS(i)= i;
ds.THECAPTION = "MyCaption";
ds.POST;
}
return true;
}
function ON_BANDLINE(BandName)
{
if ( BandName=='MYACNTRN' )
{
MYACNTRN.EDIT;
if ( MYACNTRN.FINCODE == 'Sum' )
{
MYACNTRN.FINCODE = 'NewName';
}
}
return true;
}
134
9 Javascript
D. Case Studies
Case Study 1
.
button .
function EXECCOMMAND(cmd) //Controls Commands
{
if(cmd == 100001) // ID button
{
iCopies = X.INPUTQUERY(' ',' : ',ITELINES.QTY1,0);
// dialog box,
. .
if(iCopies!='') //Not Cancel
{
var ObjItem;
i = 1;
ObjItem = X.Createobj('ITEM'); // Object
try
{
ObjItem.DBLocate(ITELINES.MTRL); //Locate ITEM ID
while(i <= iCopies)
{
ObjItem.PRINTFORM(100,'HP LaserJet 4100 Series PCL','');
i++;
}
}
catch(e)
{
X.WARNING(ObjItem.GETLASTERROR);
}
finally
{
ObjItem.FREE;
ObjItem = null;
}
}
}
}
D1.1
135
9 Javascript
D1.2 button
136
9 Javascript
Case Study 2
,
button .
function EXECCOMMAND(cmd) //Controls Commands
{
if(cmd == 100002) // ID button
{
DelConvertedDocs();
}
}
function DelConvertedDocs() //--- .
{
//Query
strqry='SELECT DISTINCT FINDOC AS FINDOC FROM MTRLINES WHERE SOSOURCE=1351
+ AND COMPANY='+X.SYS.COMPANY+' AND FINDOCS=' + SALDOC.FINDOC;
ds=X.GETSQLDATASET(strqry,null);
ds.FIRST;
while(!ds.EOF()) //Loop
{
ObjConv = X.CreateObj('SALDOC'); // Object
try
{
ObjConv.DBLocate(ds.FINDOC); //Locate
ObjConv.DBDelete; //
}
finally
{
ObjConv.FREE;
ObjConv =null;
}
ds.NEXT;
}
}
137
9 Javascript
Case Study 3
compressed SOVAL (FPRMS) ()
(ACNMSK).
function GetACNMSK()
{
dsFPRMS = X.GETSQLDATASET('SELECT SOVAL FROM FPRMS WHERE SOSOURCE=1351 '
+' AND COMPANY='+X.SYS.COMPANY+' AND FPRMS='+SALDOC.FPRMS,'');
strSOVAL = dsFPRMS.SOVAL;
sVal = X.EVAL('GETQUERYVALUE('+String.fromCharCode(39)+strSOVAL+String.fromCharCode(39)+',0,25)');
// 1 26 SOVAL ( 0,25)
X.WARNING(' : ' + sVal);
}
D3.1 (FPRMS),
138
9 Javascript
Case Study 4
button .
,
.
function ChangePrices()
{
ObjIteCost = X.CreateObj('IteCalcMarkUp');
try
{
ObjIteCost.DBInsert;
TblIteCost = ObjIteCost.FindTable('MTRDIALOG');
TblIteCost.Edit;
TblIteCost.FROMCODE = ITEM.CODE;
TblIteCost.TOCODE = ITEM.CODE;
iSODOUBLE1 = X.INPUTQUERY(' ', '',0,0);
if(iSODOUBLE1!='') //Not Cancel
{
TblIteCost.SODTYPE = 1; //
TblIteCost.SODOUBLE1 = iSODOUBLE1;
ObjIteCost.BatchExecute;
X.EXEC('button:Save'); //
X.WARNING(' ! ');
}
}
finally
{
ObjIteCost.FREE;
ObjIteCost = null;
}
}
D4.2 Javascript
139
9 Javascript
D4.3 , Button
D4.4 ( 20%)
140
9 Javascript
Case Study 5
, (V1) virtual
. .
function ON_SALDOC_V1()
{
vFilterString='{ITELINES.MTRL_ITEM_NAME}='+String.fromCharCode(39)+SALDOC.V1+String.fromCharCode(39)
if(SALDOC.V1=='')
{
ITELINES.FILTERED = 0; // ITELINES
}
else
{
ITELINES.FILTER = '(' + vFilterString + ')'; //
ITELINES.FILTERED = 1; //
}
}
function ON_POST()
{
ITELINES.FILTERED = 0; // ITELINES
}
function ON_CANCEL()
{
ITELINES.FILTERED = 0; // ITELINES
}
D5.1
141
9 Javascript
D5.2
D5.3 FINDOC
142
Case Study 6
, ,
. pop up window
(.40%)
button.
script
pop up window grid.
D6.3
var vIncrement; //
function ON_MYPOPUPFORM_SHOW()
{
vIncrement = 40;
GetItemPurdoc(); //
CCCVTITEMPUR.FIRST;
}
function InsPRCtoMTRLINES(vTable) //Insert Price to Mtrlines
{
ITELINES.PRICE = vTable.PRICE;
}
function GetItemPurdoc() // 20
{
strqry='SELECT TOP 20 A2.TRDR, A1.MTRLINES, A1.FINDOC,'
+' (A1.LINEVAL/case A1.QTY1 when 0 then 1 else A1.QTY1 end) AS LINEVAL, A1.QTY1'
+' FROM MTRLINES A1 INNER JOIN FINDOC A2 ON A1.FINDOC=A2.FINDOC AND A1.COMPANY=A2.COMPANY'
+' WHERE '
+' A2.SOSOURCE=1251 '
+' AND A2.TFPRMS IN(102,103) '
+' AND A1.COMPANY='+X.SYS.COMPANY
+' AND A1.MTRL='+ITELINES.MTRL
+' ORDER BY A2.TRNDATE DESC';
ds=X.GETSQLDATASET(strqry,'');
CCCVTITEMPUR.FIRST;
while (!CCCVTITEMPUR.EOF()) {
CCCVTITEMPUR.DELETE; }
if (ds.RECORDCOUNT>0)
{
try {
dsLink = X.EXEC('CODE:ModuleIntf.GetDataSet', X.MODULE, 'CCCVTITEMPUR');
X.EXEC('CODE:ModuleIntf.SetDataSetLinks', X.MODULE, dsLink, 0); //Disables Links - Sends at the end 1 query for all
while (!ds.EOF())
{
CCCVTITEMPUR.APPEND;
CCCVTITEMPUR.TRDR = ds.TRDR;
CCCVTITEMPUR.FINDOC
= ds.FINDOC;
CCCVTITEMPUR.MTRLINES = ds.MTRLINES;
CCCVTITEMPUR.PRICESTART = ds.LINEVAL;
CCCVTITEMPUR.INCREMENT = vIncrement;
CCCVTITEMPUR.QTY
= ds.QTY1;
CCCVTITEMPUR.POST;
ds.NEXT;
}
}
finally {
X.EXEC('CODE:ModuleIntf.SetDataSetLinks', X.MODULE, dsLink, 1); //Disables Links - Sends at the end 1 query for all
}
}
}
function ON_CCCVTITEMPUR_INCREMENT() // () - .
{
CCCVTITEMPUR.PRICE = CCCVTITEMPUR.PRICESTART + (CCCVTITEMPUR.PRICESTART *
CCCVTITEMPUR.Increment /100);
}
143
144
Case Study 7
Google maps.
.
.
/,
.
D7.1 :
o Button Calc Trans Cost , Google Maps.
virtual RUNB_700001=Calc Trans Cost
o Distance(Km), Duration(min) Google Maps.
SALDOC.NUM01 SALDOC.NUM02
o Cost/Km , Total Cost Distance.
SALDOC.NUM03 SALDOC.NUM04
o Button Add to Expenses, Total Cost.
virtual RUNB_700002=Add to Expenses
Form . ( D7.2)
D7.1
145
D7.2
146
147
function EXECCOMMAND(cmd)
{
if (cmd=='700001')
{
GetDirections();
}
if (cmd=='700002')
{
X.FOCUSFIELD('SALDOC.NUM01');
AddtoExpenses();
}
}
function AddtoExpenses()
{
if(SALDOC.NUM04 != '')
{
EXPANAL.APPEND;
EXPANAL.EXPN = 101;
EXPANAL.EXPVAL = SALDOC.NUM04;
EXPANAL.POST;
}
}
function ON_SALDOC_NUM01()
{
CalculateTransCost();
}
function CalculateTransCost()
{
if(SALDOC.NUM01 <= 50)
{ SALDOC.NUM03 = 0.10; }
else
{ SALDOC.NUM03 = 0.20; }
SALDOC.NUM04 = SALDOC.NUM03 * SALDOC.NUM01;
}
D7.3 Javascript
D7.4
148
10
Data Flow
A.
B.
B.1
B.2
.3
C.
D. Script
E. Case Studies
Case Study 1
Case Study 2
Case Study 3
Case Study 4
Case Study 5
149
10 Data Flow
A.
SoftOne.
SoftOne script,
.
TRNFTRC.
1 ,
draft entries. object
SODRAFT (1) object CUSTOMER (2),
(3). Draft entry
(4) .
browser draft entries ( 2).
3 browser draft entries.
A1
150
10 Data Flow
.
. .
.1
object, , SALDOC
( ). .
object,
object (Tab ).
Tab ,
( 1).
( 3).
Tab object
( 2). Object
object . object query .
151
10 Data Flow
.2
object, ,
PRDDOC( ). .
.
.
Tab ( 4).
(Tab)
.
.
.
.
(. IF, RUNSQL ) ( 5).
.
,
( 6).
152
10 Data Flow
153
10 Data Flow
.3
Tab ,
.
checkbox
, checkbox
.
( 7).
. .
( )
( 8).
checkbox .
,
. login
.
154
10 Data Flow
C.
. C1
( SALDOC).
( C2).
scripts
pop up .
scripts( C3).
: ,
, .
C1
C2
C3
155
10 Data Flow
D. Script
scripts , X.EVAL.
:
D1
D2
156
10 Data Flow
E. Case Studies
Case Study 1
.
object SALDOC.
( .1.1).
Tab . (
), (Data type), (Display size), Editor
( .1.2).
object PURDOC.
(. )
(Tab) .
( .1.3).
,
.
E1.1
E1.2
E1.3
157
10 Data Flow
Case Study 2
login .
SALDOC.
( 2.1). ( 2.2)
( 2.3) .
ID. sql RUNSQL.
.
Tab ,
1001, 1000 ( 2.4).
( 2.5).
E2.1
E2.2
E2.3
E2.4
E2.5
158
10 Data Flow
Case Study 3
.
. 1 .
object ITEM.
MTRL.MTRSUP ( 3.1).
( 3.2).
object PURDOC ( )
. ,
( ).
3.3, if .
E3.1
E3.2
E3.3
159
10 Data Flow
,
,
.
, (
3.4) ( 3.5).
3.6 9 , 3 .
4 (3 1
) ( 3.7).
E3.4
E3.5
E3.6
E3.7
160
10 Data Flow
Case Study 4
.
. .
object PRDDOC( ) object PURDOC.
( 4.1)
.
( 4.2).
( 4.2).
4.4.
E4.1
E4.2
E4.3
E4.4
161
10 Data Flow
Case Study 5
Tasks
Tasks.
object PRJC( ) object SOTASK.
default values ,
.
Tasks() 5.1.
( 5.2) Tasks (
5.3).
E5.1
E5.2
E5.3
162
10 Data Flow
Case Study 6
backorder.
.
object SALDOC,
. (
1. 7. .
Tab ()
()
.
backorder( )
CONVMODE( ) 1 ( 6.1).
Tab
FINDOCS MTRLINESS, FINDOC MTRLINES ( 6.2).
E6.1
E6.2
163
11
SoftOne Batch Script Language (SBSL)
A.
B. SBSL
C.
D. Main Code
E. / SBSL Script
F. SBSL Internal Functions
G. SoftOne Libaries
H. Case Studies
Case Study 1
Case Study 2
Case Study 3
164
11 SoftOne Scripts
A.
H S1 Batch Script Language (SBSL)
SoftOne data import .
batch .
developers batch
import.
SBSL ( SQL )
SQL
. business oriented
( RDBMS) .
SBSL batch SoftOne. H
batch ()
.
SBSL SoftOne (S1 scripts)
imp ( text).
SBSL :
/ object SoftOne
ASCII
objects (. )
:
script
batch .
A1
165
11 SoftOne Scripts
B. SBSL
.1 Case Insensitive
(. var, function) .
case insensitive.
B.2 Semicolons
SBSL semicolon (;).
B.3 Comments
//.
:
// my comments
B.4 Variables
var, variant.
:
var x, y, temp;
SoftOne function
x = RAISEEXCEPTION(Stopped!!!);
2)
custom function
166
11 SoftOne Scripts
C. (interface)
script .
(
).
, , panels grids block
Form, sections.
Form {
[TABLES]
[CACHETABLES]
[PANELS]
[STRINGS]
1)
/ Caption .
[HeaderTable1]
vImpOk=2;15;1;1;0; ;$Y;;;1
2)
, 7021.
3)
login date.
4)
memo .
5)
vSalSeries=3;30;1;1;0; ;SERIES(F[SOSOURCE=1351]);;;7021
vDate=11;25;1;1;0; / ;;;;:X.SYS.LOGINDATE
vImpMess=16;64000;0;1;1; ...;;;;
vItemCategory=2;25;1;1;0; ;ITECATEGORY;;;
167
11 SoftOne Scripts
6)
7)
. .
vItemCode=1;25;0;1;0; ;ITEM(M,R[CODE]);;;
vFile=1;256;1;1;0;Pick File;$Filename;;;
8)
button, .
vButton=2;15;0;1;0;Button;XCMD:DAYRATES;;;
9)
10) .
vMtrunit1Init=1;40;0;1;1;.. ;MTRUNIT(U[vMtrunit1=MTRUNIT@]);;
vMtrunit1=1;40;0;1;1;..1 ;MTRUNIT;;
Form {
[TABLES]
ImpTable=;;;;;3;0
[ImpTable]
vWhere=16;80000;0;1;0; Browser;;;&SELRECS;&SELRECS
}
Connect Xplorer SoftoneCon
{
connect();
sDoc = SELECT FINDOC.FINDOC,....
FROM FINDOC
WHERE ( $REMOVEQUOTES(:$ImpTable.vWhere) )
}
168
11 SoftOne Scripts
Form {
[TABLES]
ImpTable=;;;;;3;0
TblPAYMENT=;;;;TblPAYMENT;3;0
[ImpTable]
vSodtype=2;25;1;1;0; SODTYPE;$SODTYPE(W[12,13]);;
vPayment=2;25;1;1;0;;PAYMENT(W[SODTYPE=:ImpTable.vSodtype AND
COMPANY=:X.SYS.COMPANY]) ;;;
[TblPAYMENT]
PAYMENT=2;5;0;1;0;;;;;
NAME=1;30;0;1;0;;;;;
COMPANY=2;5;0;0;0;;;;;
SODTYPE=2;5;0;0;0;;;;;
[CACHETABLES]
TblPAYMENT=SELECT PAYMENT,NAME,COMPANY,SODTYPE AS SODTYPE FROM PAYMENT
[PANELS]
PANEL11=0;;0;50
[PANEL11]
ImpTable.vSodtype
ImpTable.vPayment
}
C1
169
11 SoftOne Scripts
:
:
:
:
Form {
[TABLES]
ImpTable=;;;;Master;3;0
[ImpTable]
vImpOk =2;15;1;1;0; ;$Y;;0;
vSeries =3;30;1;1;0; ;SERIES(F[SOSOURCE=1351]);;;7021
vJOB = 2;15;1;1;0;;JOB;;;&JOB
vDate =11;25;1;1;0;;;;;:X.SYS.LOGINDATE
vFile = 1;4000;1;1;0;;$Filename;;;C:\MyFiles
vIteCat =2;25;1;1;0; ;ITECATEGORY;;;
vMess = 16;64000;0;1;0;;;;;
[PANELS]
PANEL11 = 1;'Page1-Areas';0;F
PANEL112 = 0;'Area1';1;50,50,0,0,N,H10
PANEL113 = 0;'Area2';1; 40,0,0,0,H20
PANEL114 = 4;'Memo';1;H70
PANEL12 = 1;'Page2-AreaSplit';0;F
PANEL121 = 0;'AreaSplit';1;50,50,0,0
PANEL1211 = 0;'AreaSplit 1';2;100,0,0,0,H100
PANEL1212 = 0;'AreaSplit 2';2;100,0,0,0,H100
PANEL13 = 1;'Page3-Grid';0;F
PANEL131 = 2;'Grid';1;
[PANEL112]
ImpTable.vImpOk
ImpTable.vFile
[PANEL113]
ImpTable.vSeries
[PANEL114]
ImpTable.vMess
[PANEL1211]
ImpTable.vIteCat
[PANEL1212]
ImpTable.vDate
[STRINGS]
JOB=JOB
[JOB]
1=
2=
}
170
11 SoftOne Scripts
C2, C3 C4.
C2
C3
C4
171
11 SoftOne Scripts
Form {
[TABLES]
ImpTable
[ImpTable]
vMyString1
vJob
vSQLOrder
= ;;;;Master;3;0
= 2;15;1;1;0;StringList1;MyString1;;;&MyString1
= 2;15;1;1;0;StringList2;Job;;;&Job
= 1;15;1;1;0;StringList3;SQLOrder;;;&SQLOrder
[STRINGS]
MyString1 = MyString1
Job
= Job
SQLOrder = SQLOrder
[MyString1]
1=
2=
3=
4=
[Job]
1= (1 )
2=
[SQLOrder]
T.MTRMANFCTR =
ML.LINENUM =
[PANELS]
PANEL1 = 0;'Area1';0;30,30,30,0,N,H100
[PANEL1]
ImpTable.vMyString1
ImpTable.vJob
ImpTable.vSQLOrder
}
Connect Xplorer SoftoneCon {
connect();
sIteLines = SELECT ML.MTRL,ISNULL(ML.QTY1,0), ML.PRICE,
FROM MTRLINES ML, MTRL MT
WHERE ML.FINDOC = :$sDoc.FINDOC AND ML.MTRL = MT.MTRL
ORDER BY $REMOVEQUOTES(:$ImpTable.vOrder);
}
C5
172
11 SoftOne Scripts
Form
{
[TABLES]
ImpTable=;;;;Master;3;0
[ImpTable]
vImpOk = 2;15 ;0;1;0; ;$Y;;0;
vJob = 2;10 ;0;1;0;;JOB;;;
vSeries = 1;1024;0;1;0; ;#SERIES(W[SOSOURCE=1251 AND (TFPRMS=102 OR
TFPRMS=103 OR TFPRMS=151 OR TFPRMS=152)]);;;
vItemCode=1;25;0;1;0; ;ITEM(M,R[CODE]);;;
vFile=1;256;0;1;0;Pick File;$Filename;;;
[FIELDEXEC]
ImpTable.vJob
[PANELS]
PANEL1=0;;0;100,G10
PANEL2=0;;0;100,G10
PANEL3=0;;0;100,G10
PANEL4=0; ;0;100,G10
PANEL5=0; ;0;100,G10
[PANEL1]
ImpTable.vJob
[PANEL2]
ImpTable.vSeries
[PANEL3]
ImpTable.vItemCode
[PANEL4]
ImpTable.vFile
[PANEL5]
ImpTable.vImpOk
[STRINGS]
JOB=JOB
[JOB]
1=
2=
}
include 'ModuleIntf';
Connect Xplorer Export
{
connect();
}
{
Var x, vImpTable, vJob, vImpOk;
vImpTable=GetDataSet(xModule,'ImpTable');
vJob =GetFieldValue(vImpTable,'vJob');
173
11 SoftOne Scripts
vImpOk =GetFieldValue(vImpTable,'vImpOk');
if (vJob=1) // - Panel
{
x=SetProperty(xModule, 'PANEL', 'USR_PANEL2', 'VISIBLE', 'TRUE');
x=SetProperty(xModule, 'PANEL', 'USR_PANEL3', 'VISIBLE', 'FALSE');
x=SetProperty(xModule, 'PANEL', 'USR_PANEL4', 'VISIBLE', 'TRUE');
x=SetProperty(xModule, 'FIELD', 'ImpTable.vFile', 'CAPTION', ' ');
}
else if (vJob=2)
{
x=SetProperty(xModule, 'PANEL', 'USR_PANEL3', 'VISIBLE', 'TRUE');
x=SetProperty(xModule, 'PANEL', 'USR_PANEL2', 'VISIBLE', 'FALSE');
x=SetProperty(xModule, 'PANEL', 'USR_PANEL4', 'VISIBLE', 'TRUE');
x=SetProperty(xModule, 'FIELD', 'ImpTable.vFile', 'CAPTION', ' ');
}
if (vImpOk=1) //
{
if (vJob=1)
{
x=RAISEEXCEPTION('JOB=1');
}
else
{
x=RAISEEXCEPTION('JOB=2');
}
}
}
C6
C7
174
11 SoftOne Scripts
D. Main Code
D.1 Converters & Functions
Converter
. Converter :
Converter funcname (TableName:String, Variables:String, FieldName:String)
:
1)
Converter
Converter id
Converter id
function ShowMessage(fMess)
{
x = CallPublished('SysRequest.ExecuteXScript', VarArray(XModule, 1, 'function RUN() {
X.WARNING('+#39+VarToStr(fMess)+#39+');}', 'RUN', 4));
}
x = ShowMessage(' ...');
2)
memo (vMess)
function PrintOnScreen(fMess)
{
x = SendResponse(ReplaceStr(fMess,'...',''), 'ImpTable.vMess');
}
x = PrintOnScreen('!'+#13+#10);
3)
string ascii
delimited
4)
sql
11 SoftOne Scripts
function getSQLDate(v1,conName)
{
var sql,x, newd;
newd = FormatSqlText(conName, ':1',v1);
sql = 'Select convert(VARCHAR(8), '+newd+' , 112)';
x = GetQueryResults(conName, sql, '');
return x;
}
newvMesDate = VarToStr(getSQLDate(:ImpTable.vMesDate,'S1Con'));
D.2 Connections
connections SoftOne .
connection (. ConS1), script.
Connection Types
SoftOne
login SoftOne ( )
176
11 SoftOne Scripts
D.3 Variables
script .
Var , .
var .
Var
vTot, vLabelText, vRow, vRowCancel, UserResp, x;
D.4
script
SoftOne script.
include. SoftOne
.
:
include 'PILib';
include 'ModuleIntf';
include 'SysRequest';
script(. MyLib)
.
:
include 'MyLib';
177
11 SoftOne Scripts
E. / SBSL Script
scripts SBSL :
E.1 Menu
SBSL script BatchJob
FORMIMPORT CLIENTIMPORT ( 1).
FORMIMPORT,SCRIPTNAME:NameOfScript
CLIENTIMPORT,SCRIPTNAME:NameOfScript
script NameOfScript
( 2).
178
11 SoftOne Scripts
E.2 Browser
SBSL script browser object ,
OBJINFOS.CFG .
.2.1 OBJINFOS.CFG
OBJINFOS.CFG
client. scripts pop up
( 4).
OBJINFOS.CFG( 3) objects scripts
, .
[OBJECTNAME_BRMENU]
1; = FORMIMPORT,SCRIPTNAME:nameofscript
1; = CLIENTIMPORT,SCRIPTNAME:nameofscript
179
11 SoftOne Scripts
.2.2
SBSL script ( E5)
( script)
.
script OBJINFOS.CFG
,
( 6).
(Ex E.1)
script test1
...
Report Tools.
object
6.
180
11 SoftOne Scripts
.3
SBSL script script EXEC.
X.EXEC ('XCMD: FormImport, ScriptName: NameOfScript)
(Ex E.2)
script UpdateItem button locate.
button (100001).
script 7.
SBSL script 8. id
vItemId default value :ITEM.MTRL.
.
181
E.4
11 SoftOne Scripts
H SBSL
script. &
( &JOB).
script
( FORMIMPORT,SCRIPTNAME:myscript,JOB:1).
(Ex E.3)
script Ex C.3 SODTYPE . script
cache1.
182
11 SoftOne Scripts
AddMessage();
link .
hyperlink
Object='SALDOC';
vMess=' <' + sDoc.FINCODE + '$' + vObject + ';' + VarToStr(sDoc.FINDOC) +
'> <' + vFincode + '$' + vObject + ';' + VarToStr(resultnum) + '> !' + #10;
x=AddMessage(vMess);
CallPublished(FunctionName:string, Params:VarArray);
FuntionName .
Libraries .
1. ( query)
PAYMENT.
. Case Study 1
2. Excel (vExcelFile) sql
CCCIMPORTEXCEL( Evaluate Library SysRequest).
x = CallPublished('SysRequest.Evaluate', VarArray(ImportModule('Imp'),
'ExcelImport('+#39+:ImpTable.vExcelFile+#39+','+#39+'CCCIMPORTEXCEL'+#39+',1,2)', 2));
CharToOem (var:char);
character OEM.
Commit(Connectionstring:string);
commit connentionstring. FORMIMPORT
x = Commit('SoftOne');
DateOfDateTime(DateTime:TDateTime);
TDATETIME.
TRNDATE = DateOfDateTime(sSalDoc.TRNDATE);
DayOfDate(DateTime:TDateTime): integer;
.
fTmp = :X.SYS.SYSDATE;
if (DayOfDate(fTmp) < 10) fSystemDate = fSystemDate + '0';
fSystemDate = fSystemDate + VarToStr(DayOfDate(fTmp)) + '_';
DayOfWeek(): integer;
index. (1=, 2=,, 7=)
DaysinMonth(DateTime:TDateTime): integer;
.
183
11 SoftOne Scripts
Delay(Time:Integer);
msec.
2 sec
x = Delay(2*1000);
deQuotedStr (text:string);
text .
ExecPrg(File:string, Params:string);
filename params
vExecPrg = '/c';
x = ExecPrg('c:\windows\system32\cmd.exe', vExecPrg);
SQL vDateL
FormatSqlText('SoftOne', ':1 ', :ImpTable.vDateL)
GetTimeHour(DateTime:TDateTime): integer;
DateTime.
fTmp = :X.SYS.SYSDATE;
if (GetTimeHour(fTmp) < 10) fSystemDate = fSystemDate + '0';
GetTimeMin(DateTime:TDateTime): integer;
DateTime.
fTmp = :X.SYS.SYSDATE;
if (GetTimeMin(fTmp) < 10) fSystemDate = fSystemDate + '0';
fSystemDate = fSystemDate + VarToStr(GetTimeMin(Time)) + '_';
GetTimeSec(DateTime:TDateTime): integer;
seconds DateTime.
fTmp = :X.SYS.SYSDATE;
if (GetTimeSec(fTmp) < 10) fSystemDate = fSystemDate + '0';
fSystemDate = fSystemDate + VarToStr(GetTimeSec(Time));
GetTimems(DateTime:TDateTime): integer;
ms DateTime.
184
11 SoftOne Scripts
GetQueryDataset(Datasetname:string, ConnectionString:string, Query:string, Params:VarArray);
querystring grid interface dataset script.
query order grid/dataset.
CLIENTIMPORT
fVat = GetQueryResults('SoftOne', 'SELECT TOP 1 VAT FROM VAT WHERE ISACTIVE=1', null);
GrConvert(text:string): string;
text converted .
FINCODE = GrConvert(Trim(sSalDoc.FINCODE));
ImportModule(Module:string);
pointer Module import.
Len(text:string): integer;
text.
x=CallPublished('ProgLibIntf.ModuleCommand',VarArray(vModule,1032,VartoStr(resultnum),3));
MonthOfDate(DateTime:TDateTime): integer;
.
Now():TDateTime;
.
OemToChar (var:oem);
oem char.
QuotedStr (text:string);
text .
185
11 SoftOne Scripts
RaiseException(Message:string);
Message .
flag vImpOK
if (:ImpTable.vImpOk=0) x = RaiseException(' !!!');
RefreshMemoryTable(MemoryTable:string);
refresh memory Table pointer.
Ds = RefreshMemoryTable('SERIES');
RollBack(Connectionstring:string);
rollback connentionstring. FORMIMPORT
x = RollBack('SoftOne');
SafeCallPublished(FunctionName:string, Params:VarArray);
FuntionName . error exception .
ImportError.
Libraries .
SID ( ).
x = SafeExecSQL('Export', 'TRUNCATE TABLE SID', Null);
SendResponse(Values, Fields:string);
Interface script.
Space (num:integer);
num .
StartTrans(Connectionstring:string);
Transaction connectionstring. FORMIMPORT
x = StartTrans('SoftOne');
StrToDate(text:string):TDateTime;
string Date format.
StrToFloat (var:string);
float string.
186
11 SoftOne Scripts
StrToInt (var:string);
string integer.
TableExists(Connection:string,TableName:string);
TableName True False
SID
if (TableExists('Export', 'SID') = 'False') x = ExecSQL('Export', 'CREATE TABLE SID (FR INT, FV INT)', Null);
Trim(text:string): string;
text.
Time():TDateTime;
.
VarArrayDimCount (Array:VarArray);
Array.
if (VarArrayDimCount(fVar)>0) fVar=GetIndexVar(fVar,0);
VarArrayHighBound(Array:VarArray, Dim:integer);
Array Dim.
VarToStr(Param:Variant);
Param string.
vRow = 100;
vMess=vMess + ' ' + VarToStr(vRow) + ' ...'
XModule();
pointer module.
XSupport();
pointer Connection.
YearOfDate(DateTime:TDateTime): integer;
.
fTmp = :X.SYS.SYSDATE;
fSystemDate = VarToStr(YearOfDate(fTmp));
187
11 SoftOne Scripts
G. SoftOne Libraries
Libraries SoftOne
SBSL script. Callpublished
include.
G.1 ModuleIntf
G.1.1 Object Methods Functions
CreateSupport(XCOName, UserName, Password, Company, Branch, LoginDate);
Connection Soft1. Login .
3 Login .
fCompany=:X.SYS.COMPANY;
fDefaultBranch=CallPublished('ProgLibIntf.GetDefaultBranch', VarArray(:X.SYS.USER, fCompany, 2));
CreateSupport ('', '', '', fCompany, fDefaultBranch, :X.SYS.LOGINDATE);
DestroySupport(SupportHandle);
Connection Soft1. CreateSupport.
x=DestroySupport(fSupport);
CreateSupportModule(SupportHandle, ModuleName);
Module Connection CreateSupport.
Module=CreateSupportModule(vSupport,'FiFoFinpayTerms');
GetTextValue(TextName);
Resources pre
vData=GetTextValue('CheckImportData');
CreateModule(ModuleName);
Module Connection
fModule=CreateModule('CUSTOMER,WARNINGS:OFF');
DestroyModule(ModuleHandle);
Module CreateModule CreateSupportModule
x=DestroyModule(fModule);
InsertModule(ModuleHandle);
Module Insert
x=InsertModule(fModule);
188
11 SoftOne Scripts
LocateModule(ModuleHandle, RecordID);
RecordID Locate.
fFinDoc = 11999;
x=LocateModule(fModule, fFinDoc);
DeleteModule(ModuleHandle);
Module Locate
x = DeleteModule(fModule);
PostModule(ModuleHandle);
Module
x = PostModule(fModule)
GetParentModule(ModuleHandle);
ParentModule Module
GetChildModule(ModuleHandle, Name);
ChildModule Module
GetDataSet(ModuleHandle, Name);
Dataset Module
fCustomer=GetDataSet(fModule,'CUSTOMER');
GetParamValue(ModuleHandle, PrmName);
PrmName
vFile = GetParamValue(XModule,'FILE');
fDataSet=GetDataSet(vModule,'SERIES');
x=SetFieldValue(fDataSet,'CSERIES', fCSeries);
189
11 SoftOne Scripts
G.1.2 DataSet Field Functions
CreateDataSet(ModuleHandle, Name);
Dataset Name
vFISCPRD = RefreshMemoryTable('FISCPRD');
x = DataSetLocate(vFISCPRD, 'FISCPRD', GetFieldValue(vQUESTIONS,'FISCPRD'));
DataSetEdit(DataSetHandle);
DataSet Edit
fCustomer=GetDataSet(fModule,'CUSTOMER');
x=DataSetEdit(fCustomer);
DataSetInsert(DataSetHandle);
Insert DataSet
fIteLines = GetDataSet(fModule,'ITELINES');
x = DataSetInsert(fIteLines);
DataSetAppend(DataSetHandle);
Append DataSet
fModule=CreateModule('SALDOC,WARNINGS:OFF');
x = InsertModule(fModule);
fSalDoc = GetDataSet(fModule,'SALDOC');
fIteLines = GetDataSet(fModule,'ITELINES');
x = DataSetAppend(fIteLines);
DataSetEof(DataSetHandle);
DataSet End-Of-File
x = DataSetNext(Ds);
}
DataSetPrior(DataSetHandle);
DataSet
vMyTable = GetDataSet(XModule,'CCCMYTABLE');
x=DataSetPrior(vMyTable);
DataSetFirst(DataSetHandle);
DataSet
x=DataSetFirst(vMyTable);
DataSetLast(DataSetHandle);
DataSet
x=DataSetLast(vMyTable);
190
11 SoftOne Scripts
DataSetNext(DataSetHandle);
DataSet
x=DataSetNext(vMyTable);
DataSetPost(DataSetHandle);
DataSet
x=DataSetPost(vMyTable);
DataSetDelete(DataSetHandle);
DataSet
x=DataSetDelete(vMyTable);
DataSetState(DataSetHandle);
state dataset (. ).
DataSetSetFilter(DataSetHandle, Filterstring);
Filterstring Dataset
fModule=CreateModule('INST,WARNINGS:OFF');
x = InsertModule(fModule);
fDsInst = GetDataSet(fModule,'INST');
x = SetDataSetLinks(fModule, fDsInst, 0);
GetFieldType(DataSetHandle, FieldName);
(1=String, 2=Smallint, 3=Integer, 4=Word, 6=Float, 11=DateTime, 16=Memo)
GetFieldValue(DataSetHandle, FieldName);
DataSet
DataSetRecordCount(DataSetHandle);
DataSet
DataSetOpen(DataSetHandle);
DataSet Open mode
DataSetClose(DataSetHandle);
close DataSet
DataSetRecNo(DataSetHandle);
DataSet
191
11 SoftOne Scripts
DataSetSetRecNo(DataSetHandle,RecNo);
DataSet
DataSetDisableControls(DataSetHandle);
Windows Controls DataSet
DataSetEnableControls(DataSetHandle);
Windows Controls DataSet
DataSetFieldCount(DataSetHandle);
Dataset
DataSetFieldName(DataSetHandle, FieldIndex);
Dataset index
Ds=GetSQLDataSet(0, 'SELECT DISTINCT CODE, NAME FROM CCCMYTABLE ORDER BY CODE, NAME', null);
GetBand(ModuleHandle, BandName);
Band Module
AddBandField(BandHandle, FieldName);
Band
DeleteBandField(BandHandle, FieldName);
Band
GetField(DataSetHandle, FieldName);
DataSet
ResolveEditors(ModuleHandle, TableName);
SetFieldEditor Editor
192
11 SoftOne Scripts
G.2 PiLib
G.2.1 General File Functions
AsciiImport(Params1,Params2);
Param1 = , Param2 =
ascii file
CreateDir(Directory:string);
Directory.
x = CallPublished('PILib.CreateDir', Directory);
DeleteFile(FileName:string);
FileName.
vFileDel = DeleteFile(FileName);
DirectoryExists(Directory:string);
Directory True False.
x = CallPublished('PILib.DirectoryExists', Directory);
FileExists(FileName:string);
.
if (FileExists(FileName)='True')
{
.
}
ForceDirectories(Path:string);
Path . .
x = CallPublished('PILib.ForceDirectories', Path);
RemoveDir(Directory:string);
Directory .
x = CallPublished('PILib.RemoveDir', Directory);
193
11 SoftOne Scripts
G.2.2 Text File Functions
CreateText(FileName:string);
FileName.
vFileName='.\folder1 '+'Myname.log';
vFile=CreateText(vFileName);
OpenText(FileName:string);
FileName Read Write.
vFile=OpenText(:ImpTable.vFile);
ReadLine(FileName:string);
FileName.
while (Eof(vFile)=0)
{
vLine=ReadLine(vFile);
}
WriteLine(FileName:string, Text:string);
Text FileName.
EOF(FileName:string);
FileName End Of File.
while (Eof(vFile)=0)
{
vLine=ReadLine(vFile);
}
CloseText(FileName:string);
FileName, OpenText.
x=CloseText(vFile);
WriteTextToFile(FileName:string, Text:string);
Text FileName, .
x = WriteTextToFile(vPath+'PL-'+VarToStr(sDoc.FINDOC)+'.TXT', vText);
ReadTextFromFile(FileName:string);
FileName .
x = ReadTextFromFile(vFile);
ReadFile(FileName:string);
FileName Stream.
x = ReadFile(vFile);
AnsiToUTF8(Text:string);
Text ANSI UTF8.
x = AnsiToUtf8(vLine);
194
11 SoftOne Scripts
UTF8ToAnsi (Text:string);
Text UTF8 ANSI.
x = Utf8ToAnsi(vLine);
FindFirst(FileName:string, Attr:integer);
attributes.
File Attributes: faReadOnly = 1, faHidden = 2, faSysFile = 4, faVolumeID = 8, faDirectory = 16, faArchive = 32, faAnyFile = 63
FindNext(FileHandle:FindFirstResult);
attributes.
vFind = FindNext(vFind);
FindClose (FileHandle:FindFirstResult);
FindFirst, FindNext.
x = FindClose(vFind);
TStringsCreate();
Name=Value (. CODE=Test1).
string lists .
TStringsClear(TStringsHandle);
.
TStringsGetValue(TStringsHandle, Name:string);
record Name.
TStringsGetItem(TStringsHandle, Index:integer);
record record Index.
TStringsAdd(TStringsHandle, DataStr:string);
DataStr: Value = Name
DateStr record .
TStringsCount(TStringsHandle);
records .
GetXStrings(Name);
Name.
195
11 SoftOne Scripts
G.3 SysRequest
RequestEdit(Command:string);
command. client.
Evaluate(Module, Formula:string);
.
ShowHtmlMessageForm(TStringsHandle);
Web form . script.
fText = 'mytext';
fStrings = TStringsCreate;
x = TStringsSetText(fStrings, fText);
x = ShowHtmlMessageForm( fStrings);
ShowWebPage(URL:string);
HTML .
x = ShowWebPage('www.softone.gr')
vModule=CallPublished('ModuleIntf.CreateModule','SALDOC,WARNINGS:OFF');
vPrinter=CallPublished('ModuleIntf.GetFieldValue',VarArray(vImptable,'vPrinter',2));
x = PrintForm((vModule,1000,vPrinter,'');
GetTableFieldNames(TableName);
TableName.
DestroyObject(ObjecHandle);
object.
x = DestroyObject( fStrings);
196
11 SoftOne Scripts
GetTableMoreInfo(TableName);
text .
GetTableFieldInfos(TableName);
text .
GetXplorerDataDir(Params);
directory softone.
GetXplorerLogDir(Params);
directory log files.
GetXplorerTempDir(Params);
directory temp files.
GetXplorerOffLineDir(Params);
directory offline files.
197
11 SoftOne Scripts
. Case Studies
Case Study 1
( Sql statement)
PAYMENT. interface.
form
{
}
connect Xplorer xData
{
connect();
findoc=select findoc, sosource, fincode, trndate, sumamnt
from findoc
where company=:$X.SYS.COMPANY
and fiscprd=:$X.SYS.FISCPRD
and sosource = 1351
and fprms in (7061,7062,7063,7064,7066,7067,7071,7072,7073,7076,7082,7127,7128)
--and trndate = '20020110'
order by 1 desc;
}
var
x, Module, DsFinDoc, Dslines, vFieldVal, vFieldVal1, Count;
{
Module = CallPublished('ModuleIntf.CreateModule','SALDOC,WARNINGS:OFF,NOMESSAGES:1');
DsFinDoc = CallPublished('ModuleIntf.GetDataSet',VarArray(Module,'FINDOC',2));
Count = 0;
fetch FinDoc
{
Count = Count + 1;
}
x = SendResponse(Count, 'RESULTS.TOTREC');
Count = 0;
fetch findoc
{
x = CallPublished('ModuleIntf.LocateModule',VarArray(Module,findoc.findoc,2));
Count = Count + 1;
x = SendResponse(Count, 'RESULTS.CURREC');
x = CallPublished('ModuleIntf.DataSetEdit',DsFinDoc);
x = CallPublished('ModuleIntf.SetFieldValue',VarArray(DsFinDoc, 'PAYMENT', 1000, 3));
x = CallPublished('ModuleIntf.PostModule', Module );
}
x=SendResponse(Count, 'RESULTS.CURREC');
}
198
11 SoftOne Scripts
Case Study 2
Excel temp .
Excel (Line, , , , , ..)
Form {
[TABLES]
ImpTable=;;;;Master;3;0
[ImpTable]
vMess=16;64000;0;1;1; ...;;;;
vExcelFile=1;4000;1;1;0;Excel file;$Filename;;'C:\test1.xlsx';
vDBTable=1;64;1;0;0;TableName;;;;CCCEXCEL_CUST
vDrop=2;15;1;0;0;Drop and Create Table;$Y;;1;
vInsRec=2;15;1;0;0;Insert Records;$Y;;1;
[PANELS]
PANEL10=0;;0;50,G10,N
PANEL13=4; ...;0;100,G10,N,L3
[PANEL10]
ImpTable.vExcelFile
ImpTable.vDBTable
ImpTable.vDrop
ImpTable.vInsRec
[PANEL13]
ImpTable.vMess
}
Import ImpCUSTOMER(sCus,sCusBranch) into 'CUSTOMER,WARNINGS:OFF,NOMESSAGES:1'
{
CUSTOMER sCus {
CODE
= '*';
NAME
= sCus.cNAME;
AFM
= sCus.cAFM;
CITY
= sCus.cCITY;
ADDRESS
= sCus.cADDRESS;
}
CUSBRANCH sCusBranch {
CODE = sCusBranch.bCODE+'.01';
NAME = sCusBranch.bNAME;
ISCENTER = sCusBranch.bISCENTER;
ADDRESS = sCusBranch.bADDRESS;
CITY = sCusBranch.bCITY;
}
}
Connect Xplorer SoftOne {
connect();
sCus = SELECT
[Line]
AS Line
,[] AS cNAME
,[]
AS cAFM
,[]
AS cCITY
,[] AS cADDRESS
FROM $REMOVEQUOTES(:$ImpTable.vDBTable);
sCusBranch = SELECT
[.] AS bCODE
,[] AS bNAME
,1
AS bISCENTER
,[] AS bADDRESS
,[]
AS bCITY
FROM $REMOVEQUOTES(:$ImpTable.vDBTable)
WHERE [Line] = :$sCus.Line ;
}
199
11 SoftOne Scripts
var
Jstr, objExcel, vscript, x, vTot, vRow, vRowCancel, vMess, Ds, vError, str1, vModule, ifin, vTask, vSalesman, newCusCode,
vMessErrors, vMessTask, vCurRec;
{
vError=0;
vMess='';
if (vError=0)
{
vMess = '============== =============='+#13+#10+#13+#10;
x=SendResponse( vTot, vRow, vRowCancel, ' ...', vMess,
'RESULTS.TOTREC;RESULTS.CURREC;RESULTS.CANREC;RESULTS.LABELTEXT;ImpTable.vMess');
//>>>======= Excel SQL Table - =======
if(:ImpTable.vDrop=1)
{
x = SafeExecSQL('SoftOne','DROP TABLE ' + :ImpTable.vDBTable, Null );
x = CallPublished('SysRequest.Evaluate', VarArray(ImportModule('ImpCUSTOMER'),
'ExcelImport('+#39+:ImpTable.vExcelFile+#39+','+#39+:ImpTable.vDBTable+#39+',1,2)', 2));
}
//<<<======= Excel SQL Table - =======
//>>>============ CUSTOMER () ================
vCurRec = 0;
vTot = 0;
vRowCancel = 0;
fetch sCus vTot = vTot + 1;
x = SendResponse( vTot, 0, 0, 'RESULTS.TOTREC;RESULTS.CURREC;RESULTS.CANREC' );
vMess = vMess + 'A. ... '+#13+#10;
x = SendResponse( vMess, ' ...','ImpTable.vMess;RESULTS.LABELTEXT' );
fetch sCus {
if(:ImpTable.vInsRec = 1)
{
ImpCUSTOMER(sCus,sCusBranch);
vCurRec = vCurRec + 1;
if (ImportError = 0)
{
newCusCode = GETQUERYRESULTS('SoftOne','SELECT CODE FROM TRDR WHERE
TRDR='+VarToStr(resultnum),NULL);
vMess = vMess + ' ' + VartoStr(vCurRec) + '. : '+VartoStr(sCus.cName)
+' ...OK - : '+VartoStr(newCusCode)+#13+#10;
x=SafeExecSQL('SoftOne','UPDATE ' + :ImpTable.vDBTable + ' SET [..]='+VartoStr(newCusCode)+'
,[..]='+QUOTEDSTR('01')+' WHERE LINE='+VartoStr(vCurRec), Null );
}
else
{
vRowCancel = vRowCancel+1;
vMess = vMess + ' ' + VartoStr(vCurRec) + '. : '
+VartoStr(sCus.cName)+ ' ...ERROR - '+ ErrorMessage+#13+#10;
x=SafeExecSQL('SoftOne','UPDATE ' + :ImpTable.vDBTable + ' SET
[..]='+QUOTEDSTR('error')+',[..]='+QUOTEDSTR('error')+' WHERE LINE='+VartoStr(vCurRec), Null );
}
vSalesman = sCus.cSalesman;
x = SendResponse(vTot, vCurRec, vRowCancel, vMess,
'RESULTS.TOTREC;RESULTS.CURREC;RESULTS.CANREC;ImpTable.vMess' );
}
}
vMess = vMess + '- '+#13+#10+#13+#10;
x = SendResponse(vTot, vCurRec, vRowCancel, vMess,
'RESULTS.TOTREC;RESULTS.CURREC;RESULTS.CANREC;ImpTable.vMess' );
//<<<============ CUSTOMER () ================
vMess = vMess +#13+#10+ '============== ================'+#13+#10;
x=SendResponse(vCurRec, vRowCancel, vMess, ' ...',
'RESULTS.CURREC;RESULTS.CANREC;ImpTable.vMess;RESULTS.LABELTEXT');
}
}
200
11 SoftOne Scripts
Case Study 3
( sql query)
Form {
[TABLES]
ImpTable=;;;;Master;3;0
[ImpTable]
vMess=16;64000;0;1;1; ...;;;;
[PANELS]
PANEL13=4; ...;0;100,G10,N,L3
[PANEL13]
ImpTable.vMess
}
Import ImpCFNCUSDOC(sDoc) into 'CFNCUSDOC,WARNINGS:OFF,NOMESSAGES:1'
{
FinDoc sDoc {
SERIES = 3800;
TRNDATE = sDoc.TRNDATE;
TRDR = sDoc.TRDR;
FINDOCS = sDoc.FINDOC;
COMMENTS = ' Import Script';
}
CashLines sDoc {
SOPAYTYPE = 1;
LINEVAL = sDoc.sumamnt;
}
}
201
A. Sosource
B. Sodtype
C. (X.SYS)
D. (acCommands)
. Editor Commands
F. Editors
G. Origin ( )
H. Commands Object
I. Commands Browser Object
J.
202
A. Sodtype
O sodtype.
SODTYPE
10
11
12
13
14
15
16
20
21
22
25
30
31
32
33
40
41
42
43
44
51
52
53
54
61
70
71
72
73
81
82
83
84
89
90
91
95
96
97
Draft Entry
/
Set
Set
Set
Bonus
ABCosting
203
B. Sosource
O sosource.
SOSOURCE
1010 1019
1054
1089
1090
1096
1097
1098
1099
1100
1120
11351
1140
1151
1154
1171
1181
1212
1251
1253
1261
1281
1282
1312
1313
1351
..
..
()
....
1352
1353
1361
1381
1382
1412
1413
1414
1415
1416
1453
1481
1553
1581
1653
1681
1717
2021
2052
2095
5151
7151
8100
9500
...
204
C. (X.SYS)
, , Java & VB script custom ,
import script alerts. :X.SYS.CName, CName
(. login X.SYS.COMPANY).
(:X.SYS.CName)
(CName)
ACNSCHEMA
Small Int
BRANCH
CMPCURR
Small Int
VarChar(5)
COMPANY
Small Int
COUNTRY
DBTYPE
(1=ORACLE,3=MSSQL,5=MYSQL)
Small Int
Small Int
FISCPRD
FISCPRDPAY
()
Small Int
Small Int
FOLDER
FPDATE
Small Int
Date
FPERIOD
Small Int
FYDATE
GROUPS
Date
Small Int
ISADMIN
LANGEXT
Administrator
Login
Small Int
VarChar(5)
LOCKFISCPRD
Small Int
LOGINDATE
LPDATE
Date
Date
LPERIOD
LYDATE
Small Int
Date
NFISCPRD
PAYCPDATE
/ .
Small Int
Date
PAYFPDATE
Date
PAYLPDATE
PAYPERIOD
./
Date
Small Int
PAYPRDTYPE
PERIOD
()
Small Int
Small Int
PFISCPRD
Small Int
PFYDATE
PLYDATE
.
./
Date
Date
SOCASH
SOCASHUSER
Small Int
Small Int
SOCURRENCY
SYSDATE
Small Int
Date
USER
Login
Small Int
USERBRANCHES
USERNAME
VarChar(30)
VarChar(1024)
WHOUSES
WRKSTN
VarChar(4000)
Small Int
205
D. (acCommands)
SoftOne
.
/ ACMD:xxx, : xxx .
acCommands
acAbout
acBackup
acBuildHtmlDoc
acBuildOfflineFile
acCalcErrors
acChangePWD
acChat
acCheckCS
acCheckDB
acCheckForUpdates
acComputerSoft1Address
acConnections
acCreateDB
acCutCompanyData
acDesktop
acEditAccess
acEditFavorites
acEditUserMenu
acExpBarClose
acExport
acFavorites
acFullTextSearch
acHelpContents
acHistory
acImpFromClipBoard
acImpFromFile
acImport
acKnowBase
acLicUse
acMainMenu2
acMemory
acmMind
acModifMenu
acMP3Player
acMySoft1
acNewLicense
password
Client/Server
View computer soft1 address
softone
menu
Full Text Search
Help Contents and index
XXF Clipboard
XXF
Program knowledge base
206
acCommands
acNewSynchOffline
acProgramNews
acRelogin
acReminder
acRemoteCommands
acRemoteConfig
acRemoteServer
acReportGen
acRestore
acSaaSServerLogin
acScheduler
acSDKFiles
acSELECTTOP
acSendCustomerMessage
acSendMsg
acSettings
acSetupOffline
acSetupPrinters
acSQLMonitor
acSrvAccess
acStandard
acStartupSQL
acStatusBar
acSupAnswers
acSupQuery
acSyncDB
acSynchOffLine
acSynchOnline
acTetris
acToggleMnu
acUpgradeLicense
acUserMenu
acWebPage
acZReportSignB
( . 3.12.508 )
Program news
Remote Server
Remote
Remote Server
Saas Login
Scheduler
Custom SDK Code Files
Select Top Object
Off-Line
SQL monitor
Server
()
SQL Queries Login
Status Bar
E.Y.
E.Y.
Game Tetris
SoftOne
Z Report
207
E. Editor Commands
Editors
, .
Editor Commands
$DT
&
$TIME
( /)
$PASSWORD
Password ( )
$Y
Boolean ( checkbox)
$YN
$WEBPAGE
$PRINTERS
Windows
$DATERANGE
$TIMERANGE
$COLOR
Softone
$ONECOLOR
Windows
=256^2*Red + 256^1Green + 256^0*Blue
$FILENAME
$MASKEDIT
$RECURRENCE
(Scheduler) Softone
$MEMOEDIT
Grid memo
$LIST:OBJECT
(),
( SOLIST
SOLISTLNS)
$XRUN(D[Par1,Par2,Par3])
Par1=<visible>,
Par2=<exefilename>,
Par3=<file params>
:
( 1 extra
) :
$XRUN(D[0,C:\Xplorer.exe,"/"+CUSEXTRA.VARCHAR01])
server,
softone server.
208
F. Editors
O editors .
Editors
Editor
@ACN
ACNT(F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;:CSEL.SODTYPE])
@ACNAL
ACNTAL(F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;90])
@ACNALM
ACNTAL(M,R[CODE],F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;90],H[ACNTAL])
@ACNCTGR
ACNCATEGORY(F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;:CSEL.SODTYPE])
@ACNGL
ACNTGL(F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;89])
@ACNGLM
ACNTGL(M,R[CODE],F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;89],H[ACNTGL])
@ACNGRP
ACNGROUP(F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;:CSEL.SODTYPE])
@ACNM
ACNT(M,R[CODE],F[ACNSCHEMA=:X.SYS.ACNSCHEMA],H[ACNTGL])
@ACNMDL
ACNMODEL(F[ACNSCHEMA=:X.SYS.ACNSCHEMA])
@ACNMDLAL
ACNMODELAL(F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;90])
@ACNMDLGL
ACNMODELGL(F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;89])
@ACNSLG
ACNISOLOG(F[ACNSCHEMA;SODTYPE=:X.SYS.ACNSCHEMA;:CSEL.SODTYPE])
@ACNT
ACNT(F[ACNSCHEMA=:X.SYS.ACNSCHEMA])
@ALLCLSFLDR
@ARS
AREAS(F[SODTYPE=:CSEL.SODTYPE])
@CKAD
@CLSFLDR
@COL
@COLM
@COMM
COMMENTS(M,R[NAME],F[SOSOURCE=:CSEL.SOSOURCE])
@CRCNTRL
CRCONTROL(F[SODTYPE=:CSEL.SODTYPE])
@DSCPLC
VCRDRULE(F[SODTYPE;SOTYPE=:CSEL.SODTYPE;2])
@IRSM
IRSDATA(M,R[NAME])
@JOB
JOBTYPE(F[SODTYPE=:CSEL.SODTYPE])
@MATEXP
EXPN(F[USEBYITEM=1])
@MATOMD
MTRGROUP(F[SODTYPE=:CSEL.SODTYPE])
@PAYT
PAYMENT(F[SODTYPE=:CSEL.SODTYPE])
@PERIODACN
@PERIODMTR
@PERIODPAY
@PERIODTRD
209
Editors
Editor
@PUR
@PURM
@RPCPLC
PRCPOLICY(F[SODTYPE;SOTYPE=:CSEL.SODTYPE;1])
@SAL
@SALM
@SXACNTM
SXACNT(M,R[CODE],H[SXACNT])
@SXACNTSM
SXACNT(W[A.MTRTYPE IN (1,3)],M,R[CODE],H[SXACNT])
@SXACNTXM
SXACNT(W[A.MTRTYPE IN (2,4)],M,R[CODE],H[SXACNT])
@TEC
@TEMPLATESABC
TEMPLATESABC(F[SOSOURCE;GLTEMPLATESMD=:SOSOURCE;2])
@TEMPLATESGL
TEMPLATESGL(F[SOSOURCE;GLTEMPLATESMD=:SOSOURCE;1])
@TEMPLATESSX
TEMPLATESSX(F[SOSOURCE;GLTEMPLATESMD=:SOSOURCE;3])
@TFPRMS
TFPRMS(F[SOSOURCE=:CSEL.SOSOURCE])
@TRDBRN
TRDBRANCH(F[TRDR=:CSEL.TRDR])
@TRDBSN
TRDBUSINESS(F[SODTYPE=:CSEL.SODTYPE])
@TRDCTGR
TRDCATEGORY(F[SODTYPE=:CSEL.SODTYPE])
@TRDRS
TRDR(W[SODTYPE IN (12,13,15,16)])
@UAT1
UATBL01(F[ACNSCHEMA;SODTYPE=:CSEL.ACNSCHEMA;:CSEL.SODTYPE])
@UAT2
UATBL02(F[ACNSCHEMA;SODTYPE=:CSEL.ACNSCHEMA;:CSEL.SODTYPE])
@UAT3
UATBL03(F[ACNSCHEMA;SODTYPE=:CSEL.ACNSCHEMA;:CSEL.SODTYPE])
@UAT4
UATBL04(F[ACNSCHEMA;SODTYPE=:CSEL.ACNSCHEMA;:CSEL.SODTYPE])
@UAT5
UATBL05(F[ACNSCHEMA;SODTYPE=:CSEL.ACNSCHEMA;:CSEL.SODTYPE])
@UCT1
UCTBL01(F[SODTYPE=:CSEL.SODTYPE])
@UCT2
UCTBL02(F[SODTYPE=:CSEL.SODTYPE])
@UCT3
UCTBL03(F[SODTYPE=:CSEL.SODTYPE])
@UCT4
UCTBL04(F[SODTYPE=:CSEL.SODTYPE])
@UCT5
UCTBL05(F[SODTYPE=:CSEL.SODTYPE])
@UT1
UTBL01(F[SODTYPE=:CSEL.SODTYPE])
@UT2
UTBL02(F[SODTYPE=:CSEL.SODTYPE])
@UT3
UTBL03(F[SODTYPE=:CSEL.SODTYPE])
@UT4
UTBL04(F[SODTYPE=:CSEL.SODTYPE])
@UT5
UTBL05(F[SODTYPE=:CSEL.SODTYPE])
@ZIPM
VZIPADDRESS(M,R[CODE])
210
G. Origin ( )
O ORIGIN FINDOC.
ORIGIN
(Service)
(Service)
10
11
(Service)
12
./
14
. -
15
. --
16
17
18
19
20
21
Import
22
23
24
25
26
27
28
29
30
31
32
33
34
35
bonus points
36
()
37
()
211
H. Commands Object
(SoftOne commands)
objects. object.
(FINDOC)
/
Activity Based
Costing
--
--
--
---
--..--
--..--
--..-
----
--
---
--..--
--..--
--..--
--..---
Softone command
XCMD:SFPAYTERMS
XCMD:1031
XCMD:CFNCUSDOC,EKSOFL:1,S
XCMD:CFNSUPDOC,EKSOFL:1,S
XCMD:CSTFINLNS,S;FINDOC.FINDOC
XCMD:10006
XCMD:SFFINFROM
XCMD:SFFINTO
XCMD:10112
XCMD:SFFINPRCRULE
XCMD:SFCNTR
XCMD:SFPRCPOLICY
XCMD:10113
XCMD:ABCTRNLINES,S[ABCTABLE=FINDOC];F
INDOC.FINDOC
XCMD:10110
XCMD:XTRDOCDATA,S
XCMD:10107
XCMD:SFADVANCE
XCMD:908
()
XCMD:CSTPRDLNS,S;FINDOC.FINDOC
XCMD:&EKSOFL
XCMD:&CMDOBJ
(APPMNT)
XCMD:SFFINTO
212
(TRDR)
Softone command
- -
XCMD:SFCMPREM
XCMD:GsisCmpAfmData
(MTRL)
Softone command
XCMD:SFCMPREM
(ACNT)
Softone command
XCMD:10009
XCMD:XTRDOCDATA,S
(SRVC)
(CNTR)
Softone command
XCMD:1001
(BUDGETS)
Softone command
XCMD:InitBudgetData,s,BUDGET.BUDGET
XCMD:CalcBadgetData;BUDGET.BUDGET
XCMD:DELETEBUDGETDATA;BUDGET.BUDGET
XCMD:COPYBUDGETDATA;BUDGET.BUDGET
213
CRM
Softone command
- . - - Email
- . - - Email
- . - - Email
- . - - Email
- . - - Email
- . - - Email Draft
Email
XCMD:1000
XCMD:1003
XCMD:1004
XCMD:1005
XCMD:1006
Draft entry
Draft entries
XCMD:1001
Draft entries
XCMD:GsisCmpAfmData
XCMD:FOLLOWUPDLG
XCMD:ACTHISTDLG
XCMD:ACTREPEATDLG
XCMD:1002
XCMD:SFPREVSTEP
XCMD:XTRDOCDATA,S
XCMD:1001
(XDOCS)
Softone command
Open file
XCMD:10003
Save to file
XCMD:10004
Save file to DB
XCMD:10011
XCMD:10012
XCMD:11011
XCMD:11012
XCMD:11013
214
Browsers (FINDOC)
Softone command
XCMD:CONVERTDLG,SOSOURCE:1351
XCMD:CONVERTDLG,SOSOURCE:1151
XCMD:CONVERTDLG,SOSOURCE:1251
XCMD:ASSDOC,N,CNV:1
XCMD: CONVERTDLG,SOSOURCE:1351,LN:1
.
.
.
, , ,
..
, , ,
..
, , ,
..
, , ,
..
XCMD:REMOVERESTMODE
XCMD:UNDOREMOVEREST
XCMD:REMOVERESTMODE,LN:1
XCMD:UNDOREMOVEREST,LN:1
XCMD:PROCESSDLG,SOSOURCE:1351
XCMD:PROCESSDLG,SOSOURCE:1151
XCMD:PROCESSDLG,SOSOURCE:1251
XCMD:SALDOC,N,CNV:3
XCMD:RETAILDOC,N,CNV:3
XCMD:PURDOC,N,CNV:3
XCMD:ITEDOC,N,CNV:3
XCMD:ASSDOC,N,CNV:3
, ,
,.-
, . ,
..
XCMD:PURDOC,N,CNV:100
XCMD:ITEDOC,N,CNV:100
XCMD:1003
XCMD:10016
XCMD:1001
XCMD:SALDOC,N,CNV:100
215
Browsers (FINDOC)
Softone command
.Factoring
XCMD:Docspmcash
.Factoring
XCMD:Docsmcash
.Factoring
XCMD:Docsrcash
.Factoring
XCMD:DocsPayExpences
.Factoring
XCMD:DocsExpences
XCMD:CreditDoc
Browsers (TRDR-PRJC-PRSN)
, ,
, , ,
, ,
, ,
, ,
, ,
email
Softone command
XCMD:CRTACTIONDLG
XCMD:SENDEMAILDLG
XCMD:CreateXDoc
Export Outlook
XCMD:EXPOUTCONTACTS
Export Google
XCMD:EXPGCONTACTS
Browsers (MTRL)
Softone command
XCMD:IteCalcMarkUp
..
XCMD:IteWhouseRest
XCMD:IteOrdersServ
, ,
XCMD:CreateXDoc
XCMD:IteToWeb
XCMD:IteToRetail
.
Web
. .
Touch
Browsers (ACNT)
Softone command
XCMD:1001
XCMD:ACCGLHEADER,N,CNV:100
XCMD:1001
XCMD:ACCALHEADER,N,CNV:100
216
Browsers (CHEQUE)
Softone command
XCMD:ChqCfnDoc
XCMD:CreateXDoc
Browsers (SRVC)
Softone command
XCMD:100001
XCMD:100002
XCMD:1001
XCMD:1002
XCMD:SALDOC,N,FROMSRVCARD:1
XCMD:SALDOC,N,FROMSRVCARD:2
/ -.
XCMD:SALDOC,N,FROMSRVCARD:0
XCMD:SALDOC,N,SENDSRVCARD:1
XCMD:CreateXDoc
Browsers (XDOC)
Softone command
XCMD:10003
XCMD:10004
XCMD:SendDocWithMail
Browsers CRM
- . - Email
- . - Email
- . - Email
Softone command
XCMD:FOLLOWUPDLG,BROWSER:1
XCMD:ACTHISTDLG,BROWSER:1
XCMD:ACTREPEATDLG,BROWSER:1
Draft
XCMD:1100
Draft Entries
XCMD:SENDEMAILDLG
Export Google
Draft Entries
XCMD:EXPGCONTACTS
217
J.
O Tabs
. / Database Designer.
.. /
Command
XP
primary key
Tab
.
XU
XI
/
XP_KEYNAME ( KEYNAME
)
XF_TABLE_FOREIGNKEY = REFERENCETABLE
foreign key .
: TRDR()
Command: XF_TRDR_SALESMAN = PRSN
ConstraintName: XF_TRDR_SALESMAN
Foreign Key: SALESMAN
Reference Table: PRSN
XC_KEYNAME = (FIELDNAME>=value)
XC
(Field Validation).
.
XD
Cascade Delete.
detail
header .
XT
:
links .
linked objects
.
XR
:
foreign key object
XR
:
Cascade Delete object
XF
: FIELD1
100 500.
XC_KEYNAME =(FIELD1>100) AND (FIELD1<500)
XD_DETAILTABLE_HEADERTABLE
:
.
XD_TRDBRANCH_TRDR
XT_TABLEFIELD_OBJECT
: EXTRA (Link )
XT_MTRL_ITEEXTRA
XR_TABLE_FIELDNAME = OBJECT
: .
XR_MTRL_RELITEM = ITEM
XR_DETAILTABLE_HEADERTABLE
:
XR_MTRLINES_FINDOC
218