0

Product

Business Central V28


Area

Page Scripting Tool


Description

When replaying a page script that applies a column filter on Page 232 - Apply Customer Entries, the playback engine reports that the Apply Filter dialog was successfully closed, but the dialog remains open in the UI.

As a result, the next step in the script fails because a modal dialog is still active.


Steps to Reproduce

  1. Open a Cash Receipt Journal.
  2. Enter values so that Applies-to Doc. No. lookup can be opened.
  3. Invoke the lookup on Applies-to Doc. No.
  4. Page 232 - Apply Customer Entries opens.
  5. Use FilterByColumn on field Document No.
  6. Enter a valid date value (e.g. RG10000).
  7. Confirm the filter by pressing OK (or ENTER).
  8. Replay the recorded script.

Expected Result

The Apply Filter dialog closes and focus returns to Apply Customer Entries. Subsequent script steps continue normally.


Actual Result

The playback log indicates that the dialog was closed successfully (page-closed event is recorded), but the dialog remains open on screen.

The next script step fails because the modal filter dialog is still active.

Additional Observations

  • The issue occurs both when pressing OK with the mouse and when pressing ENTER.
  • Both recording methods generate the same YAML.
  • No error is raised when the dialog is supposedly closed.
  • The failure occurs only on the next step that interacts with the underlying page.
  • Removing the filtering steps allows the entire script to run successfully.
  • Adding wait steps after the dialog close does not resolve the issue.

Notes

This appears to be a playback issue where the Page Scripting engine reports the modal filter dialog as closed, while the dialog remains active in the UI and blocks subsequent automation steps.


Yaml:

steps:

 - type: navigate

  target:

   - page: Cash Receipt Journal

  description: Navigate to Zlg.-Eing. Buch.-Blätter

 - type: page-shown

  source:

   page: Cash Receipt Journal

  modal: false

  runtimeId: bxpl

  description: Page Zlg.-Eing. Buch.-Blätter was shown.

 - type: input

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Posting Date

  value: "10"

  description: Input 10 into Buchungsdatum

 - type: focus

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Document Type

  description: Focus Belegart

 - type: input

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Document No.

  value: "001"

  description: Input 001 into Belegnr.

 - type: focus

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Account Type

  description: Focus Kontoart

 - type: input

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Account Type

  value: 1

  description: Input 1 into Kontoart

 - type: input

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Account No.

  value: ""

  isFilterAsYouType: true

  description: Input into Kontonr.

 - type: page-shown

  source:

   page: lookup:Account No.

  modal: false

  runtimeId: by3c

  description: Page Auswählen was shown.

 - type: input

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Account No.

  isFilterAsYouType: true

  description: Input Parameters.'Cash Receipt Journal.Account No.'

   into Kontonr.

  value: =Parameters.'Cash Receipt Journal.Account No.'

 - type: invoke

  target:

   - page: lookup:Account No.

    runtimeRef: by3c

   - repeater: repeater

  parameters:

   AlwaysCommit: true

  description: Invoke row on repeater

 - type: page-closed

  source:

   page: lookup:Account No.

  runtimeId: by3c

  description: Page Auswählen was closed.

 - type: input

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Description

  value: Mickey Mouse

  description: Input Mickey Mouse into Beschreibung

 - type: input

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Bal. Account Type

  value: 3

  description: Input 3 into Gegenkontoart

 - type: input

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Bal. Account No.

  value: ""

  isFilterAsYouType: true

  description: Input into Gegenkontonr.

 - type: page-shown

  source:

   page: lookup:Bal. Account No.

  modal: false

  runtimeId: by4n

  description: Page Auswählen was shown.

 - type: invoke

  target:

   - page: lookup:Bal. Account No.

    runtimeRef: by4n

   - repeater: repeater

  parameters:

   AlwaysCommit: true

  description: Invoke row on repeater

 - type: page-closed

  source:

   page: lookup:Bal. Account No.

  runtimeId: by4n

  description: Page Auswählen was closed.

 - type: input

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Applies-to Doc. Type

  value: 2

  description: Input 2 into Ausgleich mit Belegart

 - type: invoke

  target:

   - page: Cash Receipt Journal

    runtimeRef: bxpl

   - repeater: Control1

   - field: Applies-to Doc. No.

  invokeType: Lookup

  description: Invoke Lookup on Ausgleich mit Belegnr.

 - type: page-shown

  source:

   page: Apply Customer Entries

  modal: true

  runtimeId: by54

  description: Page Debitorenpostenausgleich was shown.

 - type: invoke

  target:

   - page: Apply Customer Entries

    runtimeRef: by54

   - repeater: Control1

   - field: Document No.

  invokeType: FilterByColumn

  parameters:

   UseAdvancedFiltering: true

  description: Invoke FilterByColumn on Belegnr.

 - type: page-shown

  source:

   page: null

   automationId: f51cf5e3-31d1-4644-8a26-043efefc68d7

   caption: Filter anwenden

  modal: true

  runtimeId: byc3

  description: Page Filter anwenden was shown.

 - type: input

  target:

   - page: null

    automationId: f51cf5e3-31d1-4644-8a26-043efefc68d7

    caption: Filter anwenden

    runtimeRef: byc3

   - field: Document No.

  description: Input Parameters.'Document No.' into

   Belegnr.

  value: =Parameters.'Document No.'

 - type: invoke

  target:

   - page: null

    automationId: f51cf5e3-31d1-4644-8a26-043efefc68d7

    caption: Filter anwenden

    runtimeRef: byc3

   - action: null

  description: Invoke OK

 - type: page-closed

  source:

   page: null

  runtimeId: byc3

  description: Page Filter anwenden was closed.

 - type: invoke

  target:

   - page: Apply Customer Entries

    runtimeRef: by54

  invokeType: LookupOk

  description: Invoke LookupOk on Debitorenpostenausgleich

 - type: page-closed

  source:

   page: Apply Customer Entries

  runtimeId: by54

  description: Page Debitorenpostenausgleich was closed.

name: FehlerFilterFürDebitorPostenAusgleich

description: Test recording

start:

 profile: KALKULATION

parameters:

 Cash Receipt Journal.Account No.:

  type: string

default: 10000

 Document No.:

  type: string

  default: RG10000


Category: Development
STATUS DETAILS
New