Show SpreadsheetDocument on a form

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: Sep 16, 2011
Company: Oksley Shipping

Hi, I could open my query result as a spreadsheet document in a separate window, but I need to place it on a data processor form. How can I do that? Here is my script:


Code
&AtClient
Procedure Create(Command)
   
   SpreadsheetDocument = CreateServer(Period);
   SpreadsheetDocument.Show("Report by counterparties");
   
EndProcedure

&AtServer
Function CreateServer(Period)
   
   Query = New Query;   
   
   Query.Text = "SELECT
       |   SUM(MutualSettlementsBalance.AmountBalance) AS Amount,
       |   MutualSettlementsBalance.Counterparty AS Counterparty
       |FROM
       |   AccumulationRegister.MutualSettlements.Balance(&Period, ) AS MutualSettlementsBalance
       |
       |GROUP BY
       |   MutualSettlementsBalance.Counterparty";
             
   Query.SetParameter("Period", Period);
   
   QueryResult = Query.Execute();

   SelectionDetailRecords = QueryResult.Choose();

    SpreadsheetDocument = New SpreadsheetDocument();   
 
    Template = GetCommonTemplate("Template");
    DataArea = Template.GetArea("Data");        
 
   While SelectionDetailRecords.Next() Do
    
        DataArea.Parameters.Counterparty = SelectionDetailRecords.Counterparty;  
        DataArea.Parameters.Amount = SelectionDetailRecords.Amount;          
        SpreadsheetDocument.Put(DataArea);     
    
   EndDo;
   
    Return SpreadsheetDocument;

EndFunction

 
#2
People who like this:0Yes/0No
Active user
Rating: 6
Joined: Sep 16, 2011
Company:

You can add a SpreadsheetDocument form attribute on your form and use the same script, but remove
SpreadsheetDocument.Show("Report by counterparties");
line

 
#3
People who like this:0Yes/0No
Active user
Rating: 4
Joined: Sep 16, 2011
Company: Oksley Shipping

Thank you, Xin Wang, I've did the following: added the SpreadsheetDocument form attribute and changed my script in the following way:



Code
&AtClient
Procedure Create(Command)
   
   CreateServer(Period);
   
EndProcedure

&AtServer
Function CreateServer(Period)
   
   Query = New Query;   
   
   Query.Text = "SELECT
       |   SUM(MutualSettlementsBalance.AmountBalance) AS Amount,
       |   MutualSettlementsBalance.Counterparty AS Counterparty
       |FROM
       |   AccumulationRegister.MutualSettlements.Balance(&Period, ) AS MutualSettlementsBalance
       |
       |GROUP BY
       |   MutualSettlementsBalance.Counterparty";
             
   Query.SetParameter("Period", Period);
   
   QueryResult = Query.Execute();

   SelectionDetailRecords = QueryResult.Choose();

    SpreadsheetDocument.Clear();
 
    Template = GetCommonTemplate("Template");
    DataArea = Template.GetArea("Data");        
 
   While SelectionDetailRecords.Next() Do
    
        DataArea.Parameters.Counterparty = SelectionDetailRecords.Counterparty;  
        DataArea.Parameters.Amount = SelectionDetailRecords.Amount;          
        SpreadsheetDocument.Put(DataArea);     
    
   EndDo;
   
EndFunction

 
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.