Коды для получения объекта спецификации и его обновления:
Код |
---|
class Specification
{
public static void BOMProcess(BOMObject bom_obj)
{
bom_obj.Document.BeginChanges("Обработка спецификации.");
bom_obj.Refresh(true);//Обновляем все записи из файла сборки
bom_obj.BeginEdit();
//тело метода
bom_obj.EndEdit();
bom_obj.Refresh(false);//обновляем только спецификацию
bom_obj.Document.EndChanges();
}
public static void Спецификация()
{
Document document = TFlex.Application.ActiveDocument;
if (document == null)
return;
foreach (Text textobj in document.Texts)
{
if (textobj is BOMObject)
{
BOMObject bom_obj = (BOMObject)textobj;
if (!bom_obj.ReportFileLink.IsEmpty)//bom_obj не принадлежит непосредственно спецификации,
//т.е. принадлежит документу сборки
{
//Запуск документа спецификации
Document spec_doc = TFlex.Application.OpenDocument(bom_obj.ReportFileLink, true, false);
if (spec_doc != null)
{
ModelObject textobject = spec_doc.GetObjectByID(bom_obj.ReportID);
if (textobject is BOMObject)
{
bom_obj = (BOMObject)textobject;
Specification.BOMProcess(bom_obj);
}
}
}
else//bom_obj принадлежит спецификации непосредственно
{
Specification.BOMProcess(bom_obj);
}
}
}
}
}
|