мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
документация_в_программе [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|Помощь]] | ||
- | |||
- | |||
- | [[:документация_агбис|Назад]]\\ | ||
- | |||