Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
[ Закрыто] Как получить поток из файла?, Как из объекта FileObject получить System.IO.Stream?
 
Как из объекта FileObject получить System.IO.Stream? Чтобы потом создать из этого двоичного стрима объект image.
Как получить ссылку на файл по его пути?
 
Как получить ссылку на файл как объект справочника Файлы зная его путь либо имея его FileObject?
Изменено: Антон Борисович - 15.01.2016 15:25:58
Не запускается макрос печати
 
Вот макрос, вызывающий макрос
Код
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"] = датаРегистрации; // дата регистрации

       Переменная["$Наименование"] = ТекущийОбъект.Параметр["Наименование"]; // Наименование

     ...
 

    }   

}
Не запускается макрос печати
 
Методом ВыполнитьМакрос пытаюсь вызвать макрос печати. Выдает сообщение об ошибке:
Цитата
Произошла ошибка при выполнении макроса "Карты раскроя (ИСС)".

Дополнительная информация:

Произошла ошибка при выполнении макроса "Карта раскроя (ИСС)".

Дополнительная информация:

Конструктор для типа "Macro" не найден.
Страницы: 1