Инструменты пользователя

Инструменты сайта


developers:tutorial:sheets

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
developers:tutorial:sheets [2022/08/30 13:29]
proxor
developers:tutorial:sheets [2023/07/31 08:41] (текущий)
yulia
Строка 17: Строка 17:
 Если пользовательские настройки требуется сохранить,​ то так же следует перекрыть методы [[developers:​references:​topomatic.tables.sheets.templatesheet.loadfromstg|LoadFromStg()]] и [[developers:​references:​topomatic.tables.sheets.templatesheet.savetostg|SaveToStg()]]. Подробнее о процессах сохранение и загрузки можно узнать в разделе руководства Создание и сохранение модели. Если пользовательские настройки требуется сохранить,​ то так же следует перекрыть методы [[developers:​references:​topomatic.tables.sheets.templatesheet.loadfromstg|LoadFromStg()]] и [[developers:​references:​topomatic.tables.sheets.templatesheet.savetostg|SaveToStg()]]. Подробнее о процессах сохранение и загрузки можно узнать в разделе руководства Создание и сохранение модели.
  
-Шаблон ведомости представляет из себя [[https://​ru.wikipedia.org/​wiki/​XML|XML-файл]] определяющий внешний вид ведомости и расположение ячеек заголовков и данных. Корневой каталог шаблонов ведомостей расположен по пути "​**c:​\ProgramData\Topomatic\Robur <​Тип_продукта>​\16.0\Sht\**"​ (в зависимости от вашего типа [[https://​new.topomatic.ru/​products/​|продукта]] программного комплекса [[https://​new.topomatic.ru/​|Топоматик Робур]],​ имя каталога будет разным). Далее шаблон располагается в подпапках,​ соответствующих типу ведомости. Например,​ ведомости подобъектов будут располагаться в каталоге Alg и т.д. Структура шаблона ведомости описана в разделе руководства [[road:​commons_tasks:​creating_and-editing_templates:​start|Создание и редактирование шаблонов выходных ведомостей]]. ​+Шаблон ведомости представляет из себя [[https://​ru.wikipedia.org/​wiki/​XML|XML-файл]] определяющий внешний вид ведомости и расположение ячеек заголовков и данных. Корневой каталог шаблонов ведомостей расположен по пути "​**c:​\ProgramData\Topomatic\Robur <​Тип_продукта>​\16.0\Sht\**"​ (в зависимости от вашего типа [[https://​new.topomatic.ru/​products/​|продукта]] программного комплекса [[https://​new.topomatic.ru/​|Топоматик Робур]],​ имя каталога будет разным). Далее шаблон располагается в подпапках,​ соответствующих типу ведомости. Например,​ ведомости подобъектов будут располагаться в каталоге Alg и т.д. Структура шаблона ведомости описана в разделе руководства [[road:​commons_tasks:​archive_sections:​creating_and-editing_templates:​start|Создание и редактирование шаблонов выходных ведомостей]]. ​
 ----- -----
 ==== Подготовка модуля ==== ==== Подготовка модуля ====
Строка 70: Строка 70:
 Для возможности использования пользовательского фрейма настроек в мастере создания ведомостей,​ класс ведомости должен содержать уникальный объект-ключ (Moniker). Объект-ключ это пустой объект класса [[https://​docs.microsoft.com/​en-us/​dotnet/​api/​system.object?​view=net-6.0|Object]]. Этот объект должен создаваться при инициализации экземпляра класса ведомости и возвращаться вместе с объектами-ключами базового класса при вызове метода [[developers:​references:​topomatic.tables.sheets.templatesheet.getmonikers|GetMonikers()]]. Объект-ключ служит в качестве идентификатора нашего экземпляра класса ведомости и служит для определения типа пользовательского фрейма,​ соответствующего типу нашей ведомости. Пользовательский фрейм получается с помощью метода [[developers:​references:​topomatic.tables.sheets.templatesheet.getframe|GetFrame()]] принимающий объект-ключ в качестве аргумента. Для возможности использования пользовательского фрейма настроек в мастере создания ведомостей,​ класс ведомости должен содержать уникальный объект-ключ (Moniker). Объект-ключ это пустой объект класса [[https://​docs.microsoft.com/​en-us/​dotnet/​api/​system.object?​view=net-6.0|Object]]. Этот объект должен создаваться при инициализации экземпляра класса ведомости и возвращаться вместе с объектами-ключами базового класса при вызове метода [[developers:​references:​topomatic.tables.sheets.templatesheet.getmonikers|GetMonikers()]]. Объект-ключ служит в качестве идентификатора нашего экземпляра класса ведомости и служит для определения типа пользовательского фрейма,​ соответствующего типу нашей ведомости. Пользовательский фрейм получается с помощью метода [[developers:​references:​topomatic.tables.sheets.templatesheet.getframe|GetFrame()]] принимающий объект-ключ в качестве аргумента.
  
-Методы [[developers:​references:​topomatic.tables.sheets.templatesheet.loadfromstg|LoadFromStg()]] и [[developers:​references:​topomatic.tables.sheets.templatesheet.savetostg|SaveToStg()]] содержат инструкции записи и чтения данных ведомости,​ а так же состояния пользовательских настроек. В текущем примере наша ведомость содержит только одно пользовательское свойство **UserSetting**. Оно не будет использоваться в расчётах и описано в справочных целях. Свойство **UserSetting** является типом [[https://​docs.microsoft.com/​en-us/​dotnet/​csharp/​language-reference/​builtin-types/​bool|bool]],​ поэтому для чтения и записи значения воспользуемся методом [[developers:​references:​topomatic.stg.stgcollection.getboolean_system.string_system.boolean|GetBoolean()]] класса [[developers:​references:​topomatic.stg.stgnode|StgNode]].+Методы [[developers:​references:​topomatic.tables.sheets.templatesheet.loadfromstg|LoadFromStg()]] и [[developers:​references:​topomatic.tables.sheets.templatesheet.savetostg|SaveToStg()]] содержат инструкции записи и чтения данных ведомости,​ а так же состояния пользовательских настроек. В текущем примере наша ведомость содержит только одно пользовательское свойство **UserSetting**. Оно не будет использоваться в расчётах и описано в справочных целях. Свойство **UserSetting** является типом [[https://​docs.microsoft.com/​en-us/​dotnet/​csharp/​language-reference/​builtin-types/​bool|bool]],​ поэтому для чтения и записи значения воспользуемся методами [[developers:​references:​topomatic.stg.stgcollection.getboolean_system.string_system.boolean|GetBoolean()]] и [[developers:​references:​topomatic.stg.stgcollection.addboolean_system.string_system.boolean|AddBoolean()]] класса [[developers:​references:​topomatic.stg.stgnode|StgNode]].
  
 Добавьте в программу новые классы со следующим содержанием:​ Добавьте в программу новые классы со следующим содержанием:​
Строка 213: Строка 213:
         {         {
             base.SaveToStg(node);​             base.SaveToStg(node);​
-            node.GetBoolean("​UserSetting",​ UserSetting);​+            node.AddBoolean("​UserSetting",​ UserSetting);​
         }         }
  
developers/tutorial/sheets.1661866164.txt.gz · Последние изменения: 2022/08/30 13:29 — proxor