Table of content - Boyum IT Solutions A/S
Transcription
Table of content - Boyum IT Solutions A/S
B1 Usability Package Manual Table of content Table of content .......................................................................................................................................... 1 B1 Usability Package .................................................................................................................................... 4 Copyrights ............................................................................................................................................... 5 Configuring the Add-on................................................................................................................................ 6 B1 Usability Package tab-page.................................................................................................................10 B1 Productivity Package tab-page ...........................................................................................................11 Plugins tab-page .....................................................................................................................................12 Enabling the plugin system..................................................................................................................12 Managing plugins ................................................................................................................................13 Other options .........................................................................................................................................14 Menu-structure ......................................................................................................................................17 Troubleshooting and Help .......................................................................................................................18 Additional Authorization Tree .................................................................................................................20 Shared functionality ................................................................................................................................22 Users selection ....................................................................................................................................22 UserGroups .........................................................................................................................................22 Export .................................................................................................................................................24 Import.................................................................................................................................................25 .NET Snippet .......................................................................................................................................27 Configuration categories .....................................................................................................................31 Mass Importer ....................................................................................................................................34 Reload configurations .........................................................................................................................35 Modules .....................................................................................................................................................35 Add and Edit Menus ................................................................................................................................37 The Add and Edit Menus window ........................................................................................................37 The Add new menus tab......................................................................................................................37 The Edit existing menus tab.................................................................................................................39 B1 Search ................................................................................................................................................41 B1 Search: Configuration .....................................................................................................................41 B1 Search: Customization ....................................................................................................................41 B1 Search: Daily Use............................................................................................................................43 B1 Validation System ..............................................................................................................................49 The Trigger System..............................................................................................................................51 The Condition System .........................................................................................................................55 Default Data ...........................................................................................................................................58 Default Data: Configuration.................................................................................................................58 Exchange Rates .......................................................................................................................................61 Exchange Rates: Configuration ............................................................................................................61 Exchange Rate – Currency Converter...................................................................................................64 Function Buttons ....................................................................................................................................65 Function Buttons: Configuration..........................................................................................................65 Multi Button Configuration .................................................................................................................72 Data launcher .....................................................................................................................................75 Item Placement Tool ...............................................................................................................................79 Item Placement Tool: Base configuration ............................................................................................80 Item Placement Tool: Configuration ....................................................................................................81 Introduction to windows and pixels.....................................................................................................96 SAP Business One sizing rules ..............................................................................................................97 Copyright 2016 – Boyum IT A/S Page 1/292 B1 Usability Package Manual Letter Merge ...........................................................................................................................................98 Create a Microsoft Word Template .....................................................................................................98 The Merge table ..................................................................................................................................98 Letter Merge: Configuration ................................................................................................................99 Letter Merge: Daily use .....................................................................................................................101 Make Items Read Only ..........................................................................................................................105 Make Items Read Only: Configuration ...............................................................................................106 Mandatory Fields ..................................................................................................................................107 Mandatory Fields: Configuration .......................................................................................................107 Mandatory Fields: Daily use ..............................................................................................................110 PLD Extensions ......................................................................................................................................112 Export ...............................................................................................................................................112 Import...............................................................................................................................................112 Quick Create .........................................................................................................................................113 Quick Create Business Partner: Search Providers ...............................................................................113 Quick Create: Configuration ..............................................................................................................114 Quick Create: Daily Use .....................................................................................................................120 Quick Create Business Partner: Daily Use – Searching........................................................................123 Quick Create: Data Cleaner ...............................................................................................................127 Quick Create: Macth Business Partners with Uid ...............................................................................130 Recurring Invoices.................................................................................................................................134 Recurring Invoices: Templates ...........................................................................................................134 Recurring Invoices: Configuration ......................................................................................................137 Recurring Invoices: Wizard ................................................................................................................138 Recurring Invoices: Reporting............................................................................................................142 Recurring Invoice required permissions .............................................................................................145 Right-click menu creator .......................................................................................................................146 Right-click menu creator: Configuration ............................................................................................146 Tab Control ...........................................................................................................................................154 Tab control setup ..............................................................................................................................155 Tab Wizard............................................................................................................................................160 Tab Wizard: Configuration.................................................................................................................160 Tab Wizard: Edit ................................................................................................................................161 Tab Wizard: Remove .........................................................................................................................161 Template System ..................................................................................................................................162 Template System: Create templates ..................................................................................................162 Template System: Use templates ......................................................................................................163 Template System: Limitations ...........................................................................................................164 Toolbox.................................................................................................................................................166 Toolbox: Business Partners Tab .........................................................................................................166 Toolbox: Item Master Data Tab .........................................................................................................176 Toolbox: Documents Tab ...................................................................................................................178 Toolbox: Banking Tab ........................................................................................................................185 Toolbox: Financials Tab .....................................................................................................................186 Toolbox: Human Resources Tab ........................................................................................................189 Toolbox: Usability Tab .......................................................................................................................190 Toolbox: User-Defined Windows .......................................................................................................195 Universal Functions...............................................................................................................................200 Function Types ..................................................................................................................................200 Master Data Manager ...........................................................................................................................273 Copyright 2016 – Boyum IT A/S Page 2/292 B1 Usability Package Manual Business Partner Master Data Manager / Item Master Data Manager / Document Master Data Manager / Employee Master Data Manager / GL Account Data Manager / Payment Master Data Manager / Activity Data Manager / Production Data Manager / Service Call Manager/ Item Group Master Data Manager .......................................................................................................................273 Form-Settings Manager.....................................................................................................................282 Authorization Manager .....................................................................................................................285 Metadata Manager ...........................................................................................................................287 Replace Sales Employee ....................................................................................................................290 Online resources .......................................................................................................................................292 Copyright 2016 – Boyum IT A/S Page 3/292 B1 Usability Package Manual B1 Usability Package Welcome to the B1 Usability Package Manual. In it you will find all information on how to successfully use the add-on. For installation and license, please see the separate Installation guide and license guide. B1 Usability Package is an add-on for SAP Business One aimed at making it a more smooth and easy platform to work with. The package is very user-friendly and allows consultants to carry out configuration tasks that were previously only possible for developers. B1 Usability Package consists of a number of modules that can be turned on and off manually. Advantages of B1 Usability Package: - Ability to centralize and speed up your customer’s work. - One add-on fits all. - Functionality can be turned on and off at will. - Highly configurable. - Reduce the need for additional add-ons that are expensive to develop. - Multilingual support. - Built and ready for SBO 9.1/9.2 (MSSQL and SAP HANA) in 32 bit or 64 bit - Built 100% in the SDK using the latest development methods (C# .NET). - Import/Export of configurations using XML. - SAP Certified Integration (Since 2007, re-certified in 2010 and 2013). Copyright 2016 – Boyum IT A/S Page 4/292 B1 Usability Package Manual Copyrights Copyright© Boyum IT A/S 2005-2016. All rights reserved. Warning: This computer program is protected by copyright law and international treaties. Unauthorized production or distribution of this program, or any portion of it that is owned by Boyum IT A/S, may result in severe civil and criminal penalties and will be prosecuted to the maximum extent possible under the law. SAP®, SAP Business One® and Crystal Report® are Registered Trademarks of SAP AG ® Corporation MS .Net Framework®, MS Outlook®, MS Word®, Internet Explorer®, Windows® and Microsoft® are Registered Trademarks of Microsoft ® Corporation The ScintillaNET bindings are Copyright 2002-2006 by Garrett Serack [email protected] Scintilla Copyright 1998-2006 by Neil Hodgson <[email protected]> All trademarks and registered trademarks used in this documentation are property of their respective owners. Copyright 2016 – Boyum IT A/S Page 5/292 B1 Usability Package Manual Configuring the Add-on The first time the add-on starts, it will only set up the basic configuration, because it up to the user which parts of the package should be used. After setting up this configuration table you will be asked to restart. Please do so. After restart, you will be presented to the B1 Usability Package Configuration Wizard which will guide you through the initial configuration Wizard itself consists of 7 steps. Step 1-4 Present you the B1 Usability Package Modules Copyright 2016 – Boyum IT A/S Page 6/292 B1 Usability Package Manual Each module has a checkbox you can check if you decide to use the module or not. Below are a small description of what the module do, and if you press the “?” button to the far right you are taken to the modules website with E-Learning and additional information. Step 5 of the wizard contains the B1 Productivity Package Modules. These are optional modules for purchase, but if you check them during the wizard you will get a 20 day free trial period. Copyright 2016 – Boyum IT A/S Page 7/292 B1 Usability Package Manual Step 6 of the wizard contains advanced settings like how to connection to the database if you wish to use the Crystal report features, partner information, update notification settings and participation in the Usability Experience Program. Copyright 2016 – Boyum IT A/S Page 8/292 B1 Usability Package Manual On the final page you need to press the Finish button in order to confirm your selections Copyright 2016 – Boyum IT A/S Page 9/292 B1 Usability Package Manual All depending on how many modules you activated and the speed of your system it can take a few minutes before all configurations are ready. You can track the progress of the wizard in the lower left corner of the SAP Business One client. Once finish you can begin to configure the selected modules. This manual and the e-learning found at http://www.boyum-it.com/Link/ELearning describe how to configure each of them. You can at any time rerun the wizard by going to Administration > Add-ons > B1 Usability Package > Configuration Wizard. Or use the Configuration overview screen under Administration > Add-Ons > B1 Usability Package > B1 Usability Config. B1 Usability Package tab-page Administration > Add-Ons > B1 Usability Package > B1 Usability Config. Copyright 2016 – Boyum IT A/S Page 10/292 B1 Usability Package Manual Each functionality is represented by a checkbox in the configuration window and checking each of them will update the configuration. Please note that the first time you check functionality, the system might need new tables and fields, and, like the basic configuration, the add-on might give a message that it needs a restart. Please note that due to the many features of this add-on, checking all functions and pressing update might take up to ten minutes the first time. Global vs. Localization modules Please also note that depending on localization more or less options will be available (For example the “Bank In Module” are currently only visible on a Danish localization).If no special modules are available in your localization the “Localization Modules” section will be empty. B1 Productivity Package tab-page Administration > Add-Ons > B1 Usability Package > B1 Productivity Config. This tab-page contains additional optional modules that you can purchase for the Add-on. You have the option to request a 20 day demo of the functionality before you decide to purchase or not. After purchase Copyright 2016 – Boyum IT A/S Page 11/292 B1 Usability Package Manual they work exactly the same as normal modules except that you need to manually assign licenses. See the license guide for more. Plugins tab-page Plugins offer additional functionality written by Boyum It A/S partners. The plugins are stored in a separate database called BOY-COMMON and are available for activation in all companies after registration. Enabling the plugin system To use the plugin system you need to provide database credentials for a user that as a minimum have access to create databases and view databases. A user with server roles dbcreator and public should be sufficient. NOTE: THE CREDENTIALS ARE REQUIRED AS THE PLUGIN SYSTEM CREATES A NEW DATABASE CALLED BOY-COMMON ON THE SERVER WHERE IT STORES PLUGINS AS THEY ARE NOT LIMITED TO A SINGLE COMPANY . To enable the plugin system and provide credentials click the “Manage plugins” button in the plugin tab and you will get asked for credentials. When credentials have been supplied please re-click the “Manage plugins” button and the database and tables will get created and the plugin system will be ready for use. Copyright 2016 – Boyum IT A/S Page 12/292 B1 Usability Package Manual Managing plugins To manage plugin press the “Manage plugins” button, this will open a new window: In the plugin administration window you can register, update and remove plugins. To register a plugin press the “Register plugin” button and select a plugin to register. NOTE: PLUGINS ARE STORED IN FILES ENDING WITH BPF (BOYUM PLUGIN FILE ), TO GET PLUGINS PLEASE CONTACT YOU SAP PARTNER. When the plugin has been added to the database you can use the administration window to assign user settings, get more information about the plugin and if required manage license information. You can assign license information (Only some plugins require license information) by selecting a row and clicking the “Assign license button” or “Activate demo” if no license is available. You can manage users by double clicking in the user’s field. To upgrade a plugin simply use the “Register Plugin” button and select the new package, the plugin will automatically get updated on the clients on the next restart. Copyright 2016 – Boyum IT A/S Page 13/292 B1 Usability Package Manual Other options Memory Refresh Interval: The Memory Refresh interval option on the option Tab-page defines how often (in seconds) the B1 Usability Package should optimize its memory. Normally SAP Add-ons use 100-150 MB of memory, but with Boyum ITs special memory optimization, the memory usage can be reduced to as little as 1 MB! Using the configuration, you are able to set how often the refresh should occur. Setting a lower value will increase the reduction of memory, but might cause longer operations to be a bit slower. A higher value will make your long operations a bit faster, but the memory reduction will be higher. Default is 10 seconds. You can turn the system off completely by setting a value of ‘0’. If you raise the value, beware that the system might use very large amounts of memory. It is not recommended to set the value above 60. Enable update available notification for: You can select users using the “…” button that should be notified when a new version of B1 Usability Package is available for download. The users will be presented with a window containing a change log and the option to not get notified for the specific version again or visit our download site. Additional B1UP super users (Right-click functionality) You can setup additional B1UP super users that should have access to right-click functionality. SAP super users will always have access. You can select users using the “…” button. Set Database Information This button allows you to indicate to the B1UP External database information needed for using Crystal Reports in B1UP (Universal Functions). When pressing the button, you will see the following window. Copyright 2016 – Boyum IT A/S Page 14/292 B1 Usability Package Manual Here you enter the database information needed. Partner Information Here you may set information about the partner installing the software. If an error occurs and the users press the send email button the email will be send to the email defined in partner information. Usability Improvement Program NB: THIS IS AN ONLINE SERVICE THAT REQUIRE AN ACTIVE INTERNET CONNECTION. IF YOU USE PROXY YOU NEED TO SET UP THE PROXY DETAILS IN THE SAP BUSINESS ONE GENERAL SETTINGS Here you can set if you wish to participate in the Usability Improvement Program (UIP). You can read more about the UIP here: http://www.boyum-it.com/sbo/uip/ Read Mode (DI-API/ADO.NET) [MSSQL Only] With this button you can turn on the ADO.NET Read mode. In ADO.NET Read mode all possible SQL Calls to the database are done using ADO.NET instead of the DI-API. This will in certain senarios avoid some DI-API Copyright 2016 – Boyum IT A/S Page 15/292 B1 Usability Package Manual instability issues. You press the button to switch between DI-API and ADO.NET. NB: ADO.NET need that you provide database information, and the user in question need to have full read access to the database. Eventlog The B1 Usability Package includes its own Event-log where information and errors happening while logging the add-on is running. Copyright 2016 – Boyum IT A/S Page 16/292 B1 Usability Package Manual Menu-structure Start add-on here if you set it to start manually Install Add-on from here and set startup mode (Manual / Automatic / Mandatory) The B1UP configuration overview The B1PP configuration overview Control you license and assing user B1PP modules Run the configuration wizard again Mass import configurations and samples The different configurations of B1UP The different configurations of B1PP Get help and troubleshoot issues Copyright 2016 – Boyum IT A/S Page 17/292 B1 Usability Package Manual - B1 Budget also have a menu under Financials > B1 Budget. B1Time Task also have a menu in the Main Menu. Recurring Invoices also have a menu under Sales A/R > Recurring Invoices. Troubleshooting and Help Should you have question to any of the features or any issue you can go to the Troubleshooting and Help Center. This is located under Administration > Add-ons > B1 Usability Package > Troubleshooting and Help. Trouble Shooting Tab-page Help Tab-Page Copyright 2016 – Boyum IT A/S Page 18/292 B1 Usability Package Manual Feedback Tab-page Copyright 2016 – Boyum IT A/S Page 19/292 B1 Usability Package Manual Additional Authorization Tree During startup of B1 Usability Package a user permission tree is created, in order to be able to set different user permissions throughout the system. If you already have such a tree, you will stil be able to use it, as the new tree doesn’t overwrite existing trees. The tree created by B1 Usability Package will set the authorization level to full authorization for all users, for all forms in B1 Usability Package. This will not affect an already existing tree, where user authorization might be restricted for specific forms, as no authorization overrules full authorization for a user. It is recommended not to delete the permission tree created by B1 Usability Package, as it will be created every time it is missing. Copyright 2016 – Boyum IT A/S Page 20/292 B1 Usability Package Manual Copyright 2016 – Boyum IT A/S Page 21/292 B1 Usability Package Manual Shared functionality The following sections describe functionality that is shared among multiple add-ons. Users selection In several of the B1UP configurations you have the option to make configuration user-specific: - Function Buttons Item Placement Tool Mandatory Fields B1 Validation System Add and Edit Menus Below show the Function button configuration as example but they all work basically the same. The Select Users can be accessed by either right-clicking the users-field or pressing the “…” button. The window presented will display all users in the currently logged in database + any usergroups you might have created (see below). By choose users you can select which users to include/exclude for the configuration (Described in more detail in each configuration section) UserGroups Selecting user as above is easy but can be tideous if you have a lot of users (and add a new user). For that reason you have the option to group users in usergroups. In order to access the user-groups press the Usergroups button on the “Select Users” window: Copyright 2016 – Boyum IT A/S Page 22/292 B1 Usability Package Manual Here you can create user-groups and assign a set of user to it. You need to provide a code and a name for the groups and the select the users that should be in the group. The the sample above we have created a group called sales and added Donna, Doris and Fred to it (Later if a new person join sales you just need to include them in the group and they will get the same configs as the 3 mentioned users). TIP: A USER CAN BE PART OF MULTIPLE GROUPS IF NEEDED Now when you return to the Select Users window you will see the created usergroups as well as individual users and you can select them as where they users. Copyright 2016 – Boyum IT A/S Page 23/292 B1 Usability Package Manual In our sample whe have in essence selected manager (as user) and Donna, Doris and Fred (as group). Should any of these 4 users log in they will see the respective configuration. Export In order to reuse, and work in multiple databases most of the B1UP configurations have export and import features to XML. This section will explain the Export features. You generally have two options to export data. Either one configuration at the time or as a batch of multiple configurations. Type This Description This will export the currently selected configuration (If you have not selected a configuration Copyright 2016 – Boyum IT A/S Page 24/292 B1 Usability Package Manual Multiple you are not given this option). You will simply be presented with a standard Windows save file dialog. Enter the name of the XML that describe the configuration and press save to export. If you choose Multiple you will be presented with the following export window. Once opened the choose folder dialog will appear where you need to choose where to store the configuration files. (You can change you choice later by pressing the “…” button in the upper right corner) Now simply check/uncheck the configurations to include and press export. The result of the export is an xml file per configuration in the selected folder. TIP: YOU CAN ALSO EXPORT ALL BY RIGHT CLICK ON MOST CONFIGURATIONS. WARNING: AN EXPORT ONYLY CONTAINS THE RAW CONFIURATION. IT WILL NOT EXPORT USED UNIVERSAL FUCNTIONS, UDFS, UDTS, FORMATTED SEARCH ETC. YOU NEED TO MANUALLY SET THESE UP IN THE TARGET DATABASE. Import In order to reuse, and work in multiple databases most of the B1UP configurations have export and import features to XML. This section will explain the Import features. As with import you have two options; you can either import one config at the time or a batch of multiple configurations. Copyright 2016 – Boyum IT A/S Page 25/292 B1 Usability Package Manual Type One Multiple Description This will import a single XML file selected via an open file dialog. Once you select your stored XML (from a previous export) you will be presented with the data from the file in add-mode. Review the configuraton and Add the configuration to confirm the import. If you choose Multiple you will be presented with the following import window. Once opened the choose folder dialog will appear where you need to choose where to store the configuration files. (You can change you choice later by pressing the “…” button in the upper right corner). The import will now scan the selected folder for XML files that fit the import type (Example: only XML in a folder that are Function button configurations will be presented in the Import of function buttons.) Some configurations are dependant of other configurations (Universal Functions etc.) and if a scanned configuration are validated to not have its requirements the system will by default uncheck if for include (Check the remarks for reason), but you have the option to override it. Now simply check/uncheck the configurations to include and press import. The result of the import is a set of configuration imported into the database. NB: THE UNIVERSAL FUNCTION IMPORT FEATURE ALSO INCLUDE THE OPTION TO ASSIGN A NEW UF-CODE TO Copyright 2016 – Boyum IT A/S Page 26/292 B1 Usability Package Manual THE IMPORTED CONFIGURATION SHOULD THE CONFIGURATION ABOUT TO BE IMPORTED HAVE A CODE ALREADY NB: THE UNIVERSAL FUNCTION, FUNCTION BUTTON AND ITEM PLACEMENT TOOL ALSO INCLUDE THE OPTION TO OVERRIDE AN EXISTING CONFIGURATION USE IN THE DATABASE. WARNING: AN IMPORT ONYLY CONTAINS THE RAW CONFIURATION. IF THE CONFIGURATION REQUIRES OTHER CONFIGURATION LIKE UNIVERSAL FUCNTION, UDFS, UDTS, FORMATTED SEARCH ETC. YOU NEED TO MANUALLY SET THESE UP. .NET Snippet The .NET Snippet system allows you to create new keywords that can be used in B1 Validation System and Universal Function – Macro. The keywords can be made using either C# or VB and it gives you the full power of the SAP SDK. This gives you the option to create advanced C#/VB code that you can then expose as a simple keyword. The .NET Snippet is useful in cases where you need to access something very specific that B1UP does not expose by default. For example if you only want to run a B1 Validation when you are on a specific pane on the form. To access the .NET Snippet you can right click the SQL field on the B1 Validation System or the Macro Field in Universal Function – Macro. This will open the window: Copyright 2016 – Boyum IT A/S Page 27/292 B1 Usability Package Manual Field Code Description Code textarea Description Each configuration will need a unique code. The code is also what will be used as a Keyword. This means that if you call the keyword GetPaneLevel you can access it later as @GetPaneLevel. You can give it a description if needed. The code field allows you to write .NET code (Either C# or VB.NET) and have it executed when the Universal function is called. As this is a keyword system you are expected to return a string. RETURN ”MY COOL KEYWORD ”; From the code you have access to 3 variables: Variable Description Company This is a company-object (DI-API) connected to the current database. From this object you will be able to add/update Business objects. Application Form NB: YOU SHOULD NEVER DISCONNECT THIS COMPANY OBJECT This is an application-object (UI-API) connected to the current client. From this object you will be able to manipulate the client data (forms and menus). This is the current form as an object. You can use it to get information about the forms data. TIP: IF YOU HAVE SO MUCH CODE THAT IT CAN’T BE IN THE TEXT-AREA YOU CAN WRITE: CODEFROMFILE(<PATH TO CODE-FILE>) THIS WILL RESULT THAT THE RAW DATA IN THE FILE WILL BE LOADED AS THE CODE TO EXECUTE. Copyright 2016 – Boyum IT A/S Page 28/292 B1 Usability Package Manual References In this field you have the option to add dll-references to the code. As default the following references are already included: - System.dll - Interop.SAPbobsCOM.dll - Interop.SAPbouiCOM.dll To create the sample where it returns the PaneLevel of the form you can write a bit of C# as below: You can then use the keyword in either the B1 Validation System or the Universal Function – Macro: Copyright 2016 – Boyum IT A/S Page 29/292 B1 Usability Package Manual Copyright 2016 – Boyum IT A/S Page 30/292 B1 Usability Package Manual Configuration categories The configuration categories system comes with two features. First it allows you to add B1UP configurations to categories allowing you to get a better overview of what B1UP configurations belongs to what features. This is useful when you have many configurations and have a hard time keeping track of what features each categorie is a part of. Secondly the system allows you to right click any window and get a list of all configurations on the window. See online E-Learning First let’s have a look at the configuration categories. The configuration window can be accessed from Administration->Add-Ons->B1 Usability Package->Module Configuration->Configuration categories. Field Code Name Description You need to give the configuration a unique code. The name of the configuration that will be shown in comboboxes in other B1UP configuration windows. Description A description of what this category contains. Overview Will open the overview form that shows all configurations added to this category. After creating a category you are now able to add configurations to this category. You can find the category combobox on most windows in B1UP and if a window has lines you can also find it on line level. Example: B1 Validation: Copyright 2016 – Boyum IT A/S Page 31/292 B1 Usability Package Manual Function buttons (header and lines): After assigning configurations to categories you can click the overview button: The second way you can access the overview is by right clicking a form: Copyright 2016 – Boyum IT A/S Page 32/292 B1 Usability Package Manual This will give you an overview of all configurations on the form: You can use the filters in the top to for example show all configurations in the system or just show for specific users. Copyright 2016 – Boyum IT A/S Page 33/292 B1 Usability Package Manual Mass Importer Online E-Learning is also available for this feature. Click here to watch it With the Mass importer you can import a set of configurations at once that you have packed up using the external tool called Mass Import Packer (Part of the B1UP download under the Tools folder) Copyright 2016 – Boyum IT A/S Page 34/292 B1 Usability Package Manual Once you have a package you can go to Administration > Add-ons > B1 Usability Package > Mass Import At the top right you can choose the *.bcp file (Made with the Mass Import Packger) to show you the content of the import package and once you press “Import” it will import the content of the package (same as if you imporet data to each module one by one). Reload configurations Pressing this menu-time will refresh the cache for the most commendly used modules. This will make sure that you have the latest configuration changes for the modules. Modules This section describes the different modules of the B1 Usability Package. Each module contains one or more functionalities. Copyright 2016 – Boyum IT A/S Page 35/292 B1 Usability Package Manual By default, all modules are disabled, so you will need to activate the modules you would like to use by configuring the main configuration. Copyright 2016 – Boyum IT A/S Page 36/292 B1 Usability Package Manual Add and Edit Menus The Add and Edit Menus functionality makes it possible for a user to change the names of SAP Business One menus and add new menus/menu items. It is also possible for a menu item to execute a universal function when clicked. Online E-Learning is also available for this module. Click here to watch it The Add and Edit Menus window To setup Add and Edit Menus using the Add and Edit Menus window, go to Administration > Add-ons > B1 Usability Package > Module configuration > Add and Edit Menus. This window contains two tabs. One for adding new menus and one for editing the names of existing menus. The Add new menus tab As shown above, you can add entries to create new menus here. This is done by clicking the Add button to create a new row, and then just filling out the data needed to create your menu/menu item. The first thing to do is to give your menu/menu item a unique Id. It is important that you use unique Id’s for your menus and menu items, as they are used to refer to a specific entry. When this is done, a display title is chosen. To find the Parent Menu Uid, which is used to determine where to place your newly created menu/menu items, go to View and check system Information. This will make SAP display the Uid’s of a menu/menu item, on mouse over, in the lower left corner, like shown below. If you want to add something to the main menu, you have to go to the top menu called Modules, and do a mouse over to find the Uid. In the above example we are using the Reports menu as parent for our BOYX_1. Copyright 2016 – Boyum IT A/S Page 37/292 B1 Usability Package Manual Video: Click here to watch more information on how to find menu-uids. After Menu Uid, Title and Parent Menu Uid has been filled out, you have to give your menu/menu item a position. This is used to determine where to place the menu/menu item. Position 0 is the topmost position, but if you want a different one, the easiest way is to count it. It is possible to enable specific menus/menu items for specific users. This is done by typing in usernames in the User column separated by a ; for each user. You can choose either to include or exclude the users specified, whatever is easiest. If you want to enable this for all users, just leave the Users column blank, and forget about the User Settings. The last column is only filled out for menu items that you want to execute a universal function. This is done by standing in the field and pressing Tab, to use a “choose from list” to select the wanted universal function. You also have the option to add an image to the menu-item. Just enter a path to an image (Example: \\server\red.bmp) or double-click on the cell to choose an image. In the Include column you can choose wether or not you want your menu to be activated. This is done by checking and unchecking the checkbox. NB: ONLY JPG, JPEG AND BMP IMAGES ARE SUPPORTED. THE IMAGE SHOULD BE 16X16 PIXELS. ALSO ONLY TOP-LEVEL MAIN-MENU ENTRIES AND TOP-MENU ENTRIES WILL SHOW ITS IMAGE. TIP: THE TRANSPARENT IMAGE COLOR IN SAP IS RGB(192,220,192 = LIGHT GREEN) HEX: #C0DCC0.USE THIS COLOR ON THE PARTS OF YOUR IMAGE THAT SHOULD BE TRANSPARENT. In the above example we have created a menu called Menu Header that contains a menu item called Submenu with a Submenu 2 under it. This is reflected by the screenshot below that shows the main menu after this window is updated. Copyright 2016 – Boyum IT A/S Page 38/292 B1 Usability Package Manual The Edit existing menus tab If we change to the Edit existing menus tab we now have the option to rename existing menus/menu items. This functionality works the same way. That is, you find the Uid of the menu/menu item you wish to rename by using mouse over with System Information activated, you type it in, and write a new title for the item. When you have typed in the Uid of the item you want to rename, simply press tab to place the cursor in the New Title column. If the Uid entered in the Menu Uid column is correct, the Original Title is shown in the Original Title column. As shown in the above screenshot, the original title of this menu item is Document Printing, and I renamed it to Print Documents. The “&” sign in the original title decides what shortcut key to use for this menu item. In this case it is “u”, as the “&” is in front of it. The screenshot below shows the change: Copyright 2016 – Boyum IT A/S Page 39/292 B1 Usability Package Manual TIP: CHANGING THE TITLE OF A MENU ITEM DOES NOT CHANGE THE TITLE OF THE WINDOW IT OPENS. TO DO THIS, PLEASE USE ITEM PLACEMENT TOOL. Video sample: How to create various new menuitems for support purpose Copyright 2016 – Boyum IT A/S Page 40/292 B1 Usability Package Manual B1 Search B1 Search is an addition to the already great search tool in SAP Business One (Normal search and Drag & Relate). B1 Search covers the gap that is cross reference search between data types in a way similar as Google Index search or Windows Index Search. Online E-Learning is also available for this module. Click here to watch it B1 Search: Configuration Configuration of B1 Search is very simple, since all you need to do is go to Administration > Add-Ons > B1 Usability Package > Module configuration > B1 Search: Configuration In the configuration window you have to option to define how many search results B1 Search should display per category of search-item. NB: THIS SEARCH RESULT LIMITATION DOES NOT APPLY TO CUSTOM SEARCH CONFIGURATION B1 Search: Customization You have the option to customize which searches should be active and what searches should be available to the users. All the default searches are located from SD-001 to SD-019. Their definitions cannot be changed but you can enable/disable them and edit user options. You can create your own search criteria using SQL. Copyright 2016 – Boyum IT A/S Page 41/292 B1 Usability Package Manual The configuration window can be divided into 3 parts. Part Header data Description Field code Name Group name Users (Empty = All) Description Code this is the auto generated number of the configuration This is your name for the configuration for reference, this is also the name that will be shown in the search criteria and the single search option This is the name that will be shown in the search result window (Type of search) Here you have the option to make the Configuration user-specific. All you need to do is to enter the wanted users (their usercodes) separated by “;” (Depending on the user-setting: Include users = All users entered will use the configuration Exclude users = All users entered will not use the configuration If you do not enter anything, all users will use the configuration Search Field Copyright 2016 – Boyum IT A/S Samples: 1. Entered: manager;user1;user2 (Include users option) o The 3 users with usercode “manager”, “user1” and “user2“ will use the configuration. 2. Entered: user3 (Exclude users option) o All users except user with usercode “user3” will use the configuration. Description Page 42/292 B1 Usability Package Manual definition Universal function Result string This is the text that will be shown in the search result window. You can access fields from your SQL using {FieldName}. Example: SQL The SQL to be executed. The search term entered by the user can be accessed using {SearchTerm}. Example: WHERE CardName LIKE ‘%{SearchTerm}%’ Field Universal function UF string Description You can select a universal function to execute when the golden arrow is clicked in the search result window. You can send a value from the SQL to the universal function and it can then be accessed using the special keyword $[B1SRESULT.TYPE] ex $[B1SRESULT.STRING] Example: Example: Will make the golden arrow open the selected Business Partner B1 Search: Daily Use Once the B1 Search module is activated in the B1UP Configuration, the B1 Search will appear. The position is determined if you use the SAP Cockpit or not. If you use the normal main menu, B1 Search will be shown as a toolbar below the menu. Copyright 2016 – Boyum IT A/S If you use the SAP Cockpit, B1 Search will be located at the top of the Cockpit sidebar top. Page 43/292 B1 Usability Package Manual If the B1 Search toolbar is not shown, you can activate it via Window > B1 Search [Not shown if cockpit is enabled] In the B1 Search Toolbox, you simply enter the data you wish to search for and press the Search button (or the Enter key). This opens up the B1 Search Result window. Copyright 2016 – Boyum IT A/S Page 44/292 B1 Usability Package Manual NB: PLEASE NOTE THAT B1 SEARCH USE WILDCARDS AUTOMATICALLY, SO YOU DO NOT NEED TO SET THE NORMAL “*” The search result window has 4 major areas. The search field - The result window also have a search field that allow you to see what you searched for last and where you can launch another search without going back to the search toolbar. The quick-options where you choose the search for own and closed data - If “only my data” is checked you will only search for the data created by your user (Please note that this is not the same as being Sales employee on a BP, Document ect.) If “Also closed data” is checked the search result will include closed marketing documents, ended activities and so on. NB: THESE OPTIONS ARE NOT USED IN CUSTOM SEARCHES The result in which you can see the last result of the searched grouped by data type - All data is in some way related to the searched keyword. It could be that a Business Partner is found because the search keyword was the name of one of its Contact persons and so on To keep performance we have set an upper limit of 100 search results per data type, so if you didn’t found what you were looking please make your search more specific Copyright 2016 – Boyum IT A/S Page 45/292 B1 Usability Package Manual - All search results have an orange arrow that will take you to the specific piece of data. Alternative you can right click on the result to get additional options (Only on standard searches – custom search definitions do not have this option) o o The advance tab-page Copyright 2016 – Boyum IT A/S Page 46/292 B1 Usability Package Manual Not everyone needs to search all data, and for that reason we have made the B1 Search user-specific on what it searches for. If a user has never used the B1 Search before, he will search for the data indicated below. Should the user wish to change his/hers default search behavior, simply switch to the advanced tab, check and uncheck the data you wish to search for and press “Save as my default search”. Doing so will cause you to search for checked data as default until you make a new change and save that as default. Search customizations created are also shown on the page if they are active for the user. Likewise are search criteria’s that have been disabled not shown. NB: AS YOU MIGHT HAVE NOTICED, THE DEFAULT SEARCH DOES NOT INCLUDE SEARCH ON DOCUMENT LINES AS DEFAULT. IT IS POSSIBLE TO TURN ON, BUT PLEASE BE AWARE THAT THIS CAN REDUCE THE PERFORMANCE ON VERY LARGE DATABASES THE MANY TRANSACTIONS. Single Search system In addition to searching everything you also have the option to do a single search for items or a web-search. Next to the Search-button is a small dropdown button. If you press it you get the option to do a single search (Search for a specific type of thing) Copyright 2016 – Boyum IT A/S Page 47/292 B1 Usability Package Manual As an example you could search for “C20000” and choose Activities. This would result in a search only on Activitites no matter how your default search terms are setup. Single also have the option to do searches on the web with the “Web: <SearchEngine>” option located at the bottom of the list. You have the option to search in the most common online search-engines. Copyright 2016 – Boyum IT A/S Page 48/292 B1 Usability Package Manual B1 Validation System The B1 Validation System allows you to create new functionality for the SAP Business One using the B1 Validation Configuration to determine when the functionality should happen and the Universal Functions to say what kind of functionality should happen. Online E-Learning is also available for this module. Click here to watch it NB: THE B1 VALIDATION SYSTEM IS INTENDED FOR SUPER-USERS CONSULTANTS AND DEVELOPERS AND IT REQUIRES IN-DEPT KNOWLEDGE IN THE STRUCTURE OF SAP BUSINESS ONE. Knowledge in the following areas is recommended: - SAP Business One Form Types and System Information option SAP Business One Formatted Searches SAP Business One Item Types SQL Simple development-knowledge An understanding of events B1 Validation Configuration Online: Tips and trick on working with B1 Validation System and how to avoid issues Right-click configuration™ To quickly get going go to the window you wish to add a trigger to, right-click the object you will interact with and choose Add B1 Validation configuration. All depending of the option you will presented with different triggers and option to manipulate existing configurations. Sample 1: Validate entered data when leaving the field Copyright 2016 – Boyum IT A/S Page 49/292 B1 Usability Package Manual Sample 2: React to choosing a value in a combobox Sample 3: React to buttons being clicked (Before or after SAP execute the button functionality) Choosing an option will send you to the B1 Validation Configuration (You can also manually go there via Administration > Add-ons > B1 Usability Package > Module Configuration > B1 Validation configuration.) In order to use your Universal Function, you need to set the trigger (already defined for you via the rightclick configuration) and a condition for it. The configuration window can be divided into 4 parts. Part Description Copyright 2016 – Boyum IT A/S Page 50/292 B1 Usability Package Manual Header data + Active and Import/Export Field Number Name Sort Users (Empty = All) Description This is the auto generated number of the configuration This is your name for the configuration for reference The sort-field is used to determine which validation configurations should be used first in case two or more configurations have the same trigger. The configuration with the lowest sort-value will be the configuration that will be executed first. Here you have the option to make the Configuration user-specific. All you need to do is to enter the wanted users (their usercodes) separated by “;” (Depending on the user-setting: Include users = All users entered will use the configuration Exclude users = All users entered will not use the configuration If you donot enter anything, all users will use the configuration Trigger Condition Comments Samples: 3. Entered: manager;user1;user2 (Include users option) o The 3 users with usercode “manager”, “user1” and “user2“ will use the configuration. 4. Entered: user3 (Exclude users option) o All users except user with usercode “user3” will use the configuration. Active This checkbox determines if the current configuration is active. If unchecked, the add-on will not use it. Import This allows you to import configurations (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Import“ Export This allows you to export configurations to XML (Either one at the time or as a batch). See more info in under “Configuring the Addon > Shared functionality > Export“ This is the trigger part of the configuration, which defines what user-interaction should happen to trigger the configuration. See below for details. This is the condition part of the configuration, where you via one of three conditions methods can decide what conditions should be for the window of the trigger before executing the Universal Function. See below for details. A simple comments field with a description about the configuration The Trigger System The trigger system is a pseudo-code configuration built on top of the SAP SDK, which allows on-the-fly triggers of the SDK’s Item Events. It allows you to define what form things happen on, which controls are involved, and so on. Copyright 2016 – Boyum IT A/S Page 51/292 B1 Usability Package Manual Field Form type Description Use this field to decide which form types (Window types in SAP Business One) the trigger should react to. TIP: IF YOU HAVE EXACTLY THE SAME CONFIGURATION ON TWO OF MORE FORMS (OFTEN SALES AND PURCHASE ORDERS) YOU CAN MAKE ONE CONFIG WORK ON MULTIPLE FORMS BY ENTERING MULTIPLE FORMTYPES SEPERATED BY ;. EXAMPLE: IF YOU ENTER 139;133 AS FORMTYPE THE TRIGGER WILL REACT ON BOTH FORMTYPE 139 (SALES ORDER) AND 133 (A/R INVOICE) Item Column Row Menu Uid TIP: USE THE “..” BUTTON TO CHOOSE BETWEEN THE MOST COMMON FORMTYPES. In this field, you enter which item the trigger should respond to. This could be a button (Being pressed), an Edit Text (Leaving the field) or a combo box (new value selected) or any of the items on a window. Some events – like form-load and form-unload – does not require an item TIP: IF YOU HAVE EXACTLY THE SAME CONFIGURATION ON TWO OF MORE ITEMS YOU CAN MAKE ONE CONFIG WORK ON MULTIPLE ITEMS BY ENTERING MULTIPLE ITEMUIDS SEPERATED BY ;. EXAMPLE: IF YOU ENTER 4;54 AS ITEMUID ON A SALES ORDER THE TRIGGER WILL REACT ON BOTH THE BP CODE ITEM (4) AND BP NAME ITEM (54) If the item above entered was a matrix or a grid, you will also need to tell the trigger which column it is that you want to react to. If the item is not a matrix, you should not provide a column. TIP: IF YOU HAVE EXACTLY THE SAME CONFIGURATION ON TWO OF MORE COLUMS YOU CAN MAKE ONE CONFIG WORK ON MULTIPLE COLUMS BY ENTERING MULTIPLE COLUMNUIDS SEPERATED BY ;. EXAMPLE: IF YOU ENTER 1;3 AS COLUID ON A SALES ORDER WITH ITEM 38 THE TRIGGER WILL REACT ON BOTH THE ITEM CODE (1) AND DESCRIPTION (3) Again, if the item chosen is a matrix, and you have defined a column, you can choose to decide which specific row the trigger should react on. If you wish to react on any row then leave the row-field empty Here you can enter the Menu Uid of the menuitem clicked (Only used in combination with the Menu Click Event (See below)) Copyright 2016 – Boyum IT A/S Page 52/292 B1 Usability Package Manual TIP: IF YOU HAVE EXACTLY THE SAME CONFIGURATION ON TWO OF MORE MENUITEMS YOU CAN MAKE ONE CONFIG WORK ON MULTIPLE MENUITEMS BY ENTERING MULTIPLE MENUUIDS SEPERATED BY ;. EXAMPLE: IF YOU ENTER 1281;1282 AS MENUUID ON A SALES ORDER, THE TRIGGER WILL REACT ON BOTH THE ‘SWITCH TO ADD’ (1282) AND ‘SWITCH TO FIND’ (1281) TIP: USE THE “..” BUTTON TO CHOOSE BETWEEN THE MOST COMMON MENUUIDS. Above, you have defined what specific form/item/column/row the system should react on. In addition to this you now need to tell the trigger the specific state the form/item is in and what event-conditions is required. Form The form-mode allows you to only get the trigger to react if the window is in a specific mode. As Mode an example you might only want to react to a button being clicked in add-mode. Event The event is the primary selection of the state in the trigger. Here you inform the trigger of what kind of event happened Event Description Click Any item was clicked but not pressed (See item pressed) Combo box A value was selected from a combo box select Double click An item received a double click (two fast left clicks) Form Load A window was opened (Please note that in some cases Form Load cannot access the window opened (since it is still opening)) Form Closing A window is about to be closed. If you catch this event BeforeAction and block the event you can prevent the user from closing the window. Form Closed A window was closed (Please note that since the Form Unload closes the (Form window, in some situations you will not be able to access the data from that Unload) window where the event happened.) Item Pressed An item was pressed (pressed = clicked and released button) [This is the most commonly used event in configurations] Key Down A key was pressed (Use the Char Pressed and Modifier option for more on what key was pressed (ALT, CTRL or SHIFT)) Validate A field is about to loose focus [Often used when you want to trigger something based on what was entered in a field] Got Focus This happens when a field have received focus NB: WHEN USING GOT FOCUS, BE AVARE THAT THIS DOES NOT HAPPEN BEFORE ACTION, SO SETTING THIS PROPERTY TO TRUE WILL NEVER TRIGGER THE EVENT Menu Click Data Load Data Add Data Update Data Delete Column Link Pressed This happens when a menu click is pressed (the menu uid you written in the menu uid field) When a window load its data (Example – When you navigate to a new Business Partner) When a window add some data (Example – When you add a new Business Partner) When a window updates its data (Example – When you update a Business Partner) When a window deletes its data (Example – When you delete a Business Partner) When a user press an Orange Arrow on line level this event will happen. NB: On to catch arrows being pressed on header level, please use the normal Copyright 2016 – Boyum IT A/S Page 53/292 B1 Usability Package Manual Column Picker Pressed Choose From List Item Pressed When a user press one of the picker icons on line level this event will happen. Here are the different pickers you can react to: Happens after you choose a value in a Choose From List window (Example the List of Business Partners) NB: ONLY FIELDS IN THE SYSTEM WITH A CHOOSE FROM LIST (ABILITY TO PRESS TAB) WILL TRIGGER THIS EVENT. NORMAL FIELDS AND UDFS WILL NOT TRIGGER SUCH AN EVENT. NB: PLEASE NOTE THAT THE EVENT HAPPENS BEFORE THE VALUE IS ACTUALLY ON THE SCREEN. USE VALIDATE INSTEAD IF YOU WISH TO ACTUALLY WISH TO USE THE CHOSEN VALUE Form Key Happen if you press a key on a window without having any item in focus. Down FORM_LOAD Event that happen everytime you resize a form. (Advanced) NB: ANY USES OF THIS EVENT IS PREMIUM SUPPORT When B1UP This event happen only once after B1UP are successfully started. You can use is finished this event to open some predefined window as an example. loading Below are the four event-options you can use to specify the event even further. This is needed because SAP almost always sends its events twice (One before SAP does what it was supposed to do on the event and one after it is done with the event). These all have 3 states (True, False and ignore (react on both True and False)). Before This determines if your trigger should react before SAP reacts on the event. Action NB: SOME EVENT DO NOT HAVE AN EVENT WHERE BEFORE ACTION IS TRUE. NB: ONLY EVENTS THAT IS SET BEFORE ACTION CAN BLOCK SAP’S EVENTS USING ITS UNIVERSAL FUNCTION Copyright 2016 – Boyum IT A/S Page 54/292 B1 Usability Package Manual Action Success Item Changed Inner Event This determines if your trigger should react after SAP is done processing the event. This determines if you only want to react to the event it the item of the event was changed. User-events can in some rare cases cause other events to happen. These are called inner events. Sometimes, this can lead to an endless loop of events. It is in general best to set this to false, but in some rare cases you might need to change it. If the event chosen was the Key Down event, you will need to tell the trigger what key you would like it to react on. This is done using the Char Pressed and the Modifier Char The ASCII Code of the key that was pressed (Decimal value). Pressed List of common ASCII Codes ENTER = 13, TAB = 9, BACKSPACE = 8, SPACE = 32, PAGEUP = 33, PAGEDOWN = 34, END = 35, HOME = 36, DELETE = 46, UPARROW = 38, LEFTARROW = 37, DOWNARROW = 40, RIGHTARROW = 39, 0 = 48, 1 = 49, 2 = 50, 3 = 51, 4 = 52, 5 = 53, 6 = 54, 7 = 55, 8 = 56, 9 = 57, A = 97, B = 98, C = 99, D = 100, E = 101, F = 102, G = 103, H = 104, I = 105, J = 106, K = 107, L = 108, M = 109, N = 110, O = 111, P = 112, Q = 113, R = 114, S = 115, T = 116, U = 117, V = 118, W = 119, X = 120, Y = 121, Z = 122 Modifier Prevent event looping TIP: USE THE “..” BUTTON TO CHOOSE BETWEEN THE MOST COMMON CHARPRESSED VALUES. The modifier-key that was used while pressing the key (CTRL, SHIFT, ALT, and so on) This option will in advanced setups make you able to prevent that one validation trigger another that then triggers the first again (endless event deadlock that cause SAP to crash). It is recommended that you default leave this on unless you are making some very funky eventing The Condition System When the trigger system is in place, you have the option to use the condition system. The condition system Copyright 2016 – Boyum IT A/S Page 55/292 B1 Usability Package Manual allows you to react to something, but only if that something upholds certain conditions. Sample: Business Partner – React to the new activity button being pressed (trigger), but only if the chosen BP type is Customer (condition). The condition system allows you to use one of three conditions: Condition No condition Simple condition Description This basically means that there is no condition, but the tied universal function should be activated each time the trigger occurs. Field Description Universal Function Select the Universal Function you would like to activate. In the simple condition, you can check on specific fields value and see if it meets the wanted requirements to activate the Universal Function Field Description Item The item you want to check for a value Column If the above item was a matrix or a grid, which column you want to check Comparison Here you decide how you want to compare the items value against the expected value Value Value Type Comparison types are: Equals Not Equals Greater than Greater than or equal Less than Less than or equal Contains (Only strings) Does not contains (Only strings) Starts with (Only strings) Ends with (Only strings) Does not Starts with (Only strings) Does not Ends with (Only strings) Here you enter the expected value you want if the Universal function should activate. Please note that when expected values are validated, it is done using invariant formats Type Description String Word for word and case sensitive Numbers No thousands separators Currency (Floats) Decimal-separator= . Thousands-separator = , Dates YYYY-MM-DD (2007-04-20 = 20th of April 2007) Here you need to tell the system how it should treat the value from the item when comparing it to the expected value. Value types are String Copyright 2016 – Boyum IT A/S Page 56/292 B1 Usability Package Manual Number (Integer) Currency (float) Date Select the Universal Functionyou would like to activate if condition is true. SQL Condition Universal Function Finally, you have the option to use SQL and its dynamic values to do a complex validation based on SQL, or use it to determine one of several Universal Functions to use. First you need to create you SQL, which in most cases will have an IF/ELSE or a CASE/WHEN Structure (You can select such from the Common SQL combobox). In the SQL you can use the syntax $[$<ITEM>.<COLUMN>.<TYPE>] for dynamic values from items and $[<TABLE>.<FIELD>.<TYPE>] for data sources (Both work very similar to formatted searches). NB. IF YOU USE AN ITEM THAT DOES NOT HAVE A COLUMN THEN SET THE COLUMN PART TO 0. Types you can use: Type Description 0 As STRING STRING Treat as is NUMBER Convert to number CURRENCY Removes any Currency Indicators that might be and convert to a number DATE Converts to a data in format YYYY-MM-DD Sample on Business Partner that does Universal Function OPT1 if BP is a Customer I, else OTP2: IF($[$40.0.0]) = ‘C’ BEGIN SELECT ‘OPTION1’ FOR BROWSE END ELSE BEGIN SELECT ‘OPTION2’ FOR BROWSE END You now have two values that your condition can output (The string “OPTION1” or “OPTION2”). These can now be entered into the Condition Result Matrix where you decide what should happen for each result by assigning a Universal Function code Copyright 2016 – Boyum IT A/S Page 57/292 B1 Usability Package Manual You do not need to provide a Condition result for all output your SQL can give… Just the ones you would like to react to… NB: PLEASE NOTE THAT THE CONDITION-RESULTSARE CASE-SENSITIVE NB: IN SAP HANA IT IS NOT POSSIBLE TO MAKE SQL IF/ELSE SENTENCES. INSTEAD USE THE SELECT CASE … FROM DUMMY SYNTAX Default Data Default data enables you to set what is default when adding a new Business Partner or Item Online E-Learning is also available for this module. Click here to watch it Default Data: Configuration Configuration of Default data is very simple, since all you need to do is go to Administration > Add-Ons > B1 Usability Package > Module configuration > Default Data Configuration. In the configuration you have two tabs. One for default data on business partners and one for the items. Each tab contains a lot of fields for the original SAP Business One windows and the 64 properties. Simply choose the data you want to make default and press update. The next time you want to add a business partner or item, the data chosen is default. The Reapply configuration on BP Type switch lets you keep the configuration on when switching between Business Partners. Copyright 2016 – Boyum IT A/S Page 58/292 B1 Usability Package Manual Copyright 2016 – Boyum IT A/S Page 59/292 B1 Usability Package Manual Copyright 2016 – Boyum IT A/S Page 60/292 B1 Usability Package Manual Exchange Rates Online exchange rates give you the option to set foreign exchange rates in SAP Business One. NB: THIS IS AN ONLINE SERVICE THAT REQUIRE AN ACTIVE INTERNET CONNECTION. IF YOU USE PROXY YOU NEED TO SET UP THE PROXY DETAILS IN THE SAP BUSINESS ONE GENERAL SETTINGS Online E-Learning is also available for this module. Click here to watch it Exchange Rates: Configuration Go to the configuration of the online exchange rates located in Administration > Add-ons > B1 Usability Package > Module Configurations > Currency Rates: Configuration Field Source Description Here you indicate the source from where you would like to get your exchange rates. Currently the following are supported: Source URL European http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml Central Bank (EBC) National http://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRates Bank of XML?lang=da Denmark Bank Of https://forex.boi.org.il/currency.xml Israel Copyright 2016 – Boyum IT A/S Page 61/292 B1 Usability Package Manual Westpac (NZ) Bank of Canada Czech National Bank Nordea Reserve Bank Of Australia Federal Tax administrati on (Switzerland ) Oanda http://www.westpac.co.nz/olcontent/olcontent.nsf/fx.xml http://www.bankofcanada.ca/rss/fx/close/fx-close.xml http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy _devizoveho_trhu/denni_kurz.txt http://openpages.nordea.com/fi/lists/currency/elelctronicExchangeFI.dat http://www.rba.gov.au/rss/rss-cb-exchange-rates.xml http://www.afd.admin.ch/publicdb/newdb/mwst_kurse/estv/mittelkurse_x ml.php http://www.oanda.com NB: THIS REQUIRES AN ACTIVE SUBSCRIPTION FOR OANDA CSV RATES http://www.banxico.org.mx/rsscb/rss?BMXC_canal=pagos&BMXC_idioma=e s http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx?op=TipoCambio Dia Rounding decimals Interval of check Fill indicated days back if missing Warn if deviation from last Banco De México Banco De Guatemala http://www.cbr.ru/scripts/XML_daily.asp Central Bank of Russia Bank of http://www4.bcb.gov.br/Download/fechamento/20141207.csv (where last Brazil part being the date of the rate in yyyyMMdd (above 7th of december 2014)) National http://www.nbp.pl/kursy/xml/LastA.xml Bank of Poland HM http://www.hmrc.gov.uk/softwaredevelopers/rates/exrates-monthlyRevenue & 0615.xml (where last part being the month/year of the rate in MMyy (above Customs 7june of 2015)) (UK) [Monthly] The online sources typically have exchange rates with 4 decimals, but you can lower this if you like. Here you decide if the exchange rates should be imported one month at the time or just one day at the time. Here you have the option to backtrack the exchange rates if previous days are missing (Weekend and days where add-on was not started). [NB. Please do not set this to high, since it will lower performance]. Here you can enter a warning system if exchange rates deviate too much. You can set the number of percentage that the rates can deviate without warnings. Copyright 2016 – Boyum IT A/S Page 62/292 B1 Usability Package Manual rate is above % Addition al Fee: Direct If you wish to make the exchange rate fee higher than the online source you have the option to add a fixed amount to the rate (Example if currency XXX is 5.5 and Fee is 1.0 the value set in SAP will be 6.5) NB: BE VERY AWARE OF T THIS OPTION IF YOU IMPORT MORE THAN ONE CURRENCY SINCE THIS IS A FIXED FEE IN LOCAL CURRENCY Addition al Fee: Percenta ge Days Set in the Future This fee is like the direct fee added onto of the online value but as a percentage instead. NB: IF YOU USE BOTH THE DIRECT FEE AND THE PERCENTAGE FEE, THE DIRECT FEE WILL BE ADDED FIRST BEFORE THE PERCENTAGE FEE IS ADDED Here you can set number of days you want to take todays rate and pass it into the future. This is handy if you need exchange rates in the weekend days but does not login during the weekend. Server setup Field Enabled Description If enabled, the server component will update exchange rates based on the interval defined. NOTE: THIS OPTION CANNOT BE ENABLED UNTIL THE SERVER COMPONENT HAS BEEN INSTALLED AND CONFIGURED . Success email Error email Server run time (24 H/M) Server day in the month to run (If monthly interval is selected) Always update exchange rates even if filled Do not set rates on user login (Only Server component) If set an email will be send when the exchange rates are updated (Optional). If an error occurs and email will be send to this email. The fields controls at what time of the day the import of exchange rates happens on the server. This field determines what day of the month the import of exchange rates should take place (Only when Monthly interval of check is selected). Force the server component to always update the exchange rates even if already filled. If you enable this option the add-on itself will never set the rates. Do this if you want to have the Server component to be the only trigger of new rates. DATABASES THAT DO NOT FOLLOW THE ISO STANDARDS CAN USE THE CURRENCY WINDOW TO DEFINE WHAT THEIR CURRENCY SYMBOL RELATES TO IN THE CURRENCY DEFINITION WINDOW (ADMINISTRATION > SETUP > FINANCIALS > CURRENCIES). The order of how the currency code determined is as follows: - First ISO Currency Code is check and use if filled If no ISO Code then we try the B1UP ISO Extender column and use if filled If neither ISO and B1UP ISO is filled Code is tried use Copyright 2016 – Boyum IT A/S Page 63/292 B1 Usability Package Manual Should none of the above be correct the import will fail and you will get an error message that you should setup the codes. In that case set the ISO Currency code for faster performance. 3rd 1st checked 2nd Exchange Rate – Currency Converter This little tool allow you to show a currency convert either as a window (Tools > Currency converter) or as a Cockpit widget (If activated) The way the tool works is simple. Enter the source currency and rate and the system will show the rate in the target currency. You can switch the source and target by pressing the back/forward arrow in the middle. Copyright 2016 – Boyum IT A/S Page 64/292 B1 Usability Package Manual Function Buttons Function Buttons allows you to place buttons on the right-hand side of any window in SAP Business One. The buttons can each be configured to your need by triggering a formatted search, activating any other window in SAP Business One or use one of the 25+ special functions available. Online E-Learning is also available for this module. Click here to watch it Right-click configuration™ To quickly get going go to the window you wish to add function button, right-click and choose “Add Function Buttons on to this window”. Alternative you can go to: Administration > Add-Ons > B1 Usability Package > Module Configuration > Functionbuttons: Configuration. Function Buttons: Configuration Setting up the buttons is done through the configuration window located under Administration > Add-ons > B1 Usability Package > Module configuration > Function Buttons. Each field will be described in the following sections. Copyright 2016 – Boyum IT A/S Page 65/292 B1 Usability Package Manual Field Code Form type (Mandatory) Description Form Width & Height Description Each configuration will need a unique code in order to function. When you switch to add-mode, the system will automatically suggest a code (FB-001, FB-002, and so on). The form type for the window you want to configure Function Buttons for. The form type is found by opening the form you need form type for. Activate the system information (View > System information), and the information is displayed in the bottom left corner of the client when you hold the mouse over an item . This is a simple description of the form type. The information is not used elsewhere in the add-on. On the most common form types, this description appears automatically. These fields are only relevant for Add-on and UDO forms. They ensure function buttons to be shown properly on those kind of windows but for normal system forms it is recommended to leave them blank. SPECIAL NOTE: IF YOU USE FUNCTION BUTTONS AND ITEM PLACEMENT TOOL ON THE SAME FORM TYPE, PLEASE CLEAR THE WIDTH AND HEIGHT OF THE ITEM PLACEMENT TOOL CONFIGURATION TO ALLOW THE SIZING FOR THE BUTTONS. Button Width Users Video: Get help here if you experience having problems with the form width and height This is an optional field that allows you to specify the button width. If nothing is specified the button will use its default 100 pixel width. Here you have the option via the edittext and the radiobuttons to make your configurations user-specific (making it possible to have one user who has one unique configuration, while another user has a different configuration) The above screenshot result in that only the two users with usercodes “user1” and “user2” will see this configuration, while the screenshot below makes the configuration active to all other users except NB: IT IS YOUR RESPONSIBILITY THAT A USER DOESNOT OVERLAP OR IS INCLUDED IN TWO OR MORE CONFIGURATIONS. IF THAT IS THE CASE, THE SYSTEM WILL WORK WITH THE FIRST CONFIGURATION IT FINDS AND IGNORE THE ADDITIONAL CONFIGURATIONS Category Active Here you define if you wish to categorize your configuration. Categorization is optional and you can read more about it in the manual section describing Configuration categorization. Here you have the option to temporarily deactivate a configuration instead of removing Copyright 2016 – Boyum IT A/S Page 66/292 B1 Usability Package Manual The Buttons it entirely. You can specify as many buttons as you like (Press add on the right-hand side to get a new button configuration). Column Description Caption You freely decide the caption of the button. TIP: IT IS POSSIBLE TO MAKE KEYBOARD SHORTCUTS WITH THE FUNCTION BUTTONS. THIS IS DONE BY PLACING A ‘&’ IN THE CAPTION OF THE BUTTON. THE NEXT CHARACTER AFTER THE ‘&’ WILL ACT AS THE SHORTCUT USING ALT + CHARACTER. (NB. THIS TIP WILL NOT WORK ON BUTTONS TIED TO A FORMATTED SEARCH, SINCE THE ALT-KEY IS SUCH ARE USED TO OPEN THE FORMATTED SEARCH CONFIGURATION) Will look like this: Functions For each button you can bind one of the 30+ functions available. These are: Function Description Formatted Activate a formatted search like it would normally Search be done using SHIFT + F2. The first time you will need to define the formatted search. If you later need to edit the formatted search, hold down the ALT key while pressing the button. The result can be transferred to a specific field or column andidentifiers can also be used. See sections below for more information about these options. User defined Enables you to activate any menu item in the SAP menu Business One, including other add-ons menu items, for example the XL reporter’s menu items. The menu items can be found using the “View > System Information” and hovering over each item using the top menu. The MenuUID should be entered in the Arguments field for the button User Query Enables you to activate a userquery in the database. (Use this for the userqueries instead of the User defined menu because the menuid of a userqueryis not static) Since there is no place in the client where you can find the true id of a userquery you will need to use the following SQL sentence to find the key (Called Internal Key (Fieldname: IntrnalKey)). SELECT T0.IntrnalKey, T0.Qname, T1.CatName FROM OUQR T0 JOIN OQCN T1 ON T0.Qcategory Copyright 2016 – Boyum IT A/S Page 67/292 B1 Usability Package Manual = T1.CategoryId WHERE T0.Qcategory!=-2 ORDER BY T1.CatName, T0.Qname Opportunity Blanket Agreement Quotation Order Delivery/Goo ds Receipt PO Return/Good s Return Down Payment Copyright 2016 – Boyum IT A/S Once you have the key, provide it in the arguments field for the button, and it should work. Opens the Opportunities. In special windows, like the Business Partner Master data window, it will draw the BP-code to the new opportunity so you donot need to type it yourself. Opens the Sales/Purchase Blanket Agreement. In special windows, like the Business Partner Master data window it will draw the BP-code to the new Agreement so you don’t need to type it yourself. If unable to determine a type, the add-on will ask you which type you want to open. Opens the Sales/Purchase Quotation. In special windows, like the Business Partner Master data window it will draw the BP-code to the new Quotation so you don’t need to type it yourself. If unable to determine a type, the add-on will ask you which type you want to open. Opens the Sales/Purchase Order window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected window type (Sales Order for Customers and Purchase Order for Suppliers). This will draw the BP-code to the new Sales/Purchase Order so you donot need to type it yourself. If unable to determine a type, the addon will ask you which type you want to open. Opens the Delivery/Goods Receipt window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected window type and draw the BP-code to the new window. If unable to determine a type, the add-on will ask you which type you want to open. Opens the Return/Goods Return window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected window type and draw the BP-code to the new window. If unable to determine a type, the add-on will ask you which type you want to open. Opens the Sales/Purchase Down Payment window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected Page 68/292 B1 Usability Package Manual Invoice Credit Note Activity Incoming Payment Outgoing Payment Posting Periods Reconciliatio n Goods Receipt Goods Issue Inventory Transfer Copyright 2016 – Boyum IT A/S window type and draw the BP-code to the new window. If unable to determine a type, the addon will ask you which type you want to open. Opens the AP/AR Invoice window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected window type and draw the BP-code to the new window. If unable to determine a type, the add-on will ask you which type you want to open. Opens the AP/AR Credit Note window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected window type and draw the BP-code to the new window. If unable to determine a type, the add-on will ask you which type you want to open. Opens the Activity. In special windows, like the Business Partner Master data window, it will check the type of the current BP and transfer it. Opens the incoming payment window. In special windows, like the Business Partner Master data window it, will draw the BP-code to window so you don’t need to type it yourself (also determines type). Opens the outgoing payment window. In special windows, like the Business Partner Master data window, it will draw the BP-code to window so you don’t need to type it yourself (also determines type). Open the General Setting and set the focus on the Posting Periods tab-page. Open the Banking Reconciliation window. Opens the Goods Receipt window. On special windows, like the Item Master Data, the active Item code will be draw onto the new window and be placed as a line so you donot need to type it yourself. Opens the Goods Issue window. On special windows like the Item Master Data the active Item code will be draw onto the new window and be placed as a line so you don’t need to type it yourself. Opens the Inventory Transfer window. On special windows like the Item Master Data the active Item code will be draw onto the new window and be placed as a line so you don’t need to type it Page 69/292 B1 Usability Package Manual Last Price Report Special Prices Discount Groups Aging Data launcher External launcher yourself. Opens the Last Price Report window. On special windows, like the Item Master Data, the active Item code will be draw onto the new window for easy use. Opens the BP Special Prices window. On special windows, like the documents and BP Master data, the BP code will be draw onto the new window for easy use. Opens the Discount Groups window. On special windows, like the documents and BP Master data, the BP code will be drawn onto the new window for easy use. Opens the Aging. On special windows, like the documents and BP Master data, the BP code will be draw onto the new window for easy use. Launch the Data Launcher which is a special function type with extended functionality. Launch an external program from the button which can be dependent on data from the window Syntax: PROGRAM|ARGUMENTS (Example: winword.exe|”C:\test.doc” launch Microsoft Word and open the document in C:\test.doc) As an advanced feature, you are also able to get dynamic data from the active form. The syntax for referring to the parent form is $[$<item>.<column>.<type>] Example: if you would like to have the BP-code as part of your data, you should write $[$5.0.0] since the item code text field on the Business Partner Master data have unique id 5, while if you would like the current address street name you should write $[$178.2.0] since the matrix uid is 178 and the column is 2. Commonly used configurations: Configuration Arguments Start a Microsoft - Program: winword.exe Word Document - Parameters: $data (e.g. $data = “\\server\docs\test.doc”) Start a Microsoft - Program: excel.exe Excel document - Parameters: $data (e.g. $data = Copyright 2016 – Boyum IT A/S Page 70/292 B1 Usability Package Manual Universal Function Multi Button “\\server\docs\test.xsl”) Start Remote - Program: mstsc.exe Desktop - Parameters: /v $data (e.g. $data = 192.168.1.1) Start a PDF- Program: AcroRd32.exe document - Parameters: $data (e.g. $data = “\\server\docs\test.pdf”) Start Internet - Program: iexplore.exe explorer on a - Parameters: $data (e.g. specific website $data = http://www.boyumit.com) Enables you to activate a Universal Function from a function button. Which button to activate is chosen in the universal function field for the button (Press TAB to choose) Enable you to create a button that instead of one function contains a drop-down of different functions. (Read more about the Multi-buttons in the Multibutton section of the manual) Create a button that does not do anything. This is included in order to allow the B1 Validation System to work with the function buttons Universal Function Multi Button Find/Add/OK Checkboxes Arguments Copyright 2016 – Boyum IT A/S Do Nothing(B1 Validation System) If you set the Function Type to Universal Function then this field need to specify which UF to run (Else you can leave it blank) If you set the Function Type to Multi Button then this field need to specify which MB to run (Else you can leave it blank). These checkboxes control in which modes the button should be enabled. Example: If you put a button on the Business Partner Window, but the function of the button only makes sense if a Business Partner is selected, then you should remove the check in the Find and Add checkboxes. This will result in the button only being enabled in OKmode (Where a Business Partner is selected). If choosing the function ‘User-defined Menu’ you must enter which menu to open when the button is pressed. o Video: Click here to watch more information on how to find menu-uids. If choosing a user query, enter the id of the query. If choosing external launcher enter programs and Page 71/292 B1 Usability Package Manual FMS: Target (Only used with formatted searches) FMS: Target Column (Only used with formatted searches) FMS: Target Identifier (Only used with formatted searches) Category Import Export arguments. Buttons bound to a formatted search will perform the search on an invisible field, but if the formatted search result should be saved to a field, this can be entered here. The items ID can be found using the debug information while pointing at the specific item. If the target of the formatted search is not an item but a column, the Item ID for the matrix and the ID of the column should be entered here. The ID of the column can be seen using the debug information when pointing at the column. Advanced Formatted searches can be set to validate the value of a target before its function. Using this field, you will be able to enter such validation values. If you wish to categorize a specific button to category you can do so (If not it will assume it is the header category). Read more about categorization in the Category section of this manual. Item Uid The Item-uid of the button you insert. By default you should leave it to auto-assign a UID but for backward compatibility we still leave allow you to override it for advanced scenarios This allows you to import configurations (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Import“ This allows you to export configurations to XML (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Export“ Multi Button Configuration Among the different Function Button type you can choose in the configuration is a type called Multi Button. This type differ in functionality from the rest of the types in that instead of running a single functionality when the button is pressed, the button give an option to define multiple different feature that can be chosen by the user. Copyright 2016 – Boyum IT A/S Page 72/292 B1 Usability Package Manual When you make a button of type Multi-button then the Caption on the configuration is not used and you need to provide a Multi-button configuration instead. Field Code Name Line - Caption Line - Function Description The code identifying the Function Button The name/description of the configuration (For internal identification – Not shown to the user) Here you define the caption of the each multi-button option. Her you define the function of the option. The type you can choose from are the same as regular buttons with the exception of a few legacy options. Copyright 2016 – Boyum IT A/S Page 73/292 B1 Usability Package Manual Line - Universal Function If you define your Multi buttons function to be Universal Function you must define the Universal Function to run here (Else you can leave it blank) Copyright 2016 – Boyum IT A/S Page 74/292 B1 Usability Package Manual Data launcher This special function button type contains a whole module in itself. The data launcher gives the ability to tie documents and launch programs linked to a Business Partner/Item Master Data/Employee or an activity Usage and requirements: The data launcher function button will only work on business partners, items, employees and activities. The data launcher will only work in OK mode. Data launcher: Main window This is the main window of the Data launcher. From here you can activate the data for each data type. Each entry (for example a Business Partner) can have a data launcher. Copyright 2016 – Boyum IT A/S Page 75/292 B1 Usability Package Manual Field Type Code Lines Functions for selected Start Add Remove Edit Move Up Move Down Function Configuration Description Here the data type that the data is tied to is shown. Currently the following types are supported: Business Partner, Item Master Data, Employee Master Data and Activities Here the code of the selected type is shown. Here the lines of the selected data launcher entry are displayed (One per type, per code). See the add/edit lines below for more information When a line is selected, this combo box will display the associated functions of the line. See the add/edit lines below for more information After selecting a line and selecting a function, when you press start the indicated function will start Press here to add a line Select the line and press remove to remove the selected line Select the line and press “Edit” to edit the data of a line and its associated functions Select a line and press the Move Up button to move the current line upward on the list. Select a line and press the Move Down button to move the current line downward on the list. Press this button to open the window described below Data launcher: Function configuration This window contains all function available to be tied to data launcher lines. Copyright 2016 – Boyum IT A/S Page 76/292 B1 Usability Package Manual Field Name Program Description The descriptive name you want to display when selecting the function The program you would like to run. Please note that you can double click to choose a program or enter it manually Parameters The parameters for the program. Here you can enter command line parameters for the (Optional) selected program. Optionally you can use $data as a way to incorporate the data of the data launcher line as part of the parameters. Name The descriptive name you want to display when selecting the function Program The program you would like to run. Please note that you can double click to choose a program or enter it manually Commonly used configurations: Configuration Arguments Start a Microsoft - Program: winword.exe Word Document - Parameters: $data (e.g. $data = “\\server\docs\test.doc”) Start a Microsoft - Program: excel.exe Excel document - Parameters: $data (e.g. $data = “\\server\docs\test.xsl”) Start Remote - Program: mstsc.exe Desktop - Parameters: /v $data (e.g. $data = 192.168.1.1) Start a PDF- Program: AcroRd32.exe document - Parameters: $data (e.g. $data = “\\server\docs\test.pdf”) Start Internet - Program: iexplore.exe explorer on a - Parameters: $data (e.g. $data = http://www.boyum-it.com) specific website Data launcher: Add/edit lines From this window you can add or update lines from the data launcher. Copyright 2016 – Boyum IT A/S Page 77/292 B1 Usability Package Manual Field Description Description An informative description of the line Data The data of the line. This varies a lot, but an example could be: An IP Address (For a remote desktop) An URL (For opening a website) A filename (Document, PDF, Excel and so on) If it is a file, you will need, you can double click on the data text field to choose a file As an advanced feature,you are also able to get dynamic data from the active form. The syntax for referring to the parent form is $[$<item>.<column>.<type>] Example: if you would like to have the BP-code as part of your data, you should write $[$5.0.0], since the item code text field on the Business Partner Master data have unique id 5, while if you would like the current address street name, you should write $[$178.2.0] since the matrix uid is 178 and the column is 2. Associated Functions Here you choose which function should be tied to the line. These are the ones that will be possible to choose between Copyright 2016 – Boyum IT A/S Page 78/292 B1 Usability Package Manual Item Placement Tool The Item Placement Tool (IPT) gives you the ability to rearrange all data on any window in SAP Business One. You will be able to - Move important fields to more suited places. Make fields smaller or larger. Move fields between tab-pages. Hide fields never used. Create new Tab that show Universal Function – SQL Reports Furthermore, it gives you the ability to work with user-defined fields tied to the window, and place them on the main window! You will be able to - Choose the position. Choose on which tab-page it should appear. Choose the type of the field (Edit Text / Text Area / Combo box / Checkbox). Choose the height and width. Choose if a label should be shown along with the field. All this which normally would need SDK knowledge can be done trough the configuration window. Online E-Learning is also available for this module. Click here to watch it Right-click configuration™ To quickly get going go to the window you wish to manipulate, right-click and choose you option. Alternative you can go to Administration > Add-Ons > B1 Usability Package > Module Configuration > Item Placement Tool> Item Placement Tool : Configuration. Copyright 2016 – Boyum IT A/S Page 79/292 B1 Usability Package Manual Item Placement Tool: Base configuration Default placement type defines how the placement of new items should be handled. Pixel Placement – Items are placed using Left / Top pixels Relative Placement – Items are placed in relation to an item Pixel placement has a small performance boost compared to relative placement so for max performance pixel placement should be used. Relative placement has build in support for multiple different font-sizes and screen changes when SAP Businesss One is upgrade. For the best compatability between SAP Businees One versions/font-size Relative Placement should be used. To learn more about the two different mode: See this video Copyright 2016 – Boyum IT A/S Page 80/292 B1 Usability Package Manual Item Placement Tool: Configuration The windows are configured using the IPT: Configuration which is located in Administration > Add-Ons > B1 Usability Package > Module Configuration > Item Placement Tool > Item Placement Tool : Configuration Please keep in mind that large changes require a lot of configuration, and also the configuration is quite technical, so estimate some time for configuration when implementing. Field Code Form type (Mandatory) Description Use description Description Each configuration will need a unique code in order to function. When you switch to addmode, the system will automatically suggest a code (IPT-1, IPT-2, and so on). The form type for the window you want to configure Item Placement Tool for. The form type is found by opening the form you need form type for. Activate the system information (View > System information), and the information is displayed in the bottom left corner of the client, when you hold the mouse over an item. This is a simple description of the form type. On the most common form types, this description appears automatically. If checked, IPT renames the form title to the value of the description field. Copyright 2016 – Boyum IT A/S Page 81/292 B1 Usability Package Manual as form title NB: THIS OPTION DOES NOT WORK ON SALES AND PURCHASE DOCUMENTS AS THESE WINDOWS DYNAMICALLY UPDATE THEIR TITLE UNLESS YOU CONTROL THEM WITH THE UF MACRO “SETFORMTITLE” COMMAND Developmen t Mode Form Width & Height Include Universal Function Users Sample video During the configuration you can active the development mode. Development mode changes two things: 1. Status bar will display Panelevel (described later) when clicking on a folder (General, Payment Terms and so on.). 2. When you click on an item you get the items Left, Top, Width and Height positions displayed in the status bar. For more information: See this video Set a value to change the forms width. Leave blank if you do not want to change forms width and height. SPECIAL NOTE: IF YOU USE FUNCTION BUTTONS AND ITEM PLACEMENT TOOL ON THE SAME FORM TYPE, PLEASE CLEAR THE WIDTH AND HEIGHT OF THE ITEM PLACEMENT TOOL CONFIGURATION TO ALLOW THE SIZING FOR THE BUTTONS. Gives you the option to activate a Universal Function along with the changes made with the IPT. This option is included to make it easy to work with the function type Content Creator, but any universal function can be activated, but please note that some function types can have some rather negative effects that might lock the client. For more information: See this video Here you have the option via the edittext and the radiobuttons to make your configurations user-specific (making it possible to have one user have one unique configuration while another user have a different configuration) The above screenshot result in that only the two users with usercodes “user1” and “user2” will see this configuration, while the screenshot below makes the configuration active to all other users except NB: IT IS YOUR RESPONSIBILITY THAT A USER DOESNOT OVERLAP OR IS INCLUDED IN TWO OR MORE CONFIGURATIONS. IF THAT IS THE CASE, THE SYSTEM WILL WORK WITH THE FIRST CONFIGURATION IT FINDS AND IGNORE THE ADDITIONAL CONFIGURATIONS. Active Add System/UDF line buttons For more information: See this video Here you have the option to temporarily deactivate a configuration instead of removing it entirely. Adds additional lines to the system lines and the UDF lines. Copyright 2016 – Boyum IT A/S Page 82/292 B1 Usability Package Manual Remove System/UDF line button Render Mode Tabs Remove the selected System/UDF line(s). Select a line by pressing the grey block. Use CTRL or SHIFT to select multiple lines. This option determines how the B1UP should apply the configuration to the window affected. Mode Description XML This is the recommended render mode as it is significantly faster than the code. Drawback of it is that should there be any misconfigurations, it will not give very specific errors. Code This mode is the legacy mode of adding items. It is slower than XML Mode but is great during debugging of a configuration. You should only really change to Code mode if you experience problems in XML Mode. For more information: See this video Via this button you can add two types of tabs to any system form there already have Tabs. The two types of tabs you can add are SQL report tabs and Custom tabs. When you press the button you are presented with the following window. At the top you need to provide the UID of the first tab on the window you wish to place the tab (it need to always be the first tab to ensure correct placement of content on the tab. The Tabs left position is controlled by the pixel value you give in the lines below). Example if the tab you are about to make is on BP Master Data the uid need to be “3” as that is the ui of the General Tab on BP Master Data Copyright 2016 – Boyum IT A/S Page 83/292 B1 Usability Package Manual We provide the uid for the most common windows. Next you need to provide info on the tabs you wish to have. You can add multiple tabs (one per line) if you wish. SQL Report Tabs: Column Active SQL Report UF Description Here you can choose if SQL Report Tab should be active and shown on the system form. Here you choose the SQL Report of which data should be shown on the tab (For SQL Report functionality see elsewhere in this manual). The SQL itself will be shown as the content of the tab instead of a normal window. Almost all feature of SQL report work on the tab version but with the following exceptions Description Tab left pixel position Panelevel Copyright 2016 – Boyum IT A/S You can only choose SQL Report that are of type Grid and do not use the [%0] syntax The width/height of the SQL Report is not used Form State is ignored The use of dynamic syntax in the form title field is not supported Refresh button option + auto-refresh is ignored (you can instead right-click to refresh) Select Data Target System is ignored Formtype suffic is ignored There is no row selection Here the title of the SQL Report us show for your reference. It is this title that will be used as the caption of the Tab Here you control the position of the tab (left/right). I you give a value of 0 it mean the tab will be the left-most tab. Increase the value in pixel to choose where it should be positioned next to the other tabs Here you control the panelevel of the tab. The system will Page 84/292 B1 Usability Package Manual Left (Optional) / Top (Optional) / Width (Optional) / Height (Optional) automatically choose pane 700, 701 and you should have no real reason to change this, but you can choose any number between 11 and 999. The reason this is configurable is if we collide with a panelevel used by another add-on. If such switch it here to avoid the collision. You should never give multiple tabs on the same window the same panelevel. By default, we will try to place the content of the tab to the right position and fill the entire tab area, but if you place tab on non common windows or country specific windows the placement might be wrong or if you wish to do advanced placement with other gui elements next to the tab you can use the width/height/left and top to override the automated placement. Custom Tabs Column Active Caption Tab left pixel position Panelevel Description Here you can choose if the tab should be shown on the system form Here you write the title of the tab there is shown on the system form Here you control the position of the tab (left/right). I you give a value of 0 it mean the tab will be the left-most tab. Increase the value in pixel to choose where it should be positioned next to the other tabs Here you control the panelevel of the tab. The system will automatically choose pane 800, 801 and you should have no real reason to change this, but you can choose any number between 11 and 999. The reason this is configurable is if we collide with a panelevel used by another add-on. If such switch it here to avoid the collision. You should never give multiple tabs on the same window the same panelevel. NB: IF YOU HAVE CREATED A TAB USING THE TAB WIZARD AND YOU NEED TO CHANGE THE PANELEVEL YOU NEED TO FIND ALL THE ITEM ON THE TAB IN THE IPT CONFIGURATION AND CHANGE THEIRS FROMPANE AND TOPANE VALUES AS WELL. ItemUid Import Export The system item lines The id of the custem tab. This can be used when placing items on the tab This allows you to import configurations (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Import“ This allows you to export configurations to XML (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Export“ The system item lines are used for changing SAP Business One’s system items. Add and Remove lines are handled by the buttons described above. Column Description Copyright 2016 – Boyum IT A/S Page 85/292 B1 Usability Package Manual Active ItemUid Description Override description Placement type Use the checkbox to enable or disable the line. Often used while debugging The unique identifiers of the system item that you to work with. The item UID can be found in the debug information when pointing the mouse at the item. The description of the item UID specified. This description is only used as Config information on system items. This gives you the option to override the description shown in status bar of items. On button this also gives the option to change the buttons caption and even put in a ‘&’ in the name to activate an ALT + Key shortcut. Pixel Placement – Items are placed using Left / Top pixels Relative Placement (above, below, left, right) – Items are placed in relation to a item If Pixel Placement is selected Left/Top should be filled. If Relative Placment is selected (above, below, left, right) “Placement item” and “Placement spacing” should be filled. Placement item Placement spacing Left The item that should be used as the relative item when doing relative placement. This field is required if relative placement is selected. This field defines the space between the placement item and them item if relative placement is selected. Indicate the left value in pixels from the left border and left. You can enter one of three things: 1. Enter a specific value (Example: 40) 2. Leave empty (Items left-value will keep the current value) 3. Enter a dynamic value that increase/decrease current left value. Example: a. Enter +10 to add 10 pixels to the current left value (Further to the left) b. Enter -10 to subtract 10 pixels from the current left value (Further to the right) Top Indicate the top value in pixels from the window’s title bar and down. You can enter one of three things: 1. Enter a specific value (Example: 30) 2. Leave empty (Items top-value will keep the current value) 3. Enter dynamic values that increase/decrease current top value. Example: a. Enter +10 to add 10 pixels to the current top value (Further down) b. Enter -10 to subtract 10 pixels from the current top value (Further up) Copyright 2016 – Boyum IT A/S Page 86/292 B1 Usability Package Manual Width Height Hide From Pane / To Pane Here you can enter the new width of the item in pixels. You can also leave it blank keep original width. Here you can enter the new height of the item in pixels. You can also leave it blank keep original height. Check this checkbox in order to hide the item defined in item Uid Panelevel is the information about which folder (tab-page) the item are on. All items of a folder will have the same Panelevel. Items that are shown all the time have Panelevel 0. To get which Panelevel an item is on, please activate the development option and press the folder that the item is on, and Panelevel will be displayed in the status bar. If you like to keep the current Panelevel enter -1 (Ignore value). TIP: YOU ARE ABLE TO HIDE ITEMS YOU DON’T WANT TO DISPLAY USING THE PANELEVEL. JUST SET THE PANELEVEL TO A PANELEVEL VALUE THAT DOESN’T EXIST, LIKE FOR EXAMPLE 999. Link To Online Guide: Understanding Panelevels Linkto allows you to tell the link to link to another item on the window and thereby inherit that items placement properties FOR MORE INFORMATION ABOUT THIS PLEASE SEE: GUIDE – THE LIMITATIONS IN SCREEN LAYOUT USING ITEM PLACEMENT TOOL Right Justified Online tip: How to use Link To system Use this option to set if data in an edit text field are right-justified or not. - Not right justified - Right Justified: Suppress Zeroes Text Style Fore Color Back Color NB: ONLY USED IN EDIT TEXT ITEM TYPES AND TEXT AREA ITEM TYPES Use this option to get edit text fields to show nothing if the value is zero NB: ONLY USED IN EDIT TEXT ITEM TYPES AND TEXT AREA ITEM TYPES Use this option to set the text-style of the item (Bold, Italic, Underline, and so on) Use this option to set the text-color of the item (RGB value in long representation) TIP: RIGHT-CLICK THE COLUMN TO PICK THE COLOR Use this option to set the background-color of the item (RGB value in long representation) TIP: RIGHT-CLICK THE COLUMN TO PICK THE COLOR NB: NOT ALL GUI ELELMENTS CAN APPLY COLOR. THE FOLLOWING LIST SHOW WHAT CAN BE COLORED AND WHAT CANNOT GUI Item type Copyright 2016 – Boyum IT A/S Fore color Backcolor Page 87/292 B1 Usability Package Manual Button Checkbox Fontsize Category The UDF item lines No (Yes) [Only Code render mode due to SDK bug] Yes Yes No Yes No No No Combobox Yes EditText Yes Folder (Tab) No Label Yes LinkedButton No (Golden arrow) Picture No No Rectangle No No Textarea No No Here you can set the font-size of the item. If nothing is entered, the default will be used. Set the lines category (See configuration Categories) NB: NOT ALL ITEMS CAN BE MOVED AROUND OR HIDDEN. SOME TABS AND ITEMS ARE CONTROLLED IN A SPECIAL WAY BY SAP BUSINESS ONE (AN EXAMPLE IS SOME OF THE TABS ON THE BP MASTER DATA WINDOW). The UDF item lines are used for adding your user-defined fields to the window. Add and Remove lines are handled by the buttons described above. Column Description Active Use the checkbox to enable or disable the line. Often used while debugging ItemUid The unique identifiers of the user defined item that you to work with. The item UID can be found in the debug information when pointing the mouse at the item. NB: A UID SHOULD CONSIST OF LETTERS (ABC), NUMBERS (123) OR/AND UNDERSCORES (_). CHARACTERS LIKE SPACE, DASHES OR SPECIAL CHARACTERS ARE TECHNICALLY POSSIBLE BUT NOT RECOMMENDED AS THESE ARE NOT SUPPORTED BY THE $[$<ITEM>.<COL>.<TYPE>] SYNTAX. Description Table Field Placement type Copyright 2016 – Boyum IT A/S NB: BECAUSE OF THE LIMITATION ON HOW LONG A ITEM UID CAN BE AND THE CHANGE TO LET UDF-UIDS UP TO 18 CHARSFROM VERSION 2005 AND FORWARD, YOU WILL NEED TO PROVIDE YOUR OWN UNIQUE ID IF YOU HAVE A FIELD THAT ARE OVER 8 CHARS (10 IF YOU COUNT THE “U_”), AND PLACE THE FIELD NAME IN THE “FIELD COLUMN” The description of the item UID specified. This description is used as label if you link one to the item (See label column). The table of the Item. The table can be seen using the debug information when pointing the mouse over the item. If you have UDFs with a name of over 8 chars you will need to use this field to enter the name. Remember the “U_” Pixel Placement – Items are placed using Left / Top pixels Relative Placement (above, below, left, right) – Items are placed in relation to a item Page 88/292 B1 Usability Package Manual Placement item Placement spacing Type If Pixel Placement is selected Left/Top should be filled. If Relative Placment is selected (above, below, left, right) “Placement item” and “Placement spacing” should be filled. The item that should be used as the relative item when doing relative placement. This field is required if relative placement is selected. This field defines the space between the placement item and them item if relative placement is selected. Choose which type the item should be: Type Description Edit Text A normal field (Default) NB: USERDEFINED FIELDS THAT HAVE VALID VALUES CAN NOT BE SHOWN AS EDITTEXTS Text area Used for larger texts with multiple lines. Should be linked to a user defined field of type Alpha Text Combo box Checkbox Picture Static Text Button NB: USERDEFINED FIELDS THAT HAVE VALID VALUES CAN NOT BE SHOWN AS TEXTAREAS Dropdown list with valid values to choose from. Should be linked to a user defined field with valid values TIP: IF YOU WISH TO CREATE YOUR OWN SET OF VALID VALUES IT IS NOT POSSIBLE WITH ITEM PLACEMENT TOOL BUT IT IS POSSIBLE WITH UNIVERSAL FUNCTION – CONTENT CREATOR An item that can have the state checked (Y) or unchecked (N). Should be linked to a user defined field of Alpha Regular (Length: 1, Default value ‘Y’ or ‘N’) An item that is shown as a picture. Should be linked to a picture UDF An item there shows a stand alone label An item there shows a Button. NB TO MAKE THE BUTTON WORK USE B1VALIDATION SYSTEM Rectangle An item there shows a rectangle. Width and Height is used to decide the size of the rectangle Golden Makes a stand alone golden arrow. Arrow To make the golden arrow work together with a field you need to set the link to columns value to the field there contains the value the arrow uses. Tab Makes a standalone tab. Requires that the field group with is filled NB: WE RECOMMEND YOU USE THE CUSTOM TAB SYSTEM TO CREATE TABS Left Copyright 2016 – Boyum IT A/S Indicate the left value in pixels from the left border and left. Page 89/292 B1 Usability Package Manual Top Width Height From Pane / To Pane Label Label Width Link To Indicate the top value in pixels from the window’s title bar and down. Here you can enter the new width of the item in pixels. You can also leave it blank keep original width. Here you can enter the new height of the item in pixels. You can also leave it blank keep original height. Panelevel is the information about which folder (tab-page) the item are on. All items of a folder will have the same Panelevel. Items that are shown all the time have Panelevel 0. Indicate that the item should have a label tied to it. If checked the description are used as caption for the label. Gives you the option to specify a width of the label if you find it too long or too short. Linkto allows you to tell the link to link to another item on the window and thereby inherit that items placement properties NB: WHEN PLACING A STANDALONE GOLDEN ARROW THIS SHOULD BE THE FIELD THERE CONTAIN THE VALUE THERE IS USED WHEN THE ARROW IS PRESSED. FOR MORE INFORMATION ABOUT THIS PLEASE SEE: GUIDE – THE LIMITATIONS IN SCREEN LAYOUT USING ITEM PLACEMENT TOOL Golden Arrow Choose from List Online tip: How to use Link To system Here you can choose if you wan’t a golden arrow next to the UDF. You can choose one of the pre-defined values or choose Custom (and let B1 Validation define what the Golden arrow does) Sample video Here you can choose if you want a Choose from list on the UDF. The choose from list will only be shown if the field has the right type in the database. Example: A UDF with a sales order Choose from list will only be shown if the UDF is a numeric field. If you choose a CFL type that isn’t compatible with the UDF field a warning will be shown. NB: IF YOU MAKE A CHOOSE FROM LIST IT WILL ALWAYS RETURN THE PRIMARY KEY (EXAMPLE ON A SALES ORDER IT WILL STORE THE DOCENTRY IN YOUR UDF BUT DISPLAY THE DOCNUM) Its altså possible to have a choose from list there Is linked to a UDO if the UDF is linked to a UDO. An UDF with a choose from list set to UDO Copyright 2016 – Boyum IT A/S Page 90/292 B1 Usability Package Manual Edit: Add Edit: OK Edit: Find Password Valid Values will only be shown if the UDF is Linked to a UDO. This checkbox allows you to determine how the UDF line item behaves in Add-mode. If checked you can edit the data, if unchecked the data is disabled This checkbox allows you to determine how the UDF line item behaves in OK-mode. If checked you can edit the data, if unchecked the data is disabled This checkbox allows you to determine how the UDF line item behaves in Find-mode. If checked you can edit the data, if unchecked the data is disabled This option allows you to see the data of an edittext as a password (Data shown as stars). NB: Other types ignore this option. Here you can set a collection of valid values a combo box item type should contain. The syntax is as follows: VALUE,DESCRIPTION;VALUE,DESCRIPTION… Sample: Y,Yes;N,No;P,Perhaps The above would give 3 options in a combo box. Alternative you can type SQL:<sql-sentence>. In order for it to work with this you need to produce an SQL with two columns .. If you do not have at least two you will get an error. If you give it more it will ignore exceeding columns. Sample: SQL:SELECT Code, Name FROM [@MY_TABLE] WHERE U_ACTIVE = 'Y' Affect Formmode Right Justified Sample video Use this option if you want an item that does not affect the form mode (e.g. If unchecked and a window is in ok-mode, it will not cause a switch to update mode) Use this option to set if data in an edit text field are right-justified or not. - Not right justified - Right Justified: Suppress Zeroes Text Style Copyright 2016 – Boyum IT A/S NB: ONLY USED IN EDIT TEXT ITEM TYPES AND TEXT AREA ITEM TYPES Use this option to get edit text fields to show nothing if the value is zero NB: ONLY USED IN EDIT TEXT ITEM TYPES AND TEXT AREA ITEM TYPES Use this option to set the text-style of the item (Bold, Italic, Underline, and so on) Page 91/292 B1 Usability Package Manual Fore Color Back Color Use this option to set the text-color of the item (RGB value in long representation) TIP: RIGHT-CLICK THE COLUMN TO PICK THE COLOR Use this option to set the background-color of the item (RGB value in long representation) TIP: RIGHT-CLICK THE COLUMN TO PICK THE COLOR NB: NOT ALL GUI ELELMENTS CAN APPLY COLOR. THE FOLLOWING LIST SHOW WHAT CAN BE COLORED AND WHAT CANNOT GUI Item type Button Checkbox Fore color No (Yes) [Only Code render mode due to SDK bug] Yes Yes No Yes No Backcolor No No Combobox Yes EditText Yes Folder (Tab) No Label Yes LinkedButton No (Golden arrow) Picture No No Rectangle No No Textarea No No Font Size Here you can set the font-size of the item. If nothing is entered, the default will be used. Val On/Val Off With Val Off/Val On, you can override what data-value of a checkbox is considered as the checked and what is for unchecked. If not set the default valOn/off is used (Val On = Y, Val Off = N). Category Group with Golden Arrow ObjectType Tab item: Same Height as Tab item: Same Height as Copyright 2016 – Boyum IT A/S NB: ONLY USED WITH THE CHECKBOX ITEM TYPE (NOT MANDATORY) The lines category (See configuration categories) The id of the first tab on the system form. Is needed to create a tab. Is used when creating stand alone golden arrow to indicate what the golden arrow should do when pressed. This field is used internaly when a tab is created using the Tab wizard and should not be used for anything else. This field is used internaly when a tab is created using the Tab wizard and should not be used for anything else. Page 92/292 B1 Usability Package Manual On the Fly configurations To make configurations easier, superusers can get help from the system to configure the IPT configuration, using right clicks. If you are logged in as superuser you get 4 options to work with: Add this UDF onto the main window (UDF Sidebar only) If you have a user-defined field that you wish to move to the main window simply right click on it and choose the “Add this UDF onto the main window” When pressed, you will be asked where to place it. You have the option to place data above something or below something When you choose you will be prompted to click on the label you wish to place your data above or below Given that we in this sample choose below, we now click the label releated to the project field to indicate that we wish to place the UDF field below this. Copyright 2016 – Boyum IT A/S Page 93/292 B1 Usability Package Manual Click Doing this causes the B1UP to collect the data it will need to make this configuration, and once collected; it will open the Item Placement tool configuration and enter the data automatically. NB: PLEASE NOTE THAT THIS IS A HIGHLY COMPLICATED PLACEMENT ALGORITM THAT TRY TO ANTICIPATE ALL KNOW CONFIGURATIONS, BUT BECAUSE OF THE COMPLEXITY WE CANNOT GUARANTEE THAT EVERY CONFIGURATION AT FIRST TRY, AND SOME CONFIGURATIONS WILL NEED ADDITIONAL CONFIGURATIONS. FOR THIS REASON WE DISPLAY THE FOLLOWING WARNING ON THE CONFIGURATION SCREEN. Move this item This option makes it possible to move already existing fields around. Simply right click on the field you wish to move. Copyright 2016 – Boyum IT A/S Page 94/292 B1 Usability Package Manual You will here just like adding UDFs onto the main window, choose to place the field above or below another field and presse that fields label Hide this item If you have a field that you simply want to hide form the window, you just right click on the field and choose “Hide this item” Opon duing so, the system wil collect data on the data to hide and open the Item Placement Tool configuration. Edit Item Placement Tool Configuration This option areonly shown to you if the window you are working with already have an Item Placement Tool Configuration. I you click on it you are taken to this configuration. Copyright 2016 – Boyum IT A/S Page 95/292 B1 Usability Package Manual Introduction to windows and pixels Windows in SAP Business One have a width and height in pixels. Pixel values always have it’s startingpoint form in the upper left corner just below the Title bar. (0,0) Sometimes windows are also referred to as Forms. Sizeable windows are a bit different because they can change their width and height. Items on a window have four pixelvalues: 1. Left (Number of pixels between left border and items left edge) 2. Top (Number of pixels between the bottom of the Title bar and the top edge of the item) 3. Width (The width of the item in pixels) 4. Height (The height of the item in pixels) – Most items have a height of 14 pixels Pixels can cause problems if user uses different fontsizes. See here how to deal with this issue: http://www.youtube.com/watch?v=FCg6gDtRS-k Copyright 2016 – Boyum IT A/S Page 96/292 B1 Usability Package Manual SAP Business One sizing rules For more info please see the following video: http://www.youtube.com/watch?v=lagd0R-PV6c Copyright 2016 – Boyum IT A/S Page 97/292 B1 Usability Package Manual Letter Merge The Letter Merge functionality makes you able to merge the Business Partner Master Data into a Microsoft Word 2003, 2007, 2010 or 2013 document. This can be done for a single Business Partner, but it can also be done for multiple Business Partners in one go. This module requires that Microsoft Word is installed and configured with .Net Programmability. Online E-Learning is also available for this module. Click here to watch it Create a Microsoft Word Template Before the functionality can be used, you need to create a template in Word were you specify which data which will be merged into the finished document. 1. 2. 3. 4. Open word In Business One go to Tools > User tables > ‘BOY_20_BMFT – Letter merge merge’ table In column ‘Document value’ copy paste the wanted values into the word document. The following types are valid: a. .doc – Standard Word 2003 document. b. .docx – Standard Word 2007/2010/2013 document. c. .docm – Word 2007/2010/2013 document with macros enabled. d. .dot – Word 2003 template. e. .dotx – Word 2007/2010/2013 template. f. .dotm – Word 2007/2010/2013 template with macros enabled. 5. Save the document as a valid type. The Merge table In SAP Business One a user defined table: BOY_20_BMFT – Letter merge – Merge table contains all the keywords needed to create a template Field Document Value Pre BP Value BP Value Post BP Value Replace method Description Copy/paste the value you wish to use in your word template Characters which can be placed before the ‘Document Value’ in the word document. This value is only visible after you merge the letter. The value could be a ( or ‘ or { or ‘Name: ‘ and etc. BP Value is the field name Characters which can be placed after the ‘Document Value’ in the word document. This value is only visible after you merge the letter. The value could be a ) or ‘ or } or ‘end’ and etc. There are two ways to represent the BP Value 1 – Always = BP Value will always be shown 2 – Leave blank if BP value is empty = BP Value will only be shown if the Document Value contains data Copyright 2016 – Boyum IT A/S Page 98/292 B1 Usability Package Manual TIP: YOU HAVE THE OPTION TO ADD YOUR OWN USERDEFINED FIELDS TO THE TABLE (OPTIONAL (YOU CAN USE UDF WITHOUT PUTTING THEM IN THE TABLE)), IN ORDER TO USE THE PRE AND POST VALUE. FOR HEADER FIELDS YOU ENTER <<U_UID>> IN THE DOCUMENT VALUE AND U_UID IN THE BP VALUE… FOR CONTACT PERSONS, ADD PREFIX CPRS (<<CPRS U_UID>> + CPRS_UID) AND FOR ADDRESS BILTO AND SHIPTO ADD ADBT AND/OR ADST. TIP: IN ADDITION TO <<ADBT COUNTRY>> AND <<ADST COUNTRY>> YOU CAN USE <<ADBT COUNTRY FULL>> AND <<ADST COUNTRY FULL>>IN ORDER TO GET THE FULL COUNTRY NAME TIP: YOU CAN ALSO USE THE FOLLOWING KEYWORDS ABOUT CURRENTLY LOGGED IN USER: <<USER NAME>>, <<USER FULLNAME>> AND <<USER EMAIL>> Letter Merge: Configuration After you have created your template, you need to link Business One to the new template. This is done from the Letter Merge Configuration window, which is found in Main Menu > Administration > Add-ons >B1 Usability Package > Module configuration > Letter Merge configuration. Copyright 2016 – Boyum IT A/S Page 99/292 B1 Usability Package Manual 1. Click on the 3 dots button to browse the folder where the Word template is located. 2. Click Add file 3. Highlight the row by clicking on the ‘row number’ 4. Set the template as default, by clicking on the default button. Also in the config you have the option to set Activity Defaults, in order to select what should be default selected on single and mass letter merge. Copyright 2016 – Boyum IT A/S Page 100/292 B1 Usability Package Manual Letter Merge: Daily use There are two ways to use the merge function. The single merge, or the mass letter merge: 1. Single merge, where you merge the data from a single Business Partner. a. This is done from the BP Master data, by clicking on the Letter merge button, which will open the Letter merge window. i. TIP: IF THIS BUTTON IS IN THE WAY OR OBSCURED BY OTHER BUTTONS IT IS POSSIBLE TO MOVE ITS POSITION USING THE ITEM PLACEMENT TOOL b. Select the template or file you wish to use as your merge file. c. Check the Save as activity checkbox if you wish to generate an activity based on the letter merge. d. Click the Merge button to start merging. Copyright 2016 – Boyum IT A/S Page 101/292 B1 Usability Package Manual 2. Mass Letter Merge a. Open the Mass Letter Merge under the Business Partner menu. b. Select the relevant Business Partners from the BP selection combobox or from the BP selection window by clicking on the Advanced button in the upper right corner. c. Select a template you wish to use or choose a filepathtowhere you have a word template located. You can also write a path to a file. d. Check the Save as activity checkbox if you wish to generate activities based on the letter merge. Doing so will create one activity for each BP selected. e. Click the Merge button to start merging. The finished result is a word document with the selected Business Partner Data; one page per Business Partner. As you can see, both ways of mergeing has a way of creating activities. This function does not contain all the options available when manualy creating an activity, but merly the most important options. There is no wayto change an activity created with letter merge, except manually editing the activities your self. Use this function with care when doing mass letter merge, as it can generate a lot of activities depending on your selection. If you want the template used to be attached to the activity you can check the Attach merge file checkbox before merging. In order to use this function, you need to have an attachment path defined. This is done at Main Menu > Administration > System Initialisation> General Settings > Path > Attachments Folder. Using the BP selection – Advanced window. Copyright 2016 – Boyum IT A/S Page 102/292 B1 Usability Package Manual This window allows you to specify which Business Partners you want to target in your letter merge. This can be done by making a template that can be used for BP selection directly from the Mass Letter Merge window. It can also be done by making your selection in this window using its controls and then clicking Ok to return to the Mass Letter Merge window with your selection. Using the Template manager section will help you manage your templates. The Simple tab provides simple means to select Business Partners, while the Advanced tab enables you to select by writing SQL. It is possible to have a single template that uses both the Simple and Advanced tab, but not at the same time. If a template is making selections by the Simple, you must edit and Update it, having the Advanced tab open, to change the tab it uses. It is a good idea clicking the Preview button often when working with templates/selections, to ensure its working the right way. When a BP selection template is saved, the add-on generates a SQL select statement. This SQL statement is what the add-on uses to select business partners when you select a BP selection template. This is import to remember when creating such templates, as not only the selected business partners will be shown when using a template. Also the business partners not selected, and future business partners that meets the templates selection criteria, will show up upon selection of the template. Copyright 2016 – Boyum IT A/S Page 103/292 B1 Usability Package Manual While preparing a complex mass letter merge it can be difficult to make a template, that selects specific Business Partners, if they have too different data. Therefore it is possible to specify your selection by selecting more than once. This can be done by selecting a BP selection template in the Mass Letter Merge window, and then a different selection from the BP selection – Advanced window. In this case the system will ask you if you want to add to or overwrite, your current selection. You can do this as many times as you like to complete your selection. Business Partners already in your selection is automatically removed, if present in your new selection, ensuring that no Business Partner is represented more than once in your final selection. Copyright 2016 – Boyum IT A/S Page 104/292 B1 Usability Package Manual Make Items Read Only Make Items Read Only allows you to define items that are read only for any window in SAP Business One. Right-click configuration™ To quickly get going go to the window where you wish to make something read only, right-click it and choose ‘Make Items Read Only’ Copyright 2016 – Boyum IT A/S Page 105/292 B1 Usability Package Manual Make Items Read Only: Configuration Each field will be described in the following sections. Column Item Uid Description Add mode Ok mode Find mode Users User settings Description The unique uid of the item The description of the item uid. If the description contains <Uknown description – see parent form> it means that the module could not detect the description and you will have to look at the parent form manually to figure you what the item is. Should read only be enabled for this item in add mode Should read only be enabled for this item in ok and update mode Should read only be enabled for this item find mode Here you have the option to make your configurations user-specific Should the users be be included or excluded for this configuration Copyright 2016 – Boyum IT A/S Page 106/292 B1 Usability Package Manual Mandatory Fields Mandatory fields allow you to define items that are mandatory for any window in SAP Business One. This can be done at header and/or column level. Online E-Learning is also available for this module. Click here to watch it Right-click configuration™ To quickly get going go to the window you wish to make something mandatory, right-click it and choose Make this field / column mandatory. Alternative you can go to: Administration > Add-Ons > B1 Usability Package > Module Configuration > Mandatory Fields: Configuration. Mandatory Fields: Configuration Which items are mandatory for which windows are configured using the Mandatory Fields: Configuration which is located in Administration > Add-ons > B1 Usability Package > Module Configuration. Copyright 2016 – Boyum IT A/S Page 107/292 B1 Usability Package Manual Field Code Form type (Mandatory) Description Add / Update Uid Check during add (Default checked) Check during update (Default Checked) Check Description Each configuration will need a unique code in order to function. When you switch to addmode the system will automatically suggest a code (MF-001, MF-002, and so on). The form type for the window you want to configure Mandatory Fields for. The form type is found by opening the form you need form type for. Activate the system information (View > System information), and the information is displayed in the bottom left corner of the client when you hold the mouse over an item. This is a simple description of the form type. The information is not used elsewhere in the add-on. On the most common form types this description appears automatically. This field allows you to define which item is the Add / Update button of the configured form. Throughout SAP Business One almost every Add/Update is ‘1’, but in a few special cases (Employee Master Data, Service Calls, Customer Equipment Card and Service Contract among other) the Add/Update button have special item Uids. Determines if the mandatory field check should be active during add-mode. You can turn this off during debug and in special cases. Determines if the mandatory field check should be active during update mode. You can turn this off during debug and in special cases. NB. IN DOCUMENTS WHICH ARE NOT EDITABLE, THIS CAN BE HANDY TO TURN OFF SINCE PRE-ADD-ON DOCUMENTS MIGHT NOT APPLY TO THE RULES OF THE MANDATORY FIELD CHECK DURING UPDATES OF COMMENTS, AND SO ON. Determines if the mandatory field check should be active during ok mode (usefull if you wish Copyright 2016 – Boyum IT A/S Page 108/292 B1 Usability Package Manual during ok (Default Unchecked ) Mark with color to make selection criteria on report windows mandatory). Using this option, you will be able to provide a visual representation of what field you have marked with a color. Default is no color, but you can choose between different colors (both the background color and the text color). The preview field on the right give you a sample on how the color will be shown. TIP: IF YOU NEED THE OLD LEGACY COLORS FROM PREVIOUS VERSION THEY ARE DISPLAYED IN THE COLOR DIALOG AS CUSTOM COLORS Users Here you have the option via the edittext and the radiobuttons to make your configurations user-specific (making it possible to have one user have one unique configuration while another user have a different configuration) The above screenshot result in that only the two users with usercodes “user1” and “user2” will see this configuration, while the screenshot below makes the configuration active to all other users except NB: IT IS YOUR RESPONSIBILITY THAT A USER DOESNOT OVERLAP OR IS INCLUDED IN TWO OR MORE CONFIGURATIONS. IF THAT IS THE CASE, THE SYSTEM WILL WORK WITH THE FIRST CONFIGURATION IT FINDS AND IGNORE THE ADDITIONAL CONFIGURATIONS Active Import Export Add line button Remove line button The Lines Here you have the option to temporarily deactivate a configuration instead of removing it entirely. This allows you to import configurations (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Import“ This allows you to export configurations to XML (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Export“ Add an additional mandatory field line. Remove the selected line(s). Select a line by pressing the grey block. Use CTRL or SHIFT to select multiple lines. The lines contain the data about the mandatory fields. Add and Remove lines are handled by the buttons described above. Column Description Item UID The unique identifier of the field that you want to make mandatory. The item UID can be found in the debug information when pointing the mouse at the field. Description The description of the item UID specified. This description is used when informing the user that the field is mandatory. Warning Only The warning only option allows you to set fields as mandatory but with an override functionality. If you set a field to mandatory, but with the Copyright 2016 – Boyum IT A/S Page 109/292 B1 Usability Package Manual Empty value warning only option checked, the user that uses the windows is prompted with a message that fields were mandatory and if he/she want to continue anyway. Here it is possible to enter what is considered an empty value. For most fields this is nothing entered. But some combo boxes have different empty values. If you need to have more than one empty value, you can enter each value separated by “;”. Example: The Sales Employee Combo box “- No Sales employee – “ has value -1 as empty value (value can also be seen on debug information as the value is shown before the form type) Example: The matrix on Sales Order contains a combobox column labeled VAT Code. If you want to assign the values S0, SE and SF as empty values, you enter the following string in the Empty value column in the Mandatory Fields: Configuration window: S0;SE;SF Column Ignore last row (Default: Checked) TIP: IF YOU WANT MAKE A UDF THAT HAVE A DECIMAL TYPE (EXAMPLE A PRICE) MANDATORY YOU NEED TO PROVIDE THE VALUE 0.0 AS EMPTY VALUE If the mandatory field is on line level you need to provide the Column UID for the column (can also be seen using debug information). Item UID must also be set. The ‘ignore last row’ checkbox is created to enable the add-on to do checks on document columns. SAP Business One always leaves an extra line for new data on sales and purchase documents, and the last row needs to be ignored here. Remove only the check if you work with a matrix that does not leave such extra lines. Mandatory Fields: Daily use After configuration (normally done by the super-user or the SAP Business One Partner), no more must be done. In use, the add-on could provide you with the following (Item that are marked as warning only will be shown last in parentenses). Copyright 2016 – Boyum IT A/S Page 110/292 B1 Usability Package Manual The document can first be added after a Customer Ref. No, a sales Employee is defined and indication and project is defined for each line of the document. If you have any warning only items a prompt will pop up asking if you want to continue anyway. NB: IF THE ADD-ON FAILS, IT IS MOST LIKELY DUE TO AN ERROR IN CONFIGURATION. IN THAT CASE AN ERROR WILL BE SHOWN AND YOU ARE PROMPTED TO OPTIONALLY ALLOWED TO SAVE ANYWAY (NOT RECOMMENDED BUT DONE IN ORDER SO WE DON’T BLOCK YOU COMPLETELY UNTILL THE CONFIGURATION IS FIXED. NB: IF YOU DEFINE MANDATORTY FIELDS ON A WINDOW THAT HAVE THE SAVE AS DRAFT OPTION AND YOU USE THAT THEN ALL MANDATORY FIELDS ARE TREATED AS WARNING ONLY SO THE DRAFT CAN BE SAVED EVEN WITH FORFILLING THE MANDATORY FIELDS REQUIREMENT (WILL COM LATER WHEN DRAFT IS TURNED INTO THE REAL DOCUMENT) NB: THERE IS CURRENTLY A TECHNICAL LIMITATION IN INDICATION TEXTAREAS AND CHECKBOXES. THESE CAN AT THE MOMENT NOT TECHNICALLY BE MARK WITH A COLOR Copyright 2016 – Boyum IT A/S Page 111/292 B1 Usability Package Manual PLD Extensions Print Layout Designer Extensions allows you to import and export PLD Reports to and from XML. This is very useful when transferring documents from one company to another or when translation reports into different languages. Without PLD Entensions With PLD Extensions Online E-Learning is also available for this module. Click here to watch it Export To export, simply select the report you want to export and press Export. Here you will be prompted where to save the xml-file that represents the report. Import Press the import button and locate the XML-file you want to import. When you press OK the report is imported and shown in the correct list. The name of the report will be “Imported Report (Please Rename)”. You can rename the report under document properties in the Print Layout Designer Copyright 2016 – Boyum IT A/S Page 112/292 B1 Usability Package Manual Quick Create Quick Create allows you to quickly create a Business Partner from a simplified window instead of the Business Partner Master Data. This is handy in sales situations, where you will be able to create a new business partner directly from the sales window. Quick Create allows you in a similar way to quickly create an item from Item Master Data or directly from purchase and sales windows. Quick Create Business Partner: Search Providers It is possible to integrate to NN Markedsdata (DK), Brønnøysundregistrene (NO), Company Houses (UK) and Graydon (NL) for faster lookups. All services can be integrated at the same time and selected among freely while working with Quick Create. Each provider has its specific list of possible search terms, which will be marked with an asterisk (*) when selecting a provider – see below: Copyright 2016 – Boyum IT A/S Page 113/292 B1 Usability Package Manual Upon searching, Quick Create will use the typed information for its lookup. Each provider has its own way of how to use the information given. Combining different kinds of information may have different kind of effectiveness, depending on the provider. Online E-Learning is also available for this module. Click here to watch it Quick Create: Configuration Setting up the buttons is done through the configuration window located under Administration > Add-ons > B1 Usability Package > Module configuration > Quick Create > Quick Create configuration. When launching Quick Create for the first the configuration window will look something like this: Copyright 2016 – Boyum IT A/S Page 114/292 B1 Usability Package Manual Setting a search provider as active will make it selectable in the Quick Create window for lookups. The default provider will be pre-selected when the Quick Create window is loaded. If no provider is active, the button will be hidden completely. You can enable and disable the functionality for Items and Business Partners. The address entered on Business Partner is treated as the bill to address but you have the option to apply it to ship to address as well. When adding a new business partner and the “Check for Federal Tax Id duplicates” option is selected, Quick Create will automatically check whether the federal tax id already exists among your business partners. If so, Quick Create will display a warning whether you would like to continue or not. You can set the number of fields there can be on the business partner quick create window before a new column is created. There can be a maximum of 3 columns and there will always be minimum 2 fields in the first column. There is a minimum of 5 fields per column including the 2 permanent ones. Copyright 2016 – Boyum IT A/S Page 115/292 B1 Usability Package Manual Example: If you set the number of fields per column to 10 and chooses 10 fields to place on the quick create window, the first 8 fields will be placed in the first column and the last to in the second column. Every provider has its own window for configuration: Copyright 2016 – Boyum IT A/S Page 116/292 B1 Usability Package Manual Each provider requires different combinations of passwords, acceskeys and so on. The corresponding supplier will deliver these. Note: Some of these services might involve cost. Call the supplier for further information. Customizing fields on Quick Create Business Partner and Quick Create Item You have the option to customize the fields shown on the Quick Create Business Partner and Quick Create Item windows. To open the windows press the “…” button on the Quick Create configuration window beside the use Quick Create Business Partner to select which items should be shown on the Quick Create Business Partner window and the “…” button beside the use Quick Create Item to select which items should be shown on the Quick Create item window. Copyright 2016 – Boyum IT A/S Page 117/292 B1 Usability Package Manual Here you can change the order of the fields and select what should be shown. Example: If you wish to have “Email“ as the first field you have to press the include checkbox, select it in the matrix and press the “Move up” button until it is at the top. The list contains SAP field’s aswell as User defined fields on the Business Partner window. Video: How to use Quick Create Customizer Ad protection Quick Create adds a new user defined field to your business partner called “Quick Create Ad Protected”, which can be used for displaying whether a business partner is ad protected or not. Copyright 2016 – Boyum IT A/S Page 118/292 B1 Usability Package Manual When using NN Markedsdata search service, the result window will show if the result is ad protected or not. The value will then be added to the Quick Create form. Copyright 2016 – Boyum IT A/S Page 119/292 B1 Usability Package Manual The ad protected value is not searchable and is only supported when using NN Markedsdata. Although NN Markedsdata supports the usage of ad protection, Boyum will not be held responsible for the authentency of this information, given by NN Markedsdata. Note: Furthermore, since this information can be altered manually, the user of B1UP will be held responsibility for the handling and usage of this information. Quick Create: Daily Use The Quick Create can be activated the following places: - - Quick Create Business Partner o All sales and purchase documents (Add-mode) o Business Partner Master Data window (Add-mode) o Service Call (Add-mode) o Service Contract (Add-mode) o Customer Equipment card (Add-mode) o Sales Opportunities (Add-mode) o Activities Window (Add-mode) o Incoming and Outgoing payments (Add-mode) Quick Create Item o All sales and purchase documents (Add-mode and Update-mode) o Item Master Data window (Add-mode), To activate press the ‘END’ key on the keyboard while standing in the BP-Code-field or in an empty item code field. Copyright 2016 – Boyum IT A/S Page 120/292 B1 Usability Package Manual ”End”- key NB: IN BROWSER ACCESS ACTIVATION OF THE FEATURE HAPPEN VIA RIGHT-CLICK > QUICK CREATE BP INSTEAD TIP: IF YOU HAVE TOOLBOX > BP >AUTONUMBERS ACTIVATED THE CODE WILL BE FILLED AUTOMATICALLY. TIP: IF YOU HAVE DEFAULT DATA ACTIVATED THEN THESE VALUES WILL BE USED WHEN CREATING THE BUSINESSPARTNER. After filling out the wanted information, press Add to continue working on the sales procedure with the newly created business partner. Quick create item can be activated by pressing the END key in an empty item code field. Copyright 2016 – Boyum IT A/S Page 121/292 B1 Usability Package Manual Copyright 2016 – Boyum IT A/S Page 122/292 B1 Usability Package Manual ”End” -key TIP: IF YOU HAVE TOOLBOX > ITEM >AUTONUMBERS ACTIVATED THE CODE WILL BE FILLED AUTOMATICALLY. TIP: IF YOU HAVE DEFAULT DATA ACTIVATED THEN THESE VALUES WILL BE USED WHEN CREATING THE ITEM. The item added from this window will be added to the corresponding item master data window or sales window. Quick Create Business Partner: Daily Use – Searching When using the search function Quick Create will start a lookup on behalf of the information given and the provider selected. If only one search result was found, the information will be added to the Quick Create form automatically. If more search results were found, these will be displayed in a separate window from which you can choose a specific search result: Copyright 2016 – Boyum IT A/S Page 123/292 B1 Usability Package Manual After selecting a search result the information will be added to the Quick Create window: Quick create: Daily Use – Company Status Search When Adding a New Business Partner When searching for a new business partner using NN Markedsdata or Brønnøysundregistrene, it is possible to check the overall company status – e.g. is the company bankruptcy and so on. Copyright 2016 – Boyum IT A/S Page 124/292 B1 Usability Package Manual To access this kind of information select the “Company status search enable” box in the provider configuration. Note: Only NN Markedsdata and Brønnøysund have the necessary services to make these kind of lookups. Contact the supplier for more information. When enabled, Quick Create will search for the company status when the user has chosen a result from the list of search results. If the search only returns one result, Quick Create will execute the status lookup after the information has been added to the Quick Create window. If Quick Create finds a status and the company runs normally, the business partner will be added as usual. Otherwise a warning will be displayed containing the status information: Getting Company Status On The Fly After adding a new business partner using NN Markedsdata or Brønnysundregistrene, it is possible to lookup the company status by left clicking the business partner and choosing one of the company status search enabled providers: Copyright 2016 – Boyum IT A/S Page 125/292 B1 Usability Package Manual Searching for a status on a Norwegian company will not give any result when searching with a Danish provider. After searching for a status, Quick Create will return the result. If successful, the message could look like the following: If the business partner does not conation the necessary information for executing a status search, Quick Create will display an error message: Copyright 2016 – Boyum IT A/S Page 126/292 B1 Usability Package Manual In some cases the provider might not find any information about the companies status at all. The main reason for this to happen is because the selected business partner contains no providerUid. When using Brønnøysundregistrene for lookup, it uses the business partner federal tax id for lookup. If the data is incorrect, the search will fail as well. In case you wish to store the company’s status information, Quick Create has created a UDF on the Business Partner window for this purpose. Note: Only companies created with NN Markedsdata or Brønnøysund contain the necessary kind of information for this kind of lookup. Furthermore, there is no guarantee for this kind of information for every search result. Boyum IT is not held responsible for any kind of information returned by either one of these providers. Quick Create: Data Cleaner The Data Cleaner add-on is a tool for keeping basic business partner data - address, phone number and email address - up to date. In addition, if the business partner is a company, the add-on will be able to return a company status – e.g. bankruptcy. The add-on supports two different web service providers: Brønnøysund for lookups on Norwegian business partners and NN Markedsdata for Danish business partners. Note: Both these services involve costs. Call the supplier for further information. Prerequisites Business Partner match with Uid The Data Cleaner uses unique business partner identifiers1 for web service data lookups. Using the ‘Match Business Partner with Uid’ add-on you can find the specific Uid for each of your business partners. Each provider has its own Uid-format, meaning that you cannot use a NN Markedsdata BP Uid for a Brønnøysund lookup. Each of the two are stored separately into the Quick Create BP Uid2 table. Quick Create setup 1 BP Uids 2 [BOY_23_QCPI] Copyright 2016 – Boyum IT A/S Page 127/292 B1 Usability Package Manual Available providers in the Data Cleaner add-on rely on your Quick Create setup: Only ‘Active’ providers will appear in the Data Clean form for lookups. How data cleaning works Choose provider and initialize lookup Comparing BP Data Data from SBO database Result List BP Properties Data from web service Data matching The Data Cleaner form consists of two main areas: Result list and business partner data matching. When initializing a lookup, the add-on will search for business partners in SBO containing a BP Uid given by the selected provider, which are part of the selected BP Type and BP Group. The Data Cleaner will then compare each of the business partner’s properties with provider data. If one of these properties are nonmatching, the business partner is added to the Result List grid, indicating that the add-on has caught some discrepancy in the SBO and provider business partner data. If the add-on catches any invalid BP Uids while executing a lookup, an error message is displayed: Copyright 2016 – Boyum IT A/S Page 128/292 B1 Usability Package Manual Handling Results When selecting a business partner from the result grid, the SBO data will be displayed in the ‘Old Values’ grid to the left and the provider data in the ‘New Values’ grid to the right: Furthermore, the add-on will display a date for the last business partner data cleaning. If given by the provider, a provider data “age” is displayed as well. The user is free to manipulate the ‘New Values’ before updating. If a property is left blank, it will not overwrite/delete the corresponding SBO property. This gives the possibility to cancel/skip data updates on specific properties or the possibility to add specifics if necessary. Note: Change data will make the business partner appear on the next data cleaning. Updating When pressing ‘Update Selected’, all selected business partners will have their properties updated with the web service data. After updating, a result window will be displayed containing the updated business partners. Copyright 2016 – Boyum IT A/S Page 129/292 B1 Usability Package Manual Quick Create: Macth Business Partners with Uid When using a web service to search for specific information on a company or private person, there are multiple searchable terms, e.g. phone number, name, address, federal tax id and so on. The more information given, the more accurate the search results will be. Apart from using basic search terms, some services/providers have equipped each entry with a unique id (Uid). A Uid usually is part of the data returned from a basic search and varies in format according to the provider used. If stored, the Uid can be used to search for special information on the specific business partner, e.g. number of employees, company status, stock quotation, data timestamps, and so on. When using B1UP Quick Create with either NN Markedsdata (Danish) or Brønnøysundregistrene (Norwegian) as the chosen search provider, the Uid is saved upon quick creating the business partner. The provider specific Uid is then used for company lookups and data cleaning3. Supported service providers The add-on supports two different web service providers: Brønnøysund for lookups on Norwegian business partners and NN Markedsdata for Danish business partners. Note: Both these services involve costs. Call the supplier for further information. Available providers in the Match BP with Uid add-on rely on your Quick Create setup: Only ‘Active’ providers will appear in the Data Clean form for lookups. 3 See ‘Data Cleaner’ add-on in B1UP Copyright 2016 – Boyum IT A/S Page 130/292 B1 Usability Package Manual Purpose of matching business partners with Uids Assume you have installed B1UP Quick Create but haven’t got any provider specific Uid on any or only some of your business partners. This add-on can launch a search on all of your business partners and return a list of possible matches on each business partner, which each contain a provider specific Uid4. Filters s Execute search Match results How On execution, the add-on will run through all business partners and try to find a match using various data from the business partners master data. 4 There is no guarantee that each business partner will return a result, since the business partner might not hold data enough to make a successful search. Copyright 2016 – Boyum IT A/S Page 131/292 B1 Usability Package Manual If a lookup on a business partner returns only one result, the add-on will assume the result is a match and add the Uid automatically to the business partner. If several matches are found, the business partner will be added to the result list along with its matches (see above). If no result is found, the business partner will be excluded. After the search finishes a message box displays a search status: The different types of reults can be view in the three tabs. After search has completed, the user goes through the business partners that need macthing and pick one of its matches. When pressing the update button, each business partner will be added the Uid from the chosen match. If no match was selected, the business partner will be skipped. Filters Filtering makes it possible to speed up things. If you know that all of your business partners that are companies have a federal tax id, you can chose to only make matches on these. If you only wish to makes matches on business partners that have no federal tax id, maybe because you wish to find the federal tax id later using the Data Cleaner, you can do that as well. Copyright 2016 – Boyum IT A/S Page 132/292 B1 Usability Package Manual Notes NN Markedsdata NN Markedesdata can search in two registries: companies and people. When selecting NN Markedsdata using Match BP with Uid, you can choose which register to you. You can use both if you like, but this will slow things down. Brønnøysundregistrene If using Brønnøysundregistrene when searching for Uids, business partners containing a federal tax id are skipped. This is because Brønnøysundregistrene uses federal tax id as business partner Uids. Copyright 2016 – Boyum IT A/S Page 133/292 B1 Usability Package Manual Recurring Invoices Recurring Invoices allows you to make item based invoice templates for batch invoicing (via invoice wizard), on predefined days and months. Online E-Learning is also available for this module. Click here to watch it Limitation: Please note that Recurring Invoice does not support the following features: - Batch and Serial Numbers Textlines and Subtotals UDF’s Recurring Invoices: Templates First thing you need to do is to create the invoice templates that you wish to be part of the batch run. The templates are located in Sales A/R > Recurring Invoices > Invoice Templates. Copyright 2016 – Boyum IT A/S Page 134/292 B1 Usability Package Manual Field Number Document series Customer number, name and Contact person Customer Ref. Number Invoice day Months Document Currency Sales Employee Project Payment Terms Shipping Type Indicator Comments Discount % Active From / To Template lines Description This is the number of the template. These are assigned automatically The combobox just right to the number is the document series field. Here you can assign the invoice a specific document series. Here you choose the Business Partner the invoice template is linked to. Press Tab to choose from a list. After selection, you can choose a contact person for the invoice. Here you can set a customer ref. number that will appear on the invoice. Here you choose which day of the month the invoice should be posted. Using invoice days, you can have multiple invoice groups in a month (10 invoices on the 1st and 5 invoices at the 20th of the month). NB. Since not every month have 31 days, setting an invoice day to 31 might give unexpected results. 30 is a better choice. A special exception is February that have 28 or 29 days depending if it is a leap year. If 30 set for February it will create the invoice on the last day (28 or 29) By using the checkboxes, you can set which months of the year the invoice should be created. This way, you can make an invoice monthly, quarterly, yearly or custom months. You can use the All and None button to quickly check or uncheck all months. If the Business Partner selected in the template is multi-currency, then it is possible to choose the currency that the document should be in. Here you can set the header sales employee of the invoice (BP’s default is selected when choosing Business Partner but can be overridden). Here you can set the project of the invoice (BP’s default is selected when choosing Business Partner but can be overridden). Here you can set the payment terms of the invoice (BP’s default is selected when choosing Business Partner but can be overridden). Here you can set the shipping type of the invoice. Here you can choose the indicator of the invoice BP’s default is selected when choosing Business Partner but can be overridden). Here you can write your comments that are transferred to the invoice. Here you can set the invoice discount %. This checkbox allows you to make a template inactive instead of removing it completely. This is useful when you as an example do a service on a monthly basis, but for some reason do not need the service. Using the report described later you can quickly locate inactive templates. Here you have the option to set an overall period that the invoice template is active. You have the option to enter none, one or both fields. Default is no dates. These lines works like normal A/R invoice lines would work, where you choose an item, enter its quantity, price and so on. The most essential but not all (70+) columns are included. Special Column: Unit Price When an item is added to a template or the price of an item is updated automatically, the customer’s price after discount is inserted (using special prices etc.). The discount field is not changed when this happens. The columns can be edited as other columns and Copyright 2016 – Boyum IT A/S Page 135/292 B1 Usability Package Manual are transferred as expected to the invoice. Special Column: Update This update column check indicates if the item on the line should be updated with the latest data from its master data. The data that will be updated depends on what you have marked as updateable in the configuration: Item description Price and Currency Tax-group Sales Employee The updates of template lines can be done manually using the update lines menu item, and during the invoice Wizard you’ll be prompted if you want to update the invoices about to be invoiced. (You will be prompted to A: Update lines and run the wizard, B: Do not update the line and run wizard or C: Abort Invoice Wizard) Special Column: Description Description normally shows the items description, but you have the option to add you own text instead (Information on the invoice.). The text you can enter can include the following dynamic parts. Keyword Description DATE[<year>. With this keyword you have the option to enter dynamic dates <month>. based on the invoice date. In order to use it you need to enter <day>. how many +/- years, months and days based on the invoice day. <format>] Finally you need to enter a Format of how you wish to display the data. For formatting you have the following options: Format Description Example d Day without leading zero 5 dd Day with leading zero 05 ddd Day as text (shot) Mo dddd Day as text (long) Monday M Month without leading zero 9 MM Month with leading zero 09 MMM Month as text (short) Sep MMMM Month as text (long) September yy 2-digit year 08 yyyy 4 digit year 2008 NB:MONTHS ARE UPPERCASE BECAUSE IN PROGRAMMING LOWERCASE M EQUALS MINUTES SO IF YOU TYPE IN LOWERCASE “M” YOU WIL END UP WITH “0” Delimiters you can use in date format: {space} - . Example 1: DATE[0.0.0.dd-MM-yy] = Give the invoice date Example 2: DATE[1.3.0.dd-MM-yyyy] = Add 1 year and 3 months to invoice date Example 3: DATE[0.4.-1.dd. MMM. Yyyy] = Add 4 months to Copyright 2016 – Boyum IT A/S Page 136/292 B1 Usability Package Manual invoice date and on that date substract 1 day Example 4: DATE[1.-1.-1.dd. MMMM yyyy] = Add 1 year to invoice date and on that date substract 1 month and on that substract 1 day Sample 1: On 01-nov-2008 run example 1 equals “01-11-08” Sample 2: On 01-nov-2008 run example 2 equals “01-02-2010” Sample 3: On 01-nov-2008 run example 3 equals “28. Aug. 2009” Sample 4: On 01-nov-2008 run example 4 equals “30. 137eptember 2009” [Day] The invoice day [Day+x] The invoice day + a specified number of days (If invoice day is 1 and you add [Day+3] you get 4) [Day-x] The invoice day – a specified number of days (If invoice day is 10 and you add [Day-1] you get 9) [Month] The invoice month (January, February, and so on) [Month+x] The invoice month + a specified number of months (If invoice month is June and you add [Month+1] you get July) [Month-x] The invoice month – a specified number of months (If invoice month is December and you add [Month-3] you get September) [Year] The invoice year (2006,2007 and so on) [Year+x] The invoice year + a specified number of years (If invoice year is 2006 and you add [Year+1] you get 2007) [Year-x] The invoice year – a specified number of years (If invoice year is 2006 and you add [Year-1] you get 2005) [DaysInMonth] The number of days in the current month [DaysInMonth+x] The number of days in the current month + a specific number of months [DaysInMonth-x] The number of days in the current month – a specific number of months [Num] The number of the invoice NB: PLEASE NOTE THAT THESE KEYWORDS ARE CASE SENSITIVE TIP: YOU ARE ABLE TO CONVERT ALREADY EXISTING INVOICES INTO TEMPLATES. JUST FIND THE INVOICE YOU WOULD LIKE AS A TEMPLATE, RIGHT CLICK AND CHOOSE THE MENU ITEM “SAVE AS RECURRING INVOICE” Recurring Invoices: Configuration The Recurring Invoice contains a configuration that allows you to set the default settings of the invoice wizard. The configuration is located in Administration > Add-ons > B1 Usability Package > Module Configuration. Copyright 2016 – Boyum IT A/S Page 137/292 B1 Usability Package Manual Here you have the following options: Option Open document printing after invoicing Save as Draft Alternative Invoice date Update Options Description Determine if it is default to open document printing after running the recurring invoice wizard Determine if it is default to save recurring invoices as drafts. If you wish to use the alternative invoice date system (described below) These checkboxes determine what should be update when a line is marked as an update-line. As default all are checked but you can uncheck the option you don’t want to update (Example: If you wish to use the dynamic syntax of Line descriptions you might wish to uncheck automatic updates of the line description) NB: PLEASE NOTE THAT THIS ONLY AFFECT THE LINES MARK FOR UPDATE (SEE ABOVE) Recurring Invoices: Wizard When an invoice day occurs and you want to invoice your templates activate the invoice wizard located in Sales A/R > Recurring Invoices > Invoice Wizard Copyright 2016 – Boyum IT A/S Page 138/292 B1 Usability Package Manual Here you choose the year, month and day for the invoice. Optionally, you can add additional conditions to the invoice run from the selection criteria. If you do not want special conditions just leave the All-option on. NB: PLEASE NOTE THAT ON AN INVOICE TEMPLATE IT IS POSSIBLE TO HAVE SELECTIONS WITH NO SELECTED DATA. IF THIS IS USED, ONLY A RUN WITH THE ‘ALL’ OPTIONS WILL INCLUDE SUCH TEMPLATES. Now, you have two possibilities. 1) You can either push the preview button to fill the preview grid with invoices to be created. Afterwards you can select which invoices to create by checking/unchecking the checkbox in the leftmost column of the preview grid. When you are done, push the ok button to process the selected invoices. NB: Please note, that the preview grid will be cleared whenever any of the selection criteria (data above the preview grid) is changed. 2) Push the ok button without activating the preview feature, if you simply want to invoice all found invoices and do not need the preview. No matter what method you choose, the system will prompt you if you want to continue after you have pushed the ok button. Copyright 2016 – Boyum IT A/S Page 139/292 B1 Usability Package Manual If Yes is pressed the invoice run will begin (You can follow the progress using in the progressbar). When the work is done a message box will confirm the creation of the invoice and if you have chosen to print (see below) the document will appear. If for some reason one or more invoices were unable to be created, the error-window appears with information about the errors encounted (Likely problems are missing accounts, invalid prices and so on). Please correct the problems and try again. NB: IF ANY ERROR OCCUR, THERE WILL ALWAYS BE PERFORMED A ROLLBACK (NONE OF THE INVOICES WERE CREATED) NB: THE RECURRING INVOICE SYSTEM HAS A HISTORY LOG THAT PREVENTS INVOICES FROM BEING PROCESSED BY THE WIZARD MORE THAN ONCE. IF YOU FOR SOME REASON NEED TO RERUN THE INVOICES, YOU WOULD NEED TO CHECK THE CHECKBOX ‘INCLUDE ALREADY INVOICED TEMPLATES’, BUT PLEASE NOTE THAT IT WILL INCLUDE ALL INVOICES AGAIN NB: IF YOUR INVOICES ARE IN A FOREIGN CURRENCY OR THE LOCAL CURRENCY VARIES FROM THE SYSTEM CURRENCY, THERE WILL BE CHECKED TO SEE IF ALL EXCHANGE RATES ARE SET. IF THEY ARE NOT, THE INVOICE WIZARD IS ABORTED AND THE EXCHANGE RATE WINDOW IS OPENED. ENTER THE CORRECT EXCHANGE RATES AND RUN THE WIZARD AGAIN. TIP: FUTURE POSTING IS POSSIBLE IF ACTIVATED FOR THE COMPANY. IF ACTIVATED, YOU WILL BE PROMPTED TO CONFIRM FUTURE POSTING TO AVOID MISTAKES Copyright 2016 – Boyum IT A/S Page 140/292 B1 Usability Package Manual IF FUTURE POSTING IS NOT ACTIVATED, YOU WILL RECEIVE THE FOLLOWING ERROR TIP: YOU HAVE A CHECKBOX OPTION TO OPEN THE DOCUMENT PRINT AFTER THE INVOICE WIZARD RUN. THIS IS HANDY IF YOU NEED TO PRINT THE INVOICES AFTER CREATING. IF CHECKED THE DOCUMENT PRINT WINDOW OPENS AND WILL BE SET ON THE CREATE FROM AND TO INVOICE NUMBERS TIP: YOU HAVE A CHECKBOX OPTION TO SAVE AS DRAFT DURING THE INVOICE WIZARD RUN. USE THIS OPTION TO GENERATE DRAFTS OF THE INVOICES INSTEAD OF “REAL” INVOICES. Special: Using the Alternative Invoice Date (default deactivated) If you activate the Alternative Invoice Date you are given the option to overwrite the Posting date of the invoices you create. Copyright 2016 – Boyum IT A/S Page 141/292 B1 Usability Package Manual If activated, you will see an additional option on the Invoice Wizard: Here you have the option to set a different date to be used as posting date of the invoices. The Date for invoice selection will still be the date determining if there are invoices to run. Recurring Invoices: Reporting History report Under Sales A/R > Recurring Invoices > Show History, you have the option to keep track of what you have already invoiced. Copyright 2016 – Boyum IT A/S Page 142/292 B1 Usability Package Manual Invoice list The recurring invoice module contains a report for keeping track of all templates. This report is in PDF can be customized using above options. Copyright 2016 – Boyum IT A/S Page 143/292 B1 Usability Package Manual Copyright 2016 – Boyum IT A/S Page 144/292 B1 Usability Package Manual Recurring Invoice required permissions In order to work with the recurring invoices the absolute minimum authorizations are the following - Administration > System Initialization > Document Numbering need to be read-only or full access [since number series can be chosen on the recurring invoice] Business Partner > Business Partner Master Data need to be read only or full access [since you choose business partners for the recurring invoice] With the above authorizations you should be able to add recurring invoices template… Of cause it requires more authorizations to run the Recurring Invoice Wizard itself (Same right as you need to add an invoice) Copyright 2016 – Boyum IT A/S Page 145/292 B1 Usability Package Manual Right-click menu creator Right-click menu creator allows you to add menus to a right click on all windows in SAP Business One. The menus can be configured to your need by activating predefined functions or universal function. Right-click configuration™ To quickly get going go to the window you wish to add right click menus to, right-click and choose “Add Right-Click Menus to this window”. Alternative you can go to: Administration > Add-Ons > B1 Usability Package > Module Configuration > Right click menu Creator. Right-click menu creator: Configuration Setting up the right click menu structure are done through the configuration window. The menu structure In the following the menu structure and its limitation will be described. Button Add menu Description Adds a new menu to the menu structure. The menu will always be placed at the bottom and will not be placed under another menu. Copyright 2016 – Boyum IT A/S Page 146/292 B1 Usability Package Manual Remove menu Removes the selected menu from the menu structure. If the menu has any submenus it’s possible to remove these at the same time. If the submenus are not removed they will be placed on the level of the removed menu and under the removed menus header. Example: The selected menu is removed without removing is children. Up Swaps the selected menu with a menu above it. If the menu is a submenu it will swap with the first menu above there is on the same level. When a menu is move up all its submenus will move with it, so the menu structure is kept. Example: Copyright 2016 – Boyum IT A/S Page 147/292 B1 Usability Package Manual The selected menu is move up Down NB: A MENU CAN ONLY BE MOVED UP WHEN THERE IS A MENU ABOVE IT THERE HAS THE SAME HEADER Swaps the selected menu with a menu below it. If the menu is a submenu it will swap with the first menu below there is on the same level. When a menu is move down all its submenus will move with it, so the menu structure is kept. Indent Will try to place the selected menu as submenu to the first menu above there is on the same level. When a menu is indented its submenus will automatically be indented as well so the menu structure is kept. A menu cannot be indented if it or any of its submenus has been indented 2 times Example: The selected menu is indented. Copyright 2016 – Boyum IT A/S Page 148/292 B1 Usability Package Manual NB: PLEASE NOTE THAT IF A MENU IS INDENTED 1 TIME AND IS THE ONLY SUBMENU IT’S HEADER WILL NOT BE SHOWN AND THE MENU WILL TAKE ITS PLACE IN THE MENU STRUCTURE. Outdent NB: PLEASE NOTE THAT A MENU CAN ONLY BE INDENTED 2 TIMES. Will try to move the selected menu so it is placed under its current parent menus parent. The submenus to the selected menu are moved with it, so the structure is kept. Example: The selected menu is outdented. Fields Each field will be described in the following sections. Field Form type Description Each configuration will need a unique form type in order to function. It is not possible to Copyright 2016 – Boyum IT A/S Page 149/292 B1 Usability Package Manual add a configuration for a form type the already exist (Only one config per formtype). The form type is found by opening the form you need form type for. Activate the system information (View > System information), and the information is displayed in the bottom left corner of the client when you hold the mouse over an item . Description This is a simple description of the form type. The information only used on the configuration window. On the most common form types, this description appears automatically. Users (configuration) Here you have the option via the edittext and radiobuttons make configurations userspecific. (making it possible to hide the configuration for certain users) Example: The above screenshot result in that only the two users with user codes “user1” and “user2” will see this configuration, while the screenshot below makes the configuration active to all other users except Users (menu) Works like the user fields for the configuration but on the single menu item. NB: PLEASE NOTE THAT ONLY USERS THAT ARE INCLUDE IN BOTH THE IN THE CONFIGURATION AND MENU SETTING ARE SHOWN THE MENU Active(configur Here you have the option to temporarily deactivate a configuration instead of removing Copyright 2016 – Boyum IT A/S Page 150/292 B1 Usability Package Manual ation) it entirely. Active(Menu) Here you have the option to temporarily deactivate a menu instead of removing it entirely. If a menus header is inactive the menu will not be shown. Category Function type NB: PLEASE NOTE THAT IF A MENU IS INACTIVE ALL ITS CHILDREN WILL NOT BE SHOWN. Here you define if you wish to categorize your configuration. Categorization is optional and you can read more about it in the manual section describing Configuration categorization. A menu configuration can be either simple or conditional. If the function type is simple, the chosen function to execute will always execute when the menu is activated. Field Function to execute UF-code Description Decides with function should be executed every time the menu is activated If the function to execute is sat to universal function this field tells witch function is executed If the function type is conditional, you have option to use SQL and its dynamic values to do a complex validation based on SQL, or use it to determine if one or several functions should execute. Copyright 2016 – Boyum IT A/S Page 151/292 B1 Usability Package Manual The result of the SQL is checked op against a collection of condition result there each has a function associated with them. You do not need to provide a Condition result for all output your SQL can give… Just the ones you would like to react to… NB: PLEASE NOTE THAT THE CONDITION-RESULTS ARE CASE-SENSITIVE Find/Add/OK Checkboxes Function to execute NB: IN SAP HANA IT IS NOT POSSIBLE TO MAKE SQL IF/ELSE SENTENCES. INSTEAD USE THE SELECT CASE … FROM DUMMY SYNTAX These checkboxes control in which modes the menus should be shown. NB: BE SURE THAT HEADER MENU ARE SHOWN IN THE SAME MODES AS IT’S SUBMENUS OR THE SUBMENUS WILL NOT BE SHOWN. For each menu you can bind one of the 20+ functions available. These are: Function Description Opportunity Opens the Opportunities. In special windows, like the Business Partner Master data window, it will draw the BP-code to the new opportunity so you do not need to type it yourself. Blanket Opens the Sales/Purchase Blanket Agreement. In special Agreement windows, like the Business Partner Master data window it will draw the BP-code to the new Agreement so you don’t need to type it yourself. If unable to determine a type, the add-on will ask you which type you want to open. Quotation Opens the Sales/Purchase Quotation. In special windows, like the Business Partner Master data window it will draw the BP-code to the new Quotation so you don’t need to type it yourself. If unable to determine a type, the add-on will ask you which type you want to open. Order Opens the Sales/Purchase Order window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected window type (Sales Order for Customers and Purchase Order for Suppliers). This will draw the BP-code to the new Sales/Purchase Order so you don’t need to type it yourself. If unable to determine a type, the add-on will ask you which type you want to open. Delivery/Goods Opens the Delivery/Goods Receipt window. In special windows, Receipt PO like the Business Partner Master data window, it will check the type of the current BP and open the respected window type and draw the BP-code to the new window. If unable to determine a type, the add-on will ask you which type you want to open. Return/Goods Opens the Return/Goods Return window. In special windows, Return like the Business Partner Master data window, it will check the type of the current BP and open the respected window type and draw the BP-code to the new window. If unable to determine a Copyright 2016 – Boyum IT A/S Page 152/292 B1 Usability Package Manual Down Payment Invoice Credit Note Activity Incoming Payment Outgoing Payment Posting Periods Reconciliation Goods Receipt Goods Issue Inventory Transfer Last Price Report Special Prices Copyright 2016 – Boyum IT A/S type, the add-on will ask you which type you want to open. Opens the Sales/Purchase Down Payment window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected window type and draw the BP-code to the new window. If unable to determine a type, the add-on will ask you which type you want to open. Opens the AP/AR Invoice window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected window type and draw the BP-code to the new window. If unable to determine a type, the add-on will ask you which type you want to open. Opens the AP/AR Credit Note window. In special windows, like the Business Partner Master data window, it will check the type of the current BP and open the respected window type and draw the BP-code to the new window. If unable to determine a type, the add-on will ask you which type you want to open. Opens the Activity. In special windows, like the Business Partner Master data window, it will check the type of the current BP and transfer it. Opens the incoming payment window. In special windows, like the Business Partner Master data window it, will draw the BPcode to window so you don’t need to type it yourself (also determines type). Opens the outgoing payment window. In special windows, like the Business Partner Master data window, it will draw the BPcode to window so you don’t need to type it yourself (also determines type). Open the General Setting and set the focus on the Posting Periods tab-page. Open the Banking Reconciliation window. Opens the Goods Receipt window. On special windows, like the Item Master Data, the active Item code will be draw onto the new window and be placed as a line so you don’t need to type it yourself. Opens the Goods Issue window. On special windows like the Item Master Data the active Item code will be draw onto the new window and be placed as a line so you don’t need to type it yourself. Opens the Inventory Transfer window. On special windows like the Item Master Data the active Item code will be draw onto the new window and be placed as a line so you don’t need to type it yourself. Opens the Last Price Report window. On special windows, like the Item Master Data, the active Item code will be draw onto the new window for easy use. Opens the BP Special Prices window. On special windows, like the documents and BP Master data, the BP code will be draw Page 153/292 B1 Usability Package Manual onto the new window for easy use. Opens the Discount Groups window. On special windows, like the documents and BP Master data, the BP code will be drawn onto the new window for easy use. Aging Opens the Aging. On special windows, like the documents and BP Master data, the BP code will be draw onto the new window for easy use. Universal Enables you to activate a Universal Function from a function Function button. Which button to activate is chosen in the universal function field for the button (Press TAB to choose) Do Nothing Creates a menu there does nothing is include to make it easier to make header menus If you set the Function to execute to Universal Function then this field need to specify which UF to run (Else you can leave it blank) This allows you to import configurations (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Import“ This allows you to export configurations to XML (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Export“ Discount Groups UF-Code Import Export Item specific Menus It is possible to make the menu items item specific by making the menu conditional and use the 3 keywords in a sql statement. Keyword $[CURRENT_ITEM] Description Return the current item uid in focus (Example if the right click on a Sales Order happened on the Customer code field the result back would be 4 as this is item uid 4) $[CURRENT_COLUMN] $[CURRENT_ROW] Return the currently focused column (if any) Return the currently focused row number (if any (else -1 is returned)) Example: Copyright 2016 – Boyum IT A/S Page 154/292 B1 Usability Package Manual This SQL statement wil make the menu on show when you right click on item 128. Tab Control The Tab control system allows you to define how a specific window reacts on the user clicking the TAB key to move between the fields. Online E-Learning is also available for this module. Click here to watch it Tab control setup SAPs default tab-control (also called tab-order) follows on of two scenarios While both of these methods are correct, they tend to give additional tabs needed before you reach the wanted field. The tab control system allows you to change the (As an example, on the BP master data if you don’t use the foreign name field you can make a new tab control that skips this field and save you a tab click) Create a tab control template WARNING: IT IS NOT POSSIBLE TO CHANGE WHAT THE INITIAL STARTUP FIELD IS WITH TAB-CONTROL AS THAT IS DEFINED BY SAP. IF YOU WISH TO SET A NEW STARTUP FIELD THEN YOU CAN USE THE B1 VALIDATION TO DO IT. Once you have activated the Tab Control system you might notice that it does not seem to get any additional configurations. That is because the configuration happens directly and interactively on the window that you want to configure. Here, we use the Sales order as sample, so we open this window. Copyright 2016 – Boyum IT A/S Page 155/292 B1 Usability Package Manual In the sample we wish to do the following: - We wish to start in the customer field Then go to the Name field Then go to the date fields And finally go to the Customer Reference Number In order to do so we hold down the CTRL + SHIFT keys and double-click on our initial field (That being the Customer field). Doing so brings up the following dialog Copyright 2016 – Boyum IT A/S Page 156/292 B1 Usability Package Manual Since we wish to create a new tab-control we choose start which brings us to the next option. Here you can choose if the change you are about to make is something that should be used by all the B1UP users or if the setup you are about to record is only for the current loged in user. In this case we choose “All users”. The window is now in “record mode” and have included the first element in the new tab control. All you have to do now is click click the fields in the order that you want the new tab control to be. As you click you way to the fields they turn green to indicate that they are now part of the tab control. When you reach the end of you configuration, hold down CTRL + SHIFT again and double click on the last field you wish to be part of the configuration. When doing so, you will be prompted to save your data. Copyright 2016 – Boyum IT A/S Page 157/292 B1 Usability Package Manual If you press “Yes” your new configuration will be saved. As indicated in the messagebox, you should now close the window that was used for the configuration, and now when you open it again it will use the new tab-control. Modifiy a tab control Modifying a tab control is quite easy. All you need to do is go to a window a record a new tab control. If that window already has a recorded tab control it will simply be replaced. Remove a customized tab control If you for some reason wish to remove you own tab-control and revert back to SAPs original tab control, all you need to do is to go to the window that you wish to revert and click CTRL + SHIFT + double click on any field on the window. Copyright 2016 – Boyum IT A/S Page 158/292 B1 Usability Package Manual Here you have the option to press “Remove” to remove the existing tab control. If you do so you will get the following options. Again you need to choose if you wish to revert all users or only the current user NB: IF A USER HAVE A SPECIFIC CONFIGURATION WHILE ALL OTHER HAVE ANOTHER, REMOVING THE CONFIGURATION FOR THE CURRENT USER WILL CAUSE HIM/HER TO NOW USE THE CONFIGURATION FOR ALL USERS INSTEAD After your choice you get a confirmation on moving back to the original tab control Copyright 2016 – Boyum IT A/S Page 159/292 B1 Usability Package Manual Tab Wizard Tab Wizard allows you to easily create, edit and remove user created tabs on supported windows in SAP. NOTICE: TAB WIZARD IS A PART OF THE ITEM PLACEMENT TOOL AND NEEDS THIS MODULE TO FUNCTION. Right-click configuration™ To get started, go to the window you wish to add a tab to - Right-click and choose ‘Create new tab’. Tab Wizard: Configuration You have to give the tab a name, select what UDF’s should be added to the tab and optionally change the order of those. You can also tell the left modt pixel of the tab you a creating and the number of items there is placed below each other on the tab before a new column is created. The number of items per column is a default the maximum number of items there is room for with the windows default size. Copyright 2016 – Boyum IT A/S Page 160/292 B1 Usability Package Manual When you press the “OK” button the Tab Wizard create an Item placement tool configuration or use an existing one. On this configuration a custom tab will be added and all the choosen UDF’s will be added to the configuration. NOTICE: THE TAB WIZARD IS A ONE TIME CONFIGURATION AND IT CANNOT BE USED TO EDIT THE TAB GENERATED. NOTICE: YOU CAN ALTER THE APPEARANCE AND ITEMS OF THE CREATED TAB BY EDITING THE ‘IPT CONFIGURATION FOR THE WINDOW’. Tab Wizard: Edit You can right click on a window with a tab and choose ‘******’ to open the Item Placement Tool Configuration. You can Right Click a generated tab and choose ‘Edit Tab’ to open the ‘Content Creator’ Universal Function used. Tab Wizard: Remove You can Right Click a generated tab and choose ‘Remove Tab’ to remove the tab. This will remove the custom tab from the Item Placement Tool configuration. You can choose to keep all the items placed on the tab in the configuration. Copyright 2016 – Boyum IT A/S Page 161/292 B1 Usability Package Manual Template System The Template System makes you able to create a template for selected data in almost every window in Business One. The saved template can be loaded at any time you require it. This can be very helpful in many cases, e.g. if you have a specific kind of Business Partners which you create regularly, you can load the template and get the selected data in the window in two clicks. The Template System will also come in handy, when you want to run a report with the same parameters several times. The Template System ensures that the selection window is filled out the same way every time, so you will avoid unintended selections. Online E-Learning is also available for this module. Click here to watch it Template System: Create templates The Template System can be used on most windows in Business One. Before creating the template, the system requires data in the fields wanted in the template. Then right click on the window and select “Create Template”. When “Create Template” is selected, the following window is displayed for creating the template. Copyright 2016 – Boyum IT A/S Page 162/292 B1 Usability Package Manual Decide between all fields from the window which fields should be included in the template and what default value these fields need. Press “Create” to add the template. Template System: Use templates To use a template right click and select “Get template” Copyright 2016 – Boyum IT A/S Page 163/292 B1 Usability Package Manual This will give the following window Choose between all templates created for this window. If you press OK, the chosen template will be loaded into the window were you selected the template. The finished result is a window with the selected data inserted and ready for further adjustments. Template System: Limitations The Template System works on most windows where data is entered. Some Business One windows have a functionality called a ‘Matrix’. Due to system limitations the Template System is not able to control the matrix in those windows. Here is an example from delivery where the system cannot control the content in the red frame. Copyright 2016 – Boyum IT A/S Page 164/292 B1 Usability Package Manual Copyright 2016 – Boyum IT A/S Page 165/292 B1 Usability Package Manual Toolbox The Toolbox is a series of smaller functionalities, which in themselves is too small to be a module. Therefore, they have been collected in the Toolbox-module where each of these features can be turned on and off at will. The toolbox has the following configuration which is located in Administration > Add-Ons > B1 Usability Package > Module configuration Currently the toolbox consists of over 40 smaller functionalities. Online E-Learning is also available for this module. Click here to watch it Toolbox: Business Partners Tab Automatic Numbers NB: THIS FEATURE IS A LEGACY FEATURE BEFORE SAP GOT BP NUMBERING SERIES. FOR NEW INSTALLATIONS WE RECOMMEND SAP’S FEATURE INSTEAD OF THIS. NB: THIS FEATURES IS NOT PART OF THE SAP HANA VERSION Copyright 2016 – Boyum IT A/S Page 166/292 B1 Usability Package Manual Auto numbers gives you the opportunity to assign auto numbers to added Business Partners. Business Partners are split in three BP-series; one for Customers one for Leads and one for Suppliers. The functionality wihout any configruation simply determines the highest number and suggests this number +1. The numbers are only guidelines and can be overwritten if needed. This means that in order to start a series, you must override this number of the first Business Partner you add (in SAP Business One the Business Partner codes are alphanumeric – Can contain both numbers and letters. The automatic number system will by default ignore all codes containing letters). TIP: IF YOU USE QUICK CREATE BUSINESS PARTNER THE AUTO-NUMBER WILL ALSO BE SUGGESTED ON THOSE. You can customize the numbers suggested and add ignore cases to correct mistakes using the configuration window opened by pressing the “…” button. The SQL is the default SQL uses by the auto number system to determine the next number for Lead, Customer and Supplier types. You can modify the SQL to fit your needs and should it be needed restore to default using the restore button. You can add ignore cases to make the auto number system ignore these numbers. Copyright 2016 – Boyum IT A/S Page 167/292 B1 Usability Package Manual TIP: YOU CAN ADD A PREFIX TO YOUR CUSTOMERS BY REPLACING THE CUSTOMER SQL WITH THIS: SELECT 'C'+CAST((MAX(CAST(SUBSTRING(CardCode,2,LEN(CardCode)-1) AS BigInt))+1) AS Varchar(15)) AS NextCode FROM OCRD T0 WHERE (T0.Cardtype='L' OR T0.Cardtype='C') AND ISNUMERIC(SUBSTRING(CardCode,2,LEN(CardCode)-1)) = 1 AND T0.CardCode NOT IN (SELECT TS0.U_BOY_IGNORE FROM [@BOY_TOOLBOX_ACBC] TS0) AND T0.CardCode LIKE 'C%' Auto City names Checking this functionality will allow the system to automatically find the city to a specific zip-code of a specific county on a business partner window. Currently, auto city names are available for addresses with the following countries: Denmark Norway France Czech Republic Slovakia Use Address Copy system This feature allows you to copy address information between bill to and ship to addresses on the same business partner and between business partners. Right click on the address you want to export and choose the export address Then right click on a new or existing address you want to import to and press import address Copyright 2016 – Boyum IT A/S Page 168/292 B1 Usability Package Manual The result will be as follows Use E-mail Button When this button is activated, it is shown on the BP Master Data window. If you press the button, your default email client will appear and be ready to send an e-mail to the entered e-mail address. Futhermore, the e-mail address of the contact persons can be activated by pressing CTRL + Double-click Use option to update Payment Terms on Sales Orders This option allows you to update payment terms on open Sales Orders if you change the payment term on the BP Master Data Window. If you change the Payment Term to a new and click update, the system will ask you if you want to update the payment terms on all open Sales Orders that belongs to the updated Business Partner. If you press yes, the system goes through all the orders and updates the payment term. Copyright 2016 – Boyum IT A/S Page 169/292 B1 Usability Package Manual The system only asks for update if 1: Payment Term was updated and 2: The Business Partner has any open sales orders. Validate Federal Tax Id (EU Only) NB: THIS IS AN ONLINE SERVICE THAT REQUIRE AN ACTIVE INTERNET CONNECTION. IF YOU USE PROXY YOU NEED TO SET UP THE PROXY DETAILS IN THE SAP BUSINESS ONE GENERAL SETTINGS Enables you to validate Federal Tax Id’s of Business Partners in the European Union (From webservice http://ec.europa.eu/taxation_customs/vies/services/checkVatService.wsdl). If activated, the add-on will check the entered Federal Tax Id on the Business Partner and determine if is valid. If not valid, user will be prompted that Id is not valid and want to continue. In the sample here we have written an incorrect Danish Tax Id (Language is determined by the first two letter in the Tax Id) Please note that this requires an active internet connection in order to work. Should you activate this on a machine not being able to reach the service you will get an error message. Start in Name Field Use this option to have focus in the name instead of the code (Useful if you always do your searches via the name and not the code). Use Hide from List System This option allows you to hide certain business partners from all lists that show business partners. This is very helpful if you have business partners who are inactive. Copyright 2016 – Boyum IT A/S Page 170/292 B1 Usability Package Manual NB: NO ENTRIES WILL EVER BE FILTERED FROM THE MASTER DATA WINDOW; ONLY ALL OTHER WINDOWS. NB: EVEN IF THE ENTRIES CAN BE HIDDEN FROM LISTS, THEY WILL NOT BE HIDDEN FROM REPORTS THAT USE FROM/TO CODES, GROUPS OR PROPERTIES Use Show only Current User BP’s System This option works a little bit like the Hide from List System, but is intended as a filter for Business Partners. When setup correctly, the current user logged into SAP will only see the Business Partners that he or she is the sales employee for. For the system to be able to work as intended, a mapping between the sales employees and the SAP Business One users must be provided. As you can see in the screenshot above, this is done in the column B1 Username, found in the Sales Employees – Setup window, which can be found here: Administration > Setup > General > Sales Employees. Here you insert all the usercodes needed. The correct value for each user is found in the USER_CODE field in the OUSR table. When this setup is completed this filter should ensure that only specific Business Copyright 2016 – Boyum IT A/S Page 171/292 B1 Usability Package Manual Partners are shown in choose from list windows throughout the system. This functionality can be affected by the Hide from List functionality. Be sure to set the Hide from List userdefined field to No if you wish to be able to see a specific Business Partner by using the Show only Current User BP’s System. NB: THE FILTER ON SALES EMPLOYEES AFFTECT ALL WINDOWS IN SAP BUSINESS ONE EXCEPT THE BP MASTER DATA WINDOW (BECAUSE THIS IS WHERE THE FILTER IS MADE) Use Mandatory Contact Person This option makes it mandatory to have at least one Contact Person on a Business Partner. You have the option to select if it should be a Warning (prompt) or an Error (block). As you can see on the screenshot you are not allowed to continue if you set “Use Mandatory Contact Person” to enabled and select Error. Use Mandatory Bill to Works the same way as Contact Person but for Bill to address. Copyright 2016 – Boyum IT A/S Page 172/292 B1 Usability Package Manual Use Mandatory Ship to Works the same way as Contact Person but for Ship to address. Use Flags Activates a visual representation of the country of the Bill to address. This gives you a quick way to identify the nationality of a Business Partner TIP: THE FUNCTIONALITY SUPPORTS 252 COUNTRIES. IF YOU USE MANY DIFFERENT FLAGS AND BECOME UNCERTAIN OF A FLAG, THEN CLICK ON IT AND YOU WILL GET THE NAME OF THE COUNTRY IN THE STATUS BAR Go to new The Go to new functionality allows you to add a new Business Partner in add-mode however, instead of the normal SAP Business One functionality to add the new Business Partner and clear the window to be ready to add another new; this adds the Business Partner and stays on the newly added. If you at one time wish Copyright 2016 – Boyum IT A/S Page 173/292 B1 Usability Package Manual to deactivate this functionality on the fly, you can hold down CTRL while adding the Business Partner, normal functionality will override the setting. In summary: Add (Enter) = Add and go to new CTRL + Add (Enter) = Add and ready to add a new Business Partner You can also check the “CTRL to activate” option. I that case, the system will act in reversed settings: Add (Enter) = Add and ready to add a new Business Partner CTRL + Add (Enter) = Add and go to new Copyright 2016 – Boyum IT A/S Page 174/292 B1 Usability Package Manual Activation of website The activation of website functionality simply takes the content of the Website field of a business partner master data and launches the website in the Internet Explorer browser when CTRL + Dbl. click on the field. Setting – Show button: If this is checked, a button will appear next to the website field. The button has same functionality as a CTRL + Dbl. click Use password generator The password generator is a simple function to generate a password for the business partner master data window. When activated, you can CTRL + Dbl. click on the password field to generate a random password. You also have the option to create passwords for each contact person in the password field in the contact person tab by CTRL + Double-click the field. Setting – Show button: If this is checked, a button will appear next to the password field. The button has the same functionality as a CTRL + Dbl. click Setting – Password Length: Here you can choose the length of the generated password (1-32 characters). Default is 6 characters SPECIAL: IF YOU ACTIVATE A PASSWORD GENERATION ON A FIELD THAT ALREADY CONTAINS A PASSWORD, YOU GET A PROMPT IF YOU WANT TO GENERATE A NEW PASSWORD. PRESS ‘YES’ TO GENERATE A NEW PASSWORD OR ‘NO’ TO LEAVE THE OLD PASSWORD. Copyright 2016 – Boyum IT A/S Page 175/292 B1 Usability Package Manual Toolbox: Item Master Data Tab Automatic numbers NB: THIS FEATURE IS A LEGACY FEATURE BEFORE SAP GOT ITEM NUMBERING SERIES. FOR NEW INSTALLATIONS WE RECOMMEND SAP’S FEATURE INSTEAD OF THIS. The auto numbers of items work in the same manner as the auto numbers of the Business Partners, but only contain one number serie. Start in Description Field Use this option to have focus on the item description instead of the code (Useful in you always do your searches via the description and not the code) Use Hide from List System This option allows you the functionality to hide certain items from all lists that show items. This is very helpful if you have items that are inactive and should not be selected. Works the same as the Hide From List System in Business partner tab. NB: NO ENTRIES WILL EVER BE FILTERED FROM THE MASTER DATA WINDOW; ONLY ALL OTHER WINDOWS. Copyright 2016 – Boyum IT A/S Page 176/292 B1 Usability Package Manual NB: EVEN IF THE ENTRIES CAN BE HIDDEN FROM LISTS, THEY WILL NOT BE HIDDEN FROM REPORTS THAT USE FROM/TO CODES, GROUPS OR PROPERTIES Transfer item-dimensions On items you can have dimensions (length, height, width, weight and volume) on both purchase and sales information. SAP Business One allows you to post the purchase data to the sales data, but not the other way around. This functionality gives you this option. Go to new This works the same as the Go to new in Business Partner Tab, but with Items instead Copyright 2016 – Boyum IT A/S Page 177/292 B1 Usability Package Manual Toolbox: Documents Tab Use Line search Allow line search of all sales and purchase documents. Copyright 2016 – Boyum IT A/S Page 178/292 B1 Usability Package Manual In documents you can search in: Item: Item code Item: Item name Item: BP catalog Number Service: Description It is also possible to search in the Pick List,Pick and pack manager, Bill of Materials,Production order, Goods receipt, Goods issue, Inventory transfer, inventory transfer request, Inventory Counting and Special Prices for Business Partners Enter = Last line, Ctrl + Enter = Add Many users that used older systems in DOS know that many other systems use the ENTER key and the TAB key opposite to SAP Business One. SAP Business One follows the windows standard, but sometime shortcuts in Windows are not very handy when using number pad keys to enter prices, quantities and so on. In documents (The TAB is physical far away from the number pad, and CTRL + E (Go to last line) is hard to use). This functionality changes the behavior of the ENTER key to simulate the CTRL + E function so you can now press ENTER anywhere on a document to go to the last line. CTRL + Enter have also been added so Copyright 2016 – Boyum IT A/S Page 179/292 B1 Usability Package Manual you can add the document using this key combination. Open Items: Update button The Open Items list is a great way to keep track of still open document, but if you use this list while dealing with the open items, the list is not refreshed unless you open and close the window or choose some other document type and switch it back to the wanted. This functionality gives you a simple update button for quick refresh of the lists. NB: IF THE OPEN ITEMS LIST IS OPENED FROM THE SAP COCKPIT FEATURE THE UPDATE BUTTON CANNOT BE SHOWN HERE FOR TECHNICAL REASONS. Copyright 2016 – Boyum IT A/S Page 180/292 B1 Usability Package Manual Start in Name Field Use this option to have focus on the BP-name instead of the BP-code (Useful in you always do your searches via the name and not the code) Use Opening and Closing remarks icon Use this option to enable showing a small icon if one of you purchases or sales documents has an open or closing remark. The screenshot shows an AR Invoice where a remark has been added. When the remark is added an icon is placed that show this document has a remark. You can open the remark by clicking on the icon. Use Flags Activates a visual representation of the country of associated Business partner. This gives you a quick way to identify the nationality. Flags will be displayed in the following document types: Copyright 2016 – Boyum IT A/S Page 181/292 B1 Usability Package Manual All sales documents All purchase documents Sales Opportunities Service Calls TIP: THE FUNCTIONALITY SUPPORTS 252 COUNTRIES. IF YOU USE MANY DIFFERENT FLAGS AND BECOME UNCERTAIN OF A FLAG, THEN CLICK ON IT AND YOU WILL GET THE NAME OF THE COUNTRY IN THE STATUS BAR Use Go To New Sales documents Checking this option allows the users that add a new document to see the document after addition istead of being ready to add new documents. As default the functionality applies to all sales documents. If you rather prefer to have it only certain type of sales documents you can click the button to the right of the checkbox and choose for which types the functionality applies. Copyright 2016 – Boyum IT A/S Page 182/292 B1 Usability Package Manual Use Go To New Purchase documents This works exactly the same as its sales version, but for the purchase documents Use Journal Remark System The Journal Remark system allows you to override the default naming of the journal remarks for sales and purchase documents. Enter in a remark template in the toolbox configuration. You can use static text or one or more of these dynamic texts String [CardCode] [CardName] [Ref] [DocNum] [DocDate] [DueDate] [TaxDate] [PayRef] [Item] Description The code of the business partner of the document The name of the business partner of the document The customer/vendor reference of the document The number of the document The Posting date of the document The Due date of the document The tax date (document date) of the document The Payment Reference number of the document The item code of the first line of the document Copyright 2016 – Boyum IT A/S Page 183/292 B1 Usability Package Manual [Description] The item name of the first line of the document / The description of the first line of the document [Type] The type of the document (Like A/R Invoice etc.) PLEASE NOTE: THAT THE REMARK IS ENTERED AFTER ADDING THE DOCUMENT AND ALL PREVIOUS REMARKS WILL BE OVERWRITTEN. THAT THE REMARK CAN BE UP TO 50 CHARS. CONFIGURATION HAVE UP TO 100 CHARS (50 CHAR TOO BIG) IN ORDER TO ALLOW DYNAMIC TEXTS. IF THE FINAL REMARK IS TOO LONG IT WILL BE SHORTENED DOWN TO 50 CHARS. THAT DOCUMENTS CREATED USING THE DOCUMENT GENERATION WIZARD OR THE DATA TRANSFER WORKBENCH WILL NOT BE ABLE TO GET THE TEMPLATE FROM THE JOURNAL REMARK SYSTEM Copyright 2016 – Boyum IT A/S Page 184/292 B1 Usability Package Manual Toolbox: Banking Tab Payment means config (In) Payment means used in incoming payments lacks the functionality to have a default tab of payment means (Check / Bank transfer / Credit Card / Cash). Also the Bank Transfer option lacks a default account (Most companies use one bank account). Finally, if allowed in the configuration, the CTRL+B transfer of the amount paid is almost always something that needs to be done. This functionality gives you the option to have a default tab, a default bank transfer account, and each time you open the window, the function automatically does the tedious CTRL+B for you NB: THE AUTOMATIC TRANSFER DO NOT APPLY TO THE CHECK-TAB AS IT IS NOT POSSIBLE TO AUTOMATE THE TRANSFER TO THAT TAB. Payment means config (Out) As with incoming payment, outgoing payments also does not normally support a default tab, and here it is the default account for Cash that is missing. Again, the add-on gives you these options Copyright 2016 – Boyum IT A/S Page 185/292 B1 Usability Package Manual Start in Name Field Use this option to have focus in the name instead of the code (useful if you always do your searches via the name and not the code) Toolbox: Financials Tab Enter = Last line, Ctrl + Enter = Add Many userswho used older systems in DOS know that many other systems use the ENTER key and the TAB key opposed to SAP Business One. SAP Business One follows the Windows standard, but sometimes shortcuts in Windows are not very handy when using number pad keys (The TAB is physical far away from the number pad, and CTRL + E (Go to last line is hard to use)). This functionality changes the behavior of the ENTER key to simulate the CTRL + E function, so you can now press ENTER anywhere on a journal entry to go to the last line. CTRL + Enter have also been added so you can add the journal entry using this key combination. Copyright 2016 – Boyum IT A/S Page 186/292 B1 Usability Package Manual ENTER Use Chart of Account Print If you activate this function, you will be able to print the Chart of Account using PDF instead of default SBO print. To generate please go to Financials > Chart of Accounts and select an account (to enable the print and print preview toolbar buttons). Click on either of them to generate the Chart of Account PDF. Copyright 2016 – Boyum IT A/S Page 187/292 B1 Usability Package Manual Codes used in print: CO = Control Account CA = Cash Account PC = Profit Center S = Sales E = Expenditure O = Other Use default Journal Entry Series This allows you to define which Series should be the default when starting up a Journal Entry Window Copyright 2016 – Boyum IT A/S Page 188/292 B1 Usability Package Manual Toolbox: Human Resources Tab Use Hide from List System This option allows you o hide certain employees from all lists which show employees. This is very helpful if you have employees who are inactive and should not be selected. It works the same as the Use Hide from List System in Business Partner tab NB: NO ENTRIES WILL EVER BE FILTERED FROM THE MASTER DATA WINDOW; ONLY ALL OTHER WINDOWS. NB: EVEN IF THE ENTRIES CAN BE HIDDEN FROM LISTS, THEY WILL NOT BE HIDDEN FROM REPORTS THAT USE FROM/TO CODES Go to new This works the same as the Go To New in Business Partner tab, but with Employees instead Copyright 2016 – Boyum IT A/S Page 189/292 B1 Usability Package Manual Toolbox: Usability Tab Arrow Key Navigation This option enables or disables arrow key navigation on all messageboxes and prompts. Query Enhancer This option adds two handy +/- buttons to Query Generator windows that allow you to control how big the input field is compared to the result matrix. Copyright 2016 – Boyum IT A/S Page 190/292 B1 Usability Package Manual NB: THE BUTTONS WILL ONLY APPEAR ON NEW QUERIES AS IT IS NOT TECHNICALLY POSSIBLE TO ADD THEM TO EXISTING QUERIES Copyright 2016 – Boyum IT A/S Page 191/292 B1 Usability Package Manual Advanced Editor The advanced editor allows you to edit “Row Text Details” (documents) and “Opening and closing remarks” in an editor that allows for formatting text using html. The text can be used in a Crystal Report formula where text interpretation is set to “HTML Text”. Copyright 2016 – Boyum IT A/S Page 192/292 B1 Usability Package Manual Block activate undo on B1UP forms If you enable this option, B1UP will prevent you from pressing “Undo” (Ctrl + Z) in edit texts/text areas on B1UP forms. The reason for blocking it is that SAP have a bug where when pressing “Undo” it will remove all your content and you will be unable to get it back as “Redo” does not work. Enhanced license administration (Only SAP 9.2 and Higher) Here you can choose to use the enhanced version of the license administration window if you are using SAP version 9.2 or higher. It is possible to try the ehhanced version from the original window by pressing the try the enhanced version link. Copyright 2016 – Boyum IT A/S Page 193/292 B1 Usability Package Manual With the enhanced version it’s possible to easier find the user who’s license you want to update by using a filter. The enhanced version does at the same time show more information about the users. It’s also possible to set the enhanced version to default by checking the always use enhanced view checkbox. Show number og attachemnts Here you can choose show the number of attachment on the windows attachments tab header. Disable document address fields Here you can choose to force the user to fill out the ship to and bill/pay to address fields in the sales and purchasing document by opening the address component window every time you try to enter the address fields. Default main menu folder Here you can set which of the 3 tabs of the Main Menu should be the active one after startup of the package (Use by people that use the User menu instead of the Modules tab). If you use the Cockpit you can set which of the 3 cockpit view are the default (My Cockpit, Modules or Drag and Relate). Copyright 2016 – Boyum IT A/S Page 194/292 B1 Usability Package Manual Default form settings folder Here you can set which of the 3 tabs of the form-settings (Table-format/Row-format/Document) is default active when displayed Close previous activity option Here you can choose if you want an old activity to be closed when you create a follow-up activity. It is possible to set the setting to [default/prompt/always]. Keep follow-up activity window open Here you can choose I you want to keep the window of a follow up activity open after it’s created. Use help information Here you can choose if you want to be able to make your own help information on a window in the form of either help buttons or rightclicks there open a side bar. NB: YOU CANNOT USE THE HELP INFORMATION SYSTEM ON UDO WINDOWS. Help information can be added to: Edit text Combobox Buttons Checkboxes Columns in matix and grids (only as rightclick) The created help buttons and rightclick will be shown even if ‘use help information’ is diabled in the toolbox, as this only affects wether is’t possible to add, update and delete help information. You can add help information to an item on a window by rightclicking on item and pressing the ‘Add Help Information’ menu or ‘Edit Help Information’ menu if the item already has help information. Copyright 2016 – Boyum IT A/S Page 195/292 B1 Usability Package Manual Field Description Text More information link Display Type Reduce size Description The header of the Help Information Sidebar The help text to be shown A link to more information Example: www.boyum-it.com Tell if the is placed a help button or a rightclick help menu when right clicking on the item. Wther the item a help button I made for should be shorter to make splace for the button When a help button or right click help information menu is pressed the following window will be shown Copyright 2016 – Boyum IT A/S Page 196/292 B1 Usability Package Manual Toolbox: User-Defined Windows If you navigate to Tools > Userdefined Windows you can see all users have permission to view all UserDefined Windows. Copyright 2016 – Boyum IT A/S Page 197/292 B1 Usability Package Manual On this tab you have the option to restrict access to these windows for specified windows. Copyright 2016 – Boyum IT A/S Page 198/292 B1 Usability Package Manual Exclude all users If you want to exclude all users from having access to certain windows you do the following: - Check the Restrict checkbox for the window Press Update As you can see all users, including yourself, have been blocked from accessing these tables. To remove the exclusion simply uncheck the Include checkbox and press the Update button. Exclude all users – include some After having restricted everyone’s access to the table you can chose to include certain users to allow them access to the table. This is done by double clicking in the users’ field and selecting the users you want to include. To remove the included user simply double click the Users field and uncheck the user from the list. Exclude just one or more users If you want to exclude just one user check the Restrict checkbox for the table. The go to Users and select the user that you want to exclude and set the User Settings to include. Now all users except for the selected user have access to the table. Copyright 2016 – Boyum IT A/S Page 199/292 B1 Usability Package Manual Universal Functions The Universal Function System is a collection of functions that can be activated using the B1 Validation Configuration by an Activation Request, the Function Buttons or by theItem Placement Tool. Online E-Learning is also available for this module. Click here to watch it Function Types The Universal Function Configuration is located in the Administration > Add-ons > B1 Usability Package > Module configuration > Universal Function > Universal Function Configuration if one of the above is activated All Universal Functions share the following fields: Field Code Name Type Remarks Import Export Description The unique code of the configuration (Can be up to 8 chars) Your name for the configuration The type (Function) chosen for the configuration Any remarks or description you might have for the configuration This allows you to import configurations (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Import“ This allows you to export configurations to XML (Either one at the time or as a batch). See more info in under “Configuring the Add-on > Shared functionality > Export“ The system allows you to have as many universal functions as you please and multiple of the same type if needed. Copyright 2016 – Boyum IT A/S Page 200/292 B1 Usability Package Manual External Launcher Function The External Launcher type allows you to launch external programs. Field Description File/Program Here you define which file or program you want to run TIP: TO THE RIGHT OF THE FIELD YOU HAVE THE OPTION TO SELECT FROM VARIOUS COMMON PROGRAMS LIKE INTERNET EXPLORER, WORD, SKYPE, EXCEL ETC. Arguments As an advanced feature, you are also able to get dynamic data/SQL: syntax from the active form. The syntax for referring to the parent form is $[$<item>.<column>.<type>] Here you define the arguments you would like to run the program with As an advanced feature, you are also able to get dynamic data/SQL: syntax from the active form. The syntax for referring to the parent form is $[$<item>.<column>.<type>] Style Working Directory Example: is you would like to have the BP-code as part of you data you should write $[$5.0.0] since the item code text field on the Business Partner Master data have unique id 5, while if you would like the current address street name you should write $[$178.2.0] since the matrix uid is 178 and the column is 2. Here you define how the external program should run (Normal / Minimized, Maximized or Hidden) Here you can define the working directory for the external program Video sample: Create Outlook mail using External Launcher Copyright 2016 – Boyum IT A/S Page 201/292 B1 Usability Package Manual Common used configurations: Configuration Program Start a winword.exe Microsoft Word Document Start a excel.exe Microsoft Excel document Start Remote mstsc.exe Desktop Start a PDFdocument Start Internet explorer on a specific website Arguments Path to Worddocument Arguments sample \\server\docs\test.doc Path to Exceldocument \\server\docs\test.xsl Parameters /v 192.168.1.1 + IPaddress AcroRd32.exe Path to \\server\docs\test.pdf PDFdocument iexplore.exe An URL http://www.boyum-it.com Message Function If you choose the Message type, you will see the option to choose a message to display to the user. Field Message Description The message you would like to display to the user. Can be up to 254 chars. Copyright 2016 – Boyum IT A/S Page 202/292 B1 Usability Package Manual TIP: YOU WILL BE ABLE TO USE DYNAMIC VALUES USING THE $[$<ITEM>.<COLUMN>.<TYPE>] FOR DYNAMIC VALUES FROM ITEMS AND $[<TABLE>.<FIELD>.<TYPE>] FOR DATA SOURCES (AS DESCRIBED IN THE VALIDATION CONFIGURATION) TIP: YOU CAN MAKE THE MESSAGE COME FROM AN SQL-SENTENCE IF YOU START IT WITH SQL:<SQLSTATEMENT> Message type Sample: SQL:SELECT Notes FROM OCRD WHERE CardCode = $[4.0.0] will show you a message with the result of the SQL. Here you can choose how the message should be presented to the user: Type Screenshot Description Message box A normal message box on screen with a OK-button Status bar Success Status bar Warning Status bar Error Copyright 2016 – Boyum IT A/S Message is displayed in the lower left corner (In green) Message is displayed in the lower left corner (In blue) Message is displayed in the lower left corner (In red) Page 203/292 B1 Usability Package Manual Question Block Event Display the message as a question with a “Yes” and a “No” button. If the no button is pressed, the add-on will block event regardless of what the block event checkbox is set to (See below for more) Here you can decide if the message should block the event that caused it - resulting in SAP, canceling what it is doing (Only messages shown in a Before Action Events can be blocked). Sample: If you have created a B1 Validation Configuration for a field, then when you are about to leave the field, check for a specific value, and if this is not present, the system should display a message. Must Have Specific Value Function If you choose the “Must have specific value” type, a matrix appears in the configuration allowing you to tell which items/columns that need to have a value and – if needed – what values are valid values. Field Item UID Column Uid Description Ignore last row Description The items Uid that must have a value. If the above item is a matrix, you will need to include which column you wish to have values in. Your description of the chosen item. This description is the one being used in the warning of the customer. The ignorer last row checkbox is created to enable the add-on to do checks on document columns. SAP Business One always leaves an extra line for new data on sales and purchase documents, and the last row needs to be ignored here. Remove only the check if you work Copyright 2016 – Boyum IT A/S Page 204/292 B1 Usability Package Manual Value Type Valid values Empty value with a matrix that does not leave such extra lines. Here you can define how your empty and valid values should be treated, and how the tested value should be converted. Please note the following formatdefinition used in the valid values and empty values when comparing the data. Type Description String Strings are compared as is Number Always define here without thousands separator Date Always define in the following format yyyy-mm-dd Currency Always define here without thousands separator and with “.” as decimal separator (The global invariant separator) Here you define values you set as valid for the item. You have two options here (Cannot be combined): Option Description Specific Values are separated by “;” so if a, b or c is the valid values you should Values enter a;b;c. NB: PLEASE NOTICE THAT THE SYSTEM IS CASESENSITIVE. Range values Here you define a range of values using “-“ as separator. As an example, (Only used in if you want values to be between 1 and 10, you should set valid values to Number and 1-10. If nothing is entered in the valid values, any value is valid except the Currency) one defined in the empty value column. Here it is possible to enter what is considered an empty value (if no valid values are defined). For most fields there is nothing entered. But some combo boxes have different empty values. EXAMPLE: THE SALES EMPLOYEE COMBO BOX "- NO SALES EMPLOYEE - " HAS VALUE -1 AS EMPTY VALUE (VALUE CAN ALSO BE SEEN ON DEBUG INFORMATION AS THE VALUE IS SHOWN BEFORE THE FORM TYPE) SQL Report Function Using the SQL Report type, you are able to create your own reports or charts using SQL to replace Reports made using the formatted searches. Copyright 2016 – Boyum IT A/S Page 205/292 B1 Usability Package Manual The above configuration results in the following report: Field Form Title Description Here you can define the title of the window showing. TIP: YOU CAN USE DYNAMIC SYNTAX AND SQL VARIABLES IN THE FORM TITLE TO GENERATE TITLES BASED ON INPUT Form Width Form Height View type Form State Collapse level Where you can define the initial width of the window in pixels Where you can define the initial height of the window in pixels Where you can select if you want to display the report as a grid or a chart. Read more about using charts here: http://www.boyum-it.com/Link/B1UPCharting/ Where you can define the initial state of the window (Normal, Minimized, Maximized) The SQL Report has the option to create collapsible reports. Setting the collapse level is indicated by a number (Set Collapse level to 1 equals that column 1 is collapse-able and so on.) No Collaps Collaps Collapse e level = e level = Level =0 1 2 Copyright 2016 – Boyum IT A/S Page 206/292 B1 Usability Package Manual Format When you run the SQL Report, you will get a report with all data shown in plain text, leftjustified. Using the Formatfield, you have the option to make minor changes to the design. In order to define the Format press the wizard button Here you can define formatting of each of the column of the report: Column Description Column # The column you are defining formatting for Example in the scenario 1 Column title Golden arrow type Copyright 2016 – Boyum IT A/S 2 3 4 DocNum is Col 1, CardCode is Col 2, CardName is Col 3 and DocTotal is Col 4 Here you can define the title of the column Here you define if the column should have a golden arrow and if so what the type of target is for the arrow. You can use any of Page 207/292 B1 Usability Package Manual the predefined or use one of the two special: - Right justified Sum column Editable Hide Search LB: Universal Function type to have a Universal function run when you press the golden arrow. - MULTI: That can make a golden arrow that is controlled by object type column and primary key column (see below) Right Justify the data in the column (Example, it makes sense if prices are right-justified) Add a sum row for the column (This can only be done when column data is numeric and collapse level is not used) Open the column for editing (Used in combination with the Select-target option where the user should have the option to select a entered value back) If you check this, then this column will be hidden. This is beneficial if you need technical values for additional work on the SQL Report (using B1 Validation system) or for the columns of object-type and primary key in use of Multi golden arrow. If you check this, a search field will be added to the report and you will be able to search in this column of the report (you can mark several columns as searchable) NB: ONLY WORKS IF YOUR REPORT DOESN'T USE A COLLAPSE LEVEL AND IS SHOWN IN A WINDOW (NOT USE IN SQL REPORT TAB AND COCKPIT). Column Type NB: IS YOU CHOOSE TO SEARCH ON DATES OR AMOUNTS YOU WILL NEED TO SEARCH USING THE WINDOWS FORMAT. If nothing is defined, then a SQL Report will just show values. You can however override the style of the column to be either Checkbox or Combobox Checkbox No formatting of Y/N value With formatting Copyright 2016 – Boyum IT A/S Page 208/292 B1 Usability Package Manual Combobox Turn technical value into meaningfull value (NB: Technical value need to be alphanumeric for this to work) If made editable you can see it is a combobox Column Width (0=Auto) Golden Arrow UF Multi Golden Arrow object type column + Multi Golden Arrow primary key column By default a SQL Report will try to best fit the columns based on the values. If you however would like to control the column widths manually you can write the desired width in pixels here If you have defined the Golden Arrow type to Universal Function this is the UF run. If type is not LB: UF then leave this fields blank. If Golden Arrow type is Multi then in these columsn you the needed data for the error. First it need the objecttype and second it need the primary key Example: We have the following non formatted report Copyright 2016 – Boyum IT A/S Page 209/292 B1 Usability Package Manual The raw result is this The goal is to have only 2 columns in final report (Type and DocNum) but because we need golden arrow on DocNum to go to either Order, Delivery or Invoice we take the 2 additional columns (ObjectType and DocEntry) We then format the report in the following way - We mark column 2 and 3 as Hide We mark column 4 as Multi target golden arrow and tell that obejcttype is in column 2 and primary key is in column 3 The result is the following Combobox Valid Values SQL Copyright 2016 – Boyum IT A/S Here you define the SQL that will be converted into valid values if you mark your column as Combobox Page 210/292 B1 Usability Package Manual This button brings up the CRM for Outlook settings. This is where you define what reporting group this SQL report should belong to. SQL SQL Variables Here you write the SQL that creates the data for the report. TIP: YOU WILL BE ABLE TO USE DYNAMIC VALUES USING THE $[$<ITEM>.<COLUMN>.<TYPE>] FOR DYNAMIC VALUES FROM ITEMS AND $[<TABLE>.<FIELD>.<TYPE>] FOR DATA SOURCES (AS DESCRIBED IN THE VALIDATION CONFIGURATION) Here you have the option to define up to 20 SQL Variables ([%0], [%1], [%2], [%3] … [%19]). Compared to Formatted Searches we need to have defined the variables type and description. In order to define the variable sources press the Wizard button. Column Variable Source Caption Copyright 2016 – Boyum IT A/S Description The variable you are defining the source for The Source. It can a custom value or a list of common values like Business partners etc. If can find the list of value you wish you also have the option to define a SQL sentence that should retrieve the values as a combobox. The caption of the variable (The text shown when prompting the user for the value) Page 211/292 B1 Usability Package Manual Source SQL If you in the Source select SQL as source, you define the SQL here (else it is not used). The SQL sentence should be a SELECT statement with two selected columns. first value will be seen as the value of the selection and second will be seen as the description. SELECT <VALUE>,<DESCRIPTION> FROM <TABLE> Sample: SELECT CardCode, CardName FROM OCRD would result in a list of all Business Partners. CardCode will be the value for the customer select and CardName will be the description that help them choose the value. The title of the window shown when prompting the user for the values Title NB: THE DEFAULT TITLE IS ‘DEFINE SURVEY VARIABLES’ IF NO TITLE IS GIVEN. Alternative you can define the SQL Variables syntax manually: This is done by using the following syntax for each of the 20 variables: %<id>[<type>|<description>]; If you wish to use the variables, then you can format each by changing the syntax. The following types are possible 0 (treat as string) STRING (as above) INTEGER (treat as a whole number) NUMBER (treat as a number with decimals) DATE (treat as a Date) YES_NO (combobox with a Yes and No value (Yes is default)) NO_YES (combobox with a No and a Yes value (No is default)) Tableid from one of the following to create Choose From Lists: o Business Partner (OCRD), Items (OITM), Warehouse (OWHS), Sales Opportunity (OOPR), GL Account (OACT), Activity (OCLG), Employee (OHEM), Picklist (OPKL), Customer Equipment Card (OINS), ServiceCall (OSCL), Service Contract (OCTR), Solution Knowledge Base (OSLT), Journal Entry (OJDT), Sales/Purchase Documents (OQUT, ORDR, ODLN, ORDN, OINV, ORIN, ODPI, OPOR, OPDL, ORPD, OPCH, ORPC, ODPO), Incoming Payment (ORCT), Outgoing Payments (OVPM), Goods receipt (OIGN), Goods Issue (OIGE), Production Order (OWOR), Project Codes (OPRJ), Campaign (OCPN). Tableid from one of the following to create a combobox with their data o Item groups (OITB), Sales Employees (OSLP), Shipping types (OSHP), Activitytypes (OCLT), BP Groups (OCRG), BP Groups - Customers (OCRG_C), BP Groups – Suppliers (OCRG_S), BP Priorities (OBPP), Budget distributions methods (OBGD), Countries (OCRY), Currencies (OCRN), Customs groups (OARG), Distribution rules (OOCR), Dunning terms (ODUT), Freight codes Copyright 2016 – Boyum IT A/S Page 212/292 B1 Usability Package Manual (OEXD), Holidays (OHLD), Indicatiors (OIDC), Inventory Cycles (OCYC), Languages (OLNG), Length and Width UOM (OLGT), Manufactures (OMRC), Payment Methods (OPYM), Payment Methods – In (OPYM_IN), Payment Methods – Out (OPYM_OUT), Payment Terms (OCTG), Pricelists (OPLN), Territories (OTER), Users (OUSR), Weight UOM (OWGT) SQL:SELECT <VALUE>,<DESCRIPTION> FROM <TABLE> (treat as combobox with the values from the SQL written). EXAMPLE 1: IF VARIABLE 0 SHOULD BE OF TYPE DATE AND WITH THE DESCRIPTION "FROM DATE" THE SYNTAX OF %0 SHOULD BE %0[DATE|FROM DATE]; EXAMPLE 2: IF VARIABLE 3 SHOULD BE OF TYPE INTEGER AND WITH THE DESCRIPTION "DOCUMENT NUMBER" THE SYNTAX OF %3 SHOULD BE %3[INTEGER|DOCUMENT NUMBER]; JUST LEAVE THE SYNTAX OF UNUSED VARIABLES SINCE IT ARE INGORED Once defined and used in a SQL Report, you will instead of a direct result get a "Define survey variables" window where you enter the prompted data. As shown in this example: As you can see in the above configuration we use [%0] and [%1] to get a from and a to date. Running the SQL Report will before the result give us the following window where we can enter the from and to date defined (%3, %4 and %5 is not shown since they are not used): Copyright 2016 – Boyum IT A/S Page 213/292 B1 Usability Package Manual Upon pressing the OK button we get our result as normal based on the entered from and to dates. Banded row color With this option you can define if every second row should have color Without banded rows With banded rows Copyright 2016 – Boyum IT A/S Page 214/292 B1 Usability Package Manual Fixed col. count NB: DUE TO TECHNICAL LIMITATIONS BANDED ROW COLORS CAN’T BE USED IN COMBINATION WITH COLLAPS LEVEL (WILL NOT COLOR SUB-LEVELS) AND COLUMN SORT (WILL NOT RE-BAND THE COLORS) This option allow you to have x of the first columns fixed so you can see them even if you do horizontal scroll Fixed col. count 1 (Default) Fixed Col. Count = 3 Refresh Option Auto Refresh Here you have the option to add a refresh-button to the Report. If you choose this option you can press the refresh-button on the report to re-run your SQL. With this option you have the ability to make the SQL you show autorefresh it data in a regualr interval. This is handy if you have a display that "statically" show a report and need to update automatically. Select Data Target This gives you the option to turn your SQL report into an advanced selection-window and send data back to the window that opened it.If your target is a matrix and you select multiple lines, they will all be send to the matrix. The values sent back are based on the order of the columns. If you as example have an Copyright 2016 – Boyum IT A/S Page 215/292 B1 Usability Package Manual itemcode in column 1 and a target of $[$38.1.0] the itemcode will be transferred to the item column It is also possible to select multiple columns by specifying multiple targets separated by a “;”. If you as an example have a SQL result with a itemcode in column 1 and a price in column 2 you could specify the following Select-target: $[$38.1.0];$[$38.14.CURRENCY]. This will result in the itemcode going to column 1 (itemcode) and the price going to column 14 (unitprice). If you have a column that you do not wish to transfer then simply add a “;” In the above example if you had an Itemname between the itemcode and the price you Select-target should be $[$38.1.0];;$[$38.14.CURRENCY] NB: PLEASE NOTE THAT THE FIRST VALUE YOU SELECT BACK TO A MATRIX NEEDS TO BE THE PRIMARY FIELD OF THAT MATRIX THAT FORCE A NEW LINE. EXAMPLE: IF YOU WISH TO SLECTED BACK TO SALES ORDER LINES THE FIRST THING YOU NEED TO SELECT BACK NEED TO BE THE ITEM CODE (THAT WHEN SELECTED BACK WILL GENERATE A NEW LINE FOR NEXT ROW). IF IT IS NOT THAT YOU WILL GET A BAD VALUE ERROR SETTING THE VALUES. NB: SELECTING MULTIPLE BACK TO BOM-ITEMS IS NOT SUPPORTED! NB: SELECTING MULTIPLE BACK IS ONLY SUPPORTED ON SALES AND PURCHAE DOCUMENTS! First column is selection checkbox As you can see the normal Close-button is replaced by a select and a cancel button that allow you to select data. Default select back system is by row-selection but in some cases people do not find this intuitive, want to have a default selection or want to select based on the value of value in an editable column. For that reason you can turn the option to make the first column of the SQL be a Y/N value displayed as a selection checkbox. Copyright 2016 – Boyum IT A/S Page 216/292 B1 Usability Package Manual Selection via row selection Selection via checkboxes FormType Suffix NB: IF YOU USE THIS FEATURE, IT WILL IGNORE ANY SETTINGS IN COLLAPS LEVEL SINCE SAP SDK CAN’T SHOW CHECKBOXES IN A COLLAPSED STATE. This field can be used to ensure unique formtypes for each SQL Report. This allow you to add unique function buttons and other settings per report (or a group of reports if you give them same suffix). It is recommended to always have a suffix but for legacy reasons you can leave it blank NB: Suffix will suggest the same as your code but due to people that wish to group reports and technical reason the prefix can max be 6 chars so if you write a code that is over 6 chars it will not reflect on the suffix NB: If you need to add additional authorizations to an SQL was you can only have a 1 char suffix (else the total formtype goes beyound 20 chars. The limit for the actual report is 4 chars) Tip: It is also possible to show a SQL Report as a SAP Cockpit widget. Please note however that the following feature are not possible/does not make sense with the widget version: - SQL Vars [%0], [%1], ect. is not possible to use [If a SQL report are modified to have such it is removed from the cockpit the next time it is loaded] Size is controlled by the widget and will therefore not be taken from the configuration. Select back system will be ignored (as the is nothing to select back to) Dynamic syntax will not always have the widget itself as a source-window. It is not possible to use Function buttons on the widget Copyright 2016 – Boyum IT A/S Page 217/292 B1 Usability Package Manual Content Creator Using the content creator function type, you are able to add additional content (items) to windows (buttons, labels text-fields, folders and so on). You might know the Item Placement Tool, which does some of the same features, but this can do much more advanced editing. The configuration consists on a matrix, where each row is a new item and each column is a property for the item. There are many properties (25+), but not all are used for each item type. Property Active ItemUid (Mandatory) Description Controls if this row is active for use. Uncheck this if you temporarily wants to disable an item. In order to place an item on a window, it must have a unique id for the form. In order to avoid conflict with other add-ons, this should have prefix (e.g.UF_xxx). If aUid is not unique, an error will occur. NB: A UID SHOULD CONSIST OF LETTERS (ABC), NUMBERS (123) OR/AND UNDERSCORES (_). CHARACTERS LIKE SPACE, DASHES OR SPECIAL CHARACTERS ARE TECHNICALLY POSSIBLE BUT NOT RECOMMENDED AS THESE ARE NOT SUPPORTED BY THE $[$<ITEM>.<COL>.<TYPE>] SYNTAX. Type (Mandatory) WARNING: IF YOU USE THE CONTENT CREATOR TO PLACE DATA ONTO OTHER B1UP WINDOWS IT IS HIGHLY RECOMMENDED THAT YOU USE THE PREFIX "BOYX_" FOR UID AS THIS IS A SPECIAL PREFIX B1UP UNDERSTAND SO IT CAN CONFLICTS DURING UPGRADES. EXMAPLE IF YOU WISH TO ADD A BUTTON ONTO THE RECURRING INVOICE WINDOW CALL IT "BOYX_01 " AS THEUID. With the content creator it is possible to create the following item types: Type Button Copyright 2016 – Boyum IT A/S Description A button with a caption. Page 218/292 B1 Usability Package Manual Checkbox Combo box Edit text Folder (Tab) A checkbox can have a checked or unchecked value NB: A CHECKBOX MUST BE BOUND TO A USER DEFINED FIELD (ALPHA REGULAR 1) IN ORDER TO FUNCTION PROPERLY (DBDS: TABLE AND DBDS: FIELD) A combo box to show valid values. The values can come from the user defined fields valid values (bound using DBDS: Table and DBDS: field) OR from the Valid Values property described below. A text field where data can be entered. If these data should bind to a specific record you should data bind the item using the DBDS: Table And Dbds: Field. A folder or tab where other items can be placed on. NB: YOU CAN ONLY ADD ADDITIONAL TABS TO AN EXISTING FOLDERCOLLECTION (YOU CAN’T MAKE A NEW COLLECTION FROM NOTHING). NB: PLEASE NOTE THAT YOU WILL NEED TO DO ADDITIONAL WORK WITH THE B1 VALIDATION SYSTEM AND MACRO, BEFORE YOU CAN TAKE ADVANTAGE OF THE NEW TAB. Label Linked Button Picture Rectangle Text area Description Left Top NB: IF YOU CREATE A FOLDER, YOU SHOULD DEACTIVATE THE AFFECTS FORM MODE PROPERTY OR ELSE PRESSING THE NEW TAB WILL CHANGE FORM MODE A simple label showing a caption. These are normally linked to a combo box or an edit text, but it is not mandatory. A linked button (Orange arrow) that can open other windows. NB: THIS SHOULD ALWAYS BE LINKED TO AN EDIT TEXT ITEM USING THE LINK TO PROPERTY. A picture box to show a picture. NB: A PICTURE MUST BE BOUND TO A USER DEFINED FIELD OF TYPE PICTURE IN ORDER TO FUNCTION PROPERLY (DBDS: TABLE AND DBDS: FIELD) A simple rectangle that visually can group other items. Have no other functionality than display. A text area works just like an edit text but contains scrollbars. Here you can set a description of the item normally shown in the lower left corner of the client. In types Button, Label and Checkbox this is the caption of the item. This indicate the left position of the item in pixels This indicate the top position of the item in pixels Copyright 2016 – Boyum IT A/S Page 219/292 B1 Usability Package Manual Width Here you can set the width of the item. If nothing is entered, the default width is used Height NB: ITEM TYPES: RECTANGLE, TEXT AREA AND PICTURE SHOULD ALWAYS HAVE A WIDTH Here you can set the height of the item. If nothing is entered, the default height is used. Form Pane / To Pane NB: ITEM TYPES: RECTANGLE, TEXT AREA AND PICTURE SHOULD ALWAYS HAVE A HEIGHT Panelevel is the information about which folder (tab-page) the item is on. All items of a folder will have the same Panelevel. Items that are shown all the time have Panelevel 0. DBDS: Field DBDS: Table Edit: Add Edit: Find Edit: Ok Valid Values Online Guide: Understanding Panelevels This property is used if the item should be bound (related) to a user defined field of the current window. A user defined field always starts with ”U_” and can be seen using the system information NB: ONLY USED IN CHECKBOX, COMBO BOX, TEXT AREA AND PICTURE ITEM TYPES (NOT MANDATORY) This is the second part of the data-binding, where you enter the name of the table that the user defined field is bound to. As an example, if your field is linked to a business partner, the table is OCRD while if it is linked to items it is OITM. NB: ONLY USED IN CHECKBOX, COMBO BOX, TEXT AREA AND PICTURE ITEM TYPES (NOT MANDATORY) This checkbox gives you the option to indicate if your item is editable in the window’s add-mode (e.g. If your button can be pressed in add-mode). This checkbox gives you the option to indicate if your item is editable in the window’s find-mode. This checkbox gives you the option to indicate if your item is editable in the window’s OK-mode. Here you can set a collection of valid values a combo box item type should contain. The syntax is as follows: VALUE,DESCRIPTION;VALUE,DESCRIPTION… Sample: Y,Yes;N,No;P,Perhaps The above would give 3 options in a combo box. Alternative you can type SQL:<sql-sentence>. In order for it to work with this you need to produce an SQL with two columns .. If you do not have at least two you will get an error. If you give it more it will ignore exceeding columns. Sample: SQL:SELECT Code, Name FROM [@MY_TABLE] WHERE U_ACTIVE = 'Y' Tip: to include an empty value do it like this: Sample: SQL:SELECT '', '' UNION ALL SELECT Code, Name FROM [@MY_TABLE] Copyright 2016 – Boyum IT A/S Page 220/292 B1 Usability Package Manual WHERE U_ACTIVE = ‘Y’ Affects Form mode Right Justified NB: ONLY USED IN COMBO BOX ITEM TYPES (NOT MANDATORY) Use this option if you want an item that does not affect the form mode (e.g. If unchecked and a window is in ok-mode, it will not cause a switch to update mode) Use this option to set if data in an edit text field are right-justified or not. - Not right justified - Right Justified: Suppress Zeroes NB: ONLY USED IN EDIT TEXT ITEM TYPES AND TEXT AREA ITEM TYPES Use this option to get edit text fields to show nothing if the value is zero Text Style Fore Color NB: ONLY USED IN EDIT TEXT ITEM TYPES AND TEXT AREA ITEM TYPES Use this option to set the text-style of the item (Bold, Italic, Underline, and so on) Use this option to set the text-color of the item (RGB value in long representation) Back Color TIP: RIGHT-CLICK THE COLUMN TO PICK THE COLOR Use this option to set the background-color of the item (RGB value in long representation) TIP: RIGHT-CLICK THE COLUMN TO PICK THE COLOR NB: NOT ALL GUI ELELMENTS CAN APPLY COLOR. THE FOLLOWING LIST SHOW WHAT CAN BE COLORED AND WHAT CANNOT GUI Item type Button Checkbox Font-size Linked Object Link To Fore color No (Yes) [Only Code render mode due to SDK bug] Yes Yes No Yes No Backcolor No No Combobox Yes EditText Yes Folder (Tab) No Label Yes LinkedButton No (Golden arrow) Picture No No Rectangle No No Textarea No No Here you can set the font-size of the item. If nothing is entered, the default will be used. This property is used with linked buttons and decides what the link-button should point to when pressed. NB: ONLY USED WITH THE LINKED BUTTON ITEM TYPE (MANDATORY) Link To is primary used to tell a linked button where the data to link to is stored (an edit textsUid), but Link To is also used to link labels and other items together (the Copyright 2016 – Boyum IT A/S Page 221/292 B1 Usability Package Manual little with line under the label link to another item) and to group items together on resizable windows. Group With NB: MANDATORY FOR LINKED BUTTON ITEM TYPE. OPTIONAL FOR OTHER TYPES Group With is used to link a new Folder (tab) item to an existing folder-collection. Just provide the new Folder with the Uid of one of the existing folders. TIP: THE LEFT-PROPERTY OF THE FOLDER ITEM CONTROLS WHERE IN THE COLLECTION YOUR TAB IS PLACED Val Off / Val On NB: ONLY USED WITH THE FOLDER (TAB) ITEM TYPE (MANDATORY) With Val Off/Val On, you can override what data-value of a checkbox is considered as the checked and what is for unchecked. If not set the default valOn/off is used (Val On = Y, Val Off = N). NB: ONLY USED WITH THE CHECKBOX ITEM TYPE (NOT MANDATORY) On header level you have the following options that affect all lines: Field Render Mode Description This option determines how the B1UP should apply the configuration to the window affected. Mode XML Code Description This is the recommended render mode as it is significantly faster than the code. Drawback of it is that should there be any misconfigurations, it will not give very specific errors. This mode is the legacy mode of adding items. It is slower than XML Mode but is great during debugging of a configuration. You should only really change to Code mode if you experience problems in XML Mode. Crystal Report With the Crystal Report Function type you are able to launch Crystal Reports which are an external Reporting program from Business Objects that are owned by SAP (For more information on crystal reports see http://www.businessobjects.com ). Copyright 2016 – Boyum IT A/S Page 222/292 B1 Usability Package Manual Design the report: In order to design reports to use with the functionality, you will need to have the Business Objects Crystal Reports designer (Not included with B1 Usability Package) where you design the report you wich to launch NB: BOYUM IT DOES NOT HANDLE SUPPORT ON CREATING THE CRYSTAL REPORT LAYOUT FILES. Database setup: Copyright 2016 – Boyum IT A/S Page 223/292 B1 Usability Package Manual Depending on the crystal report that you have created, you might have set the report to connect to the SAP Database. If that is the case, it is needed that you provide information about the database login. These information is entered in the B1 Usability Package Main configuration by navigating to Administration > Add-ons > B1 Usability Package > B1 Usabilty Configuration (Under the options tab). If you do not provide this information you will experience that each time you run the report it will ask for database login information. Using the functionality: When your report is ready you will need to set the configuration to launch it. To do so, go to Administration > Add-ons > B1 Usability Package > Module Configurations > Universal Function > Universal Function Configuration. Swith to add mode and choose the type Crystal Report type. Data Crystal Report File Update parameters Parameters Description Here you choose your crystal report layout you wish to launch. You can type in the path to the file or press the "…" button to choose the file. Once you choose the file it will be scanned for parameters and shown below. NB: PLEASE BE AWARE THAT IF MULITIPLE USERS NEED TO RUN THE REPORT, THE PATH TO THE FILE SHOULD BE A SHARED PATH (EXAMPLE: \\SERVER\REPORTS\REPORT1.RPT) If you have already chosen a Crystal Report file, but after selection, you update the layout to include more parameters, you can click this button to update the list of parameters below. TIP: IF YOU ALREADY ENTERED VALUES FOR THE PARAMETERS AND PRESS UPDATE THE SYSTEM WILL TRY TO PRESERVE EXISTING VALUE AS LONG AS THE PARAMETER NAME IS THE SAME. In Crystal Reports, you have the option pass along parameters to the report (example: a specific customer code or a specific document number). Copyright 2016 – Boyum IT A/S Page 224/292 B1 Usability Package Manual Column Description Parameter Here the names of the parameters in the report is automatically drawn and shown Value Here you enter the value that you wish to send along to the report. You have several options on how to pass along parameters - - - - - - Copyright 2016 – Boyum IT A/S No value o If you leave the value empty the report at launch ask you for a value before showing the report Fixed value o You can enter any fixed value (123, abc and so on all depending on your report parameters value) Null value o Enter the special keyword $[NULL] to pass along a NULL value Dynamic Syntax Value o Use the common dynamic syntax ($[$<item>.<col>.<type>] or $[<table>.<field>.<type>]) to pass along data from the active window in SAP Business One. For more information on the dynamic syntax, see the dynamic syntax guide Sample:$[$8.0.NUMBER] to pass the document number on a Sales Order. DocKey@ keyword o This special keyword defined by SBO8.8 will give you the DocEntry-field of all sales and purchase documents ObjectId@ keyword o This special keyword defined by SBO8.8 you the object-type of the document type 23 = A/R Quotation 17 = A/R Order 15 = A/R Delivery Note 16 = A/R Return 203 = A/R Down Payment 13 = A/R Invoice 14 = A/R Credit Note 22 = A/P Ordre 20 = A/P Goods Receipt PO 21 = A/P Goods Return 204 = A/P Down Payment 18 = A/P Invoice 19 = A/P Credit Note 33 = Activity 24 = Incoming Payment Page 225/292 B1 Usability Package Manual 46 = Outgoing Payment 97 = Sales Opportunity [Other can be found in the “SDK Help Center” under BoLinkedObject Enum] - Variables SQL value o Use the SQL:<your sql> syntax to execute your SQL where the result of the SQL will be passed along as the value. In <your sql> you can use the dynamic syntax Sample: SQL:SELECT DocEntry FROM OINV WHERE DocNum = $[$8.0.0] - Variables o Use one of the 20 input variables(([%0], [%1], [%2], [%3] … [%19])) Here you have the option to define up to 20 Variables ([%0], [%1], [%2], [%3] … [%19]) there can be used as parameters in the Crystal Reports. Column Variable Source Caption Source SQL Description The variable you are defining the source for The Source. It can a custom value or a list of common values like Business partners etc. If can find the list of value you wish you also have the option to define a SQL sentence that should retrieve the values as a combobox. The caption of the variable (The text shown when prompting the user for the value) If you in the Source select SQL as source, you define the SQL here (else it is not used). The SQL sentence should be a SELECT statement with two selected columns. first value will be seen as the value of the selection and second will be seen as the description. SELECT <VALUE>,<DESCRIPTION> FROM <TABLE> Sample: SELECT CardCode, CardName FROM OCRD Copyright 2016 – Boyum IT A/S Page 226/292 B1 Usability Package Manual Title Source would result in a list of all Business Partners. CardCode will be the value for the customer select and CardName will be the description that help them choose the value. The title of the window shown when prompting the user for the values NB: THE DEFAULT TITLE IS ‘DEFINE SURVEY VARIABLES’ IF NO TITLE IS GIVEN. Here you can define what datasource the crystal report is using when launching. A Crystal Report as default have a datasouce attached to it within the report-files, and choosing the option "As in report" will let the report know that it should use the source as it was designed. In scenarios where you use the report in multiple database or if it in not designed on location you can choose the "Set this database as Datasource for report". Doing this will cause B1UP to on the fly tell the report that it should the currently logged in database instead of the on embedded into the report. If you have problem with “Set this database as Datasource for report” you can try the “This database Compatible Connection”. This will force the Crystal Report to use predefined value that should work on every system. Connection Press this button in order to set the DB Information connection Action: Show Report NB: This is shared across all configuration so you only need to set it once. If you check this option you will launch and show the report in the B1UP: Crystal Report viewer. Copyright 2016 – Boyum IT A/S Page 227/292 B1 Usability Package Manual Viewer Action: Save Report From here you have the option to print and export the report to other formats Here you decide if the Crystal viewer should be external (Window that can be moved outside SAP) or internal (SAP window showing the Crystal) You also have the option to directly save the report. For that you need to provide a filename and a file type. TIP: YOU HAVE THE OPTION TO MAKE THE FILENAME UNIQUE BY USING THE FOLLOWING KEYWORDS IN THE FILENAME: File Type Open Action: Print Report - $[DATE] FOR CURRENT DATE - $[TIME] FOR CURRENT TIME (HH:MM) - $[LONGTIME] FOR EXTENDED CURRENT TIME (HH:MM:SS) - THE NORMAL $[$ITEM.COLUMN.TYPE] DYNAMIC SYNTAX What type the file is If the file saved should be opened after generation. Finally you have the option to print a report directly. For that you will need to provide the printer name. You can either enter it or choose it by pressing the "…" and chose from the list Copyright 2016 – Boyum IT A/S Page 228/292 B1 Usability Package Manual You also have the option to choose the number of copies. Action: Block Event TIP: NUMBER OF COPIES CAN USE THE DYNAMIC SYNTAX / SQL: SYNTAX The block event is a special action that you can do after you have launched a report. It lets you block the action that SAP was normally about to do when your launched your report. An example where this is handy is if you replace the normal print functionality of SAP Business One (You want to press the print toolbar button and launch your report but do not want the print from SAP as well (you want to block it)) Note on Recommenced Crystal Report Datasources: Datasource on MSSQL We recommend using OLE DB (ADO) datasource with provider Microsoft OLE DB Provider for SQL Server Datasource on SAP HANA We recommend using ODBC (RDO) datasource with following HANA connection string: DRIVER={B1CRHPROXY};DATABASE=<SOME_DAT ABASE>;PWD=<SOME_PASSWORD>;SERVERNOD E=<SOME_IP_ADDRESS> Copyright 2016 – Boyum IT A/S Page 229/292 B1 Usability Package Manual Macro With the macro function, you are able to simulate and script events in SAP Business One. This work much like many of the preset functions in Function Buttons, but here you have much more freedom and advanced options. The configuration consists of one big text-area, where you enter the macro-commands that form you user defined functionality. Copyright 2016 – Boyum IT A/S Page 230/292 B1 Usability Package Manual The Macro-syntax is as follows: <Command>(<arguments>);… Each command can be on one line or on multiple lines as long as they are separated by a “;” Arguments are entered inside the commands “()”… Some commands do not need any arguments (but still the “()”) while others need more than one argument. Multiple arguments are separated by a “|” char. Online Guide: Understanding Macro Commands Online Guide: Understanding Dynamic Syntax Commands Activate(<menuUid>); or Activate(<@userTable>); or Activate(<@defaultForm>); or Activate(); Description Activate a menuUid to open a new window or do a specific task on the current window (Switch mode, Go to last Line and so on.) Alternative you can pass along a usertable (Indicate this by the @ as prefix) or a default form. If done so the activation will activate the indicated usertables/default form default window normally located under Tools > User-defined windows / Tools > Default Forms You also have the option not to pass along a menuUid/userTable (This is useful when you want to use a command (transfer, set, ect.) on the active window, but that window was not opened by a menuitem (Example: if you open the Activity window using the “New activity” button from BP Master Data, you need an Activate(); after the click of the button before you can set data this new window)). Sample: Activate(2050); will open a new “A/R Sales order” window. Sample: Activate(@ABC_MYUDT); will open the default window for usertable ABC_MYUDT. AutoPressNextPopup(); AutoPressNextPopup($[$item.0. 0]); AutoPressNextPopup($[$item.0. 0]|timeout); Video: Click here to watch more information on how to find menu-uids. Call this command to prepare the system to auto-press the next Popup message that appear in the system. In order to work you need to call this command BEFORE you execute the command that cause the popup. The command can be called with Copyright 2016 – Boyum IT A/S Page 231/292 B1 Usability Package Manual either zero, one or 2 commands. Argument Item Timeout Description On a popup box there can be multiple options (OK/Cancel, Yes/No, Yes/No/Cancel, etc.). If you want the default button you dont need to provide this command and B1UP will choose for you but you you want a certain result you need to provide the Item Uid of the button you wish to press. In order to prevent that misconfigurations and unforseen scenarios cause unintended autopresses if the intended fails, the Command have a built in timerfunction that dismiss an auto-press if the popup does not appear within 5 sec of calling the command. 5 sec is commenly more than enough, but if you have a very long operation you might need to reaise the timeout to a higher value than the default 5 sec. Samples: AutoPressNextPopup(); press next popup's default button if it happen within 5 sec. AutoPressNextPopup($[$2.0.0]); press next popup's button with uid = 2 if it happen within 5 sec. Panelevel(<newPanelevel>); AutoPressNextPopup($[$2.0.0]|10); press next popup's button with uid = 2 if it happen within 10 sec (overridden timeout). Change the current Panelevel of a window. Sample: Panelevel(23); set the current windows panelvel to 23 (all items linked to this Panelevel will automatically be shown). NB: THIS COMMAND IS NEEDED IN ODER TO USE THE CONTENT CREATOR’S NEW FOLDER (TAB) ITEMS. ExecuteSQL(<SQL>); NB: DO NOT USE THIS TO CHANGE TO TO ANOTHER TAB (USE THE CLICK COMMAND TO DO THIS INSTEAD) Executes the SQL. Sample: ExecuteSQL(UPDATE table SET field = 1 WHERE CardCode = ‘$[$4.0.0]’); executes the SQL and updates a field. Click($[$<item>.<col>.<type>]|< Modifier>); WARNING: TAKE CARE WHEN USING THIS COMMAND AS IT DOES NOT FILTER OUT SQL KEYWORDS LIKE DROP Click on an item in current form. Sample: Click($[$103.0.0])will (if placed on a Business Partner Form) Copyright 2016 – Boyum IT A/S Page 232/292 B1 Usability Package Manual (.<row> is optional) press the Activity button. (|.<Modifier> is optional) Tip: instead of specifying the column you can use keyword “RowHeader” to do a click/select the row-header (The gray block in front of the row) Sample: Click($[$38.RowsHeader.0.1]) will on a sales order select the 1st row. TIP: it is possible to use different modifiers with a click. These modifiers (NONE / CTRL / ALT / SHIFT) can for example be used to make multi selects int a table. DoubleClick($[$<item>.<col>.<ty pe>|<Modifier>]); (.<row> is optional) (|.<Modifier> is optional) Focus($[$<item>.<col>.<type>]); (.<row> is optional) Transfer( $[$<item>.<col>.<type>]| $[$<item>.<col>.<type>]); (.<row> is optional) Copyright 2016 – Boyum IT A/S Sample: Click($[$3.ROWSHEADER.0.7]|CTRL) As click but perform a double-click instead. Tip: instead of specifying the column you can use keyword “RowsHeader” to do a doubleclick on the row-header (The gray block in front of the row) Sample: DoubleClick($[$38.RowsHeader.0.1]) will on a sales order doubleclick the 1st row to show the Line details. Set focus on an item in current form Sample: Focus($[$7.0.0])will (if placed on a Business Partner Form) focus the name of the Business Partner. If, in you macro, you open a new window, you can use the Transfer command to copy a value from the initial window to the newly opened window. Page 233/292 B1 Usability Package Manual For this you need 2 arguments: Argument SourceItemUid Description The itemUid of the item/column located on the initial window you want to copy from Alternative you can get the data from a previously stored value using the keyword STORE1 STORE10 (See sample). This is usefull if you wish to transfer data to screens that are more 2 windows aways from the original screen TargetItemUid TIP: YOU CAN MAKE THE VALUE TO SET COME FROM AN SQL-SENTENCE IF YOU START IT WITH SQL:<SQLSTATEMENT> The item/column of the item located on the current window you want to copy to Alternative you can send the data to a store using the keyword STORE1 STORE10. This is usefull if you wish to transfer data to screens that are more 2 windows aways from the original screen Sample 1: Transfer($[$5.0.0]|$[$4.0.0]); will (if activated on a Business Partner window and macro opend a A/R invoice) take the cardcode on the BP and place it on the customer item in the A/R Invoice Sample 2: Transfer($[$5.0.0]|$[$38.1.0]); will (if activated on a Item Master Data window and macro opend a A/R invoice and transferred the vendor) take the itemcode on the Item Master data and place it in the item-matrix on the A/R Invoice Sample 3: Transfer($[$5.0.0]|STORE1); and afterward Transfer(STORE1|$[$38.1.0]); would essentially do the same as Sample 2 but several other windows and commands could happen in between the two commands (Example: on a window you have some data. You will now open a new window and again from that window open yet another window and send the data to this window. Without the store system that would not be possible since it only works on sending data from previous window to current window) Video: Click here to learn more about using transfer commands TransferBack( $[$<item>.<col>.<type>]| $[$<item>.<col>.<type>]); Copyright 2016 – Boyum IT A/S FAQ: When it is possible to read and write data using the dynamic syntax This command works almost the same as the transfer command, but it passes data from the newly opened window back to the window that opened it. Page 234/292 B1 Usability Package Manual (.<row> is optional) Set($[$<item>.<col>.<type>]| <ValueToSet>); (.<row> is optional) This command can be used to set a fixed value to an item. For this you need 2 arguments: Argument Item Description Standard Formatted search style $[$item.column.type] Type 0/String [Default] NUMBER CURRENCY ValueToSet Rules As it is No thousands separators Decimal-separator = . Thousands-separator = , DATE YYYY-MM-DD (2007-04-20 = 20th of April 2007) The value to set. Please see the valuetype how special data should be entered. TIP: YOU CAN USE DYNAMIC DATA FROM THE CURRENT WINDOW IN THE VALUE TO SET USING $[$ITEM.COLUMN.TYPE]. TIP: YOU CAN MAKE THE VALUE TO SET COME FROM AN SQL-SENTENCE IF YOU START IT WITH SQL:<SQLSTATEMENT>. TIP: IF YOU WISH TO INSERT LINEBREAKS PLEASE USE THE <NEWLINE> KEYWORD TO DO IT. Sample1: Set($[$4.0.DATE]|2007-01-31); will set the value of item with uid 4 to 31rd of January 2007 (if item 4 is bound to a Date-field) Sample2: Set($[$38.11.CURRENCY]|1.75); will set the value of matrix with uid 38 of its column 11 to 1.75 Sample3: Set($[$16.0.0]|$[$4.0.0]); will set the value of item 16 with the value of item 4. Sample4: Set($[$16.0.0]|SQL:SELECT CardName FROM OCRD WHERE CardCode = $[$4.0.0]); will set the value of item 16 with the result of the SQL Sample5: SET($[$10.0.DATE]|SQL: SELECT CONVERT(VARCHAR(10), GETDATE(), 120));will set the date in item 10 to todays date. Please Copyright 2016 – Boyum IT A/S Page 235/292 B1 Usability Package Manual note that Convertion of the GetDate to the yyyy-MM-dd format is needed as getdate returns values based on SQL localization/language TIP: IF YOUR SET-COMMAND NEED TO HAVE LINEBREAKS YOU CAN USE THE SPECIAL KEYWORD <NEWLINE> TO SYMBOLISE THIS. Sample6: Set($[$16.0.0]|Line1<NEWLINE>Line2); will set the value of item 16 with the value “Line1”, then a linebreak and then “Line2”. Enable($[$<item>.<col>.<type>]) ; FAQ: When it is possible to read and write data using the dynamic syntax Enable a disable field. Disabled Enabled NB: PLEASE NOT THAT IT IS NOT ALL FIELDS THAT CAN BE ENABLED. ONLY YOUR OWN FIELDS THAT YOU ENABLE Disable($[$<item>.<col>.<type>] ); Disable an enabled field. Disabled Enabled NB: PLEASE NOT THAT IT IS NOT ALL FIELDS THAT CAN BE DISABLED. ONLY YOUR OWN FIELDS THAT YOU DISABLED MassEnable($[$<item1>.<col>.<t ype>]|($[$<item1>.<col>.<type> ]|…|($[$<itemN>.<col>.<type>]) ; Mass enabling of disabled fields (One or more) using the syntax: MassEnable($[$<item1>.<col>.<type>]|($[$<item1>.<col>.<type>]|…|( $[$<itemN>.<col>.<type>]); MassDisable($[$<item1>.<col>.< type>]|($[$<item1>.<col>.<type >]|…|($[$<itemN>.<col>.<type>] ); Show($[$<item>.<col>.<type>]); Hide($[$<item>.<col>.<type>]); MassShow($[$<item1>.<col>.<ty pe>]|($[$<item1>.<col>.<type>] |…|($[$<itemN>.<col>.<type>]); Mass disabling of enabled fields (One or more) using the syntax: MassDisable($[$<item1>.<col>.<type>]|($[$<item1>.<col>.<type>]|…|( $[$<itemN>.<col>.<type>]); MassHide($[$<item1>.<col>.<ty pe>]|($[$<item1>.<col>.<type>] |…|($[$<itemN>.<col>.<type>]); Mass hide visible fields, making them invisible to the user (One or more) using the syntax: MassHide($[$<item1>.<col>.<type>]|($[$<item1>.<col>.<type>]|…|($[ $<itemN>.<col>.<type>]); Clear custom valid values in an item that can hold valid values (Example ClearValidValues($[$<item>.<col >.<type>]) Copyright 2016 – Boyum IT A/S Shows a previously hidden field, making it visible again Hides a visible field, making it invisible to the user. Mass show previously hidden fields, making them visible again (One or more) using the syntax: MassShow($[$<item1>.<col>.<type>]|($[$<item1>.<col>.<type>]|…|($[ $<itemN>.<col>.<type>]); Page 236/292 B1 Usability Package Manual a combobox). NB: THIS CAN NOT BE DONE ON SYSTEM ITEMS SetValidValues(($[$<item>.<col> .<type>]|SQL:<sql>) Sleep(<NumberOfseconds>); Messagebox(<Message>); Sample 1: ClearValidValues($[$MyUID.0.0]); will remove all valid values from the combobox with uid ”MyUid” Set a custom set of valid values in an item that accept valid values (Example a combobox) Sample1: SetValidValues($[$MyUID.0.0]|SQL:SELECT CurrCode, CurrName FROM OCRN); will show all currencies as valid values in combobox “MyUid”. Sample2: SetValidValues($[$MyUID.0.0]|SQL:SELECT '', '' UNION ALL SELECT Code, Name FROM OCRY); will show all countries including an empty value in the top in combobox “MyUid” Will cause the system to sleep the indicated number of seconds before continuing. This is sometime necessary when you simulate an advanced macro and the client cannot“keep up” showing the data. Show a messagebox with indicated text. TIP: YOU CAN USE DYNAMIC DATA FROM THE CURRENT WINDOW IN THE MESSAGE USING $[$ITEM.COLUMN.TYPE] TIP: YOU CAN MAKE THE MESSAGE COME FROM AN SQL-SENTENCE IF YOU START IT WITH SQL:<SQL-STATEMENT> Statusbar(<Message>|<Type>); NB: SINCE THIS WILL RESULT IN A NEEDED USER-ACTION (PRESS OK), THE REST OF THE MACRO AFTER THIS WILL WAIT FOR CLOSING OF THE MESSAGEBOX. Show a statusmessage (lower left corner) You have the option to decide the type of the statusbar: Type E W S N Description An error message (Red) A warning message (Blue) A Success message (Green) A clear message (Will remove any currently shown message) TIP: YOU CAN USE DYNAMIC DATA FROM THE CURRENT WINDOW IN THE MESSAGE USING $[$ITEM.COLUMN.TYPE] TIP: YOU CAN MAKE THE MESSAGE COME FROM AN SQL-SENTENCE IF YOU START IT WITH SQL:<SQL-STATEMENT> Sample1: Statusbar(My error|E) will show an error message (Red). Sample2: Statusbar(Customer $[$5.0.0] have an error|W) will show an Copyright 2016 – Boyum IT A/S Page 237/292 B1 Usability Package Manual warning message where $[$5.0.0] is the value of item 5 (Blue). Sample3: Statusbar(SQL:SELECT ItemCode FROM OITM WHERE CardCode = $[$5.0.0]|W) will show an warning message with the result of the SQL as the value (Blue). Prompt(<2-7 parameters>); NB: A STATUSBAR MESSAGE WILL NOT HOLD UP THE REST OF THE MACRO Show a prompt with 2 or 3 buttons and depending on the users choice run another Universal Function. You can call this in 6 different ways Prompt(<Question>|<UF1>); (If Yes is pressed <UF1> is run, else nothing) Sample: Prompt(Some question?|UF-001); Prompt(<Question>|<UF1>|<UF2>); (If Yes is pressed <UF1> is run, else <UF2> is run) Sample: Prompt(Some question?|UF-001|UF-002); Prompt(<Question>|<B1Caption>|<B2Caption>|<UF1>); (If B1Caption button is pressed <UF1> is run, else nothing) Sample: Prompt(Some question?|B1Caption|B2Caption|UF-001); Prompt(<Question>|<B1Caption>|<B2Caption>|<UF1>|<UF2>); (If B1Caption button is pressed <UF1> is run, else <UF2> is run) Sample: Prompt(Some question?|B1Caption|B2Caption|UF-001|UF-002); Prompt(<Question>|<B1Caption>|<B2Caption>|<B3Caption|<UF1>|<UF2>); Copyright 2016 – Boyum IT A/S Page 238/292 B1 Usability Package Manual (If B1Caption button is pressed <UF1> is run, If B2Caption is pressed <UF2> is run, else nothing) Sample: Prompt(Some question?|B1Caption|B2Caption|B3Caption|UF-001|UF-002); Prompt(<Question>|<B1Caption>|<B2Caption>|<B3Caption|<UF1>|<UF2>|<UF3>); (If B1Caption button is pressed <UF1> is run, If B2Caption is pressed <UF2> is run, else nothing) Sample: Prompt(Some question?|B1Caption|B2Caption|B3Caption|UF-001|UF-002); WriteToEventLog(message) WriteToEventLog(message|Type ) NB: PLEASE NOTE THAT THE STORE SYSTEM DOES NOT WORK ACROSS THE DIFFERENT UNIVERSAL FUNCTION USED. Write a message to the currently logged in users Eventlog (located in %appdata%\Boyum IT\BOY_USABILITY\EventLogs) As type you can either specify E = Error, W = Warning or I = Information (If you do not provide a type it will be treated as Information). Sample: WriteToEventLog(Some Error have occurred|E); Sample: WriteToEventLog(My Message with $[$5.0.0] with keword in it); UF(<uid of another universal function); UserQuery(<queryId>) Sample: WriteToEventLog(SQL: SELECT 'Message built from SQL'); This command allows you within a Macro to launch another universal function. Use this if you need to perform two or more universal functions on a specific event. Enables you to activate a user query in the database. (Use this for the user queries instead of the User defined menu because the menuid of a userquery is not static) Since there is no place in the client where you can find the true id of a userquery you will need to use the following SQL sentence to find the key (Called Internal Key (Fieldname: IntrnalKey)). Uppercase($[$<item>.<col>.<typ e>]); (.<row> is optional) SELECT T0.IntrnalKey, T0.QName, T1.CatName FROM OUQR T0 JOIN OQCN T1 ON T0.QCategory = T1.CategoryId WHERE T0.QCategory!=-2 ORDER BY T1.CatName, T0.QName Change the casing of a string in an edittext or a column (“my string” >> “MY STRING”) Sample:Uppercase($[$14.0.0]); Would change Customer reference Copyright 2016 – Boyum IT A/S Page 239/292 B1 Usability Package Manual number to uppercase on a sales order Lowercase($[$<item>.<col>.<typ e>]); (.<row> is optional) Firstcase($[$<item>.<col>.<type >]); (.<row> is optional) Blank($[$<item>.<col>.<type>]); (.<row> is optional) Sample: Uppercase($[$38.163.0]); Would change Free text of the item matrix on a sales order As Uppercase but send data to lowercase instead (“MY STRING” >> “my string”) As Uppercase but send data to uppercase for first character of each word instead (“my STRING” >> “My String”) Blanks the field indicated (Blank = a textfield receives an empty value). NB: YOU CANNOT BLANK A FIELD IF IT IS NOT ALLOWED BY THE SAP BUSINESS LOGIC (EXAMPLE: IT IS NOT POSSIBLE TO BLANK THE QUANTITY ON A DOCUMENT LINE SINCE IT IS NOT ALLOWED TO HAVE NO VALUE). ALSO IT IS NOT POSSIBLE TO BLANK A COMBOBOX OR CHECKBOX SINCE THESE ARE CONSIDERED ALWAYS TO HAVE A VALUE (USE THE SET COMMAND INSTEAD) ForeColor($[$<item>.<col>.<typ e>]|COLORNAME); Enables you to set the forecolor (text-color) of an item using a colorname. Below shows the supported color-names. AliceBlue, AntiqueWhite, Aqua, Aquamarine, Azure, Beige, Bisque, Black, BlanchedAlmond, Blue, BlueViolet, Brown, BurlyWood, CadetBlue, Chartreuse, Chocolate, Coral, CornflowerBlue, Cornsilk, Crimson, Cyan, DarkBlue, DarkCyan, DarkGoldenrod, DarkGray, DarkGreen, DarkKhaki, DarkMagenta, DarkOliveGreen, DarkOrange, DarkOrchid, DarkRed, DarkSalmon, DarkSeaGreen, DarkSlateBlue, DarkSlateGray, DarkTurquoise, DarkViolet, DeepPink, DeepSkyBlue, DimGray, DodgerBlue, Firebrick, FloralWhite, ForestGreen,Fuchsia, Gainsboro, GhostWhite, Gold, Goldenrod, Gray, Green, GreenYellow, Honeydew, HotPink, HotTrack, IndianRed, Indigo, Ivory, Khaki, Lavender, LavenderBlush, LawnGreen, LemonChiffon, LightBlue, LightCoral, LightCyan, LightGoldenrodYellow, LightGray, LightGreen, LightPink, LightSalmon, LightSeaGreen, LightSkyBlue, LightSlateGray, LightSteelBlue, LightYellow, Lime, LimeGreen, Linen, Magenta, Maroon, MediumAquamarine, MediumBlue, MediumOrchid, MediumPurple, MediumSeaGreen, MediumSlateBlue, MediumSpringGreen, MediumTurquoise, MediumVioletRed, MidnightBlue, MintCream, MistyRose, Moccasin, NavajoWhite, Navy, OldLace, Olive, OliveDrab, Orange, OrangeRed, Orchid, PaleGoldenrod, PaleGreen, PaleTurquoise, PaleVioletRed, PapayaWhip, PeachPuff, Peru, Pink, Plum, PowderBlue, Purple, Red, RosyBrown, RoyalBlue, SaddleBrown, Salmon, SandyBrown, SeaGreen, SeaShell, Sienna, Silver, SkyBlue, SlateBlue, SlateGray, Snow, SpringGreen, SteelBlue, Tan, Teal, Thistle, Tomato, Turquoise, Violet, Wheat, White, WhiteSmoke, Yellow, YellowGreen TIP: YOU CAN ALSO USE SPECIAL COLORNAME = “DISABLE” TO COLOR IN SAP’S DISABLED COLOR (LIGHT BLUE) Sample: FORECOLOR($[$4.0.0]|RED); will set the forecolor of item 4 to red on the current form. NB: NOT ALL GUI ELELMENTS CAN APPLY COLOR. THE FOLLOWING LIST SHOW WHAT CAN BE COLORED AND WHAT CANNOT GUI Item type Button Checkbox Combobox Copyright 2016 – Boyum IT A/S Fore color No (Yes) [Only Code render mode due to SDK bug] Yes Backcolor No No Yes Page 240/292 B1 Usability Package Manual BackColor($[$<item>.<col>.<typ e>]|COLORNAME); Block(); Close(); CloseParent() SetFormTitle(<new title>) Freeze(); EditText Yes Yes Folder (Tab) No No Label Yes Yes LinkedButton No No (Golden arrow) Picture No No Rectangle No No Textarea No No Matrix Columns Yes Yes Matrix Rows No No Matrix Cells No No As Forecolor but instead set the background-color of the item. Sample: BACKCOLOR($[$4.0.0]|Blue); will set the backcolor of item 4 to blue on the current form. Blocks the SAP Event in progress. The rest of the macro will be executed. Closes the current window. If you during a macro open another form using the activate commands you have the option to Close the form that opened it by calling this CloseParent command. If you have not opened a form calling this command will do the same as the Close command. Set the title of the current form. Sample: SetFormTitle(My new window title); You can use this command to block in other commands and have them run faster. NB NOT ALL OPERATIONS SUPPORT FREEZE/UNFREEZE AND IF YOU FORGET TO CALL FREEZE OR A PREVIOUS COMMAND FAILS YOU MIGHT END UP WITH A UNRESPONSIVE WINDOW Sample: The following sample set a value in both item 16 and item 14. Before setting Freeze is called and after UnFreeze is called. This cause the setting of the two values to be faster and the end user will not see the screen flickering Freeze(); Set($[$16.0.0]|TEST1); Set($[$14.0.0]|TEST2); UnFreeze(); UnFreeze(); B1P&D(<config-no.>|<action>); Copyright 2016 – Boyum IT A/S Video: Learn more about freeze/unfreeze Use this command to unfreeze a frozen form. NB: IN ORDER TO USE THIS FEATURE IT IS REQUIRED THAT THE USER HAVE A LICENSE Page 241/292 B1 Usability Package Manual TO B1 PRINT AND DELIVERY This command allows you to initiate a B1 Print and Delivery action. First parameter is the number of the B1 Print and Delivery report configurations you wish to activate. Second parameter needed is the type of action you wish to activate you can choose between Action Preview Print Email PDF Fax Word Excel ADD DOCUMENTPRINT Description Execute the configurations Print Preview action Execute the configurations Print action Execute the configurations Email action Execute the configurations PDF action Execute the configurations Fax action Execute the configurations Word action Execute the configurations Excel action Execute the configurations Add document action Execute the configurations document Printing action Sample: B1P&D(1|EMAIL); will go to configuration 1 and launch the email button action (In this case the RA-D004 Report Action) PopFormStack For more information in B1 Print and Delivery Please see it’s manual. This command can be used if you open multiple windows in a macro but need to shift the parent/child relationship one back. Example: In a macro you are on a Sales order and open a Purchase order. From the purchase order you also open a new window and do some macro logic. Now after this logic you wish the sales order as parent and purchase order as child (at the moment the 3rd window is child and purchase order is parent). If you at this point in your macro call the PopFormStack command you can shift the forms back getting the correct parent /child relationship as before the 3rd window opened. Copyright 2016 – Boyum IT A/S Page 242/292 B1 Usability Package Manual SendKeys(<dataToSend>); Simulate keystrokes on the keyboard. Warning: You should only use SendKeys if everything else fails as almost actions can be done without SendKeys (More info here). The reason SendKeys are not optimal is it depends on the machine speed and what works on a fast machine might not work on a slow. The plus sign (+), caret (^), percentage sign (%), tilde (~), and parentheses ( ) have special meanings in SendKeys. To send one of these characters, enclose it within braces ( {}). For example, to send the plus sign, use {+}. Brackets ([ ]) have no special meaning in SendKeys, but you must enclose them in braces. In other applications, brackets do have a special meaning that may be significant when dynamic data exchange (DDE) occurs. To specify brace characters, use {{} and {}}. To send characters that arenot displayed when you press a key, such as ENTER or TAB, and keys that represent actions rather than characters, use the codes shown below: Key Backspace Break Caps Lock Delete Down Arrow End Enter Esc Help Home Insert Left Arrow Num Lock Page Down Page Up Right Arrow Scroll Lock Tab Up Arrow F1, F2, F3... Code {BACKSPACE}, {BS}, or {BKSP} {BREAK} {CAPSLOCK} {DELETE} or {DEL} {DOWN} {END} {ENTER} {ESC} {HELP} {HOME} {INSERT} or {INS} {LEFT} {NUMLOCk} {PGDN} {PGUP} {RIGHT} {SCROLLLOCK} {TAB} {UP} {F1}, {F2}, {F3}... To specify key combinations with any of the SHIFT, CTRL, and ALT keys, precede the key code with one or more of the following codes: Key Shift Ctrl Copyright 2016 – Boyum IT A/S Code {+} {^} Page 243/292 B1 Usability Package Manual Alt {%} To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. For example, to specify holding down SHIFT while E and C are pressed, use " +(EC)". To specify holding down SHIFT, while E is pressed, followed by C without SHIFT, use " +EC". Sample: SendKeys(abc); will enter abc in current field, SendKeys(^P); will initiate the print-dialog while SendKeys(+{F2}) will activate current item's formatted search. TIP: YOU CAN USE DYNAMIC DATA FROM THE CURRENT WINDOW IN THE VALUE TO SET USING $[$ITEM.COLUMN.TYPE]. IF, ELSEIF, ELSE (Conditional commands) TIP: YOU CAN MAKE THE VALUE TO SET COME FROM AN SQL-SENTENCE IF YOU START IT WITH SQL:<SQL-STATEMENT>. Can be used to only execute macro commands if a specific expression (Condition) is fulfilled. IF (expression) BEGIN (statement) END ELSEIF (expression) BEGIN (statement) END ELSE BEGIN (do if nothing before is valid) END When the macro meets an If, it expects a boolean condition - for example: $[$8.0.NUMBER] > 0, which means "the item 8 on current form contains a number that is greater than zero" - and evaluates that condition. If the condition is true, the statements following the BEGIN are executed. Otherwise, the execution check the ElseIf block to see if the expression is true(optional). If neither If or ElseIf is true the Else block will get executed (optional). WHILE (Conditional command) Copyright 2016 – Boyum IT A/S FOR MORE INFORMATION ON HOW TO USE IF/ELSEIF/ELSE PLEASE SEE THE GUIDE “UNDERSTANDING MACRO CONDITIONAL COMMANDS (INCLUDED IN THE B1UP DOWNLOAD UNDER THE DOCUMENTATION FOLDER)” Can be used to execute macro commands repeatedly if a specific Page 244/292 B1 Usability Package Manual expression (Condition) is fulfilled. WHILE (expression) BEGIN (statement) END When the macro meets an while, it expects a boolean condition - for example: $[$8.0.NUMBER] > 0, which means "the item 8 on current form contains a number that is greater than zero" - and evaluates that condition to either true of false. The meaning of a while statement is simple. It tells Macro to execute the statement repeatedly, as long as the while expression evaluates to true. The value of the expression is checked each time at the beginning of the loop, so even if this value changes during the execution of the statement, execution will not stop until the end of the iteration. Sometimes, if the while expression evaluates to false from the very beginning, the statement won't even be run once. SQL('SELECT * FROM TABLE'); (Conditional helper command) FOR MORE INFORMATION ON HOW TO USE WHILE PLEASE SEE THE GUIDE “UNDERSTANDING MACRO CONDITIONAL COMMANDS” You can use this command together with the if/while commands to evaluate on results from the database by storing the result in a store. Example: @STORE1 = SQL('SELECT CardType FROM OCRD WHERE CardCode = $[$5.0.0]'); IF (@STORE1 = 'S') BEGIN (statement) END NOTE: CANNOT BE USED AS INPUT TO A MACRO COMMAND – ONLY DESIGNED FOR USE WITH THE CONDITIONAL COMMANDS LEN('String to count'); (Conditional helper command) You can use this command to get the length of a string; you can use a STORE or the dynamic syntax as input. NOTE: CANNOT BE USED AS INPUT TO A MACRO COMMAND – ONLY DESIGNED FOR USE WITH THE CONDITIONAL COMMANDS GETDATE(); (Conditional helper command) You can use this command to get the current data in yyyy-MM-dd format. Example: @STORE1 = GETDATE(); IF(@STORE1 > '2012-31-12') BEGIN (statement) END NOTE: CANNOT BE USED AS INPUT TO A MACRO COMMAND – ONLY DESIGNED FOR USE WITH THE CONDITIONAL COMMANDS SortColumn($[$<item>.<col>.<0 >]| <ValueToSet>); Copyright 2016 – Boyum IT A/S Sort column on a Matrix or Grid in current form. Default is ascending order. Page 245/292 B1 Usability Package Manual ValueToSet ASC DESC Openform(ObjectType|PrimaryK ey); Description Sorts the column items in ascending order Sorts the column items in decending order Sample: SortColumn($[$38.1.0]|DESC);will sort the Item No. column on sales order. Can open most forms given a Objecttype and primary key. Sample: OpenForm(13|1); opens the A/R Invoice with DocEntry 1. Sample: OpenForm(13|$[$45.0.0]) will open A/R Invoice with the value in field 45 of the active form Sample: OpenForm(13|SQL: SELECT '123') will open A/R Invoice with the primary key 123 NB: REQUIRES PRIMARY KEY IS KNOW. (EXAMPLE DOCENTRY ON A/R INVOICE). IT IS NOT POSSIBLE TO JUST REFERENCE THE DOCUMENT NUMBER TIP: IF YOU WANT TO TEMPORARILY NOT RUN PART OF A MACRO YOU CAN COMMENT OUT THE COMMANDS BY USING //<COMMAND>. THE COMMAND CAN ALSO BE USED TO DOCUMENT YOUR MACRO IF PLACED AFTER A COMMAND Sample of a comment (Here command 4 – Set marked with // and will not be executed) Activate (2053); //Activate A/R Invoice Activate(1281); //Switch To Find Mode Transfer($[$5.0.0]|$[$4.0.0]|STRING); //transfer ItemCode //Set($[$[8.0.0]|*|STRING); //Set Star in Number to Do a Search All Click(1); //Click on the find Button NB: MACROS CAN ONLY WORK ON THE MAIN WINDOW OF SAP AN CANNOT AFFECT DATA ON THE UDF SIDEBAR. YOU CAN HOWEVER READ VALUES FROM THE SIDEBAR USING THE $[<TABLE>.<FIELD>.<TYPE>] SYNTAX Macro Wizard In order to help you help you with the macro you can if you want use the Macro wizard. Just below a macro-field is a list of all commands you can use. Copyright 2016 – Boyum IT A/S Page 246/292 B1 Usability Package Manual Once you have the command you want you can either use the Quick Inser button to insert the command in its raw form and fill out the missing part or press the Wizard button. If you press the wizard button the following window appear. Copyright 2016 – Boyum IT A/S Page 247/292 B1 Usability Package Manual The wizard will quickly describe the commands function and ask you for the needed parameters for. As you switch between different commands and inser them you will see that various commands require different set of parameters and the wizard will help you choose each of them. Editor The “Open editor” button opens a more advanced editor that has syntax highlighting, undo/redo and extended information about each macro command when clicking on the command. The editor has auto completion that can be activated using “Ctrl + SPACE” Copyright 2016 – Boyum IT A/S Page 248/292 B1 Usability Package Manual Debugger Enabling debug mode will attach a debugger when the macro is about to be executed - this can be a valuable tool when trying to figure out why a macro behaves as it does. The debugger enables you to step through the macro lines and check if they behave as expected. Debug mode should only be enabled when trying to locate bugs or check that the macro behaves as expected. Copyright 2016 – Boyum IT A/S Page 249/292 B1 Usability Package Manual The debugger shows the macro, a log window and a view of the stores and what they contain at the current time. When the debug window opens it loads the macro and prepare for running it. When the parsing is done you can run the entire macro by pressing the button again or you can step through the macro line by line using the . When stepping trough the macro you can validate that the if/while commands behaves as expected and you can see what each command does in SAP. The button can be used to stop execution of the macro. Line Loop NB: THIS UNIVERSAL FUNCTION IS QUITE COMPLEX AND REQUIRED EXPERT KNOWLEDGE IN USING THE B1 VALIDATION SYSTEM AND UNIVERSAL FUNCTION With the Line Loop Universal Function you are able to work more advanced on line level, by adding line by line validation and executing other Universal Functions with data from each line (Allowing you to manipulate and transfer multiple lines) Copyright 2016 – Boyum IT A/S Page 250/292 B1 Usability Package Manual You should see Line Loop as a secondary step to a header level event (from a Function button or B1 Validation configuration) that for each line in a matrix is allowed to execute a Universal Function as if the event happened on that line. Furthermore for each line pass you can apply a condition (optional) if you actually wish to react to this line and also for each line collect data that should be reacted to after all lines have been looped. The following high-level Flowchart describes the functionality for better understanding No Header level event More lines? Yes Assign new line as the current and apply validation Yes Execute Final result Universal Function Work with line? Yes Collect Final result data (If any) Execute line-level Universal Functions (If any) No Execute final Result? No end NB: PLEASE NOTE THAT LINE LOOP DOES NOT SUPPORT WORKING WITH BOM ITEMS ON SALES AND PURCHASE DOCUMENTS. Data Description Copyright 2016 – Boyum IT A/S Page 251/292 B1 Usability Package Manual Line Item UID First thing you need to define is the Item UID of the matrix that holds the lines that you wish to loop. Samples: - The matrix on a Sales order have an item-uid = 38 so we write that as the item UID o o - Ignore Last Line TIP: ALL ITEM-BASED SALES AND PURCHASE DOCUMENTS HAVE 38 IS ITEM-UID AND 39 FOR THE SERVICE-BASED DOCUMENTS The Payment methods matrix on Business Partner Master data have UID = 217 as we can see here in this screenshot o The ‘ignore last row’ checkbox is created because SAP Business One always leaves an extra line for new data on sales and purchase documents, and the last row needs to be ignored here (because it does not contain any user-data). Remove only the check if you work with a matrix that does not leave such extra lines (An example is Payment Method Matrix on the Copyright 2016 – Boyum IT A/S Page 252/292 B1 Usability Package Manual Ignore textlines and sub-totals Freeze during line loop Direction No condition BP Master Data shown above). This checkbox determine if you on sales and purchase documents should ignore text-lines and sub-totals (these are by default not supported). On other window types this option is ignored. This checkbox determine if the main window (and others that might be opened by macros) should be frozen to avoid flickering when executing the line loop. This option allows you to choose the direction of the line loop. Example if you have 5 lines and choose First to last it will go 1, 2, 3, 4, 5 while if you choose Last to First it will go 5, 4, 3, 2, 1. The most common scenario is First to Last, but Last to first especially become handy when you wish to remove lines (If you run First to Last and on the fly removed in the list you loop some items would be skipped). The Line Loop functionality gives you the option to work with all lines in the defined matrix or only the ones that meet certain criteria. If you wish to work with all lines you should choose the ”No condition” option and fill you functionality into the fields below. Data Description First pass UF The First pass Universal Function can define with a Universal Function that should be executed only when the very first line is found (after that it is ignored). The reason for this option is (Optional) created in order to have the following scenario and others: You wish to make a transfer of line data from one to another screen. For that you will need two things. First you need to open the new window and send some header data perhaps and secondary you need to send the line-data (for all lines). Line UF (Optional) Final result value (Optional) As you can see we need to open a window, but it only makes sense to open the window once, and that is what the First pass UF is used for. If you read the explanation about the First Pass UF, The line UF gives itself that it now need place all the line-transferring in the Line UF… However you can also use Line UF by itself without a First Pass UF (When you just want to manipulate line data on current window) Working on each line is not all about only executing Universal Functions on the line. Line Loop have a built in Final Result system in which you can collect data about the line… The collected data can then be used for a final result after all lines have been looped. An example of this could be that you wish to find the total sum of total-price field and if it exceed a certain amount something special should happen. In this field you can use static text or the normal dynamic syntax $[$item.col.type] and the SQL:<sql to select>… Furthermore this Copyright 2016 – Boyum IT A/S Page 253/292 B1 Usability Package Manual field can work with a special keyword $[LINNUM] that allows you to refer to the current line-num. TIP: IF YOU WISH TO INSERT LINEBREAKS PLEASE USE THE <NEWLINE> KEYWORD TO DO IT. Final result type (see the Final result section for more). Here you can control how the final result value should be applied to the perhaps already existing result. The options are as follows: Type Append Ignore if previous value exist Overwrite Count Copyright 2016 – Boyum IT A/S Description Append simply append text to the previous result Samples: - If you meet the values “A”, “B” and “C” on 3 lines append will result in the result “[A] [B] [C]” - If you have 2 lines and use the value “Error on line $[LINNUM]” you will get the result “[Error on line 1] [Error on line 2]”. With this option the value from this line is only set if the previous result is empty, else it is ignored Samples: - If value “A” is met and previous value is empty, the new value is set to “A” - If value “A” is met but the previous value is already “B”, the value remains “B” With this option you always overwrite the previous result. Samples: - If value “A” is met and the previous value is “B”, it is overwritten and end with the result “A” Count simply ignores the final result value (although you need to have a dummy value) and increment the result by one each time it is hit Page 254/292 B1 Usability Package Manual Min Max Sum SQL condition Samples: - If a result is hit 3 times, you get a result of 3 With this option you can among all lines find the minimum value. Samples: - Setting type as Min and the value to $[$38.11.NUMBER] that is the Qty on a document, you will end with a result that is the value of the line with the lowest quantity Max works the same as Min but will instead give you the highest value. With this option you can summarize all columns. Samples: - Setting type as Sum and the value to $[$38.11.NUMBER] that is the Qty on a document, you will end with a result that is the total value the lines. The Line Loop functionality gives you the option to work with all lines in the defined matrix or only the ones that meet certain criteria. If you wish to work with only certain lines you should use the text-area here to define an SQL that should be executed for the line. Most cases will have an IF/ELSE or a CASE/WHEN Structure that in the end provide no or one result back. This result will then be validated against what line in the below matrix react on this result. TIP: IN ESSENSE, THIS WORK EXACTLY THE SAME AS SQL-CONDITION ON B1 VALIDATION CONFIGURATION, SO IF YOU A FIMILIAR WITH THAT YOU SHOULD EASILY UNDERSTAND THIS Sample 1: Here we loop all sales order lines but we only wish to react if the lines has an item-code = Freight Copyright 2016 – Boyum IT A/S Page 255/292 B1 Usability Package Manual Sample 2: Here we test if a line is an item line ($[$38.1.0] is not empty) and the if the price is zero. Sample 3: Here we test if the payment methods matrix have it’s row checked. The samples here all only have one result but you are allowed to have multiple result-lines if needed. Once the result is found the functionality of that line is executed as described below. Column Result Copyright 2016 – Boyum IT A/S Description Here you enter the result value you wish to react to. As an Page 256/292 B1 Usability Package Manual example in sample 1 the result value is the word PRESENT, and this line will only get executed if the SQL result in this value. NB: SHOULD YOU HAVE TWO LINES THAT HAVE THE SAME RESULT VALUE IT IS ONLY THE FIRST THAT WILL BE EXECUTED First pass UF (Optional) The First pass Universal Function can defined with a Universal Function that should be executed only when the very first line is found (after that it is ignored). The reason for this option is created in order to have the following scenario and others: You wish to make a transfer of line data from one to another screen. For that you will need two things. First you need to open the new window and send some header data perhaps and secondary you need to send the line-data (for all lines). Line UF (Optional) Final result value (Optional) As you can see we need to open a window, but it only makes sense to open the window once, and that is what the First pass UF is used for. If you read the explanation about the First Pass UF, The line UF gives itself that it now need place all the line-transferring in the Line UF… However you can also use Line UF by itself without a First Pass UF (When you just want to manipulate line data on current window) Working on each line is not all about only executing Universal Functions on the line. Line Loop have a built in Final Result system in which you can collect data about the line… The collected data can then be used for a final result after all lines have been looped. An example of this could be that you wish to find the total sum of total-price field and if it exceed a certain amount something special should happen. In this field you can use static text or the normal dynamic syntax $[$item.col.type] and the SQL:<sql to select>… Furthermore this field can work with a special keyword $[LINNUM] that allows you to refer to the current line-num. TIP: IF YOU WISH TO INSERT LINEBREAKS PLEASE USE THE <NEWLINE> KEYWORD TO DO IT. Final result type Copyright 2016 – Boyum IT A/S (see the Final result section for more). Here you can control how the final result value should be applied to the perhaps already existing result. The options are as follows: Page 257/292 B1 Usability Package Manual Type Append Ignore if previous value exist Overwrite Count Min Description Append simply append text to the previous result Samples: - If you meet the values “A”, “B” and “C” on 3 lines append will result in the result “[A] [B] [C]” - If you have 2 lines and use the value “Error on line $[LINNUM]” you will get the result “[Error on line 1] [Error on line 2]”. With this option the value from this line is only set if the previous result is empty, else it is ignored Samples: - If value “A” is met and previous value is empty, the new value is set to “A” - If value “A” is met but the previous value is already “B”, the value remains “B” With this option you always overwrite the previous result. Samples: - If value “A” is met and the previous value is “B”, it is overwritten and end with the result “A” Count simply ignores the final result value (although you need to have a dummy value) and increment the result by one each time it is hit Samples: - If a result is hit 3 times, you get a result of 3 With this option you can among all lines find the minimum value. Samples: - Setting type as Min and the value to $[$38.11.NUMBER] Copyright 2016 – Boyum IT A/S Page 258/292 B1 Usability Package Manual Max Sum Break Loop that is the Qty on a document, you will end with a result that is the value of the line with the lowest quantity Max works the same as Min but will instead give you the highest value. With this option you can summarize all columns. Samples: - Setting type as Sum and the value to $[$38.11.NUMBER] that is the Qty on a document, you will end with a result that is the total value the lines. The break loop option allows you to end the check of lines before all lines have been checked. This is handy as an example if you wish to use the Line Loop to test if a specific item or value is present, and as soon as you have validated that it is pointless to test the additional lines. Sample: If you have 20 lines in a sales order and you need to test if a item with item-code = “Freight” is present to validate if it is OK to add the document. Imagine that the freight item is on line 3 if would be pointless to check the remaining 17 lines (because our requirement is already met). Here it would makes sense to set the Break Loop and gain performance in not needing to check the rest of the lines. NB: EVEN IF YOU BREAK THE LOOP THE FINAL RESULT OPTION WILL STILL BE EXECUTED Final Result (Optional) NB: IF A SQL RESULT IS ONE NOT IN THE RESULT-OPTION THE LINE IS SIMPLY IGNORED AND MOVES TO THE NEXT LINE. Once all lines have been looped or a break loop is met, the Line Loop goes into is final phase of the Final result validation. One or more final result conditions can be executed using the data below. Column Condition Description First thing in a final result is if we actually want a final result at all. It can also happen that we only want a final result if our final result value has a specific value, and here you set that condition. You have the following options: Option Copyright 2016 – Boyum IT A/S Description Page 259/292 B1 Usability Package Manual Do not execute Always execute Value Type No Final Result should be executed No matter what the value of the result is, execute the function Execute if Only execute the final result if the result condition is met fits the condition set by the following 3 fields (see below) Execute if not Only execute the final result if the final empty result value have a value. NB: ONLY USE IF CONDITION IS SET TO “EXECUTE IF CONDITION IS MET” Compare type Here you choose if the result should be treated as a string or a number. NB: ONLY USE IF CONDITION IS SET TO “EXECUTE IF CONDITION IS MET” Compare value Here you chose how the result should be compared (Equal is default) NB: ONLY USE IF CONDITION IS SET TO “EXECUTE IF CONDITION IS MET” Here you set the value to compare against. Universal Function In this field you can use static text or the normal dynamic syntax $[$item.col.type] and the SQL:<sql to select>… If the lines Condition has evaluated that the final result should be executed, it now execute the entered Universal Function. This universal Function can be any of the other types (though some of them do not make that much sense). IMPORTANT: To make the tie complete the other Universal Functions can if they are executed as part of the Final Result use a special keyword containing the result of the lineloop – You can use: - $[LLRESULT.STRING] o To get the line loop result as string $[LLRESULT.NUMBER] o To get the line loop result as a number Sample: Type the following in a Universal Function of type message to show a message containing the line loop result. If the line loop result was “[Line 3] [Line 4] [Line5]” you can write The following lines had errors: $[LLRESULT.STRING]. Please correct this and try again. Will result in the message: The following lines had errors: “[Line 3] [Line 4] [Line5]. Please correct this and try again. Copyright 2016 – Boyum IT A/S Page 260/292 B1 Usability Package Manual Dynamic Code (.NET SDK) WARNING: THIS UNIVERSAL FUNCTION TYPE WILL ONLY BE VISIBLE IF YOU HAVE ACTIVATED THE “ADVANCED DEVELOPMENT OPTION” IN THE MAIN CONFIGURATION. ALSO PLEASE BE AWARE THAT ALL SUPPORT FOR DYNAMIC CODE ARE CONSIDERED PREMIUM (PAID) SUPPORT BY BOYUM IT A/S. With Dynamic Code developers working with the B1 Usability Package are given the option to create Universal Function functionality using the Microsoft .NET Framework. Field Code textarea Description The code field allows you to write .NET code (Either C# or VB.NET) and have it executed when the Universal function is called. From the code you have access to 3 variables: Variable company application form Description This is a company-object (DI-API) connected to the current database. From this object you will be able to add/update Business objects. NB: YOU SHOULD NEVER DISCONNECT THIS COMPANY OBJECT This is an application-object (UI-API) connected to the current client. From this object you will be able to manipulate the client data (forms and menus). This is the current form as an object. You can use it to get information about the forms data. TIP: IF YOU HAVE SO MUCH CODE THAT IT CAN’T BE IN THE TEXT-AREA YOU CAN WRITE: CODEFROMFILE(<PATH TO CODE-FILE>) THIS WILL RESULT THAT THE RAW DATA IN THE FILE WILL BE LOADED AS THE CODE TO EXECUTE. Copyright 2016 – Boyum IT A/S Page 261/292 B1 Usability Package Manual References In this field you have the option to add dll-references to the code. As default the following references are already included: - System.dll Interop.SAPbobsCOM.dll Interop.SAPbouiCOM.dll Using/Imports In this field you can specify what usings (C#) / Imports (VB.NET) you wish to have for the code. As default the following usings/imports are already included: Language Test compile code System SAPbobsCOM SAPbouiCOM Here you choose the language the code written is in. You can either write C# or VB.NET code. Pressing this button will try to compile (but not run) your code. This is handy for checking if your code can compile (does not contain syntax errors) Universal Function File Exporter (UFFE) With UFFE you are able to export data from SAP to any format using either C#/SQL or a mix. You can launch UFFE as a normal universal function or you can run it on a schedule. UFFE supports two export types: Single and Batch. The single export type will be described first. When creating an export you will need a few things. Copyright 2016 – Boyum IT A/S Page 262/292 B1 Usability Package Manual 1. 2. 3. 4. Field Export type Body A template (how the file should look) Some SQL/C# to get header data Some SQL/C# to get line data Optionally a way to mark a document/what you export as done using SQL or C#. Description Defines if you are going to use single or batch The template field. This is where you define how the generated file should look. Example of a simple xml format. <?xml version="1.0" encoding="utf-8"?> <Invoice> <InvoiceNumber>@Get('DocNum')</InvoiceNumber> <CustomerCode>@Get('CardCode')</CustomerCode> <CustomerName>@Get('CardName')</CustomerName> <InvoiceLines> #foreach(@line in @DocumentLines) #BEGIN <Line Item="@line.Get('ItemCode')" Quantity="@line.Get('Quantity')"/> #END </InvoiceLines> </Invoice> And it’s result (given invoice is number 373 to Earthshaker Corporation) In this case we have a very simple xml format but it could be any kind of format. The @Get('x') are the keywords that are going to be replaced with header data. The @x.Get('x') is the syntax for inserting line data. The syntax for looping trough line data and inserting data is: #foreach(@xLine in @xLines) #BEGIN <Tag Id="@xLine.Get('x')" Value="@xLine.Get('x')"/> #END NOTE: If you select XML as file type UFFE will automatically XML encode strings when using @Get('x') Copyright 2016 – Boyum IT A/S Page 263/292 B1 Usability Package Manual NOTE: You are also able to access header data in a foreach loop by using the header syntax. NOTE: You can substring a value by using the syntax: @Get('x',5) where 5 is the max length of the string. Example @Get('CardName',30) would only give you the first 30 characters of the CardName. NOTE: You can use the keyword @GetRaw('x') to get the raw value and you can use @GetXmlEncoded('x') to get the an XML encoded string. They also accept a second parameter for substring. NOTE: You can use the keyword $[TAB] to create at txt Tabulator and $[NEWLINE] to create a line break if needed. NOTE: You have the option to use IF/ELSEIF/ELSE in your UFFE. Example: #foreach(@bp in @BusinessPartners) #BEGIN #IF(@bp.Get('CardCode') = 'C20000') #BEGIN <BusinessPartnerSpecial>@bp.Get('CardName')</BusinessPartnerSpecial> #END #ELSEIF(@bp.Get('CardCode') = 'C23900') #BEGIN <BusinessPartnerSpecial2>@bp.Get('CardName')</BusinessPartnerSpecial2> #END #ELSE #BEGIN <BusinessPartner>@bp.Get('CardName')</BusinessPartner> #END #END Body SQL Source This is where you pull out your header data using SQL. To fill out the template above you would write: SELECT DocNum, CardCode, CardName FROM OINV WHERE DocEntry = DocKey@ DocKey@ is a keyword that will give you the id of the primary key for the type you are working with. For example if you are launching UFFE from a document using a function button it will give you DocEntry for the document. TIP: YOU CAN USE SPECIAL KEYWORD <NEW SQL> IF YOU WISH TO HAVE MORE SQL SENTENCES AS BODY SOURCE. Example: SELECT DocNum, CardCode, CardName FROM OINV WHERE DocEntry = DocKey@ <NEW SQL> SELECT CompnyName FROM OADM Will give you keywords “DocNum”, “CardCode”, “CardName” and “CompnyName” Body C# Source NOTE: The names of the fields you pull using SQL/C# is what you can write @fieldName to get in the template. So in this case I pull out CardCode so I write @CardCode to add it into my template. It is also possible to pull out header data using C#. When using C# you have full access to the SAP SDK and you will be expected to add keys with a value to a collection of keys. You will receive a parameter called of type HeaderSourceDataParamters where you can then Copyright 2016 – Boyum IT A/S Page 264/292 B1 Usability Package Manual add new keys using: paramters.SourceData.Add(”key”, value); UFFE accept values of DateTime, Int, String and Double. To pull the data you also get the DocKey@ and it is exposed on paramters.Key as a property. NOTE: You can use both SQL and C# at the same time but you cannot have the same keyword returned from both SQL and C# as the keyword is unique. C#: Line sources Line sources are where you define lines that can later be looped upon in the template using the foreach syntax. You can have multiple different line sources and you can either pull a line as SQL or C#. The key is what you will later access in the foreach loop: #foreach(@xLine in @DocumentLines) #BEGIN <Line Item='@xLine.Get('ItemCode')' Quantity='@xLine.Get('Quantity')'/> #END Copyright 2016 – Boyum IT A/S Page 265/292 B1 Usability Package Manual And the SQL fields are the keys that will be used in the Get('x'); You can multiple foreach loops in a template but the key is unique. Mark as handled SQL Mark as handled C# File path File type If you decide to use C# for pulling the line data you will be expected to add data to a dictionary. You can access the dictionary from the paramters variable: paramters.SourceData and you will be expected to add a new dictionary of type new Dictionary<string, SourceDataCollection>() where the string is the lines key and the SourceDataCollection is a collection of the values as in the header data. This allows you to run a SQL when an export has been done. This could be used to update a UDF a UDT or something else so that you will not export the same document twice. This allows you to run some C# with access to the SAP SDK to mark the export as done. Here you define where UFFE should please the generated file. You can use the DocKey@ to make the file name unique. The combo box next to the file path defines what file type you are exporting. If you select XML UFFE will run XML validation when exporting and it will escape all XML characters when writing the file. If you select custom UFFE will write the file without doing any validation. Here you specify what encoding UFFE should use when writing the file. If you enable this UFFE will launch the file after generation. Encoding Open file after generatio n Log Where should UFFE store the logs. folder Default formattin g This is where you define how UFFE should handle the culture variants like decimal separator and group separator. You can always format special values using SQL or C# and return the value as a string. Batch NOTE: Before continuing please read the single export type as this section will not cover shared features. The batch export type is a way to support formats that need some header and footer data and multiple documents in between. Example: You have a format where you need to define some header data, then you need to write all open invoices Copyright 2016 – Boyum IT A/S Page 266/292 B1 Usability Package Manual and in the footer you need to summarize the value of all the invoices. Field Header Header SQL source Header C# source Footer Footer SQL source Footer C# source Description This is where you define the header template. SQL for getting header data. C# for getting header data. This is where you define the footer template. SQL for getting footer data. C# for getting footer data. Universal Function File Importer (UFFI) WARNING: PLEASE BE AWARE THAT ALL SUPPORT FOR UFFI IN REGARDS TO CODE ARE CONSIDERED PREMIUM (PAID) SUPPORT BY BOYUM IT A/S. Copyright 2016 – Boyum IT A/S Page 267/292 B1 Usability Package Manual With UFFI developers are able to import data from any file format using C#. You can launch UFFI as a normal universal function or you can run it on a schedule. UFFI is designed to handle all the time consuming and error prone boiler code that needs to control files (move to archive, error folder etc.) and make sure that folders are writable etc. With this done the developer can concentrate on handling the import logic and return a status based on how the import went. The status returned by the code will be used to determine if the file should go to the success or the error folder. You have access the normal SAP DI SDK and you can add new references using the editor. Field C# to run Description This is the C# code that UFFI will execute. By default it comes with a predefined template on. You can click the “…” button to open the code in an external viewer. Work folder Where are the files stored that UFFI should work with. Success folder The folder to move files to if successfully imported. Error folder The folder to move files to upon errors Log folder Where the log file is created. File filter Here you can specify a C# file filter and is used to determine what files UFFI should try to work with. The file filter is a standard .NET filter: http://msdn.microsoft.com/enus/library/ms143327.aspx In the C# code you are will be able to get the full path of the file you are to work with using parameters.File you are then expected to work with the file and return a FileHandlerResultEntry where you specify if it were a success or an error. The FileHandleResultEntry have multiple overloads where you can also include messages and exceptions. If running on a schedule you will get the exception + message in the error email. Copyright 2016 – Boyum IT A/S Page 268/292 B1 Usability Package Manual Universal Function Batch Configuration The Universal Function Batch Configuration allows you to setup a configuration that can then be run either manually or by the server component. NB: ONLY UFS OF TYPE “FILE EXPORTER (UFFE)” AND “FILE IMPORTER (UFFI)” CAN BE USED IN BATCH CONFIGURATIONS If you select a UF of type File Importer you will not need to specify any additional parameters. Part Name Select UF Remark Users SQL Active Logging enabled Show as option in the batch runner from Description This is your name for the configuration for reference Here you select the UF to run Option to write a remark Should this only be visible for specific users If you select a UF of type File Exporter you will need to specify what SQL should be used for pulling out the DocKey@. The first column returned by the SQL will be used as the DocKey@ parameter in UFFE. If you select a UF of type File Importer this field will not be visible. Is the configuration active Should logs be created when this configuration is run If this configuration should only be run on the server you can disable this checkbox. Universal Function Batch Runner This window allows you to run Universal Function Batch Configurations manually. Copyright 2016 – Boyum IT A/S Page 269/292 B1 Usability Package Manual If the configuration you run is a UFFE (Universal Function File Exporter) configuration you will get a preview window where you can select what to export: If the configuration you run is a UFFI (Universal Function File Importer) configuration the configuration will just get run. You will after the configuration is done running get a result window: Copyright 2016 – Boyum IT A/S Page 270/292 B1 Usability Package Manual Universal Function Schedules The Universal Function Scheduler can be used to run Universal Function Batch Configurations. When working with the scheduler you will need to select a UF Batch to work with. Part Description Copyright 2016 – Boyum IT A/S Page 271/292 B1 Usability Package Manual Header data Field Name Select UF batch Success email Error email Options Schedule Description This is your name for the configuration for reference. This is also the name that will be shown in success and error emails from the scheduler. Here you select the UF batch to run If set you will receive an email confirming that the schedule where run correctly. The email that will receive an error report if the schedule encounters and error. Here you can set special options depending on the UF type selected. Field Server start time (24 H/M) Recurrence pattern Range of recurrence Copyright 2016 – Boyum IT A/S Description When the schedule should be executed the first time. There are currently five supported types: Minutely: Run the schedule every X minutes. Hourly: Run the schedule every X hours. Daily: Run the schedule once each day on the server start time. Weekly: Run the schedule on specific days of the week on the server time. Monthly: Run the schedule every X day of the month on the server time. Start: Start date of the recurrence. No end date: The schedule should never end. End by: The schedule should end by the specific date. Page 272/292 B1 Usability Package Manual Master Data Manager With the master data manager you are able to perform administration and maintenance tasks on common master data in the current database as a batch. This is done without the need for external tools like Data Transfer Workbench. By default, only super-users have access to the tools but you can grant access to other users by going to the normal SAP Business One Authorizations. Online E-Learning is also available for this module. Click here to watch it Business Partner Master Data Manager / Item Master Data Manager / Document Master Data Manager / Employee Master Data Manager / GL Account Data Manager / Payment Master Data Manager / Activity Data Manager / Production Data Manager / Service Call Manager/ Item Group Master Data Manager NB: THE FOLLOWING ARE EXPLAINED WITH TERMS AND SCREENSHOTS FROM THE BUSINESS PARTNER MASTER DATA MANAGER, BUT THE SIX TOOLS WORKS EXACTLY THE SAME. The Business Partner Master Data Manager is a tool that allows you to modify common data on existing Business Partners in the currently logged in database. The tool is divided into 4 main sections/steps of usage: 1. Apply conditions and find data 2. Select Business Partners that need to be modified 3. Select values that need to change Copyright 2016 – Boyum IT A/S Page 273/292 B1 Usability Package Manual 4. Apply transactions if needed and execute Step 1 - Apply conditions and find data The first you need to do is find the Business Partners you want to modify (In step 2 you can get more specific if needed). If you simply hit the Find-button all business partners will be shown, but if you know some common properties of the business partner you can apply conditions on what business partners are shown when you hit the find button. By default we provide a few basic conditions but if you wish additional conditions you can create them either as a onetime run or save them for future use. The condition system is based on SQL (SELECT OCRD.CardCode, OCRD.CardName FROM OCRD <your condition>) and is best shown with an example: Example 1: Make a condition that only show BP’s from USA On the table OCRD there is a country field (Default ‘Bill To’ country) and in order apply this as a condition we write the following SQL-condition. If I now hit Find it will only show business partners from the US. To save this condition, simply provide a name for it and press the Save condition button, and it will show up in the saved conditions for future usage. If you at some point need to update a saved condition, you simply make your changes and press save (if the name is the same the condition will be updated while if you change the name it will save a new version). TIP: IT IS ALSO POSSIBLE TO DO ADVANCED CONDITIONS USING JOINS AND/OR SUB-SELECTS. Document Master Data Manager Copyright 2016 – Boyum IT A/S Page 274/292 B1 Usability Package Manual Some document data can only be modified on certain document types, and some only on open documents. Other document types might hold the same data, but on these it can not be changed. Due to this the Document Master Data Manager form has two additional filters, which makes it easy to select a certain document type with a specific status. You will find these extra filter options in the upper left corner of the form. Step 2 - Select Business Partners that need to be modified Once you have the appropriate condition and hit find, all business partners who meet the condition is shown. Copyright 2016 – Boyum IT A/S Page 275/292 B1 Usability Package Manual At the top of the list you can see the number of total business partners in your search. However, you do not need to modify every single BP that fit your condition. Simply use the checkbox next to the codes to determine if you wish to include them or not in the modification. Step 3 - Select values that need to change You have now selected the Business Partners you wish to modify and the next step is to decide what data you wish to modify. You have a lot of options here, but they can be divided into 5 types of modifications that will now be explained with a few samples: NB: PLEASE NOTE THAT THIS STEP ONLY SELECTS THE MODIFICATIONS WHILE STEP 4 IS THE ONE EXECUTING THEM. TIP: YOU CAN CHOOSE MORE THAN ONE MODIFICATION TO HAPPEN ON THE SAME TIME IF NEEDED. Modification via a combo box-selection This is the most common modification. As default all fields that are changed in this way start on the value “-- Do not change this field ---” which is the indication that no changes will be made. Should you as an example wish to change the customer group on the selected business partners you simply choose the new Copyright 2016 – Boyum IT A/S Page 276/292 B1 Usability Package Manual group that should be applied to all of the partners. (As you might have guessed if some of the business partners in the current selection are suppliers they will of cause not need a customer group (they need a supplier group and will therefore ignore the selection)). Modification via a checkbox + entered value selection Some common values cannot simply be chosen from a dropdown list like a customer group. An example here is that if you wish to give all selected Business Partners a certain total discount, it will need you to put in the value. Such modification happens in a field where you enter the value and tick on what you wish to modify to the entered value. (The tick of the checkbox is needed due to the fact that you might in the example wanted to set all Total discounts to 0 and in such a case, only the checkbox could indicated if you wished to set the value to zero or make no change (0 also being the ignore value)). Modification of properties Modification of the 64 properties works in the same manner as Modifications via combox but with a slightly different interface that provides buttons for quickly marking each property as yes, no or ignore. Modifications of user-defined fields Copyright 2016 – Boyum IT A/S Page 277/292 B1 Usability Package Manual You also have the option to modify the User-defined fields (UDF). This works in the same way as Modification via checkbox + value. Simply tick on the UDFs you wish to modify and provide a value for them. TIP: IT IS POSSIBLE IN THE VALUE TO WRITE PROPERTY:<NAME OF SDK BP PROPERTY> TO GET THE VALUE FROM AN EXISTING FIELD: EXAMPLE: PROPERTY:CARDNAME TIP: IT IS POSSIBLE IN THE VALUE TO WRITE SQL:<SQL SENTENCE> TO GET THE VALUE FROM AN EXISTING FIELD. YOU CAN USE DOCKEY@ TO REFERE TO THE CURRENTLY UPDATING PRIMARY KEY: EXAMPLE: SQL:SELECT COUNT(*) FROM OINV WHERE CARCODE = ‘DOCKEY’ Advanced On the advanced tab you have access to all header level property fields in the SDK (Should your specific field not exist as a out of the box selection) For fields that require enumerations you can double-click to get the correct value: Copyright 2016 – Boyum IT A/S Page 278/292 B1 Usability Package Manual TIP: IT IS POSSIBLE IN THE VALUE TO WRITE PROPERTY:<NAME OF SDK BP PROPERTY> TO GET THE VALUE FROM AN EXISTING FIELD: EXAMPLE: PROPERY:CARDNAME TIP: IT IS POSSIBLE IN THE VALUE TO WRITE SQL:<SQL SENTENCE> TO GET THE VALUE FROM AN EXISTING FIELD. YOU CAN USE DOCKEY@ TO REFERE TO THE CURRENTLY UPDATING PRIMARY KEY: EXAMPLE: SQL:SELECT COUNT(*) FROM OINV WHERE CARCODE = ‘DOCKEY’ Special tasks Last tab in the modification options provides special tasks, like deleting selected business partners. These tasks are executed when the button is pressed and does not involve step 4’s execute button (but it does apply the transaction option from step 4). Reset all settings You have the option to reset all the current selection of settings using this button (You will also be asked if you wish to do it if you press the Find button multiple times). If you selected yes to reset all settings all current selections for modification will revert back to their default state (same as when opened the window). Step 4 - Apply transactions if needed and execute You have now selected which business partners you wish to modify and what to modify so the final step is to execute the modifications. You do this by pressing the execute button and confirm the batch-run Copyright 2016 – Boyum IT A/S Page 279/292 B1 Usability Package Manual In this sample we have selected 3 Business partners to change the total discount to 10%. When we press “Yes” to confirm, the batch-run will begin. NB: THE EXECUTION SPEED OF THE BATCH-RUN DEPENDS ON HOW MANY BUSINESS PARTNERS THAT NEEDS TO BE MODIFIED, THE NUMBER OF MODIFICATIONS AND THE PERFORMANCE OF YOUR SYSTEM. LARGE BATCHES CAN TAKE MINUTES/HOURS ALL DEPENDING ON THE ABOVE. ALSO PLEASE NOTE THAT IF YOU USE TRANSACTIONS OTHER USERS MIGHT NOT BE ABLE TO USE THE SYSTEM WHILE THE BATCH IS RUNNING. Once complete the update result is shown In this case everything went well and the changes was made, but the tool is still bound to the same rules as business one so if you try something that is not legal in the client you will get a negative result. In the following example we try to change the same 3 business partner into becoming suppliers (something that is not possible since all 3 have been used as customers). In such a case we get the following result. Copyright 2016 – Boyum IT A/S Page 280/292 B1 Usability Package Manual The “-10 - Journal entries linked to card” error indicating that the update is not possible. As one or more changes can potentially fail (either if they are invalid or a crash happen, you have the option to make all modifications in a transaction ensuring that either all or no modifications are applied. It is not activated as default, but if you wish to use it then simply mark the “Use Transactions (Rollback if one or more fails)” option). TIP: THE “USE TRANSACTIONS (ROLLBACK IF ONE OR MORE FAILS)” OPTION ALSO APPLIES TO THE SPECIALS TASKS Copyright 2016 – Boyum IT A/S Page 281/292 B1 Usability Package Manual Form-Settings Manager One of the great features of SAP Business One is that each user can have his/her own style of windows when it comes to columns in line-level structures (Example: what columns to show in an A/R Invoice). This is however difficult to maintain and is the reason for this tool. Please note that as of SBO2007A SP01, SAP is also providing similar functionality (new button in the User-management window; see SAP note 1369613 for more) but we extend their functionality in the following places: - Option to apply form-settings to only specific windows instead of all. Option to Import/Export form-settings from one database to another. Use XML as templates for form-settings. When opening the form-settings manager you will be presented with following window. Using the tool consists of 3. Copyright 2016 – Boyum IT A/S Page 282/292 B1 Usability Package Manual 1. Select where to copy from 2. Select where to copy to 3. Execute selection Step 1 - Select where to copy from First you need to choose the source of where you wish to get the form-settings. You can either select an xml folder (Exported files from another database) or choose one of the existing users in the currently logged in database. If you choose an existing user you get the option to decide which windows (Form Types) to include and if the the formtypes UDF sidebar should be included as well. Step 2 - Select where to copy to Once the source is selected you need to provide your target, which are either other users in the database (Check the user you wish to have the settings) or to an XML-folder for import into another database (click the “…” button and define a folder for where to save the form-settings). Step 3 – Execute selection NB: DUE TO THE NATURE OF HOW SAP SAVES FORM-SETTINGS UPON EXIT OF THE SAP BUSINESS ONE APPLICATION, IT IS IMPORTANT THAT THE USERS SELECTED AS TARGET IS LOGGED OUT OF SAP BUSINESS ONE WHILE THE COPY HAPPENS (IF NOT THE CHANGES MIGHT BE DISCARDED) Once the above selections are done you can press Execute and after confirmation of your selection begin to copy the form-settings. Copyright 2016 – Boyum IT A/S Page 283/292 B1 Usability Package Manual In this sample we export all form-settings from Doris Labour and copy them to Fred Buyer. After you confirm the selection the copy takes place and finally presents you with the following screen. Copyright 2016 – Boyum IT A/S Page 284/292 B1 Usability Package Manual Authorization Manager The Authorization manager is a tool that extends the normal drag and drop authorization assignment in SAP Business One. The extension-points are: - Option to apply authorizations to a number of users instead of needing to do multiple drag and drops. Option to Import/Export authorizations from one database to another. Use XML as templates for authorizations. When opening the authorization manager you will be presented with following window. Using the tool consists of 3 steps: 1. Select where to copy from 2. Select where to copy to 3. Execute the selection Step 1 - Select where to copy from First you need to choose the source of where you wish to get the authorizations. You can either select an xml file (Exported from another database) or choose one of the existing users in the currently logged in database. If you choose an existing user you get the option to include System Authorizations (standard Copyright 2016 – Boyum IT A/S Page 285/292 B1 Usability Package Manual authorizations defined by SAP) or/and User Authorizations (custom authorizations provided by users/addons via the “Additional Authorization Creator”). Step 2 - Select where to copy to Once the source is selected you need to provide your target which is either other users in the database (Check the user you wish to have the authorizations) or to an XML-file for import into another database (click the “…” button and define a filename for where to save the authorization) Step 3 – Execute selection Once the above selections are done you can press Execute and after confirmation of your selection begin to copy the authorizations. In this example we export all authorizations from Doris Labour and copy them to Fred Buyer. The system will first find all Doris authorizations. Copyright 2016 – Boyum IT A/S Page 286/292 B1 Usability Package Manual And then apply them to Fred as needed. Once complete you get the confirmation of the copy is complete NB: DUE TO THE NATURE ON HOW THE SAP SDK READ AND APPLY THE AUTHORIZATIONS THE PROCESS CAN BE RATHER LENGTHLY THE MORE USERS YOU APPLY IT TO. Metadata Manager The metadata manager can be used to export and import user defined tables, fields and objects. When opening the metadata manager you will be presented with following window. Select if you want to import or export. Export To start the export functionality select export as the option in the window above. In the export window you have the option to select what user defined tables, fields and objects you want to export. Mark what you want to export and select the export button – the selections will be exported to the folder you selected as xml files. Copyright 2016 – Boyum IT A/S Page 287/292 B1 Usability Package Manual Import To start the import functionality select import as the option in the first window and select import in the confirmation window. Select the folder where you exported the xml files to and the add-on will start importing. When importing is complete a result window will be shown with the result of each operation. Copyright 2016 – Boyum IT A/S Page 288/292 B1 Usability Package Manual Copyright 2016 – Boyum IT A/S Page 289/292 B1 Usability Package Manual Replace Sales Employee With the Replace Sales Employee you are able to replace all occurrences of a sales employee on: Business Partners Open sales opportunities All open sales and purchase documents You start by selecting the employee you wish to replace in the “Sales Employee To Replace” Combo-box followed by a click on the “Find Data” button. This brings up all occurrences of this sales employee down either on header - or line level. You are now able to browse through the tabs and select the entries you want to have replaced. After making your selections you have to select the new sales employee in the “New Sales Employee” Combobox. Copyright 2016 – Boyum IT A/S Page 290/292 B1 Usability Package Manual After selecting the new sales employee you have to choose wether or not you want to execute using transactions. This means that if either of your selections updates fail and you have transactions enabled, all of the updates will be rolled back. You switch transactions on and off by clicking the checkbox “Use Transactions (Rollback if one or more fails)”. After clicking the “Execute” button you will be prompted to verify that you want to update. If you choose yes the update will run and the result window will appear with the result. This update can take some time depending on the amount of selections. You have now succesfully replaced the sales employee on your selections unless otherwise stated in the “Result notes” column. NB: REPLACING A SALES EMPLOYEE ON OPEN ACTIVITIES IS DONE USING EMPLOYEES USER CODE. IF NO SUCH LINK EXISTS NO UPDATE WILL BE DONE. GO TO EMPLOYEE MASTER DATA AND MAKE SURE THAT USER CODE HAS BEEN SET. Copyright 2016 – Boyum IT A/S Page 291/292 B1 Usability Package Manual Online resources The following is an overview of all online resources in addition to the manual that the add-on offers: o http://www.boyum-it.com (Main page) o http://www.boyum-it.com/sbo (Download new B1UP versions here) o http://www.boyum-it.com/Link/ELearning (Manual, E-learning and FAQs) o http://www.boyum-it.com/Link/Support (The most common problems with the add-on) o http://service.boyum-it.com/my_partnership/ (Partner management and purchase) o http://www.boyum-it.com/Link/Forum (Forum) o http://license.boyum-it.com (License admin) https://license.boyum-it.com/TryB1UsabilityPackage (Download 20 day demo) http://license.boyum-it.com/licensekey (Download offline license) o http://www.twitter.com/SAP_B1UP (B1UP Twitter account) o http://www.youtube.com/BoyumIt (YouTube channel) o [email protected] (Technical question) o [email protected] (Sales related questions) Copyright 2016 – Boyum IT A/S Page 292/292