📘
TimeLine E3
  • TimeLine E3 Documentation
  • Framework
    • Introduction
    • DataSet Definition
    • Window Handling Object
      • Input/Output arguments
      • Open
      • BindDataControls
      • Item Changes
      • Item Search
      • MenuItemClicked
      • Print
      • ModuleOpened (BlueArrow)
      • BlueArrowArguments
      • New Row
      • Delete Row
      • Save
      • Transactions
      • Locking [deprecated]
      • Locking (new)
      • Resizing a response window
      • ParaPanel
      • Adding DMS Tab to a Module
    • BusinessObject
    • Controls
      • BindingFormat
      • LookupGrid and SearchDef
      • ComboBox
      • RadioButton
      • Multiline Textbox
      • xTextBoxSearch
      • xFileBrowse [v16+]
      • DxDispoColumn
      • DxProgressColumn
      • DxTemplateColumn
      • Change control caption programmatically
      • TabControl
      • Navigation
      • Enable controls programmatically
      • Enable a MenuItem programmatically
      • Filter search values
      • Jumping to another module
      • Messages, Notifications, Log, Exceptions, Translation
      • LoggerSink [deprecated]
      • Log
      • OpenFile, FolderBrowsing and SaveFile
      • Execute Actions while displaying an Hourglass
      • Using Progress
      • Async methods with progress bar
      • Wizard
      • Customizing controls using xBehaviors
      • TLProperty.AllowInReadOnly [v16+]
    • DataSet Operations
    • Business-related functionality
      • Getting the next primary key
      • Hybrids
      • Enums
      • Get Current User
    • SQL
    • SQL (using named parameters)
    • Advanced SQL
    • Expression Binding
    • Server-side logic & customization [v16+]
      • Service Hoster
      • Starting / stopping hosted services
      • Changes to scheduled jobs!
      • Business Object Proxies
      • Business Object API
    • Colors in Expression Bindings [v15+]
    • Theming
      • Icons
  • TimeLine Developer (TLD)
    • Debugging in TLD
    • Targets
    • Custom Project Rework [v16+]
  • TimeLine-specific LL functions
  • Stunnel proxy
    • Pre-requisites
    • 1. Initial setup
    • 2. Generate the server/web certificates
    • 3.a. Generating client certificates using the CSR flow
    • 3.b. Generate client certificates from the server console
    • 4. Setting up the E3 client connection
    • 5. Setting up the browser certificates
  • Configuration
    • Configuring the WCF timeout
  • Troubleshooting the E3 Bridge
  • [Deprecated]
    • TimeLine WEB - deprecated in v16+
      • Prerequisites for running the WASM modules on the server
      • Prerequisites for developing WASM modules with TLD
      • Creating a small web module with TLD
      • Terminal Configuration
    • Customization Examples - deprecated in v16+
    • Codestore [deprecated]
    • Configuring the scheduled jobs timeout - deprecated in v16+
Powered by GitBook
On this page
  1. Framework
  2. Window Handling Object

Input/Output arguments

PreviousWindow Handling ObjectNextOpen

Last updated 3 years ago

The Input and output arguments (sometimes referred as parameters) are used to specify the inputs and outputs for a module.

Outputs are generally used when dealing with response modules.

There is a strongly typed API to open modules and provide arguments.

In order to Add, Edit or Remove the the arguments for a module, you will find a button in the Menu of TimeLine Developer:

There you can Add, Edit or Remove the arguments. You must specify a name and type for your argument. Each type has a set of options (e.g. Default value, Nullable, Comment etc.) that you can set depending on your needs. These arguments can use standard .NET primitive types (int, string, double etc), DataTables, typed DataSets, typed DataSet rows, typed Enums or generic objects.

This arguments editor changes the TLAppContent.xml file and generates the strongly typed TimeLine.AppContent assembly.

<WHO ID="whoItem" DLL="CustomProject.dll" Class="CustomProject.wndItemCustom" Descr="">
  <InputParameters>
    <Parameter Name="MyCustomArg" Type="System.Double" Default="3.3" IsNullable="True" />
  </InputParameters>
  <OutputParameters>
    <Parameter Name="MyOutputArg" Type="System.Int32" Default="333" />
  </OutputParameters>
</WHO>

Example of setting the input arguments:

var input = new TimeLine.AppContent.WHO.ProdVorKalk2.Input
{
    BabTyp = Enums.BabTyp.Vorkalkulation,
    BabNr = row.id.ToInt(0),
    Kalk2Typ = Enums.Kalk2KopfTyp.Vorkalkulation
};

TimeLine.AppContent.Module.ProdVorKalk2.Open(input);

To use these input arguments use the WHO PostOpen method and check the this.RetrievalArguments property:

public override void PostOpen()
{
    if (RetrievalArguments != null && RetrievalArguments.BelNr != 0)
    {
        var typ = RetrievalArguments.BelTyp;
    }

    base.PostOpen();
}

Example of using the output parameters:

 var outputArgs = TimeLine.AppContent.Module.Item.OpenResponse(input);
 var output = outputArgs.MyOutputArg;

The output will be of type void or new TimeLine.AppContent.WHO.[ModuleName].Output of an tag is present in the TLAppContent.xml file.