Home
User Manual - The UK Mirror Service
Contents
1. Data Type of parameter in above example it is date type Define DB Column Name of parameter same as System Element If you define parameter then on click process button or menu item it will show pop up with parameter that you defined in the parameter tab and it will ask the user for enter parameter value 28 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage 6 4 Binding of Process You can bind this process with either button or menu item If you want to bind the process with button then this can be defined in table creation level E Table and Column Jo Bsz v x When you select Reference as Button It will show process field Bind your process here that is created in Report amp Process window And if you want to run the process on menu item click then it can be defined in Menu creation level 29 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage w Undo Changes Bi New Record lj Delete record I save changes f Requery Q Lookup Record Bi report coe 2 hep JE fall Menu loxmiaislzxl vixz Menu puc Generate Invoices 47 Print Invoices Comin xj Ra chat ia Ml Customer Payment Name Generate Invoices M Attachment Mill Procurement Description Generate and print Invoices From open Orders C Archive Document Mil Material Mana
2. Reference Price List EEEE m Sales Rep IdeasincUser bl Exel Payment Term Immediate 2 Copy From Campaign rj p Opportunity m _ Resend Mail Status Document Status Drafted X Document Type AR Invoice X Jl P Grand Total 0 00 Edcomplete Reference 6 Process 6 1 What is Process Processes can be used to perform some task on a button click or on a menu item click For example on click you want to consolidate a number of orders to a single shipment document copying document generate shipment etc Process is a class having two methods by default protected override void Prepare protected override String Dolt It extends the class VAdvantage ProcessEngine SvrProcess You can also pass parameters which can be retrieved in Prepare method 23 of 31 vienna VIENNA Advantage Silverlight Technical Document advan tage 6 2 Example of a Process Class Snippet of a process class is as follows ERES ook tee ee eS e oko ok ER ERE ook he koe A LEE ERK EE EEE RAE EE BK BE Project Name VAdvantage Class Name InvoiceGenerate Purpose Generate Invoices Class Used ProcessEngine SvrProcess Chronological Development dk RR AE oko ok E A ER EA oe ook ee Kok oe a E A A ek EEE oe E KEE eR EE using System using System Collections using System Collections Generic using System Ling using System Text using VAdvantage Classes using VAdvantage Common using VAdvantage Process u
3. o0 ViennaAdvantageWeb Microsoft Visual Studio Administrator e s o M Con Fle Edit View Refactor Project Build Debug Team Data Tools Test Window Help l a uU dg 4a aA Q 0 L gt pesg objclient EE MEE aie Ga 833 B al 2 0 2G i3 A 5 GI J G Install Web Components Publish Create Publish Settings 4 a MTRN2Position cs X TRN2 count cs CalloutDemo cs mee override bool AfterSave bool newRecord bool success int id GetTRN2_position_ID MTRN2Position obj new MTRN2Position GetCtx GetTRN2_position_ID null string sql SELECT TRN2 filledseat TRN2 freeseat From TRN2 position WHERE TRN2 position ID id DataSet ds new DataSet ds DB ExecuteDataset sql if ds null saniadojg FH 1210 dx3 uonnjos jee if ds Tables Count gt 0 if ds Tables Rows Count gt 0 i filledSeat VAdvantage Utility Util GetValueOfInt ds Tables 0 Rows 0 TRN2 filledseat freeSeat VAdvantage Utility Util GetValueOfInt ds Tables 0 Rows 0 TRN2 freeseat obj SetTRN2_filledseat filledSeat 1 obj SetTRN2_freeseat freeSeat 1 if obj GetTRN2_filledseat lt obj GetTRN2_totalseat obj Save return true else return false else return false else return false return base AfterSave newRecord success The above example is of Model Folder structure For see more M Classes X Classes coding example user can explore below folde
4. You can get the current active tab fields value with method mTab GelValue ColumnName QtyEntered Util GetValueOfDecimal mTab GetValue QtyEntered Otylnvoiced Util Get ValueOfDecimal mTab GetValue Qtylnvoiced Following example demonstrates how you can set the values of the fields in the current active tab with method mTab SetValue ColumnName value mTab SetValue PriceActual PriceActual mTab SetValue PriceEntered PriceEntered You can explore more example of callouts in following folder VAdvantage Model Callout callout run at client side in Silverlight Application If you want to add callout in module project then add callout class inw folder path ViennaAdvantage Model Callout folder 5 3 Bind Callout to Column To run callout method you have to bind a Callout method with a column on third tab Column of Window named Table and Column For bind the callout method to a column you have to set Callout field check box to True and enter the full callout method name with namespace in Callout Code textbox For example full name of callout method with namespace of above class is ViennaAdvantage Model CalloutInvoice Product enter in the Callout Code textbox as shown in below pic 21 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage all Table and Column Plb mls allyl Table Table Translation Column Co
5. ay Service References j bin E Interface 4 E Model v MTRN2Employee cs v MTRN2EmpRec cs 4 MTRN2Position cs E X TRN2 count cs v X TRN2 dep cs v X TRN2 department cs v X TRN2 employee cs v X TRN2 empRec cs v X TRN2 emproster cs v X_TRN2_position cs v X TRN2 positioncat cs v X TRN2 regform cs obj v Classl cs v Demo cs v TRN2Process cs saipadoid FH 1210 dx3 uonnjos Xa Lj Services ali app config _ mssccprj scc Li 3 ViennaAdvantageServer csproj vsps L ViennaAdvantageSvc csproj vspscc iQ ViennaAdvantageWeb m 1 public MClass Ctx ctx int Record_ID String trxName This constructor is used to get a particular record based on Record_ID passed to it and also used to create new record in that table If you know a particular Record_ID then this constructor will return that record If you pass 0 as Record ID then it will create a new Record That record will be saved into database when you call save function with instance of that class 2 public MClass Ctx ctx DataRow rs String trxName When you have Record in your dataset or you have data row for data and you want to initialize MClass for that record then pass that datarow to this constructor In this way you will reduce time as this will not go to database again to get that data for class instance initialization 15 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage
6. i Publish Publis s ViennaAdvantageSvc ee NN iL LL a LL Solution Explorer E c ren iae Solution ViennaAdvantageWeb 6 projects Platform N A E 7 cH ModelLibrary Build VAdvantage Default namespace gi VAdvantageSvc Build Events ModulePrefixNameSvc ViennaAdvantageServer bidet SS ex iof ViennaAdvantageSvc Debug Output type i ViennaAdvantageWeb NET Framework 4 dass Library Startup object Services Not set hd Assembly Information Settings m Resources Specify how application resources will be managed XOGIOOL X 1uojdxa anas Siy Resources Reference Paths Icon and manifest sams A manifest determines specific settings for an application To embed a custom manifest first add it to your project and then select it from the list below Icon Default Icon z m Manifest Embed manifest with default settings E solution Explorer A AE AS Ea E Error List Bl Output Ready z Gla fe ala Ro 5 m 3 4 Entries in Module Management Window To run your module in the system you must insert module information in Module Management window After login in the application with Role System Administration Open the window Module Management First Tab of this Window is regarding Module related info Field Name Description Module Enter your module name Description Enter your module description Version No Enter your module version number Ass
7. also qty EE f bool isSOTrx ctx GetContext WindowNo IsSOTrx Equals Y int C BPartner ID ctx GetContextAsInt WindowNo WindowNo C BPartner ID Decimal Qty System Convert ToDecimal mTab GetValue QtyInvoiced MProductPricing pp new MProductPricing ctx GetAD Client ID ctx GetAD Org ID M Product ID C BPartner ID Qty isSOTrx int M Pricelist ID ctx GetContextAsInt WindowNo M PriceList ID pp SetM PriceList ID M PriceList ID int M Pricelist Version ID ctx GetContextAsInt WindowNo M Pricelist Version ID pp SetM PriceList Version ID M PriceLlist Version ID long time ctx GetContextAsTime WindowNo DateInvoiced pp SetPriceDate time DateTime time System Convert ToDateTime ctx GetContext WindowNo DateInvoiced false wi pp SetPriceDate1 time mTab SetValue PriceList pp GetPriceList mTab SetValue PriceLimit pp GetPriceLimit mTab SetValue PriceActual pp GetPriceStd mTab SetValue PriceEntered pp GetPriceStd mTab SetValue C Currency ID pp GetC Currency ID mTab SetValue C UOM ID pp GetC UOM ID ctx SetContext WindowNo EnforcePriceLimit pp IsEnforcePriceLimit Y ctx SetContext WindowNo DiscountSchema pp IsDiscountSchema Y N catch Exception ex log Severe ex ToString SetCalloutActive false return Tax ctx WindowNo mTab mField value 19 of 31 vienna VIENNA Advantag
8. vienna advantage VIENNA Advantage Silverlight Technical Document 3 2 How to use Prefix Whenever you create new database table column window etc use module prefix Suppose you are going to uon create Accounting Application and its prefix like ACTAPP Then use prefix with every table column window etc E g if table name is TaxMaster then while create table in Vienna Advantage table name is ACTAPP TaxMaster Note a Module prefix name should not be less than three character b Prefix should be unique for every module Now after finalize the prefix name it is mandatory that you use this prefix name in table column and window in Application Dictionary Here is a list of Tables and respective windows where prefix is require Window Name Table name Column Value Descripion Table and Column AD Table DB Table Name On creating table use prefix name for DB Table Name for example if table name is TaxMaster Then after use prefix it become ACTAPP TaxMaster ACTAPP is prefix unique code System Element AD Element DB Column Name On creating system element use prefix name for DB Column Name like column name is Description then it become ACTAPP Description Table and Column AD Column DB Column Name On creating column use prefix name for DB Column Name Message AD Message Value On creating message use prefix for Value field AD Ref
9. Before Save If user wants to add some business logic before saving the data then use BeforeSave method If user wants to add some business logic before deleting the data then use BeforeDelete Before Delete method After Save If user wants to add some business logic after saving the data then use AfterSave method After Delete If user wants to add some business logic after deleting the data then use AfterDelete method It has two default parameterize constructors as show in below pic 14 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage o6 ViennaAdvantageWeb Microsoft Visual Studio Administrator e 0 M File Edit View Project Build Debug Team Data Tools Test Window Help Pd Bi Ee eee A Debug i SEDER CECE using using System Collections Generic using System Ling using System Text using ViennaAdvantage Model using VAdvantage Utility using System Data namespace ViennaAdvantageServer Model t class MTRN2Position X_TRN2_position public MTRN2Position Ctx ctx int TRN2_position_ID String trxName base ctx TRN2_position_ID trxName public MTRN2Position Ctx ctx DataRow dr String trxname base ctx dr trxname o9 ebjclient GetGradeCompleted A om Ua Ga Se wd CEA a Sa ae E Install Web Components s Publish Create Publish Settings 4 amp Process ka References
10. a Module Client Side project for Module Creation the code under this project run on client side and it contains the reference of core product VAdvantage project dll 3 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage ViennnAdvatangeSvc It is a Module Server side project the code under this project run on the server side and it also contains the reference of core product Model Library dll One hosting project named ViennaAdvantageWeb ViennaAdvatnageWeb It is the hosting project that finally deploy for hosting in the IIS which contain reference of all client side Xap and server side dlls 2 Code Structure Code structure of Product Project Model Library Project VAdvantage Project od Solution ViennaAdvantageWeb 6 projects Solution Explorer Eer Se E References 59 Solution ViennaAdvantageWeb 6 projects O Service References a oe zy Model J v5 lv a Properties AcctViewerData cs 5 rami BankStatementL oaderInterface cs ced ct BankStatementMatcherInterface cs Service References c BankVerificationInterface cs l ListBoxVO cs 2 Mar onis c 9 Classes Cj gg Process CM jj ViennaAdvantageProcess Common AcctSchemaCopyAcct cs Controls ct AcctSchemaDefaultCopy cs t Gj Converter ActivateForAssignment cs DataBase c Aging cs Cj Model 4 AllocationAuto cs gi Callout omen 3 M oC og cs 4 MAchievement cs MActivity
11. cs MAd cs amp amp MAging cs c MAlert cs H MAlertProcessor cs Model Folder Model Folder contains all business logic Module classes MClasses related to Application Dictionary Database Table If developer doesn t create MClass for a particular database table then data is save directly into database via PO class Model Folder will exist in both projects server side project and client side project 4 of 31 vienna VIENNA Advantage Silverlight Technical Document advan tage Model Callout Folder Contains all callout classes which will used for custom logic like on selection of one field populates other fields on the current window tab Also custom logic for validating user input on the field Process Folder Process Folder contains all process logic classes such as consolidate a number of orders to a single shipment document copying document generate invoice on reference button click or on click menu item Process folder also contains the code for running the third party tool process such as running report Process will run on sever side so it will be the part of Model library project Working with files Basically you can work in two ways in the solution One way is that you can add modify source code of core product itself Update existing MClasses Process classes or callout classes OR you can add your MClasses Process class in the related folder according to your requirement Second way is that you work in
12. ct ID amp amp ctx GetContextAsInt Envs WINDOW INFO Envs TAB INFO M AttributeSetInstance ID 0 mTab SetValue M AttributeSetInstance ID int ctx GetContextAsInt Envs WINDOW INFO Envs TAB INFO M AttributeSetInstance ID else try ZI object pqtyAll VAdvantage Classes InfoLines PQ ToArray for int x 0 x pqtyAll Length x mTab SetValue M AttributeSetInstance ID null object f pqtyAll GetValue x int AD Session ID Util GetValueOfInt VAdvantage Classes InfoLines f AD Session ID int winNo Util GetValueOfInt VAdvantage Classes InfoLines f windowNo Dictionary lt int Decimal gt ProductQty VAdvantage Classes InfoLines f _prodQty List lt int gt key ProductQty Keys ToList if AD Session ID Envs GetCtx GetAD Session ID amp amp winNo WindowNo amp amp Util GetValueOfInt value Util GetValueOfInt key 0 Decimal qty Util GetValueOfDecimal ProductQty Util GetValueOfInt value mTab SetValue QtyEntered qty mTab SetValue QtyInvoiced qty VAdvantage Classes InfoLines PQ RemoveAt x break 1 catch 18 of 31 vienna VIENNA Advantage Silverlight Technical Document advan tage for int k 0 k VAdvantage Classes InfoLines PQ Count k 1 VAdvantage Classes InfoLines PQ RemoveAt k P f XR Price Calculation see
13. d to update its X class M Classes are used to write business logic and it extends X Classes for getter and setter method If a tab of window using a workflow processes with node have Document Action functionality then M Class should implements DocAction class With the help of X Classes and M Classes business logic for the window will be created Following is an example of an X Class 9 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage namespace ViennaAdvantage Model Generated Model DO NOT CHANGE using System using System Text using VAdvantage DataBase using VAdvantage Common using VAdvantage Classes using VAdvantage Process using VAdvantage Model using VAdvantage Utility using System Data Generated Model for C InvoicePaySchedule version Vienna Framework 1 1 1 Id publicclassX C InvoicePaySchedule PO public X_C_InvoicePaySchedule Context ctx int C InvoicePaySchedule ID String trxName base ctx C_InvoicePaySchedule_ID trxName if C InvoicePaySchedule ID 0 SetC InvoicePaySchedule ID 0 SetC Invoice ID 0 SetDiscountAmt 0 0 SetDiscountDate DateTime Now SetDueAmt 0 0 SetDueDate DateTime Now SetIsValid false SetProcessed false N ui public X_C_InvoicePaySchedule Ctx ctx int C_InvoicePaySchedule_ID String trxName base ctx C_InvoicePaySchedule_ID trxName if C InvoicePaySchedu
14. de open it in visual studio 2010 You will see the following structure Solution Explorer 3 3 2 e a9 od Solution ViennaAdvantageWeb 6 projects S Modellibrary E d VAdvantage Fd c VAdvantageSvc E d ViennaAdvantage 4 ViennaAdvantageSvc BIS VicnnaAdvantageweb There are six projects in the solution VAdvantage It is a Client Side project which is the part of our base product The code under this project will run on client side and its dll will reside in Xap file of hosting project VAdvantageSvc It is a Server Side project which is the part of our base product The code under this project will run on server side and dll related to this project will reside in bin folder of hosting project This project contains WCF Service related classes and reference of core project Model Library dll ModelLibrary It is a Core Server Side library which is the part of our base product Which contain all the business logic Model classes Callout classes Process classes etc Each class is reside in proper structure inside the ModelLibrary Project Now the dll of this library is run on server side so this dll is refer in product server side project VAdvantageSvc All the above three projects are related to core product Further there are two more projects ViennaAdvantage and VennaAdvantageSvc The basic concept behind providing these two project is to make your own Module base on the core product ViennaAdvantage It is
15. der Menengement Material Management Printing Financial Management Performance Analysis Sales and Marketing Partner Relations Time and Expense Ceses Reaquests Application Dictionary System Admin Settings Utilities CP Financial Report Configuration CP x lt Cless Generator da Server Settings KE Ceteilec Trial Balance Big Selence Sheet Big Profit amp Loss Account Search e Xe 1 With the help of X Class Generator To generate X Class of a table you need to install Vienna Advantage Professional Module from the market after login with role System Administrator After installation of this module In Menu you got an X Class Generator link e For Creating X Class it takes a database connection with Web Config of hosted link e Login it with System Administrator e After clicking on X Class Generator from Menu Pop Up window will show as below IB X Generate Window Class Select Table v Path 12 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage e Select the table name and the Path where it can be saved Generate Window Class Select Table AD AttachmentLine ID l AD_AttachmentLocalPath_ID AD_Attribute_Value AD Column Access Path AD Crystallnstance ID AD Crystallnstance Para ID AD CrystalReport Bind ID e Then press OK e X Class will save on the selected path 2 Manually X Class Creation You can copy existing X Class and modify
16. e Re login in the application for see that changes 31 of 31
17. e Silverlight Technical Document advan tage Inside a callout class which inherits from CalloutEngine write a callout method Signature of the Method in which developer write a logic is Public String DocType Context ctx int WindowNo GridTab mTab GridField mField Object value if value DBNull Value value null value ToString return There are 5 parameters which are passed in a Callout method Parameter Description Context Context of the User Session WindowNo Current tab Window Number GridTab Object of the Grid Tab logical refer to table GridField Object of Grid Field logical refer to table column Object Value of the Field 5 2 Methods Use in Callout Making Callout Active InActive On calling any callout method you can set that callout to active and if callout is already active then don t call it again See below code example if callout is active and receiving value parameter to callout is not valid then return if IsCalloutActive value DBNull Value value null value ToString return make callout active SetCalloutActive true In the end of the callout method after successfully execute your logic before finally return from the callout make this callout inactive by below method 20 of 31 vienna VIENNA Advantage Silverlight Technical Document advan tage SetCalloutActive false Get Set Value in Callout
18. e from the list then the position category and position can be determined easily with corresponding Employee ID There are mainly two objectives of Callout 1 Validating User Inputs 2 Setting values to corresponding fields based on User Inputs 5 1 Writing a Callout Callout class always extends CalloutEngine Class As shown in below example Using System using System Net using System Windows using System Windows Controls using System Windows Documents using System Windows Ink using System Windows Input using System Windows Media using System Windows Media Animation using System Windows Shapes using VAdvantage Model using System Data using VAdvantage Classes using VAdvantage Grids using VAdvantage Utility using VAdvantage Logging using VAdvantage DataBase namespace ViennaAdvantage Model publicclassCalloutInvoice CalloutEngine public String Product Context ctx int WindowNo GridTab mTab GridField mField Object value if IsCalloutActive value DBNull Value value null value ToString 17 of 31 vienna VIENNA Advantage Silverlight Technical Document advan tage 1 int M_Product_ID System Convert ToInt32 value if M Product ID null M Product ID 0 return SetCalloutActive true try return mTab SetValue C_Charge_ID null Set Attribute if ctx GetContextAsInt Envs WINDOW INFO Envs TAB INFO M Product ID M Produ
19. embly Name Enter your assembly name Assemble should be created with the same name of prefix Unique Prefix Enter your prefix name only one underscore after prefix name Namespace Enter namespace by default it is ViennaAdvantage But if you change it then insert accordingly 8 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage alli Module Management JoB G x vir Module Module Related Info Module Dependency Info Menu Folder Window Tab Field Fileld Sequence Process Form Table Data DBScript Database Schema Organization y P Name Account Receivables Account Receivables Description v Active Version No 1 0 0 0 Version ID 1 000 0 AssemblyName VAARBC Category X p NameSpace ViennaAdvantage Prefix VAARBC Development Status Rating 0 Installationinstruction Feature Author URL je Dependency Information All the fields mentioned above are required to identify the module by system at runtime 3 5 Loading Assembly System will load module assemblies which are defined in the module management window and will execute M Classes X Classess Callout Classes etc according to assembly 4 Concept of X Class and M Class Purpose of X Classes is to provide getter and setter method to Model classes X Classes are the properties classes which are based on a database tables Whenever you change the fields of a table you nee
20. erence Name On creating reference use prefix for name field Window Tab amp AD Window Name On creating window use prefix Field for window name Report amp Process AD Process Name Value Use prefix for name and value filed in window Report amp Process Form AD Form Name Use prefix for Name field in F Form window Shortcut AD Shortcut Name Use prefix for Shortcut name Print Format AD PrintFormat Name Use prefix for name Report Format AD ReportFormat Name User prefix for name Workflow AD Workflow Name Value Use prefix for Name and Value Validation Rules AD Val Rule Name Use prefix for Name 6 of 31 VIENNA Advantage Silverlight Technical Document vienna advantage 3 3 Rename Assembly Client Side Assembly To run your module rename the assembly of client side project ViennaAdvantage with the module prefix name For this right click on the project go to properties and change Assembly Name as show in below pic Like if Module prefix name is ACTAPP then Assemble name should be ACTAPP ViennaAdvantageWeb Microsoft Visual Studio Administrator File Edit View Project Build Debug Team Data Tools Test Window Help Pdl Gi 4 2A 9 e B p peo socero B install web Components i Publish e Publ ings pA ViennaAdvantage X PESSA INE AssemblyInfo cs amp Configuration N A z Platform N A Y Debug JAF GR 2a A BL I Applica
21. gement Z Active Returns ds Entity Type Dictionary Jj z A Read Only Summary Level 2 i Sais Mil Cash Management on Process ej gt M l Financial Management fll Project Management Process C Invoice Generate ej ai Performance Analysis gt im Sales and Marketing While create new menu item select Process in Action list It will show Process dropdown then select your process that is created in Report amp Process Window 6 5 Process Access You have to give access to Role whose user can access the process There are two approaches to achieve it First Go to Report and Process window gt Go to second tab Process Access Here you can give access to Role Second Login in the application with Client Admin Role Open the Role Window as shown below gt Select the Role to which you give access For example select Client Admin Role from the Role Tab First Tab Go to Process Access tab 30 of 31 vienna advantage VIENNA Advantage Silverlight Technical Document all Role ei Role Org Access User Assignment Window Access Process Access Form Access Workflow Access History Organization E J P amp Role System Administrator i Process DBA Recompile gt P 3 Archive Document V Active DIT aie Press New Record button Select Process and set Active and Read Write checkbox to True Save the record Access is assigned to selected rol
22. it according to your database table Naming Convention of X Class Use X Table Name For example Table Name is TRN2_Employee Its X Class name should be X TRN2 Employee Where X gt X Class symbol in Capitals Note TRN2 is a prefix It contains all get and set methods of all columns made in a table It can be on both side projects client side and server side If you put X Class in module specific project then add this class in ViennaAdvantge Model folder and ViennaAdvantageSvc Model folder You can find existing X Class in Model Folder 4 2 How to Make M Class Model Folder contain all the M Classes M class inherit the X class so that it can access its properties like getter and setter Naming conventions for M Class 13 of 31 VIENNA Advantage Silverlight Technical Document vienna advantage If table name contains prefix with up to 2 characters then ignore prefix and all underscores _ and append M as prefix to rest of the name For Example table name is AD WF Node then name of M Class will be MWFNode If table name is AD Table then M Class will be MTable If Table name contains prefix with more than 2 characters then ignore only underscore _ and append M as prefix to rest of the name Recommended is to use minimum of three characters in prefix For Example table name is WXYZ WF Node then name of M Class will be MWXYZWFNode There are four methods on which developer can work These are
23. le ID 0 SetC InvoicePaySchedule ID 0 SetC Invoice ID 0 SetDiscountAmt 0 0 SetDiscountDate DateTime Now SetDueAmt 0 0 SetDueDate DateTime Now SetIsValid false SetProcessed false N j Load Constructor param ctx context 10 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage param rs result set param trxName transaction T public X C InvoicePaySchedule Context ctx DataRow rs String trxName base ctx rs trxName Load Constructor param ctx context param rs result set param trxName transaction y public X_C_InvoicePaySchedule Ctx ctx DataRow rs String trxName base ctx rs trxName Load Constructor param ctx context param rs result set param trxName transaction i public X_C_InvoicePaySchedule Ctx ctx IDataReader dr String trxName base ctx dr trxName Static Constructor Set Table ID By Table Name static X C InvoicePaySchedule Table ID Get Table ID Table Name model new KeyNamePair Table ID Table Name X Class extends the PO class which is a Standard product class and a part of Model Library 4 1 How to Make X Class You can create X Class by two ways which are 1 With the help of X Class Generator 2 Manually creations of X Class 110f31 vienna VIENNA Advantage Silverlight Technical Document advantage am Menu2 System Rules Sales Planning Or
24. lumn Translation Selection Sequence Summary Sequence View Component View Column Table C InvoiceLine Invoice Line x P DB Column Name M Product ID Column SQL System Element M Product 1D ls Name Product Description Product Service Item Identifies an item which is either purchased or sold in this organization Comment V Active Version 100 Length zj Translated Reference Search Dynamic Validation M Product Trx JP Reference Key i P Default Logic Key column Parent link column Not Encrypted J Jj Mandatory LJ Mandatory UI Mandatory Logic 7 V Updateable Always Updatable Read Only Logic 5 ResourceAssignment IDG 0 amp C Charge IDG O i Identifier 5 4 Testing the callout When you enter a value in a field which corresponding column bind with Callout method it will execute and perform the task what you have coded for In the given example when a Customer is selected it will set other fields like Location Payment Term etc 22 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage all Invoice Customer 9 HX Invoice Invoice Line Invoice Tax Payment Schedule Allocation Organization HQ P Order p Invoice No 590004 Description Invoice Type MM Vendor Return 2 Date Invoiced 6 16 2014 i5 Invoice to Customer Bell Stationary ed 2 Location Mesa 8 Invoice to Contact Travis Wood
25. module specific project in ViennaAdvantage and ViennaAdvantageSvc Create your own MClasses XClasses Callout classes and put in module specific project and keep the same structure as provided in the product projects Like keep your MClasses and XClasses in Model Folder on client side and server side Keep your process classes in Process Folder in ViennaAdvatnageSvc because process runs on server side The benefit of module over directly work in product files is that latter on you can download Module from the Vienna Market Second if you directly update product files and host the application with your custom update product dll and later on if you update Vienna Advantage from the Vienna Market then it will replace the product specific dll and your extended work will be lost But if you work in your specific module then dll related to your module will never update It will only update if you download your specific module 3 Module Creation 3 1 Module Prefix Prefix is the base for any Module in Vienna At present there are Modules available in the Market and all with the unique prefixes To name few of them like VACTWZ VAHRUAE etc For development of any module first step is to get module prefix name from VIENNA You can also choose your prefix name and send to us so that Vienna will reserve that prefix for your module and will not allocate that name to any other module Prefix is uniquely define a module separate from other modules 5 of 31
26. r VAdvantage Model Folder code run at Silverlight client side ModelLibrary Model Folder code run at Silverlight server side If you want to add MClass in Module Projects then you can add class in both side projects Sever side and Client Side project in Model Folder according to your requirement recommended to add both sides 4 3 PO Class and Data Flow in Classes PO class is persistent object and Base class for actual implementation It is in VAdvantage Model namespace PO class is the main class interacts with database for insertion updation and deletion of the records PO class is used to set Vienna default value for 7 mandatory fields for each table All X classes inherits PO class 16 of 31 vienna VIENNA Advantage Silverlight Technical Document advan tage Vienna M Class contains business logic each M Class inherit the corresponding X Class for getter amp setter methods and all X Classes inherits PO Class X Class will communicate with PO Class for saving the data in the database PO class directly interacts with database to save and retrieve data 5 Callout Callout is a coding technique to validate value provided by the user and modify set the values of other fields in a window For example selecting a customer field on window which then set customer location contact user and other information s on the window Callout is always run on client side In the following instance the user if select the employee nam
27. sing VAdvantage Model using VAdvantage DataBase using VAdvantage SqlExec using VAdvantage Utility using System Windows Forms using System Data using System Data SqlClient using VAdvantage Logging using VAdvantage ProcessEngine namespace ViennaAdvantage Process public class InvoiceGenerate VAdvantage ProcessEngine SvrProcess region Private Variable Manual Selection endregion Re Prepare e g get Parameters protected override void Prepare ProcessInfoParameter para GetParameter for int i 0 i para Length i Traverse parameter loop Generate Invoices x return info 24 of 31 vienna advantage VIENNA Advantage Silverlight Technical Document throws Exception protected override String DoIt write here business logic Process class run on server side so you can find more process classes in core product in ModelLibrary project Folder Path is ModelLibrary Process If you want to add Process class in module project then you have to add this class in server side project ViennaAdvantageSvc As show in below pic Solution Explorer ee gt gla aA Solution ViennaAdvantageWeb 3 projects a ViennaAdvantage 4 AF ViennaAdvantageSvc amp 34j Properties References ij Service References Interface aj Model obj 4 amp Process att InOutCreateInvoice cs 44 InOutGenerate cs att InvoiceGenera
28. ssssssesssesssssssssssssssesssssssesesssssssssssssssssssssesesseees 20 5 3 BIND CALLOUT TO COLUMN eere eene tn tette nette teet ente estet tenente estie s esee eeee eese tees tees eee eene netos 21 5 4 Lr sd icd der VE Ko Pg pouvusecuessucueEE Tert 22 Gi PROCESS E 23 6 1 WHAT Nutele doc c 23 6 2 EXAMPLE OF A PROCESS CLASS cssssssssssssssssssssssssssssssssssssssssssssssssssssssssssesssssssesssssssssssssesssssssssssssssssessseeees 24 6 3 DEFINING Wesce resen 25 6 3 1 PARAMETER TAB is crea epa see ERR ER RR CREERREFOEERRR FERE R REESE ER OPERE EREFURERER NE BUYER FLETES OPERE ERE TUER ERE FER ERES E PEE EEU ETUR UR 28 6 4 BINDING OF PROCESS ssssssssssssssssssssesssssssssssssssssssssssssssssssssssssssssessssssssssessssssesesssssssssessssssssssssssssssssssssssegs 29 6 5 PROCESS ACCESS ceres eese esee eene eene t ettet ttttt ttt tt tenete tee eese eese eene tenes esee ette inest et eese e te ee eee i esee ennt eee ee eene 30 2 of 31 vienna VIENNA Advantage Silverlight Technical Document advan tage 1 Introduction VIENNA Advantage is an open source ERP developed in dot net technology with visual studio 2010 as IDE Integrated Development Environment The Application is in Silverlight source code of which is available at following link https viennaadvantage codeplex com After downloaded source co
29. te cs 44 LandedCostDistribute cs ervices 4 3 app config a ViennaAdvantageWeb 6 3 Defining a Process To create a process you need to enter it in Report and Process window Open Report and Process window after login under System Administrator from menu 25 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage gue LLL ae Ee GL Journal Form Here you need to define the proper full name of class with namespace of the process to field Classname which you are going to use In the below example it is ViennaAdvantage Process InvoiceGenerate 26 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage 27 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage 6 3 1 Parameter Tab If you want to use parameters in process then on parameter tab you can define your parameter M Report amp Process Report amp Process ReportAccess Parameter Organization _ SL a Name Date Invoiced Description Date printed on Invoice The Date Invoice indicates the date printed on the invoice Comment Entity Type M Centrally maintained Sequence 10 DB Column Name Datelnvoiced System Element Datelnvoiced mle Reference i p Reference Key m Value Format Dynamic Validation X Il j Length L Range Default Logic Min Value
30. tion Assembly name Default namespace Build Events ModulePrefixName JVennaadvantage Reference Paths Startup objects ViennaAdvantage Main 7 Assembly Information Build XOQIOOL dx Jauojdxg JaNsES Si Signing Silverlight build options Target Silverlight Version Silverlight 5 z Xap file name Reduce XAP size by using application library caching I Enable running application out ofthe browser Out of Browser Settings I Require elevated trust when running in browser I Generate Silverlight manifest file Manifest file template Properties AppManifest xml El WCF RIA Services link Nin Deninrt Cats E Error List Output Ready sen Glo foe 2n Server Side Assembly E l lxi Solution Explorer alaalia od Solution ViennaAdvantageWeb 6 projects amp SH Modelibrary Zi VAdvantage if VAdvantageSvc m cH ViennaAdvantage E itf ViennaAdvantageSvc A ViennaAdvantageWeb Zi solution Explorer AE uas aca 5 89 eres E Rename Assembly of Server Side Project ViennaAdvantageSvc with Module Prefix Name Svc As show in below pic So in this case Assemble name is ACTAPPSvc 7 of 31 vienna VIENNA Advantage Silverlight Technical Document advantage ViennaAdvantageWeb Microsoft Visual Studio Administrator laj x File Edit View Project Build Debug Team Data Tools Test Window Help Pal cd d au o c e oes ree RFRA BBO 1 install Web Components
31. vienna VIENNA Advantage Silverlight Technical Document advantage User Manual VIENNA Advantage Silverlight Technical Document Version 1 0 1 of 31 vienna VIENNA Advantage Silverlight Technical Document advan tage Table of Contents 1 INTRODUCTION m 3 2 CODE STRUCTORE M 4 3 MODULE CREATION PossoorooE ED 5 3 1 MODULE PREFIX ERR 5 3 2 HOW TO USE PREFIX RR 6 3 3 asd hum idbee M 7 3 4 ENTRIES IN MODULE MANAGEMENT WINDOW sccsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssessseees 8 3 5 LOADING ASSEMBLY REPRE 9 4 CONCEPT OF X CLASS AND M CLASS cccccessssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssesssssssssssssseeseeees 9 4 1 HOW M teur zb Qa P vocc 11 4 2 HOW TO UN eH ic 13 4 3 PO CLASS AND DATA FLOW IN CLASSES sscsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssseseeees 16 LR 0 00 0 m 17 5 1 WRITING A CALLOU Diwivcncisccccvcccccscwsiiwceswsscuisemsiaccscescccessecsccensecsstonsnccccesseccccossmcdscessocscdesseccccessesccdossecdacessocscdeccecs 17 5 2 METHODS USE IN CALLOUT ccccsssssssssssssssssssssssssssssssssssssssss
Download Pdf Manuals
Related Search
Related Contents
TEMS Investigation 11.0.1 Manual DSC-Four 131016 Compex Systems SONOSAX SX-S Music Mixer User Manual Schneider Slider Edge Short User Guide for Datastream 5.0 Datastream (DS) provides a VOLTEK SC 6018 Kit User's Manual Tadao Circuit Board Copyright © All rights reserved.
Failed to retrieve file