lib
proc Form_Start()
f = TopForm
()
pe = PByName
(f
,"AU_EVENT_PURCH"
)
te = TByName
(pe
,"AU_EVENT_PURCH"
)
task = FormTask
(f
)
mode = __params[6]
if (task = ptApp
end) then
call TEdit
(te
)
call TSetFld
(te
,"SCHEDULED_FLAG"
,"0"
)
call TSetFld
(te
,"DONE_FLAG"
,"0"
)
call TSetFld
(te
,"CANCELED_FLAG"
,"0"
)
call TSetFld
(te
,"STAT"
,"Non Scheduled"
)
call TSetFld
(te
,"SDATE1"
,crDate
)
if (mode = "SUPPLIER_MODE"
) then
bus_id = __params[7]
btitle = __params[8]
call TSetFld
(te
,"AU_BUSINESS"
,bus_id
)
call TSetFld
(te
,"F_AU_BUSINESS_TITLE"
,btitle
)
endif
if (mode = "PRODUCT_MODE"
) then
start_sql "*" "KOSMOS"
SELECT AU_GOOD_CODE.AU_GOOD_CODE
, AU_BUSINESS.AU_BUSINESS
, AU_GOOD.TITLE
AS GTITLE
,
AU_GOOD.CODE
AS GCODE
, AU_GOOD_CODE.CODE
, AU_GOOD_CODE.DESCR
, AU_BUSINESS.TITLE
, AU_GOOD_CODE.AU_GOOD_CODE
FROM (AU_GOOD
LEFT JOIN AU_GOOD_CODE
ON AU_GOOD.AU_GOOD = AU_GOOD_CODE.AU_GOOD
)
LEFT
JOIN AU_BUSINESS
ON AU_GOOD_CODE.AU_BUSINESS = AU_BUSINESS.AU_BUSINESS
WHERE (AU_GOOD.AU_GOOD=:G
)
ORDER BY AU_GOOD_CODE.AU_GOOD_CODE
end_sql
q = QueryByName
()
good_id = __params[7]
call TSetParam
(q
,"G"
,good_id
)
call TExecute
(q
)
call TLast
(q
)
gcode = TGetFld
(q
,"GCODE"
)
gtitle = TGetFld
(q
,"GTITLE"
)
code = TGetFld
(q
,"CODE"
)
descr = TGetFld
(q
,"DESCR"
)
bus_id = TGetFld
(q
,"AU_BUSINESS"
)
bus_t = TGetFld
(q
,"TITLE"
)
code_id = TGetFld
(q
,"AU_GOOD_CODE"
)
call FreeEmbSQL
(q
)
call TSetFld
(te
,"AU_BUSINESS"
,bus_id
)
call TSetFld
(te
,"F_AU_BUSINESS_TITLE"
,bus_t
)
call TSetFld
(te
,"AU_GOOD"
,good_id
)
call TSetFld
(te
,"F_AU_GOOD_CODE"
,gcode
)
call TSetFld
(te
,"F_AU_GOOD_TITLE"
,gtitle
)
call TSetFld
(te
,"AU_GOOD_CODE"
,code_id
)
call TSetFld
(te
,"F_AU_GOOD_CODE_CODE"
,code
)
call TSetFld
(te
,"F_AU_GOOD_CODE_DESCR"
,descr
)
endif
call TPost
(te
)
call ReLoadEditFields
(f
)
endif
{......................................selection lists..............}
start_sql "CODE_SEL" "KOSMOS"
SELECT AU_GOOD_CODE.CODE
, AU_GOOD_CODE.DESCR
, AU_GOOD.AU_GOOD
,
AU_GOOD_CODE.AU_GOOD_CODE
FROM AU_GOOD_CODE INNER
JOIN AU_GOOD
ON AU_GOOD_CODE.AU_GOOD = AU_GOOD.AU_GOOD
WHERE (AU_GOOD_CODE.CODE LIKE :E & '%'
)
AND
(AU_GOOD_CODE.AU_BUSINESS = :B
)
ORDER BY AU_GOOD_CODE.CODE
end_sql
start_sql "DESCR_SEL" "KOSMOS"
SELECT AU_GOOD_CODE.DESCR
, AU_GOOD_CODE.CODE
, AU_GOOD.AU_GOOD
,
AU_GOOD_CODE.AU_GOOD_CODE
FROM AU_GOOD_CODE INNER
JOIN AU_GOOD
ON AU_GOOD_CODE.AU_GOOD = AU_GOOD.AU_GOOD
WHERE (AU_GOOD_CODE.DESCR LIKE :E & '%'
)
AND
(AU_GOOD_CODE.AU_BUSINESS = :B
)
ORDER BY AU_GOOD_CODE.DESCR
end_sql
start_sql "UOM_SEL" "KOSMOS"
SELECT AU_UNITMEAS.CODE
, AU_UNITMEAS.AU_UNITMEAS
FROM AU_GOOD_UNITMEAS INNER
JOIN AU_UNITMEAS
ON AU_GOOD_UNITMEAS.AU_UNITMEAS = AU_UNITMEAS.AU_UNITMEAS
WHERE (AU_UNITMEAS.CODE LIKE :E & '%'
)
AND
(AU_GOOD_UNITMEAS.AU_GOOD = :G
)
ORDER BY AU_UNITMEAS.CODE
end_sql
start_sql "SUP_SEL" "KOSMOS"
SELECT AU_BUSINESS.TITLE
, AU_BUSINESS.AU_BUSINESS
FROM (AU_BUSINESS INNER
JOIN AU_CATEGORY_ENT
ON AU_BUSINESS.AU_BUSINESS = AU_CATEGORY_ENT.RID
)
INNER
JOIN AU_CATEGORY_ITEM
ON AU_CATEGORY_ENT.AU_CATEGORY_ITEM = AU_CATEGORY_ITEM.AU_CATEGORY_ITEM
WHERE (AU_CATEGORY_ENT.TNAME='AU_BUSINESS'
) AND (AU_CATEGORY_ITEM.ACODE='AU_SUPPLIER'
)
AND
(AU_BUSINESS.TITLE LIKE :E & '%'
)
end_sql
end
proc Select_DESCR_SEL_Params
()
bus_id = TGetFld
(te
,"AU_BUSINESS"
)
bus_id = val
(bus_id
)
if (bus_id = 0
) then
call message
("Select Supplier!"
)
return
endif
s = GetEditedText
()
call ParamsEmbSQL
("DESCR_SEL"
,s
,bus_id
)
end
proc Select_CODE_SEL_Params
()
bus_id = TGetFld
(te
,"AU_BUSINESS"
)
bus_id = val
(bus_id
)
if (bus_id = 0
) then
call message
("Select Supplier!"
)
return
endif
s = GetEditedText
()
call ParamsEmbSQL
("CODE_SEL"
,s
,bus_id
)
end
proc Select_UOM_SEL_Params
()
good_id = TGetFld
(te
,"AU_GOOD"
)
good_id = val
(good_id
)
if (good_id = 0
) then
call message
("Select Product!"
)
return
endif
s = GetEditedText
()
call ParamsEmbSQL
("UOM_SEL"
,s
,good_id
)
end
proc Select_SUP_SEL_Params
()
s = GetEditedText
()
call ParamsEmbSQL
("SUP_SEL";s
)
end
{============================ Form_OnSelect ===========================}
proc Form_OnSelect
(tname
, fldname
, str
, t
, oldstr
, sq
)
if (tname = "AU_GOOD_CODE"
) then
good_id = TGetFld
(sq
,"AU_GOOD"
)
str = SelectFrom
("
SELECT CODE
, TITLE
FROM AU_GOOD
WHERE (AU_GOOD="
,good_id
,"
)"
)
code = GetSQLSelectItem
(str
,1
)
title = GetSQLSelectItem
(str
,2
)
call TEdit
(te
)
call TSetFld
(te
,"AU_GOOD"
,good_id
)
call TSetFld
(te
,"F_AU_GOOD_CODE"
,code
)
call TSetFld
(te
,"F_AU_GOOD_TITLE"
,title
)
call TPost
(te
)
call ReLoadEditFields
(f
)
endif
end
proc new_good
()
bus_id = TGetFld
(te
,"AU_BUSINESS"
)
if (bus_id > 0
) then
btitle = TGetFld
(te
,"F_AU_BUSINESS_TITLE"
)
call OpenFormTop
("ptApp
end"
,"
AU_GOOD_FAST_E.FM"
,"WORK.AU_GOOD"
,1
,"?=AU_GOOD"
,"SUPPLIER_MODE"
,bus_id
,btitle
)
else
call message
("Define Supplier!"
)
endif
end