Ask a question or have a conversation about the Thinkwise Platform
Recently active
In the Windows GUI when exporting data it is possible to choose whether to export database values or translated values separately for the Headers and the Data.I’m not sure if this already possible in a newer version of the Universal GUI. In version 2026.1.12.0.0 this cannot be chosen separately.So, my question is whether this is already available or whether it might be added back in the future.
Hi,I am using Testwise generated controls to create a purchase order. The test works, but filling the form feels quite slow.Example code:const expectedDescription = faker.person.firstName();const purchaseOrderMain = await page.subject.PurchaseOrderMain;await purchaseOrderMain.form1.descriptionField.fill(expectedDescription);await purchaseOrderMain.form1.supplierIDLookup.lookupSelect('Demo supplier');await page.getByTestId('form-field__delivery-date__date__input').fill('01/01/2027');await purchaseOrderMain.form1.heatNoMandatoryCheckbox.check();await purchaseOrderMain.toolbar482460FA.getSaveButton().click();In the latest run, the purchase order was created as Purchase-0019. The form filling and saving part took roughly 35-40 seconds before the next step continued. I also see repeated warnings like:Timeout reached while waiting for response. Proceeding anyway.My question is about the slow interaction while filling the purchase order form.Questions:Is this delay expected when using generat
Hi,I'm trying to understand the expected behavior of the following grid validation methods:await grid.verifyGridRecordCount(expectedCount);await grid.hasNoRowsOverlay();I tested them on two different generated subjects/grids.For verifyGridRecordCount():getRowByIndex() and getCellValuesByColId() work correctly on the same generated grid. However, verifyGridRecordCount() always times out after 10 seconds. I tried different expected values (for example 1, 3, 6, and even the visible total count), but the result is always the same.For hasNoRowsOverlay():When the grid is empty, it correctly returns true. After records are displayed in the grid, I expected it to return false (as described in the documentation), but instead it waits for the overlay locator and eventually times out.Am I using these methods correctly, or are there any prerequisites or limitations for using them?For reference, other generated grid methods on the same subject, such as getRowByIndex() and getCellValuesByColId(), wo
At the customer we are facing the following issue:We have a table with a primary key (PK), and this field is of course mandatory.This column is not an identity column, and currently it cannot be made one because we need to remain compatible with the existing system (RPG/iSeries DB2).Because the field is mandatory, we populate the PK with a number via the DEFAULT, so that it can be sent to the database already filled in. However, it is possible that a second user generates the same number in the DEFAULT, since it is simply calculated as max number + 1.Duplicate numbers are not allowed, so in the TRIGGER the number is recalculated to ensure it is unique regardless. This uses the same logic as in the DEFAULT.As a result, when saving, you may receive a different number than what you initially entered. The GUI is then unable to find the inserted row and shows an error message.How can we solve this without using an identity column?There is a risk that, for example when adding a sales order,
Hi,While working with Testwise I noticed that the documentation describes generated Task Bar components such as:subject.task1subject.task2However, none of the generated subjects in our project contain these properties.Instead, only components such as toolbars, grids, forms and tabs are generated.Could you explain under which circumstances Task Bar components are generated?Are they only generated for specific Thinkwise screen types, or should they always be available when a screen contains task buttons?If Task Bar components are not generated, what is the recommended way to interact with task buttons?Thank you.
We have some process flows which open a new document. Since we are transitioning to Universal, we have a Windows variant and a Universal variant of the subject. Now, I need to determine in the process flow which variant to open based on the platform that is being used. Can I get this data during runtime?I only need this solution temporarily until the Windows version has been made inactive, but still it would lead to disruption of work if I cannot control this while both versions are available.If there is another solution I would also like to hear it.
Hi,Update: After trying all generated subjects, I still cannot find a subject that targets the visible grid. It appears the generated root locator does not exist in the rendered DOM. I'm trying to use the generated grid instead of Playwright locators.According to the documentation, a generated subject should allow interactions like:await subject.grid1.getRowByIndex(0);await subject.grid1.getCellByExactValue('Some value');await subject.grid1.getCellValuesByColId('column_id');However, all generated subjects I tried fail because the generated root locator cannot be found in the DOM.For example, Testwise generates locators like:[data-testid="screen__..."]but those data-testid values do not exist in the rendered page. As a result, methods such as:subject.grid1.getRowByIndex(0)subject.grid1.getCellByExactValue(...)subject.grid1.getCellValuesByColId(...)always fail, even though the grid and its rows are clearly visible and can be accessed with standard Playwright locators.My questions are:How
Hi everyone,I’m currently working on a small UX improvement for one of our customers, and I was wondering if anyone has already tackled something similar.The issue is about multi-row selection in a grid. At the moment, the first selected row is visually more prominent than the following ones, because the background color uses a higher opacity:First selected row → opacity: 0.12 Additional selected rows → opacity: 0.06This difference is subtle, but it’s confusing for some users. (🙄) They expect all selected rows to look the same. I’d like to make all selected rows visually identical, meaning the same background color and opacity for the first selected row and all subsequent selected rows. My questionHas anyone:already tried to override the selection styling in the custom.css? or knows which CSS classes/selectors that are used for: the primary selected row additional selected rows And how to make them visually identical?Any hints, selector names, or best practices would be greatly appre
On a Task or Report you can set the “Await result” value to “Optional”.In the docs it is explained like this:Optional - The user has to wait (option 1) but has the possibility to continue the action in the background (option 3). Reports executed in the background can be monitored in the Async action dialog.Where can I find this “Async action” dialog?I know in the windows GUI you had the “Running tasks”, but I cannot find such a thing in the Universal GUI.
Hi,Indicium on our PROD environment is recycled every night at 00:00:00. It seems indicium sometimes tries to start up and delete and recreate the temp .rpt files while they are still being held up by the old indicium, this causes the startup of indicium to fail. We get this error at 00:00:01“Description: The process was terminated due to an unhandled exception.Exception Info: System.UnauthorizedAccessException: Access to the path '***.rpt' is denied. at System.IO.FileSystem.DeleteFile(String fullPath) at Indicium.Startup.<initializeCacheDirectory>g__TryAndDeleteFile|21_0(String filePath) in C:\azp\agent\_work\1\s\src\Indicium\Startup.cs:line 281” In this case the old indicium was only registered as being shutdown at 00:00:08I have checked the rights on the temp files folder, the pool user has full rights. Does anyone know a way to prevent this from happening? I have found the “Disable overlapping recycle” option in the advanced settings of the app pool, this will probably fi
As it turns out the behaviour of the Windows GUI and the Universal GUI differ when it comes to the order of the buttons on a Task and the Confirmation to execute a taskWindows GUI:Universal GUI Can I influence it somewhere to have the default order again as the Windows GUI? We also have “messages” which we can change the order from, but that is useless if they will align with one GUI, but not with the other.
When running the smoke test, I notice that durations above 10,000 ms end with: 'The command did not complete - the command timed out'.This is always an encouragement to critically review your code, but is there perhaps a way to adjust this time? Kind regards
When I use the download Icon task in TSF, the file is not saved in the Downloads folderWhat am I doing wrong?
I installed the Thinkstore solution Translating model objects in business logicThen I found generating the code takes too long. I wanted to make my own version for domain elements only, but since I cannot edit the generated control procedure, I made a copy instead and edited that.I set the installed control procedure to inactive… but it is still being executed in the “Generate source code” step? And I can’t delete the subroutine either… There is no “uninstall solution” button...What now? Must I perform queries on the SF database to delete them?Am I forever bound to the generated procedures?Appreciate any help. Thanks!
Currently, we send PDF forms to our customers. They fill them out manually and return them via email, after which we process the data. We want to modernize and digitalize this process using Thinkwise.Our goal is to set up a portal/webpage where customers can enter their data directly, ensuring it is immediately stored in our database. Since we are dealing with a broad, shifting customer base, we want the URL to be publicly accessible. Customers should be able to open and use the page without logging in with a username and password (no login prompt from the Universal GUI).Is it possible? And what are the best practices within IAM of Indicium? Because I think that you will create a sort of pool-user for that, which has some limited rights.
I want to retrieve a file from a folder using a Thinkwise application and move it to another folder so an external organization can collect it.My starting point is a folder containing multiple files. I am using the List Folder process action to search through them. I intend to use the returned JSON to extract the filename, read the file, and eventually move it.The 'Read File -> Write File -> Move File' sequence worked correctly when I wasn't using process variables. However, after adding the List Folder action, I am not receiving any data back.In my process flow, the List Folder action has a storage location assigned but no input parameters. The output parameters are set to status_code and json_outputWhat is the solution to get this working? This is the flow I am currently testing.
Somehow we are not able to print labels from Thinkwise with the quality that we would like to see.In above picture the right label is printed directly from Thinkwise Universal (worst quality), the middle label was first generated as PDF from Universal and then opened in a browser and printed from the browser (Chrome). The left label was generated as PDF from Universal and printed from Acrobat Reader (best quality). All using the same label printer with the same driver settings. If we print from Acrobat and choose the option “print as image” the quality gets worse. We have done a lot of testing with changes in driver settings and playing with the print settings in the SF but without good result.I wonder if anyone experienced the same problem and has a solution for this?
Hi,Since a couple of days I get the follow error message when generating a branch: Error: 'Cannot find either column "dbo" or the user-defined function or aggregate "dbo.tsf_user", or the name is ambiguous.'.When compiling the function through the Functionality menu option, there are no problems, only when generating the branch. It would seem that the order of execution when generating functions has something to do with it, but the 2 functions used in this function, dbo.current_actor_id() and dbo.get_topic_access_level() both have a lower execution order number. So they should already exist before this function is generated. The function where the problem occurs is a new function, recently added.Any ideas where I can look to see what the cause of the problem could be? An unknown error occurred while executing '/* Create or alter function can_assign_objective_topic_to_case. */create or alter function "can_assign_objective_topic_to_case"( @process_id "identifier" , @objective_i
Hi everyone,We are currently experiencing a behavioral difference between the Windows GUI and the Universal GUI and were wondering how others are handling this.In our application, we frequently work with grouped data in grids/views. For example:a trip containing grouped orders, a planning containing grouped tasks, or other master/detail-like groupings.Users can expand and collapse these groups.Current behaviorIn the Windows GUI, expanded groups remain open after the document or data is refreshed.In the Universal GUI, however, we notice that after a refresh the groups are often collapsed again. As a result, users continuously need to re-expand the groups they were working in.ImpactFor our users this is quite disruptive, especially in screens where:many groups are present, automatic or manual refreshes happen frequently, and users work in the same dataset for a longer period of time.This causes loss of context and unnecessary extra clicks.Our questionsIs this currently standard behavior
Since yesterday our reports are not working anymore. No update on our side, nothing in error log. Anyone same experience or suggestions where to look?
Wanting to experiment with the new IAM process actions, I notice it does not have any requirement for a target IAM location.My suspicion is that it will use the IAM that the model is of, so if that is true, would it try to talk to the SF IAM when developing? I would not like that to happen and rather not have to experiment to find out how much I can break this way.So before I might mess something up, what are the rules to which IAM the process actions connect to?
To make navigation in the scheduler a bit more clear, it’s preferable to give the weekend days a background color.So I thought I could achieve this with the cell colors. I added a column in my view wich sets the field week_day to the value of the in the month if it’s a saturdaty or sunday. So for june 6 it will hold a 6 and for june 13 (also a saturday) it holds 13.I add a cell color of the type time scale.Time scale day, condition equals to column week_dag (Which is the column in my view holding the day of the month)But… it’s not working. How can I achieve this?A variant on this.. if I’m able to give the 00 hour colomn a color on a sunday or a monday, So the user has a more clear reference where the new week starts. This is now real unclear. You have to look to the columns and interpret the numbers which are dependent of the view.
Hello,I have a lookup table, which contains a table task which adds a row to the selected lookup table. After adding the new row to the lookup table with the task, I want to select this new row. However, the normal process flow actions don’t seem to work here. ‘Go to row’ does not work, I tried ‘activate document’ and I tried ‘open document’ with ‘use existing document’ on yes. But all these actions fail to do what I want to. What process action should I use here?Thanks!Process flow with ‘open document’ to try to select the active lookup tableThis action does not work however.
We have several TW models in our SF that are “proof of concept”.Some of these are put on hold for no one knows how long, and we might want to access them again in the future.Is there a way to archive them without the automated cleanup deleting them after an x period of time?We explored 2 routes:export model - but that only works if imported in the same version of the software, which we cannot guarantee. Might be in 5 years or so… archive branch - the automated cleanup will delete the branch after x daysAre there any other methods we have missed?
It’s possible to setup the scope url in the software factory, not in the IAM environment only token url and authorisation URL can be filled in.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.