如何将 SpreadsheetDocument 放置在 1C:Enterprise 平台的数据处理器表单上?
How I can to place the SpreadsheetDocument on a data processor form in 1C:Enterprise platform?
我可以在单独的 window 中将查询结果作为电子表格文档打开,但我需要将其放在数据处理器表单中。我怎样才能做到这一点?
我使用 1C:Enterprise 平台版本 8.3.13
&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
您可以在表单上添加 SpreadsheetDocument 表单属性并使用相同的脚本,但删除
SpreadsheetDocument.Show("Report by counterparties");
我可以在单独的 window 中将查询结果作为电子表格文档打开,但我需要将其放在数据处理器表单中。我怎样才能做到这一点?
我使用 1C:Enterprise 平台版本 8.3.13
&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
您可以在表单上添加 SpreadsheetDocument 表单属性并使用相同的脚本,但删除 SpreadsheetDocument.Show("Report by counterparties");