OpenForm

Understanding basics of 1C:Enterprise platform. To start working with 1C:Enterprise platform visit Getting started page

#1
People who like this:0Yes/0No
Active user
Rating: 4
Joined: Jan 11, 2013
Company: Brighteye AB

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

 
#2
People who like this:1Yes/0No
Timofey Bugaevsky
Guest

Joined:
Company:

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

 
#3
People who like this:0Yes/0No
Just came
Rating: 0
Joined: Nov 13, 2013
Company:

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
  

 
#4
People who like this:0Yes/0No
Active user
Rating: 4
Joined: Jan 11, 2013
Company: Brighteye AB

Great - thanks, worked... Keijo

 
#5
People who like this:0Yes/0No
Active user
Rating: 7
Joined: Nov 3, 2011
Company: 1C Company

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

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

 
#6
People who like this:0Yes/0No
Active user
Rating: 2
Joined: Jan 14, 2013
Company:

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";

 
#7
People who like this:0Yes/0No
Active user
Rating: 4
Joined: Apr 18, 2012
Company:

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?

 
#8
People who like this:0Yes/0No
Active user
Rating: 2
Joined: Jan 14, 2013
Company:

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

 
#9
People who like this:0Yes/0No
Active user
Rating: 4
Joined: Apr 18, 2012
Company:

Hi.

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

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

 
#10
People who like this:0Yes/0No
Active user
Rating: 2
Joined: Jan 14, 2013
Company:

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";

Edited: P& A - Nov 04, 2016 08:46 PM
 
#11
People who like this:0Yes/0No
Active user
Rating: 4
Joined: Apr 18, 2012
Company:

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

 
#12
People who like this:0Yes/0No
Active user
Rating: 2
Joined: Jan 14, 2013
Company:

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

 
Subscribe
Users browsing this topic (guests: 1, registered: 0, hidden: 0)
Be the first to know tips & tricks on business application development!

A confirmation e-mail has been sent to the e-mail address you provided .

Click the link in the e-mail to confirm and activate the subscription.