diff --git a/Form.inc.xml b/Form.inc.xml new file mode 100644 index 0000000..c44a8ab --- /dev/null +++ b/Form.inc.xml @@ -0,0 +1,26 @@ + + + + diff --git a/Form/Adaptor.cls.xml b/Form/Adaptor.cls.xml new file mode 100644 index 0000000..a9c0fbe --- /dev/null +++ b/Form/Adaptor.cls.xml @@ -0,0 +1,152 @@ + + + + +Базовый класс-адаптер для форм +1 +Form.Info +Form +Form.Field +64090,75147.034342 +Form.Info + + + +Имя формы: латиница, менее 500 символов, в нижнем регистре +%String + + + + +Отображаемое имя формы +%String + + + + +Сгенерировать метаданные для формы +1 +objectgenerator +onFormCompile +%Status + + + + + +Выводит объект Id в формате JSON на текущее устройство +Переопределите этот метод для конкретной формы, если есть какие-то особенности её обработки +Возможно: заменить метод на генератор, который будет генерить код для формы +Подразумевается, что форма хранимая +1 +id:%Integer="" +%Status + + + + + +Открывает объект по Id и перезаписывает все его свойства +соответствующими значениями из object +После чего сохраняет объект +1 +id:%Integer="",object="" +%Status + + + + + +Устанавливает все поля текущего объекта из переданного объекта +Это может быть динамический объект или объект того же класса +objectgenerator +object +%Status + + + + +1 +1 +id:%Integer +%Object + + + + +1 +list:%ListOfDataTypes +%Array + + + + diff --git a/Form/Field.cls.xml b/Form/Field.cls.xml new file mode 100644 index 0000000..c79348c --- /dev/null +++ b/Form/Field.cls.xml @@ -0,0 +1,15 @@ + + + + +Form field properties +1 +64090,75443.892382 + + + +Field display name +%String + + + diff --git a/Form/Info.cls.xml b/Form/Info.cls.xml new file mode 100644 index 0000000..8b454ab --- /dev/null +++ b/Form/Info.cls.xml @@ -0,0 +1,58 @@ + + + +1 +Form +64090,75344.051371 + + + +Получить список всех форм +1 +%Array + + + + + +Check that form with this classname exist +1 +class:%String +%Boolean + + + + + +Check that form with this classname exist +1 +class:%String +%Status + + + + +1 +class:%String="" +%String + + + + diff --git a/Form/Property.cls.xml b/Form/Property.cls.xml new file mode 100644 index 0000000..56b6d61 --- /dev/null +++ b/Form/Property.cls.xml @@ -0,0 +1,161 @@ + + + +1 +Form +64090,75759.538379 + + + +Сгенерировать метаданные для поля формы +1 +property:%Dictionary.PropertyDefinition +%Object + + + + + +Определить тип класса +1 +className:%String="" +%String + + + + + +Добавить свойство класса +className - класс +name - имя свойства +type - класс свойства +collection - коллекция +displayName - отобразжаемое имя +required - обязательное свойство +1 +className:%String="",name:%String,type:%String="%String",collection:%String(VALUELIST=",list,array")="",displayName:%String="",required:%Boolean=$$$NO +%Status + + + + + +Изменить свойство класса +className - класс +name - имя свойства +type - класс свойства +collection - коллекция +displayName - отобразжаемое имя +required - обязательное свойство +1 +className:%String="",name:%String,type:%String="%String",collection:%String(VALUELIST=",list,array")="",displayName:%String="",required:%Boolean=$$$NO +%Status + + + + + +Удалить свойство класса +className - класс +name - имя свойства +1 +className:%String="",name:%String +%Status + + + + + +Скомпилировать класс, вернуть статус. +Не выводить ничего на устройство. +1 +expression +className:%String="" +%Status + + + + + +Получить DISPLAYNAME свойства +w ##class(Form.Property).getPropertyDisplayName("Form.TestForm", "Text") +1 +className:%String="",name:%String +%String + + + + diff --git a/Form/TestForm.cls.xml b/Form/TestForm.cls.xml new file mode 100644 index 0000000..a742349 --- /dev/null +++ b/Form/TestForm.cls.xml @@ -0,0 +1,44 @@ + + + +%Persistent,Form.Adaptor,%Populate +64090,75943.393938 + + +Тестовая форма + + + +%String + + + + + +do ##class(Form.TestForm).recreate() +1 +count:%Integer=10,verbose:%Boolean=$$$NO + + + + +%Library.CacheStorage +^Form.TestFormD +TestFormDefaultData +^Form.TestFormD +^Form.TestFormI +^Form.TestFormS + + +%%CLASSNAME + + +Text + + + + + diff --git a/sc-list.txt b/sc-list.txt new file mode 100644 index 0000000..ccd2f41 --- /dev/null +++ b/sc-list.txt @@ -0,0 +1,2 @@ +Form.inc +Form.pkg