[Gelöst] Property Editable als Variable im RTC

3. August 2010 12:13

Hi zusammen,

ich habe noch folgendes Problem bei der Erstellung von Pages.
Im Classic Client ist eine Form + Subform bei der das Property Editable der Subform über eine Variable gesetzt wird.
Diese Variable TransferLinesEditable wird im OnInit Trigger der Page aufgerufen und auf True gesetzt.

Trotzdem sind die Zeilen nicht editierbar?

Weiss jemand weiter?

Vielen Dank.

Grüsse
Johanna
Zuletzt geändert von Johanna_Kasberger am 5. August 2010 09:07, insgesamt 1-mal geändert.

Re: Property Editable als Variable im RTC

3. August 2010 13:02

Wird die Variable TransferLinesEditable nach OnInit weiter geändert? Schau mal z.B. in den OnAfterGetRecord.

Re: Property Editable als Variable im RTC

3. August 2010 14:05

Hi Natalie,

die Variable wird auch im OnAfterGetRecord modifiziert.
Liegt hier das Problem?

Viele Grüsse
Johanna

Re: Property Editable als Variable im RTC

3. August 2010 14:15

Johanna_Kasberger hat geschrieben:die Variable wird auch im OnAfterGetRecord modifiziert.
Liegt hier das Problem?

Wenn die Variable am Ende von OnAfterGetRecord FALSE ist, dann weißt du nun, warum die Subform nicht mehr editierbar ist.
OnInit ist - wie der Name schon sagt - nur eine Initialisierung. Dies ist der zuerst angesprochende Page-Trigger überhaupt. Spätere Änderungen an der Variable haben Vorrang.

Re: Property Editable als Variable im RTC

3. August 2010 14:55

Hi Natalie,

ja , aber im AfterGetRecord wird die Variable auch immer auf True gesetzt es sei denn der Status ist closed in der Main From.
Und trotzdem ist die Subform überhaupt nicht editierbar, unabhängig vom Status.

LG
Johanna

Re: Property Editable als Variable im RTC

3. August 2010 15:10

Zeig mal bitte den Quelltext in den Triggern, de etwas an der Variablen ändert.

Re: Property Editable als Variable im RTC

3. August 2010 15:15

H Natalie,

die Variable TransferLinesEditable wird der Eigenschaft Editable des Parts TransferLines zugewiesen.
Ich habe schon messages eingebaut und die Schleife wo diese Variable auf False gesetzt wird wurde nicht durchlaufen und trotzdem
war nix editierbar. Es ist wie verhext :-)

On Init Trigger
Code:
TransferLinesEditable := TRUE;
"Starting DateEditable" := TRUE;
"Next Invoicing DateEditable" := TRUE;
"Invoicing periodEditable" := TRUE;
"Return DateEditable" := TRUE;
"Rental PeriodEditable" := TRUE;
"Assigned User IDEditable" := TRUE;
TransfertoContactNoEditable := TRUE;
"Transfer-to CodeEditable" := TRUE;
"Transfer-from CodeEditable" := TRUE;
ShortcutDimension2CodeEditable := TRUE;
ShortcutDimension1CodeEditable := TRUE;
"In-Transit CodeEditable" := TRUE;
"Posting DateEditable" := TRUE;
"No.Editable" := TRUE;


Funktion SetContolsEditable (wird im OnAfterGetRecord und OnOpenPage aufgerufen)
Code:
CASE Status OF
  Status::"Ship/Receive booked":
    BEGIN
     
      "No.Editable" := FALSE;
      "Posting DateEditable" := FALSE;
      "In-Transit CodeEditable" := FALSE;
      ShortcutDimension1CodeEditable := FALSE;
      ShortcutDimension2CodeEditable := FALSE;
      "Transfer-from CodeEditable" := FALSE;
      "Transfer-to CodeEditable" := FALSE;
      TransfertoContactNoEditable := FALSE;
      "Assigned User IDEditable" := FALSE;
      "Rental PeriodEditable" := FALSE;
      "Return DateEditable" := FALSE;
      "Invoicing periodEditable" := FALSE;
      "Next Invoicing DateEditable" := FALSE;
      "Starting DateEditable" := FALSE;
    END;
  Status::Closed:
    BEGIN
     
  //    CurrForm.EDITABLE(FALSE);
      TransferLinesEditable := FALSE;
      "No.Editable" := FALSE;
      "Posting DateEditable" := FALSE;
      "In-Transit CodeEditable" := FALSE;
      ShortcutDimension1CodeEditable := FALSE;
      ShortcutDimension2CodeEditable := FALSE;
      "Transfer-from CodeEditable" := FALSE;
      "Transfer-to CodeEditable" := FALSE;
      TransfertoContactNoEditable := FALSE;
      "Assigned User IDEditable" := FALSE;
      "Rental PeriodEditable" := FALSE;
      "Return DateEditable" := FALSE;
      "Invoicing periodEditable" := FALSE;
      "Next Invoicing DateEditable" := FALSE;
      "Starting DateEditable" := FALSE;
    END;
  ELSE
   
    TransferLinesEditable := TRUE;
    "No.Editable" := TRUE;
    "Posting DateEditable" := TRUE;
    "In-Transit CodeEditable" := TRUE;
    ShortcutDimension1CodeEditable := TRUE;
    ShortcutDimension2CodeEditable := TRUE;
    "Transfer-from CodeEditable" := TRUE;
    "Transfer-to CodeEditable" := TRUE;
    TransfertoContactNoEditable := TRUE;
    "Assigned User IDEditable" := TRUE;
    "Rental PeriodEditable" := TRUE;
    "Return DateEditable" := TRUE;
    "Invoicing periodEditable" := TRUE;
    "Next Invoicing DateEditable" := TRUE;
    "Starting DateEditable" := TRUE;
  END;
Zuletzt geändert von Natalie am 3. August 2010 15:26, insgesamt 1-mal geändert.
Grund: Code-Tags eingefügt

Re: Property Editable als Variable im RTC

3. August 2010 15:29

Ich habe in deinem Beitrag Code-Tags eingefügt.
Bitte immer so verwenden: [code]Dein Quelltext[/code]. Sonst können wir den Quelltext nur schwer lesen.

Ist die Main-Page überhaupt editierbar?
Gib mal eine MESSAGE ganz am Ende von OnAfterGetRecord aus - welchen Wert hat deine Variable dort?

Re: Property Editable als Variable im RTC

3. August 2010 15:42

Hi Natalie,

ich habe eine message am Ende des OnAfterGetRecord Triggers eingefügt und den Wert der Variablen ausgeben lassen.
Der Wert ist True.

Vielleicht darf man dem Property Editable eines Part Elements keine Variable zuweisen?!
Anders kann ichs mir nicht mehr erklären...

Grüsse
Johanna

Re: Property Editable als Variable im RTC

3. August 2010 15:45

Johanna_Kasberger hat geschrieben:Vielleicht darf man dem Property Editable eines Part Elements keine Variable zuweisen?!
Anders kann ichs mir nicht mehr erklären...

Da bin ich ehrlich gesagt überfragt.
Vielleicht ist es auch ein Ansichtproblem, immerhin muss man in der Mainform auch explizit wählen: Ansicht vs. Bearbeiten.

Re: Property Editable als Variable im RTC

3. August 2010 15:53

Ja, das komische ist nur..
wenn ich Editable auf True setze und nicht diese Variable verwende, dann funkionierts natürlich :-(
Trotzdem Danke!

LG
Johanna