Вот макрос, вызывающий макрос
Код |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using TFlex.DOCs.Model.Macros;
using TFlex.DOCs.Model.Macros.ObjectModel;
using TFlex.Model.Technology.Macros.ObjectModel;
using TFlex.Reporting.Technology.Macros;
using TFlex.Reporting.Technology.Macros.ObjectModel;
using TFlex.Reporting.Technology;
using TFlex.DOCs.Model.References;
using TFlex.DOCs.Model.References.Nomenclature;
using GetReferenceObjects;
public class Macro : MacroProvider
{
public Macro(MacroContext context)
: base(context)
/*public class Macro : ReportMacroProvider
{
public Macro(ReportGenerationMacroContext context)
: base(context)*/
{
}
public override void Run()
{
// Создаем папку "Карты раскроя" в папке, где формируются отчеты на ТП
...
Объект прототип = НайтиОбъект("Файлы", "Наименование", "Карта раскроя горизонтальная.grb");
var новыйФайл = СкопироватьОбъект(прототип, новаяПапка);
//MessageBox.Show(новыйФайл.First().Параметр["Наименование"]);
новыйФайл.First().Параметр["Наименование"] = "Отчет КР - "+названиеКР+".grb";
ВыполнитьМакрос("Карта раскроя (ИСС)", "Карта_Раскроя"); // Создаем файлы Карт раскроя, используя бланк отчета;
...
}
} |
Вот сам макрос печати:
Код |
---|
/* Ссылки */
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using TFlex.DOCs.Model.Macros;
using TFlex.DOCs.Model.Macros.ObjectModel;
using TFlex.Model.Technology.Macros.ObjectModel;
using TFlex.Reporting.Technology.Macros;
using TFlex.Reporting.Technology.Macros.ObjectModel;
using TFlex.DOCs.Model.References;
using TFlex.DOCs.Model.References.Nomenclature;
using GetReferenceObjects;
public class SimpleTime
{
public SimpleTime(long stamp)
{
// MessageBox.Show(stamp.ToString());
stamp = stamp / 10000000;
// MessageBox.Show(stamp.ToString());
seconds = (int)stamp%60;
// MessageBox.Show(seconds.ToString());
minutes = (int)(((stamp-seconds)%(60*60))/60);
// MessageBox.Show(seconds.ToString());
hours = (int)(stamp - seconds - minutes*60)/3600;
// MessageBox.Show(hours.ToString());
}
public int hours { get; set; }
public int minutes { get; set; }
public int seconds { get; set; }
public String ToString(String format="hh:mm:ss")
{
String str_h = hours.ToString();
if(str_h.Length<2) str_h="0"+str_h;
String str_m = minutes.ToString();
if(str_m.Length<2) str_m="0"+str_m;
String str_s = seconds.ToString();
if(str_s.Length<2) str_s="0"+str_s;
return str_h+"ч. "+str_m+"м. "+str_s+"с.";
}
}
public class Macro : ReportMacroProvider
{
public Macro(ReportGenerationMacroContext context)
: base(context)
{
}
public override void Run()
{
}
/****************************************************************************************************************************/
//Карта раскроя
/****************************************************************************************************************************/
public void Карта_Раскроя ()
{
Переменная["$NomDok"] = ТекущийОбъект.Параметр["edf32c39-27c4-49fd-afb7-286b3d8e1625"]; // регистрационный номер
//string датаРегистрации = string.Format("{0:d}", ТекущийОбъект.Параметр["f5abfa63-4852-4787-a9c8-7aba799df50d"]);string.Format("{0:d/M/yyyy HH:mm:ss}", DateTime.Now)
DateTime ДатаРег = ТекущийОбъект.Параметр["db04fcc4-b0a9-47e8-9216-c7e0bcc9d4dd"];
string датаРегистрации = string.Format("{0:d}", ДатаРег);
Переменная["$DataDok"] = датаРегистрации; // дата регистрации
Переменная["$Наименование"] = ТекущийОбъект.Параметр["Наименование"]; // Наименование
...
}
}
|