Desktop version

Main > Forum > 1C:Enterprise Platform > Studying 1C:Enterprise platform > OpenForm

Forum

Search UsersRules
OpenForm
#1
Active user
Points:: 0
Joined:: Jan 11, 2013

Hi, any hint of how to open a certain Document with code from list, e.g. format OpenForm("xxxxxxxzxzxzx", FormParameters), when click on row. Have not succeeded to open a certain Document, only as 'New', why I think the parameters sent with code have no effect..? Regards
Keijo

Profile
#2
Guest
Points::
Joined::

You should pass a reference to that document in FormParameters as Key field value.

Profile
#3
Just came
Points:: 0
Joined:: Nov 13, 2013

Hi Keijo!

Example for you

Code
&AtServer
Function  OpenFormAtServer()
   Ref = Documents.PaymentOrder.FindByNumber("PR00-000001",Date(2011,01,01));
   if Ref.IsEmpty() then
      return Null;
   else
      return Ref
   endif;
EndFunction

&AtClient
Procedure OpenFormDocumrnt(Command)
   Ref = OpenFormAtServer();
   if not (Ref=Null) Then
      Param = New Structure("Key",Ref);
      myForm = GetForm("Document.PaymentOrder.ObjectForm",Param);
      myForm.Open();
   EndIf;
      
EndProcedure
  

Profile
#4
Active user
Points:: 0
Joined:: Jan 11, 2013

Great - thanks, worked... Keijo

Profile
#5
Active user
Points:: 0
Joined:: Nov 3, 2011

You can use OpenForm() instead of GetForm() + Open().

Code
FormParameters = New Structure("Key", DocumentRef);
OpenForm("Document.PaymentOrder.ObjectForm", FormParameters);

Profile
#6
Active user
Points:: 0
Joined:: Jan 14, 2013

Hello Administrator.

Code
 FormParameters = New Structure("Key", DocumentRef);
 FormParameters.add("Field1",Field1);
OpenForm("Document.PaymentOrder.ObjectForm", FormParameters);
// Form "Document.PaymentOrder.ObjectForm" add parameter "Field1"

When i show form : Field1 =  parameters.Field1
It's error because not found parameter "Field1";

Profile
#7
Active user
Points:: 0
Joined:: Apr 18, 2012

Hi.

You got this error when you open the document by this code or when you try to open it from the document's list?

Profile
#8
Active user
Points:: 0
Joined:: Jan 14, 2013

Hi.
it's error when me open the document by this code.

Profile
#9
Active user
Points:: 0
Joined:: Apr 18, 2012

Hi.

Type "Structure" hasn't method "Add", you can use method "Insert".

Code
FormParameters.Insert("Field1", Field1);

Profile
#10
Active user
Points:: 0
Joined:: Jan 14, 2013

Hi Alexei Khatin.
Sorry i wrote wrong.

Code full:

Code
&AtClient
Procedure CreateCommand(Command)
  FormParameters = New Structure("Key", DocumentRef); 
  FormParameters.Insert("Field1",Field1); 
OpenForm("Document.PaymentOrder.ObjectForm",FormParameters,ThisObject,,,,,FormWindowOpeningMode.LockWholeInterface);
EndProcedure


And at object form "PaymentOrder" add parameter : Field1
Code
&AtClient
Procedure OnOpen(Cancel)
 a = Parameters.Field1;
EndProcedure

It's error because not found parameter "Field1";

Profile
#11
Active user
Points:: 0
Joined:: Apr 18, 2012

Hi.

In procedures AtClient you can use only key parameters.

All parameters are available in procedures AtServer.

Code
&AtServer
Procedure OnCreateAtServer(Cancel, StandardProcessing)
   If Parameters.Property("Field1") Then
      Field1 = Parameters.Field1;
   EndIf;
EndProcedure

Profile
#12
Active user
Points:: 0
Joined:: Jan 14, 2013

Hi!
Thanks you.
I don't check Key parameter so it error.

Profile
Subscribe
Users browsing this topic (guests: 1, registered: 0, hidden: 0)



© 1C LLC. All rights reserved
1C Company respects the privacy of our customers and visitors
to our Web-site.