В конкретном случае требуется вывести в Excel групповую спецификацию изделий при помощи PagesFilter или фильтра по размещению (19007) (без применения FILTERSCHEME). Прошу помочь с реализацией указанной функции.
Код: Выделить всё
using System;
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.DataModel;
using Eplan.EplApi.HEServices;
namespace Test.Action_test
{
public class Action_Test : IEplAction
{
public bool OnRegister(ref string Name, ref int Ordinal)
{
Name = "FilterTest";
Ordinal = 20;
return true;
}
public bool Execute(ActionCallingContext oActionCallingContext)
{
Project prj;
SelectionSet sel = new SelectionSet();
prj = sel.GetCurrentProject(false);
DMObjectsFinder objFinder = new DMObjectsFinder(prj);
PagesFilter oPagesFilter = new PagesFilter();
oPagesFilter.Name = @"+AS03";
Page[] oPages = objFinder.GetPages(oPagesFilter);
ActionCallingContext labelContext1 = new ActionCallingContext();
labelContext1.AddParameter("CONFIGSCHEME", "Групповая спецификация изделий");
labelContext1.AddParameter("FILTERSCHEME", "AS01");
labelContext1.AddParameter("LANGUAGE", "ru_RU");
labelContext1.AddParameter("DESTINATIONFILE", @"\\1192.168.2.122\Data\ПСБ_AS01.xlsx");
labelContext1.AddParameter("USESELECTION", "1");
new CommandLineInterpreter().Execute("label", labelContext1);
ActionCallingContext labelContext2 = new ActionCallingContext();
labelContext2.AddParameter("CONFIGSCHEME", "Групповая спецификация изделий");
labelContext2.AddParameter("FILTERSCHEME", "AS02");
labelContext2.AddParameter("LANGUAGE", "ru_RU");
labelContext2.AddParameter("DESTINATIONFILE", @"\\192.168.2.122\Data\ПСБ_AS02.xlsx");
labelContext2.AddParameter("USESELECTION", "1");
new CommandLineInterpreter().Execute("label", labelContext2);
return true;
}
public void GetActionProperties(ref ActionProperties actionProperties)
{
}
}
}