Printing of TabularRows

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

#1
People who like this:0Yes/0No
Interested
Rating: 11
Joined: Nov 10, 2011
Company: 1A Software e.U

Hi,

I need to show on the print form TabularRows. The button "print" ist in the document form.

Here is the code:

Code
&AtClient
Procedure Print(Command)
   Spreadsheet = New SpreadsheetDocument;

   PrintAtServer(Spreadsheet);
   
   Spreadsheet.Show();
   
EndProcedure


and

 
#2
People who like this:0Yes/0No
Interested
Rating: 11
Joined: Nov 10, 2011
Company: 1A Software e.U

Code
&AtServer
Procedure PrintAtServer(Spreadsheet)
   
   
   Template = Documents.SalesQuote.GetTemplate("PF_MXL_SalesQuote");
   TemplateArea = Template.GetArea("Header");
   TemplateArea.Parameters.ThemBill = Object.CompanyAddress;
   TemplateArea.Parameters.Date = Object.Date;
   TemplateArea.Parameters.Number = "AnbotsNr.: " + Object.Number;
   TemplateArea.Parameters.Subject = Object.Subject;

   
   Spreadsheet.Put(TemplateArea);
   
   TemplateArea =     Template.GetArea("Salutation");
            
   TemplateArea.Parameters.TextBausteinBefore = GeneralFunctions.GetTextBaustein(Object.Ref);

   Spreadsheet.Put(TemplateArea);

   

EndProcedure

 
#3
People who like this:0Yes/0No
Interested
Rating: 11
Joined: Nov 10, 2011
Company: 1A Software e.U

and in GeneralFunctions:

Code
Function GetTextBaustein(Ref) Export
   
      
   Query = New Query();
    Query.Text = "SELECT
                      | SalesQuote.Ref,
                      |   SalesQuote.TextBuilding.(
                      |//-------------------------------------
                      |      TextBuildingName,
                      |      Textbaustein,
                      |      BeforePositions
                      |   )
                      |FROM
                      |   Document.SalesQuote AS SalesQuote
                      |WHERE
                      |   SalesQuote.Ref IN(&Ref)";
                  
                 Query.SetParameter("Ref", Ref);
                 Selection = Query.Execute().Choose();
                       
                                          
               SelectionTextBuilding = Selection.TextBuilding.Choose();

               While SelectionTextBuilding.Next() Do
     

        TextBaustein = "Text"; // Just for test purposes
     

     EndDo; 

         
   Return TextBaustein;
      
EndFunction

 
#4
People who like this:0Yes/0No
Interested
Rating: 11
Joined: Nov 10, 2011
Company: 1A Software e.U

But I get an error:

Wert ist nicht vom Typ "Objekt" (Choose) -  Value is not of type "Object"
SelectionTextBuilding = Selection.TextBuilding.Choose();

What's wrong?

Thanks a lot in advance.

 
#5
People who like this:0Yes/0No
Interested
Rating: 11
Joined: Nov 10, 2011
Company: 1A Software e.U

Sorry for writing in several messages, it didn't work somehow to create a complete post

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

Joined:
Company:

You need to go next first to select something from subtable.

 
#7
People who like this:0Yes/0No
Interested
Rating: 11
Joined: Nov 10, 2011
Company: 1A Software e.U

Thanks, Timofey! But I tried several variation and it still doesn't work :( Maybe you can write how I should change the code?

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

Joined:
Company:

Here is an example:

Code
Query = New Query;
Query.Text = 
   "SELECT
   |   Kits.Ref,
   |   Kits.Description,
   |   Kits.Parts.(
   |      Item,
   |      Quantity
   |   )
   |FROM
   |   Catalog.Kits AS Kits";

QueryResult = Query.Execute();

SelectionDetailRecords = QueryResult.Choose();

While SelectionDetailRecords.Next() Do
   
   Parts = SelectionDetailRecords.Parts.Choose();
   While Parts.Next() Do
      UserMessage = New UserMessage;
      UserMessage.SetData(SelectionDetailRecords.Ref.GetObject());
      UserMessage.Text = Parts.Item + " x " + Parts.Quantity;
      UserMessage.Message();
   EndDo;
   
EndDo;

 
#9
People who like this:0Yes/0No
Interested
Rating: 11
Joined: Nov 10, 2011
Company: 1A Software e.U

Thanks a lot! It works! :)

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

Note that in 1C:Enterprise 8.3.4 Choose() was renamed to Select() to match the SELECT query keyword.

 
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.