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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
документация_в_программе [17.07.2022 13:01]
Egor
документация_в_программе [17.07.2022 13:17]
Строка 1: Строка 1:
-====== Справка/​помощь в программе ====== 
- 
-Документирование в программе разделено на три части: \\ 
-1. Общая справка по всей системе\\ 
-2. Справка в журналах\\ 
-3. Справка в карточках\\ 
- 
- 
-====== 1. Общая справка по всей системе ====== 
- 
-Доступ к общей справке по всей системе находится в главном меню "//​Справка -> Документация//"​ 
- 
-{{:​pasted:​20220717-120443.png}} 
- 
-В зависимости от прав пользователя открывается одна из двух страниц,​ которые созданы на на сайте www.agbis.ru/​laundry/​school/:​ 
-для администраторов открывается "//​**Административная документация**//",​ для всех остальных пользователей - "//​**Пользовательская документация**//"​.\\ ​ 
- 
-{{:​pasted:​20191223-131145.png}} ​ 
- 
- 
-====== 2. Справка в журналах ====== 
- 
-Кнопка помощь во всех журналах,​ наследниках от "​TUniDblListForm"​ или "​TUniListFrame"​ и находится в главном меню журнала,​ отображается если на нее назначена какая-нибудь ссылка. 
- 
-Например журнал "//​**Фирмы**//"​ 
- 
-{{:​pasted:​20220717-123002.png}} 
- 
-Журнал "​Регистрация сотрудников"​ 
- 
-{{:​pasted:​20220717-123036.png}} 
- 
-С журналом может быть связано несколько ссылок на документацию,​ в этом случае слева появится список ссылок на помощь\\ ​ 
- 
-{{:​pasted:​20191223-130731.png}} 
- 
-====== 3. Справка в карточках ====== 
- 
-Кнопка "//​**Помощь**//"​ находится во всех формах,​ наследниках от "//​**UniForm**//"​ (если на нее назначена какая-нибудь ссылка) 
- 
-{{:​pasted:​20220717-124607.png}} 
- 
- 
-<ifauth @programmers> ​ 
- 
-====== Настройка помощи ====== 
- 
-Класс описывающий работу помощи - "//​**T_Help**//"​ 
- 
-**Настроить отображение помощь можно двумя способами:​** 
-1. Задать персональные ссылки для определенной карточки/​журнала 
-2. Закрепить ссылки за определенными мета-объектами 
- 
-===== 1. Задать персональные ссылки для определенной карточки/​журнала ===== 
- 
-В списке модулей должны быть указаны ​ 
-  uses ... rHelp, fHelp ... 
- 
-Для использования T_Help должна быть задана директива компилятора **CHROM**.\\ 
- 
-Пример функции,​ которая вызывает помощь состоящую из трех ссылок:​\\ ​ 
-первая - это явно заданный HTML-текст,​ второй и третий являются ссылками на страницы WEB-сайта с документацией. \\  
-При формировании элемента списка в **rlHelp.Add("​Заголовок","​URL","​HTML","​Показывать по умолчанию","​Уровень доступа"​)** указываются параметры:​\\ ​ 
-**"​Заголовок"​**,​ который будет отображаться в списке документов;​\\ ​ 
-**"​URL"​** - ссылка на страницы WEB-сайта;​ \\  
-**"​HTML"​** - текст HTML-документа;​ \\  
-**"​Показывать по умолчанию"​** - страница,​ которая будет открыта по умолчанию. Если не указана,​ то будет открываться первая по списку;​\\ ​ 
-**"​Уровень доступа"​** - предусмотрено три уровня:​ \\  
-i_LevelDeveloper - разработчик,​ \\  
-i_LevelAdmin - Администратор,​\\ ​ 
-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 в обработчик активации формы.\\ ​ 
-Можно просто добавить новую кнопку с вызовом справки 
- 
-При создании объекта указывается текущий уровень доступа пользователя \\  
-rlHelp:​=T_Help.Create(i_LevelAdmin)\\ ​ 
-а при формировании помощи лишние документы скрываются.\\ ​ 
-В нашем примере,​ реально будет показан только первый документ с уровнем "​Пользователь"​.\\ ​ 
- 
-<sxh Delphi> 
-procedure TFormDB_Fields.ActHelpExecute(Sender:​ TObject); 
-var 
-  rlHelp:​T_Help;​ 
-  clTxt: string; 
-begin 
-  clTxt:​='<​p>​Список полей, которые необходимы для запуска Агента.<​br /></​p>';​ 
-  rlHelp:​=T_Help.Create(i_LevelAdmin);​ 
-  try 
-    rlHelp.Add('​Форма "​Обязательные поля для агента"','',​clTxt,​true,​i_LevelUser);​ 
-    rlHelp.Add('​Обязательные поля для агента','​https://​doc.agb.is/​internal/​обязательные_поля_для_агента','',​false,​i_LevelDeveloper);​ 
-    rlHelp.Add('​DB_Tables_Fields','​https://​doc.agb.is/​internal/​db_tables_fields','',​false,​i_LevelDeveloper);​ 
-    TFormHelp.FormOpen(rlHelp);//​Форма "​Помощь"​ 
-  finally 
-    rlHelp.Free;​ 
-  end; 
-end; 
-</​sxh>​ 
- 
-==== 2. Закрепить ссылки за определенными мета-объектами ==== 
- 
-Сопоставление форм и WEB-страниц выполняется функцией T_Help.InitByAgbisRu. В "//​**case ifMetaTag of**//"​ нужно добавить "//​tag//"​ необходимого мета-объекта и добавить ссылку\\ ​ 
-<sxh Delphi> 
-class function T_Help.InitByAgbisRu(rfHelp:​T_Help;​ lfIsAgbis, lfIsAdmin:​Boolean;​ 
-               ​ifMetaTag:​Integer;​cfCaption:​String;​ ffSetStatisticsAction:​TSetStatisticsAction):​T_Help; ​ 
-var 
-  llLevel:​Integer;​ 
-  clURL:​String;​ 
-begin 
-  result:​=nil;​ 
-  if lfIsAgbis then 
-    llLevel:​=i_LevelDeveloper 
-  else 
-    if lfIsAdmin then 
-      llLevel:​=i_LevelAdmin 
-    else 
-      llLevel:​=i_LevelUser;​ 
-  if assigned(rfHelp) then 
-  begin 
-    result:​=rfHelp;​ 
-    result.iUserLevel:​=llLevel;​ 
-  end 
-  else 
-    result:​=T_Help.Create(llLevel);​ 
-  result.fSetStatisticsAction:​=ffSetStatisticsAction;​ 
- 
- case ifMetaTag of 
-    58: result.Add(cfCaption,'​https://​www.agbis.ru/​learning/​course/​index.php?​COURSE_ID=4&​CHAPTER_ID=0452&​LESSON_PATH=418.452','',​true,​i_LevelUser);//​Склады/​отделы 
-    101: result.Add(cfCaption,'​https://​www.agbis.ru/​learning/​course/​index.php?​COURSE_ID=4&​LESSON_ID=97&​LESSON_PATH=418.451.97','',​true,​i_LevelUser);​ //​Фирмы 
-  end; 
-end; 
-</​sxh>​ 
- 
-</​ifauth>​ 
- 
-==== Дополнительная информация ==== 
- 
-[[FormHelp|Помощь]] 
- 
- 
-[[:​документация_агбис|Назад]]\\ 
-