Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Datasul | Módulo | Framework |
Segmento Executor | Tecnologia | ||
Projeto | PGR_LD_FRW001-81 | IRM | PCREQ-3617 |
Requisito | PCREQ-6064 | Subtarefa | Não se aplica |
Release de Entrega Planejada | DTS12.1.8 | Réplica | Não se aplica |
País | ( ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | Não se aplica |
Objetivo
O objetivo desta especificação é preparar o produto Dtatasul para realizar a chamada da Central de Ajuda em todos os pontos onde hoje é executado o Help On-line.
Definição da Regra de Negócio
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
men/men900aa.p | [Alteração] | N/A | Realiza a chamada do help |
[ACAA050 – Negociação Financeira] | [Envolvida] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA060 – Cadastro de Pedidos] | [Criação] | [Atualizações -> Acadêmico-> Cadastros] | - |
PROGRESS
MEN/MEN900ZA.P
Aviso | ||
---|---|---|
| ||
O fonte deve ser pré processado para a versão 12.1.8 . |
No programa men/men900za.p
a variável c-nome-htm
armazena a informação do nome do programa, então devemos alterar o nome da variável para c-programaprog-help
e facilitar o entendimento quanto a informação que armazena.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
/* TESTA SE ESTA CHAMANDO DO MENU DE MODULO */ IF c-nome-htm <> "men903za" THEN DO: IF procedimento.cod_prog_dtsul_base <> "" THEN DO: FIND prog_dtsul WHERE prog_dtsul.cod_prog_dtsul = procedimento.cod_prog_dtsul_base NO-LOCK NO-ERROR. END. IF AVAIL prog_dtsul THEN DO: ASSIGN c-prog-temp = REPLACE(prog_dtsul.nom_prog_ext,"/","~\") c-programaprog-help = ENTRY(1,ENTRY(NUM-ENTRIES(c-prog-temp,"~\"),c-prog-temp,"~\"),"."). END. END. |
A string enviada como parâmetro na chamada da procedure openUrl
deverá ser modificada, prevendo a necessidade enviar as informações de linha de produto, segmento, versão, modulo e ação/ rotina.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
RUN openUrl ("lineProduct=datasul~&sementsegment=" + c-segmento + "~&version=" + c-versão + "~&module=" + procedimento.cod_modul_dtsul + "~&action=" + c-prog-programahelp). |
Para recuperar o segmento do produto, - avaliar o uso do LS.
Para recuperar a versão do produto, deverá ser verificada a propriedade framework.version
utilizando o programa men/men906zb.p
.
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
RUN men/men906zb.p(ENTRY(10,SESSION:PARAMETER),ENTRY(9,SESSION:PARAMETER),ENTRY(11,SESSION:PARAMETER),ENTRY(12,SESSION:PARAMETER),"","getProperty","","","framework.version",""). |
Informações |
---|
Considerar apenas o conteúdo antes do hífen como versão do produto |
Na procedure openUrl,
quando a versão do produto for maior ou igual a 12.1.8, deverá deixar de executar o trecho que segue:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
IF cUrl <> ? THEN DO: /* utiliza a url de documentacao definida no config.xml com os devidos tratamentos no EIPFlexConfigurationLoader */ ASSIGN cUrl = cUrl + "/scripts/open.html". END. ELSE DO: /* assume a url padrao do legado pois nao foi possivel ler a url do EIPFlexConfigurationLoader */ ASSIGN cUrl = "hlp/openhelp.html". END. |
E passar a executar este trecho no retorno da execução do men/men906zb.p
.
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
IF cUrl = ? THEN DO: /* mensagem indicando que o help não esta configurado */ return. END. |
FLEX
HelpController.as
Portlet.as
No metodo callHelpURL
realizar alterações para receber o segmento e versão do produto conforme exemplo que segue:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
/**
* Realiza a abertura do Help do portlet para o help online.
* @param isGP
*
*/
private function callHelpURL(isGP:Boolean):void {
var functionalityName:String = this.resource.resourceName;
if (functionalityName.lastIndexOf(".") > 0) {
functionalityName = functionalityName.split(".")[functionalityName.split(".").length - 1];
}
var user:UserValue = UserManager.getInstance().user;
var i = user.defaultLocale.languageCode;
var url:String = Application.application.url;
var lm:LicenseManager = new LicenseManager();
var version:String = PropertyUtil.getInstance().getProperty("framework.version");
version = version.substr(0,version.indexOf("-"));
url = url.substr(0, url.indexOf("index-flex.swf"));
lm.getLsInfo("segment", function(result:ResultEvent) {
var segmentCode:String = result.result.value["segmentCode"];
url += "help?lineProduct=datasul&segment=" + segmentCode + "&version=" + version ;
url += "&module=" + this.moduleName;
url += "&action=" + functionalityName;
navigateToURL(new URLRequest(url));
}, function(fault:FaultEvent) {
//Tratar o erro com uma msg
});
} |
LicenseManager.as
Definir o metodo getLsInfo
na classe LicenseManager.as
para que seja possível recuperar o segmento do cliente, conforme exemplo que segue:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
/**
* Envia solicitação para recuperar o segmento do produto
* @param result Função para tratar o retorno positivo da solicitação
* @param fault Função para tratar o retorno negativo da solicitação
* @return
*/
public function getLsInfo(information:String, result:Function, fault:Function):String {
var line:String = "OP=GETLSINFO";
line += "#PARENTTHREADID=#PSID=#CUSRNAME=#SLOT=0";
line += "#FEDERALID=#IPADDRESS=#SESSIONID=";
line += "#LSINFOPARAM=";
line += information;
this.sendData(line, result, fault);
} |
JAVA
EIPFlexConfigurationLoader.java
no método String getURL()
há a definição da URL para a chamada do help. Atualmente ha o valor "http://www.totvs.com/mktfiles/tdiportais/helponlinedatasul/" que deverá ser substituído pelo concatenação dos valores: "http://" + this.config.getRemoteServer ()+ ":" + this.config.getWebServerPort() + "/help".
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
private String getURL() { /* Se esta configurado para utilizar help offline, armazenara a docURL*/ String docURL = null; if(this.config.getUseHelpOffLine()) { if(this.config.getDocURL() != null) docURL = this.config.getDocURL(); } else { /* Se esta configurado para utilizar help online, utilizara a docURLOnLine como docURL, * pois todos os locais utilizam docURL*/ if(this.config.getDocURLOnLine() != null) { docURL = this.config.getDocURLOnLine(); } } /* se o conteudo da docURL continua invalido, assume a URL fixa de help */ if(docURL == null || docURL.trim().equals("")) { docURL = "http://" + this.config.getRemoteServer() + ":" + this.config.getWebServerPort() + "/help"; } return docURL; } |
JAVASCRIPT
HelpController.js
ARQUIVOS DE CONFIGURAÇÃO
config.xml
No arquivo config.xml
excluir o valor da tag <DocURL>
.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|