/*
 * SDK Pullenti Lingvo, version 4.33, fabruary 2026. Copyright (c) 2013-2026, Pullenti. All rights reserved. 
 * Non-Commercial Freeware and Commercial Software.
 * This class is generated using the converter Unisharping (www.unisharping.ru) from Pullenti C#.NET project. 
 * The latest version of the code is available on the site www.pullenti.ru
 */


const ReferentClass = require("./../../metadata/ReferentClass");
const InstrumentBlockReferent = require("./../InstrumentBlockReferent");

class MetaInstrument extends ReferentClass {
    
    static initialize() {
        const InstrumentReferent = require("./../InstrumentReferent");
        MetaInstrument.GLOBAL_META = new MetaInstrument();
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_TYPE, "Тип", 0, 1);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_NUMBER, "Номер", 0, 1);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_CASENUMBER, "Номер дела", 0, 1);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_DATE, "Дата", 0, 1);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_SOURCE, "Публикующий орган", 0, 1);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_GEO, "Географический объект", 0, 1);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_NAME, "Наименование", 0, 0);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_CHILD, "Внутренний элемент", 0, 0).showAsParent = true;
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_SIGNER, "Подписант", 0, 1);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_PART, "Часть", 0, 1);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_APPENDIX, "Приложение", 0, 0);
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_PARTICIPANT, "Участник", 0, 0).showAsParent = true;
        MetaInstrument.GLOBAL_META.addFeature(InstrumentReferent.ATTR_ARTEFACT, "Артефакт", 0, 0).showAsParent = true;
    }
    
    get name() {
        const InstrumentReferent = require("./../InstrumentReferent");
        return InstrumentReferent.OBJ_TYPENAME;
    }
    
    get caption() {
        return "Нормативно-правовой акт";
    }
    
    getImageId(obj = null) {
        return MetaInstrument.DOC_IMAGE_ID;
    }
    
    static static_constructor() {
        MetaInstrument.DOC_IMAGE_ID = "decree";
        MetaInstrument.PART_IMAGE_ID = "part";
        MetaInstrument.GLOBAL_META = null;
    }
}


MetaInstrument.static_constructor();

module.exports = MetaInstrument