мета-данные страницы
  •  

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
документация_в_программе [10.01.2020 06:52]
Анисютин
документация_в_программе [17.07.2022 13:17] (текущий)
Строка 1: Строка 1:
-====== ​Документация ​в программе ======+====== ​Помощь ​в программе ======
  
-Рассматривается стандартный механизм подключения ​контекстно зависимой справки назначенной ​на кнопку *омощь** ​или к пункту **Документация**.\\ +===== Содержание ===== 
 +  * [[#​Общая информация|Общая информация]] 
 +    * [[#1. Общая помощь по всей системе|1. Общая помощь по всей системе]] 
 +    * [[#2. Помощь в журналах|2. Помощь в журналах]] 
 +    * [[#3. Помощь в карточках|3. Помощь в карточках]] 
 +  * [[#Настройка помощи|Настройка помощи]] 
 +    * [[#1. Задать персональные ссылки для определенной карточки/журнала|1. Задать персональные ссылки для определенной карточки/журнала]] 
 +    ​[[#2. Закрепить ссылки за определенными мета-объектами|2. Закрепить ссылки за определенными мета-объектами]] 
 +  ​[[#Дополнительная информация|Дополнительная информация]]
  
-**Задача**\\  +---- 
-Обеспечить доступ к справочным документам, размещенным на сайтах компании непосредственно из программного модуля.+ 
 +====== Общая информация ====== 
 + 
 +Помощь в программе разделена на три ​части: ​\\ 
 +1. Общая ​помощь по всей системе\\ 
 +2. Помощь в журналах\\ 
 +3. Помощь в карточках\\ 
 + 
 + 
 +===== 1. Общая помощь по всей системе ===== 
 + 
 + 
 +Доступ к общей ​помощи по всей системе находится в главном меню "//​Справка -> Документация//" 
 + 
 +{{:​pasted:​20220717-120443.png}}
  
-**На первом этапе** справочная информация привязывается к приложению в целом единым блоком.\\ ​ 
 В зависимости от прав пользователя открывается одна из двух страниц,​ которые созданы на на сайте www.agbis.ru/​laundry/​school/:​ В зависимости от прав пользователя открывается одна из двух страниц,​ которые созданы на на сайте www.agbis.ru/​laundry/​school/:​
-для администраторов открывается "​Административная документация",​ для всех остальных пользователей - "​Пользовательская документация"​.\\  +для администраторов открывается "//**Административная документация**//", для всех остальных пользователей - "//**Пользовательская документация**//".\\  
-Для вызова ​используется пункт **Документация** главного меню на главной форме приложения.\\  + 
-{{:pasted:20191223-131145.png}}\\ +{{:​pasted:​20191223-131145.png}}  
 + 
 + 
 +===== 2. Помощь ​в журналах ===== 
 + 
 + 
 +Кнопка помощь во всех журналах, наследниках от "​TUniDblListForm"​ или "​TUniListFrame"​ и находится в главном меню ​журналаотображается если на нее назначена какая-нибудь ссылка. 
 + 
 +Например журнал "//​**Фирмы**//"​ 
 + 
 +{{:pasted:20220717-123002.png}} 
 + 
 +Журнал "​Регистрация сотрудников"​
  
-**На втором этапе** планируется сделать контекстно-зависимую помощь.\\  +{{:pasted:20220717-123036.png}}
-Для вызова используется пункт кнопка **Помощь**.\\  +
-Кнопка **Помощь** появляется автоматически при подключении справочных материалов к форме.\\  +
-Для примера можно посмотреть справочники "​Фирмы"​ и "​Склады\отделы"​.\\  +
-{{:pasted:20191223-131227.png}}\\ +
  
 +С журналом может быть связано несколько ссылок на документацию,​ в этом случае слева появится список ссылок на помощь\\ ​
  
-С формой можно связать несколько документов,​ в этом случае слева появится список справочных документов.\\ ​ 
 {{:​pasted:​20191223-130731.png}} {{:​pasted:​20191223-130731.png}}
  
-При загрузке данных открывается нижняя панель статуса,​ не которой отображается сообщение "​Идет загрузка данных ..."​.\\ 
-Эта панель закрывается после завершения загрузки документа.\\ ​ 
-{{:​wiki:​him_lrxymzlbky.png}}\\ ​ 
  
-Если при загрузке данных возникает ​ошибкато открывается окно с сообщением об ошибке. +===== 3. Помощь в карточках =====
-{{:​wiki:​pasted:​20191231-090530.png}}\\ ​+
  
-Ошибка так же отображается на панели статуса и записывается в лог программы.\\ ​ 
-{{:​wiki:​pasted:​20191231-090836.png}}\\ ​ 
  
 +Кнопка "//​**Помощь**//"​ находится во всех формах,​ наследниках от "//​**UniForm**//"​ (если на нее назначена какая-нибудь ссылка)
 +
 +{{:​pasted:​20220717-124607.png}}
  
  
 <ifauth @programmers> ​ <ifauth @programmers> ​
-Список ссылок на документы хранится в объекте T_Help 
  
 +====== Настройка помощи ======
  
-===== Составление ​списка документов справки непосредственно в описании формы =====+Класс описывающий ​работу помощи - "//​**T_Help**//"​
  
-Пример функции,​ которая вызывает ​справку ​состоящую из трех ​документов:\\  +**Настроить отображение помощь можно двумя способами:​** \\ 
-первый - это явно заданный HTML-текст,​ второй и третий являются ссылками на страницы WEB-сайта с документацией. \\  +1. Задать персональные ссылки для определенной карточки/​журнала\\ 
-При формировании элемента списка в rlHelp.Add указываются параметры:​\\  +2. Закрепить ссылки за определенными мета-объектами\\ 
-"​Заголовок",​ который будет отображаться в списке документов;​\\  + 
-"​URL"​ - ссылка на страницы WEB-сайта;​ \\  +===== 1. Задать персональные ссылки для определенной карточки/​журнала ===== 
-"​HTML"​ - текст HTML-документа;​ \\  + 
-"​Показывать по умолчанию"​ - страница,​ которая будет открыта по умолчанию. Если не указана,​ то будет открываться первая по списку;​\\  +В списке модулей должны быть указаны  
-"​Уровень доступа"​ - предусмотрено три уровня:​ \\ +  uses ... rHelp, fHelp ... 
 + 
 +Для использования T_Help должна быть задана директива компилятора **CHROM**.\\ 
 + 
 +Пример функции,​ которая вызывает помощь ​состоящую из трех ​ссылок:\\  
 +первая - это явно заданный HTML-текст,​ второй и третий являются ссылками на страницы WEB-сайта с документацией. \\  
 +При формировании элемента списка в **rlHelp.Add("​Заголовок","​URL","​HTML","​Показывать по умолчанию","​Уровень доступа"​)** ​указываются параметры:​\\  
 +**"​Заголовок"​**, который будет отображаться в списке документов;​\\  
 +**"​URL"​** - ссылка на страницы WEB-сайта;​ \\  
 +**"​HTML"​** - текст HTML-документа;​ \\  
 +**"​Показывать по умолчанию"​** - страница,​ которая будет открыта по умолчанию. Если не указана,​ то будет открываться первая по списку;​\\  
 +**"​Уровень доступа"​** - предусмотрено три уровня:​ \\ 
 i_LevelDeveloper - разработчик,​ \\  i_LevelDeveloper - разработчик,​ \\ 
 i_LevelAdmin - Администратор,​\\ ​ i_LevelAdmin - Администратор,​\\ ​
 i_LevelUser - "​Пользователь"​.\\ ​ i_LevelUser - "​Пользователь"​.\\ ​
 +
 +Для вычисления текущего уровня пользователя можно использовать ​
 +<sxh Delphi>
 +var
 +  ilLevel:​Integer;​
 +begin
 +  if DMForm.IsAgbis then
 +    ilLevel:​=i_LevelDeveloper
 +  else
 +    if DMForm.IsAdmin then
 +      ilLevel:​=i_LevelAdmin
 +    else
 +      ilLevel:​=i_LevelUser;​
 +</​sxh>​
 +
 +На формах наследниках TUniForm, TUniListForm уже есть кнопка **"​Помощь"​** с которой связан action ActHelp в TActionList.\\
 +В этом случае достаточно добавить в обработчик ActHelp вызов справки и выставить свойства ActHelp.Visible и ActHelp.Enable в обработчик активации формы.\\ ​
 +Можно просто добавить новую кнопку с вызовом справки
  
 При создании объекта указывается текущий уровень доступа пользователя \\  При создании объекта указывается текущий уровень доступа пользователя \\ 
Строка 60: Строка 115:
 procedure TFormDB_Fields.ActHelpExecute(Sender:​ TObject); procedure TFormDB_Fields.ActHelpExecute(Sender:​ TObject);
 var var
-  rlFormHelp: TFormHelp; 
   rlHelp:​T_Help;​   rlHelp:​T_Help;​
   clTxt: string;   clTxt: string;
Строка 77: Строка 131:
 </​sxh>​ </​sxh>​
  
-===== Составление списка ​документов справки через код ​метакласса формы =====+==== 2. Закрепить ссылки за определенными ​мета-объектами ====
  
-Сопоставление форм и WEB-страниц выполняется функцией T_Help.InitByAgbisRu\\ ​+Сопоставление форм и WEB-страниц выполняется функцией T_Help.InitByAgbisRu. В "//​**case ifMetaTag of**//"​ нужно добавить "​**//​tag//​**"​ необходимого мета-объекта и добавить ссылку\\ 
 <sxh Delphi> <sxh Delphi>
 class function T_Help.InitByAgbisRu(rfHelp:​T_Help;​ lfIsAgbis, lfIsAdmin:​Boolean;​ class function T_Help.InitByAgbisRu(rfHelp:​T_Help;​ lfIsAgbis, lfIsAdmin:​Boolean;​
Строка 113: Строка 167:
 </​ifauth>​ </​ifauth>​
  
-<ifauth @user> ​ + 
-[[internal:​Принципы документирования]]\\ +====== Дополнительная информация ====== 
-</​ifauth>​+ 
 + 
 +[[FormHelp|Помощь]] 
 + 
 + 
 +[[:документация_агбис|Назад]]\\