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