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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
документация_в_программе [17.07.2022 12:05]
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}} ​ 
- 
-**На втором этапе** планируется сделать контекстно-зависимую помощь.\\ ​ 
-Для вызова используется пункт кнопка **Помощь**.\\ ​ 
-Кнопка **Помощь** появляется автоматически при подключении справочных материалов к форме.\\ ​ 
-Для примера можно посмотреть справочники "​Фирмы"​ и "​Склады\отделы"​.\\ ​ 
-{{:​pasted:​20191223-131227.png}}\\ ​ 
- 
- 
-С формой можно связать несколько документов,​ в этом случае слева появится список справочных документов.\\ ​ 
-{{:​pasted:​20191223-130731.png}} 
- 
-При загрузке данных открывается нижняя панель статуса,​ не которой отображается сообщение "​Идет загрузка данных ..."​.\\ 
-Эта панель закрывается после завершения загрузки документа.\\ ​ 
-{{:​wiki:​him_lrxymzlbky.png}}\\ ​ 
- 
-Если при загрузке данных возникает ошибка,​ то открывается окно с сообщением об ошибке.\\ 
-{{:​wiki:​pasted:​20191231-090530.png}}\\ ​ 
- 
-Ошибка так же отображается на панели статуса и записывается в лог программы.\\ ​ 
-{{:​wiki:​pasted:​20191231-090836.png}}\\ ​ 
- 
- 
- 
-<ifauth @programmers> ​ 
-Список ссылок на документы хранится в объекте T_Help 
- 
- 
-===== Составление списка документов справки непосредственно в описании формы ===== 
- 
-В списке модулей должны быть указаны **rHelp**, **fHelp** 
-  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>​ 
- 
-===== Составление списка документов справки через код метакласса формы ===== 
- 
-Сопоставление форм и WEB-страниц выполняется функцией T_Help.InitByAgbisRu\\ ​ 
-<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|Помощь]] 
- 
- 
-[[:​документация_агбис|Назад]]\\ 
-