dts-backoffice-util 17.0.0 → 17.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +545 -337
- package/esm2022/lib/components/totvs-map/totvs-map.component.mjs +97 -0
- package/esm2022/lib/dts-backoffice-util.module.mjs +11 -7
- package/esm2022/lib/services/validate.service.mjs +42 -0
- package/esm2022/public-api.mjs +8 -2
- package/fesm2022/dts-backoffice-util.mjs +145 -8
- package/fesm2022/dts-backoffice-util.mjs.map +1 -1
- package/lib/components/totvs-map/totvs-map.component.d.ts +21 -0
- package/lib/dts-backoffice-util.module.d.ts +7 -6
- package/lib/services/validate.service.d.ts +12 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ Segue abaixo as últimas versões da Biblioteca, conforme a versão do PO-UI e A
|
|
|
12
12
|
|
|
13
13
|
| PO-UI | Angular | Versão dtsBackofficeUtil |
|
|
14
14
|
|-|-|-|
|
|
15
|
-
| v17 | v17 | 17.
|
|
15
|
+
| v17 | v17 | 17.2.0 |
|
|
16
16
|
| v16 | v16 | 16.1.0 |
|
|
17
17
|
| v15 | v15 | 15.4.1 |
|
|
18
18
|
| v14 | v14 | 14.4.1 |
|
|
@@ -28,41 +28,331 @@ Segue abaixo as últimas versões da Biblioteca, conforme a versão do PO-UI e A
|
|
|
28
28
|
|
|
29
29
|
**Instalação do Pacote:**
|
|
30
30
|
|
|
31
|
-
```
|
|
31
|
+
```cmd
|
|
32
32
|
npm install dts-backoffice-util
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
<br>
|
|
36
36
|
|
|
37
|
-
# Componentes
|
|
37
|
+
# Componentes
|
|
38
38
|
|
|
39
|
+
## TotvsScheduleExecutionComponent
|
|
39
40
|
<br>
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
**Objetivo:** Realizar o controle do idioma corrente, considerando o que estiver parametrizado no Cadastro de Usuários do Datasul, e caso não esteja informado, será considerado o idioma informado no Browse.
|
|
42
|
+
**Objetivo:** Componente para realização de agendamentos RPW.
|
|
44
43
|
|
|
45
|
-
|
|
44
|
+
**Dependências:** Para usar esse componente deve ser instalado no projeto o pacote rxjs-compat.<br/>
|
|
45
|
+
```cmd
|
|
46
|
+
npm i rxjs-compat --save
|
|
46
47
|
```
|
|
47
|
-
|
|
48
|
+
**Importação:** No módulo da aplicação importar o módulo abaixo:
|
|
49
|
+
```ts
|
|
50
|
+
@NgModule({
|
|
51
|
+
declarations: [
|
|
52
|
+
...
|
|
53
|
+
],
|
|
54
|
+
imports: [
|
|
55
|
+
...,
|
|
56
|
+
DtsBackofficeUtilsModule.forRoot()
|
|
57
|
+
],
|
|
58
|
+
providers: [],
|
|
59
|
+
bootstrap: [...]
|
|
60
|
+
})
|
|
48
61
|
```
|
|
49
62
|
|
|
50
|
-
|
|
63
|
+
**Parâmetros:**
|
|
64
|
+
|
|
65
|
+
| Nome | Tipo | Obrigatório | Descrição |
|
|
66
|
+
|-|-|-|-|
|
|
67
|
+
| programName | string | Sim | Código de Programa cadastrado no menu, do programa que será executado no RPW. |
|
|
68
|
+
| externalName | string | Sim | Nome completo do Programa que será executado no RPW, diretório + nome externo.<br>**Importante:** Em virtude do dicionário (Foundation), este parâmetro é limitado a 24 dígitos. |
|
|
69
|
+
| programEMS5 | boolean | Não | Indica se o programa progress é do EMS5. |
|
|
70
|
+
| programStyle | number | Não | Número que representa o Estilo do Relatório no EMS5. |
|
|
71
|
+
| programVersion | string | Não | Versão do programa progress. |
|
|
72
|
+
| parameters | Array | Sim | Objeto representando a Temp-Table que será enviada ao progress. |
|
|
73
|
+
| paramDigitDef | Array | Não | Definição da Temp-Table tt-digita. Utilizado apenas pelo EMS2. Para cada campo da tt-digita, deve ser enviado um objeto com o seguinte formato: **{"chave": "string", "tipo": "string" }**. Onde **chave** representa o nome do campo, e **tipo** representa o tipo de dado (exemplo: character, integer, etc...). |
|
|
74
|
+
| paramDigitData | Array | Não | Dados que serão enviados e alimentados na tt-digita. Utilizado apenas pelo EMS2. |
|
|
75
|
+
| paramSelections | Array | Não | Parâmetros de Seleção. Utilizado apenas pelo EMS5. |
|
|
76
|
+
| disabledParams | boolean | Não | Quando for igual a **"Sim"**, irá desabilitar todos os campos do Agendamento (Data Execução, Servidor, Repetir ocorrência, etc...). |
|
|
77
|
+
| loading | boolean | Não | Quando for igual a **"Sim"**, irá apresentar a tela de "loading" no momento da criação da agenda até o retorno do serviço. |
|
|
78
|
+
| endExecution | EventEmitter | Não | Evento que será disparado ao finalizar o agendamento. Ele irá enviar como parâmetro um objeto da interface **IScheduleParameters**, contendo os parâmetros informados pelo usuário. |
|
|
79
|
+
---
|
|
80
|
+
**Métodos:**
|
|
51
81
|
|
|
52
82
|
| Nome | Descrição |
|
|
53
83
|
|-|-|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
84
|
+
| setScheduleParameters | Atualiza as informações de agendamento com base no objeto que foi enviado como parâmetro.<br>**Parâmetros:**<br>- schParam (**IScheduleParameters**): Objeto com as informações do agendamento (Data Execução, Servidor, Repetir ocorrência, etc...).<br>**Retorno:** Não há. |
|
|
85
|
+
| getScheduleParameters | Retorna um objeto da interface **IScheduleParameters**, contendo os atuais parâmetros informados pelo usuário na tela de agendamento.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- schParam (**IScheduleParameters**): Objeto com as informações do agendamento (Data Execução, Servidor, Repetir ocorrência, etc...). |
|
|
86
|
+
---
|
|
87
|
+
**Exemplo de Uso:**
|
|
88
|
+
|
|
89
|
+
Em conjunto com o parâmetro **endExecution** o método **setScheduleParameters** pode ser utilizado para salvar e recuperar as informações de agendamento informadas pelo usuário.
|
|
90
|
+
|
|
91
|
+
**Definições no HTML:**
|
|
92
|
+
```html
|
|
93
|
+
// EXEMPLO PARA EMS5
|
|
94
|
+
<app-totvs-schedule-execution #schParam
|
|
95
|
+
programName="rpt_grp_repres"
|
|
96
|
+
externalName="rpt_grp_repres"
|
|
97
|
+
programEMS5="true"
|
|
98
|
+
programStyle="40"
|
|
99
|
+
programVersion="1.00.00.004"
|
|
100
|
+
[parameters]="parametersRpw"
|
|
101
|
+
[paramSelections]="paramSelectionsRpw"
|
|
102
|
+
(endExecution)="endExecutionSchedule($event)">
|
|
103
|
+
</app-totvs-schedule-execution>
|
|
104
|
+
|
|
105
|
+
// EXEMPLO PARA EMS2
|
|
106
|
+
<app-totvs-schedule-execution #schParam
|
|
107
|
+
programName="pdapi701"
|
|
108
|
+
externalName="pdp/pdapi701.p"
|
|
109
|
+
[parameters]="parametersRpw"
|
|
110
|
+
[paramDigitDef]="paramDigitDefRpw"
|
|
111
|
+
[paramDigitData]="paramDigitDataRpw"
|
|
112
|
+
(endExecution)="endExecutionSchedule($event)">
|
|
113
|
+
</app-totvs-schedule-execution>
|
|
114
|
+
```
|
|
115
|
+
**Definições no JavaScript:**
|
|
116
|
+
```ts
|
|
117
|
+
@ViewChild('schParam', { static: true }) schParam: TotvsScheduleExecutionComponent;
|
|
118
|
+
|
|
119
|
+
scheduleParams: IScheduleParameters;
|
|
120
|
+
parametersRpw = new Array<any>();
|
|
121
|
+
paramDigitDefRpw = new Array<any>();
|
|
122
|
+
paramDigitDataRpw = new Array<any>();
|
|
123
|
+
paramSelectionsRpw = new Array<any>();
|
|
124
|
+
|
|
125
|
+
ngOnInit(): void {
|
|
126
|
+
this.loadLocalStorage();
|
|
127
|
+
this.schParam.setScheduleParameters(this.scheduleParams);
|
|
128
|
+
|
|
129
|
+
this.createParametersRpw();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
createParametersRpw(): void {
|
|
133
|
+
// Parâmetros
|
|
134
|
+
this.parametersRpw = [
|
|
135
|
+
{ chave: 'destino', valor: 2, tipo: 'integer' },
|
|
136
|
+
{ chave: 'arquivo', valor: '', tipo: 'character' },
|
|
137
|
+
{ chave: 'usuario', valor: 'FERNANDO', tipo: 'character' },
|
|
138
|
+
{ chave: 'perfil', valor: 880, tipo: 'integer' }
|
|
139
|
+
];
|
|
140
|
+
|
|
141
|
+
// Definição da tt-digita (EMS2)
|
|
142
|
+
this.paramDigitDefRpw = [
|
|
143
|
+
{ chave: 'cod-estab', tipo: 'character' },
|
|
144
|
+
{ chave: 'cod-ccusto', tipo: 'integer' }
|
|
145
|
+
];
|
|
146
|
+
|
|
147
|
+
// Dados da tt-digita (EMS2)
|
|
148
|
+
this.paramDigitDataRpw = [
|
|
149
|
+
{ "cod-estab": '19', "cod-ccusto": 17 },
|
|
150
|
+
{ "cod-estab": '28', "cod-ccusto": 11 },
|
|
151
|
+
{ "cod-estab": '73', "cod-ccusto": 90 }
|
|
152
|
+
];
|
|
153
|
+
|
|
154
|
+
// Seleção (Relatório Regra/Exceção do EMS5)
|
|
155
|
+
this.paramSelectionsRpw = [
|
|
156
|
+
{ ind_dwb_set_type: "Regra", cod_dwb_set: "estab",
|
|
157
|
+
cod_dwb_set_initial: "01", cod_dwb_set_final: "FF", log_dwb_rule: true },
|
|
158
|
+
{ ind_dwb_set_type: "Exceção", cod_dwb_set: "ccusto",
|
|
159
|
+
cod_dwb_set_initial: "30", cod_dwb_set_final: "35", log_dwb_rule: false }
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
endExecutionSchedule(event): void {
|
|
164
|
+
this.scheduleParams = event;
|
|
165
|
+
this.saveLocalStorage();
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
private saveLocalStorage(): void {
|
|
169
|
+
if (typeof (Storage) === 'undefined') { return; }
|
|
170
|
+
localStorage.setItem('param-maint.schParam', JSON.stringify(this.scheduleParams));
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
private loadLocalStorage(): void {
|
|
174
|
+
if (typeof (Storage) === 'undefined') { return; }
|
|
175
|
+
this.scheduleParams = JSON.parse(localStorage.getItem('param-maint.schParam'));
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
**Definições no Progress:**
|
|
179
|
+
```ts
|
|
180
|
+
DEFINE TEMP-TABLE tt-param NO-UNDO
|
|
181
|
+
FIELD destino AS INTEGER
|
|
182
|
+
FIELD arquivo AS CHARACTER
|
|
183
|
+
FIELD usuario AS CHARACTER
|
|
184
|
+
FIELD perfil AS INTEGER.
|
|
185
|
+
|
|
186
|
+
DEFINE TEMP-TABLE tt-digita NO-UNDO
|
|
187
|
+
FIELD cod-estab AS CHARACTER
|
|
188
|
+
FIELD cod-ccusto AS INTEGER.
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Interfaces:
|
|
192
|
+
|
|
193
|
+
IScheduleParameters
|
|
194
|
+
| Nome | Tipo | Descrição | Valor - Label Valor |
|
|
195
|
+
|-|-|-|-|
|
|
196
|
+
| executionType | number | Tipo Execução | 1 - Executar Hoje<br>2 - Agendar Execução |
|
|
197
|
+
| execAppointDate | date | Data Agendada | |
|
|
198
|
+
| execAppointHour | string | Hora Agendada | |
|
|
199
|
+
| executionServer | string | Servidor RPW | |
|
|
200
|
+
| repeatExecution | boolean | Repetir Ocorrência | |
|
|
201
|
+
| repeatType | number | Tipo Repetição | 1 - Diária<br>2 - Semanal<br>3 - Mensal |
|
|
202
|
+
| frequency | string | Frequência | "no" - Uma vez no dia<br>"yes" - Várias vezes no dia |
|
|
203
|
+
| frequencyValue | number | Quantidade da Frequência | |
|
|
204
|
+
| frequencyType | string | Tipo Frequência | "hour" - Hora(s)<br>"minute" - Minuto(s) |
|
|
205
|
+
| execAppointHourInit | string | Hora Inicial Frequência | |
|
|
206
|
+
| execAppointHourFinal | string | Hora Final Frequência | |
|
|
207
|
+
| selectWeeklys | Array | Dia da Semana<br>Frequência Semanal | Sunday - Domingo<br>Monday - Segunda<br>Tuesday - Terça<br>Wednesday - Quarta<br>Thursday - Quinta<br>Friday - Sexta<br>Saturday - Sábado |
|
|
208
|
+
| dayOfMonth | number | Dia do Mês<br>Frequência Mensal | |
|
|
56
209
|
---
|
|
210
|
+
<br>
|
|
57
211
|
|
|
212
|
+
## TotvsMapComponent
|
|
58
213
|
<br>
|
|
59
214
|
|
|
60
|
-
|
|
215
|
+
**Objetivo:** Componente para utilização de um mapa do Brasil interativo, que permite a seleção de um estado específico, que dispara um evento, pegando o estado selecionado.
|
|
216
|
+
|
|
217
|
+
**Importação:** Importar o componente do mapa no módulo que será utilizado.
|
|
218
|
+
|
|
219
|
+
```ts
|
|
220
|
+
@NgModule({
|
|
221
|
+
declarations: [
|
|
222
|
+
...
|
|
223
|
+
],
|
|
224
|
+
imports: [
|
|
225
|
+
...,
|
|
226
|
+
DtsBackofficeUtilsModule.forRoot()
|
|
227
|
+
],
|
|
228
|
+
providers: [],
|
|
229
|
+
bootstrap: [...]
|
|
230
|
+
})
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Parâmetros:**
|
|
234
|
+
|
|
235
|
+
| Nome | Tipo | Obrigatório | Descrição |
|
|
236
|
+
|-|-|-|-|
|
|
237
|
+
| enabledStates | string[] | Não | Parâmetro que recebe uma lista de siglas de estados que devem ser habilitados no mapa, aqueles não que forem informados serão desabilitado. Se este parâmetro não for informado, todos os estados ficaram habilitados.<br>Se o parâmetro receber uma variável, sempre que o conteúdo dela for alterado, o mapa será atualizado automaticamente com o novo valor.
|
|
238
|
+
| initialSelectedState | string | Não | Parâmetro para fornecer um estado a ser selecionado no mapa.<br>Se o parâmetro receber uma variável, sempre que o conteúdo dela for alterado, o mapa será atualizado automaticamente com o novo valor.
|
|
239
|
+
| selectedStateEvent | EventEmitter | Sim | Evento disparado ao selecionar um estado do mapa.<br>**Parâmetros:**<br>- State: Responsável por receber do componente o estado selecionado. |
|
|
240
|
+
---
|
|
241
|
+
**Exemplo de Uso:**
|
|
242
|
+
|
|
243
|
+
Para a utilização, basta chamar o componente no .HTML e fazer a definição no .TS do seu método.
|
|
244
|
+
|
|
245
|
+
**Definições no HTML:**
|
|
246
|
+
```html
|
|
247
|
+
// EXEMPLO
|
|
248
|
+
<app-totvs-map
|
|
249
|
+
[enabledStates]="enabledStates"
|
|
250
|
+
[initialSelectedState]="initialSelectedState"
|
|
251
|
+
(selectedStateEvent)="selectedState($event)">
|
|
252
|
+
</app-totvs-map>
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Definições no JavaScript:**
|
|
256
|
+
```ts
|
|
257
|
+
state: string;
|
|
258
|
+
enabledStates: string[];
|
|
259
|
+
initialSelectedState: string;
|
|
260
|
+
|
|
261
|
+
searchTax(): void {
|
|
262
|
+
this.servTaxSubscription$ = this.servTax
|
|
263
|
+
.getTax()
|
|
264
|
+
.subscribe((response: ITotalTax) => {
|
|
265
|
+
|
|
266
|
+
if (response) {
|
|
267
|
+
...
|
|
268
|
+
this.enabledStates = response.listStates;
|
|
269
|
+
this.initialSelectedState = response.listStates[0];
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
selectedState(state: string) {
|
|
275
|
+
this.state = state;
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**Alterando as cores do mapa:**
|
|
280
|
+
|
|
281
|
+
O mapa já possui as cores da TOTVS como padrão. Mas caso seja necessário alterar alguma cor, deve-se utilizar o código abaixo dentro do styles.css do projeto, alterando os valores.
|
|
282
|
+
|
|
283
|
+
```css
|
|
284
|
+
/* Cor padrão de um estado não selecionado */
|
|
285
|
+
.defaultState {
|
|
286
|
+
fill: #0c6c94;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/* Cor padrão de um estado não selecionado, quando passar o mouse em cima*/
|
|
290
|
+
.defaultState:hover {
|
|
291
|
+
fill: #29b5c4;
|
|
292
|
+
cursor: pointer;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/* Cor padrão de um estado pequeno (DF, ES, RJ) não selecionado */
|
|
296
|
+
.defaultStateCircle {
|
|
297
|
+
fill: #0c6c94;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/* Cor padrão de um estado pequeno (DF, ES, RJ) não selecionado, quando passar o mouse em cima */
|
|
301
|
+
.defaultStateCircle:hover {
|
|
302
|
+
fill: #29b5c4;
|
|
303
|
+
cursor: pointer;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/* Cor padrão de um estado desabilitado */
|
|
307
|
+
.disabledState {
|
|
308
|
+
fill: grey !important;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/* Cor padrão de um estado selecionado */
|
|
312
|
+
.selectedState {
|
|
313
|
+
fill: #29b5c4;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/* Cor padrão de um estado pequeno (DF, ES, RJ) selecionado */
|
|
317
|
+
.selectedStateCircle {
|
|
318
|
+
fill: #29b5c4;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.disableEvents {
|
|
322
|
+
pointer-events: none;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/* Cor e fonte padrão do nome dos estados */
|
|
326
|
+
.text {
|
|
327
|
+
fill: #fff;
|
|
328
|
+
font: 12px Arial-BoldMT, sans-serif;
|
|
329
|
+
cursor: pointer
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/* Padrão do estado como um todo - estado + texto (que seria a tag <a>) */
|
|
333
|
+
.stateWithText {
|
|
334
|
+
text-decoration: none
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.stateWithText:hover {
|
|
338
|
+
cursor: pointer;
|
|
339
|
+
text-decoration: none;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
/* Cor padrão ao passar o mouse em cima do estado como um todo - estado + texto */
|
|
343
|
+
.stateWithText:hover .defaultState, .stateWithText:hover .defaultStateCircle {
|
|
344
|
+
fill: #29b5c4;
|
|
345
|
+
}
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
# Pipes
|
|
349
|
+
|
|
350
|
+
## dtsDateFormat
|
|
61
351
|
|
|
62
352
|
**Objetivo:** PIPE para formatar datas, ele foi criado pois o PIPE date do angular não consegue formatada datas inferiores a 1901.
|
|
63
353
|
|
|
64
354
|
**Importação:** No módulo de funcionalidade importar o módulo abaixo:
|
|
65
|
-
```
|
|
355
|
+
```ts
|
|
66
356
|
@NgModule({
|
|
67
357
|
declarations: [
|
|
68
358
|
...
|
|
@@ -77,7 +367,7 @@ Métodos:
|
|
|
77
367
|
```
|
|
78
368
|
|
|
79
369
|
Exemplo de uso:
|
|
80
|
-
```
|
|
370
|
+
```html
|
|
81
371
|
<po-info p-label="Data"
|
|
82
372
|
[p-value]="date | dtsDateFormat : 'dd/MM/yyyy'">
|
|
83
373
|
</po-info>
|
|
@@ -86,22 +376,49 @@ Exemplo de uso:
|
|
|
86
376
|
[p-value]="date | dtsDateFormat : 'MM/dd/yyyy'">
|
|
87
377
|
</po-info>
|
|
88
378
|
```
|
|
379
|
+
<br>
|
|
380
|
+
|
|
381
|
+
# Serviços
|
|
382
|
+
|
|
383
|
+
## BreadcrumbControlService
|
|
384
|
+
|
|
385
|
+
**Objetivo:** Realiza a criação e controle do breadcrumb das telas.
|
|
386
|
+
|
|
387
|
+
**Importação:**
|
|
388
|
+
```ts
|
|
389
|
+
import { BreadcrumbControlService } from 'dts-backoffice-util';
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
**Métodos:**
|
|
393
|
+
|
|
394
|
+
| Nome | Descrição |
|
|
395
|
+
|-|-|
|
|
396
|
+
| newBreadcrumb | "Reinicia" o breadcrumb quando necessário. Ex: Telas que possuem menu lateral, ao passar de um menu para outro, o breadcrumb deve ser reiniciado.<br>**Parâmetros:** Não há.<br>**Retorno:** Não há. |
|
|
397
|
+
| addBreadcrumb | Adiciona um item ao breadcrumb, considerando a URL atual da tela.<br>**Parâmetros:**<br>- literal (string): Nome da tela que será apresentado no breadcrumb.<br>- activatedRoute (ActivatedRoute): ActivedRoute da tela.<br>**Retorno:** Não há. |
|
|
398
|
+
| addBreadcrumbURL | Adiciona um item ao breadcrumb, informando uma URL específica.<br>**Parâmetros:**<br>- literal (string): Nome da tela que será apresentado no breadcrumb.<br>- url (string): URL específica.<br>**Retorno:** Não há. |
|
|
399
|
+
| updBreadcrumbURL | Altera uma informação qualquer contida na URL do item informado.<br>**Parâmetros:**<br>- literal (string): Nome da tela que está no breadcrumb.<br>- valueOld (string): Valor a ser substituído.<br>- valueNew (string): Novo valor.<br>**Retorno:** Não há. |
|
|
400
|
+
| delBreadcrumb | Exclui um item do breadcrumb.<br>**Parâmetros:**<br>- literal (string): Nome do item (nome da tela), que deve ser excluído do breadcrumb.<br>**Retorno:** Não há. |
|
|
401
|
+
| getBreadcrumb | Retorna o breadcrumb atual completo.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- breadcrumb (PoBreadcrumb) |
|
|
402
|
+
| getCurrentRouter | Retorna a URL do breadcrumb do item corrente.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- url (string) |
|
|
403
|
+
| getPrevRouter | Retorna a URL do breadcrumb do item anterior.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- url (string) |
|
|
404
|
+
| hasPreviousRouter | Indica se existe um item de breadcrumb anterior.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- exist (boolean) |
|
|
405
|
+
---
|
|
89
406
|
|
|
90
407
|
<br>
|
|
91
408
|
|
|
92
|
-
|
|
409
|
+
## MenuDatasulService
|
|
93
410
|
|
|
94
411
|
**Objetivo:** Interagir com o Menu do Datasul.
|
|
95
412
|
|
|
96
|
-
Importação
|
|
97
|
-
```
|
|
413
|
+
**Importação:**
|
|
414
|
+
```ts
|
|
98
415
|
import { MenuDatasulService } from 'dts-backoffice-util';
|
|
99
416
|
|
|
100
417
|
constructor(public menuDatasulService: MenuDatasulService) {
|
|
101
418
|
}
|
|
102
419
|
```
|
|
103
420
|
|
|
104
|
-
Métodos
|
|
421
|
+
**Métodos:**
|
|
105
422
|
|
|
106
423
|
| Nome | Descrição |
|
|
107
424
|
|-|-|
|
|
@@ -112,8 +429,8 @@ Métodos:
|
|
|
112
429
|
| programSecurity | Verifica a Segurança do Menu, identificando se o usuário corrente possui acesso a um ou mais programas.<br>**Parâmetros:**<br>- programName (string ou Array): Nome do Programa cadastro no Menu, que se deseja consultar a segurança. Podendo ser informado uma string simples com o Nome do Programa, ou um Array de strings com a lista de Programas.<br>**Retorno:** response (Observable(Array)): Array com as informações dos Programas pesquisados. O objeto contido no Array terá dois atributos:<br>programName (string): Nome do Programa no Menu.<br>hasAccess (boolean): Valor "TRUE" ou "FALSE", indicando se o usuário tem acesso ao programa. **Obs:** Se o programa não estiver cadastro no Menu, o retorno deste atributo será "FALSE". |
|
|
113
430
|
---
|
|
114
431
|
|
|
115
|
-
Exemplo de uso
|
|
116
|
-
```
|
|
432
|
+
**Exemplo de uso:**
|
|
433
|
+
```ts
|
|
117
434
|
// Executando uma tela Progress
|
|
118
435
|
program = {
|
|
119
436
|
prg: 'bas_lote_liquidac_acr',
|
|
@@ -167,182 +484,150 @@ this.menuDatasulService
|
|
|
167
484
|
|
|
168
485
|
<br>
|
|
169
486
|
|
|
170
|
-
|
|
487
|
+
## ProfileService
|
|
171
488
|
|
|
172
|
-
**Objetivo:**
|
|
489
|
+
**Objetivo:** Salvar preferências do usuário.
|
|
173
490
|
|
|
174
|
-
**
|
|
175
|
-
|
|
491
|
+
**Importação:**
|
|
492
|
+
```ts
|
|
493
|
+
import { ProfileService, IProfile } from 'dts-backoffice-util';
|
|
176
494
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
@NgModule({
|
|
180
|
-
declarations: [
|
|
181
|
-
...
|
|
182
|
-
],
|
|
183
|
-
imports: [
|
|
184
|
-
...,
|
|
185
|
-
DtsBackofficeUtilsModule.forRoot()
|
|
186
|
-
],
|
|
187
|
-
providers: [],
|
|
188
|
-
bootstrap: [...]
|
|
189
|
-
})
|
|
495
|
+
constructor(public preferenceService: ProfileService) {
|
|
496
|
+
}
|
|
190
497
|
```
|
|
191
498
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
| Nome | Tipo | Obrigatório | Descrição |
|
|
195
|
-
|-|-|-|-|
|
|
196
|
-
| programName | string | Sim | Código de Programa cadastrado no menu, do programa que será executado no RPW. |
|
|
197
|
-
| externalName | string | Sim | Nome completo do Programa que será executado no RPW, diretório + nome externo.<br>**Importante:** Em virtude do dicionário (Foundation), este parâmetro é limitado a 24 dígitos. |
|
|
198
|
-
| programEMS5 | boolean | Não | Indica se o programa progress é do EMS5. |
|
|
199
|
-
| programStyle | number | Não | Número que representa o Estilo do Relatório no EMS5. |
|
|
200
|
-
| programVersion | string | Não | Versão do programa progress. |
|
|
201
|
-
| parameters | Array | Sim | Objeto representando a Temp-Table que será enviada ao progress. |
|
|
202
|
-
| paramDigitDef | Array | Não | Definição da Temp-Table tt-digita. Utilizado apenas pelo EMS2. Para cada campo da tt-digita, deve ser enviado um objeto com o seguinte formato: **{"chave": "string", "tipo": "string" }**. Onde **chave** representa o nome do campo, e **tipo** representa o tipo de dado (exemplo: character, integer, etc...). |
|
|
203
|
-
| paramDigitData | Array | Não | Dados que serão enviados e alimentados na tt-digita. Utilizado apenas pelo EMS2. |
|
|
204
|
-
| paramSelections | Array | Não | Parâmetros de Seleção. Utilizado apenas pelo EMS5. |
|
|
205
|
-
| disabledParams | boolean | Não | Quando for igual a **"Sim"**, irá desabilitar todos os campos do Agendamento (Data Execução, Servidor, Repetir ocorrência, etc...). |
|
|
206
|
-
| loading | boolean | Não | Quando for igual a **"Sim"**, irá apresentar a tela de "loading" no momento da criação da agenda até o retorno do serviço. |
|
|
207
|
-
| endExecution | EventEmitter | Não | Evento que será disparado ao finalizar o agendamento. Ele irá enviar como parâmetro um objeto da interface **IScheduleParameters**, contendo os parâmetros informados pelo usuário. |
|
|
208
|
-
|
|
209
|
-
Métodos:
|
|
499
|
+
**Métodos:**
|
|
210
500
|
|
|
211
501
|
| Nome | Descrição |
|
|
212
502
|
|-|-|
|
|
213
|
-
|
|
|
214
|
-
|
|
|
503
|
+
| setProfile | Salva informações no profile do usuário.<br>**Parâmetros:**<br>- profile (IProfile): Objeto com as informações do usuário e as informações serem salvas.<br>**Retorno:**<br>- response (Observable(any)): Retorno do BackEnd. |
|
|
504
|
+
| getProfileAsString | Retorna os valores salvos no formato de uma string.<br>**Parâmetros:**<br>- profile (IProfile): Objeto com as informações do usuário.<br>- showLoading (boolean): Indica se deve apresentar a tela de loading enquanto busca as informações.<br>**Retorno:**<br>- response (Observable(string)): Informações salvas. |
|
|
505
|
+
| getProfileAsJSON | Retorna os valores salvos no formato de um JSON.<br>**Parâmetros:**<br>- profile (IProfile): Objeto com as informações do usuário.<br>- showLoading (boolean): Indica se deve apresentar a tela de loading enquanto busca as informações.<br>**Retorno:**<br>- response (Observable(object)): Informações salvas. |
|
|
506
|
+
---
|
|
215
507
|
|
|
216
|
-
|
|
508
|
+
**Interfaces:**
|
|
217
509
|
|
|
218
|
-
|
|
510
|
+
IProfile
|
|
511
|
+
| Nome | Tipo | Obrigatório | Descrição |
|
|
512
|
+
|-|-|-|-|
|
|
513
|
+
| pageId | string | Sim | Um ID para identificar a Tela que está salvando os parâmetros. |
|
|
514
|
+
| userCode | string | Sim | Código do usuário (login). |
|
|
515
|
+
| dataCode | string | Sim | Um ID para identificar o parâmetro. |
|
|
516
|
+
| dataValue | string | Não | Valor a ser salvo, nos GET's é opcional. |
|
|
517
|
+
---
|
|
219
518
|
|
|
220
|
-
**
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
programVersion="1.00.00.004"
|
|
229
|
-
[parameters]="parametersRpw"
|
|
230
|
-
[paramSelections]="paramSelectionsRpw"
|
|
231
|
-
(endExecution)="endExecutionSchedule($event)">
|
|
232
|
-
</app-totvs-schedule-execution>
|
|
519
|
+
**Exemplo de Uso:**
|
|
520
|
+
```ts
|
|
521
|
+
const profile: IProfile = {
|
|
522
|
+
pageId: 'about-component',
|
|
523
|
+
userCode: 'super',
|
|
524
|
+
dataCode: 'preference',
|
|
525
|
+
dataValue: this.preference
|
|
526
|
+
};
|
|
233
527
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
(endExecution)="endExecutionSchedule($event)">
|
|
242
|
-
</app-totvs-schedule-execution>
|
|
243
|
-
```
|
|
244
|
-
**Definições no JavaScript:**
|
|
528
|
+
this.preferenceService
|
|
529
|
+
.setProfile(profile)
|
|
530
|
+
.subscribe((response) => {
|
|
531
|
+
this.notification.success('Preferência salva com sucesso!');
|
|
532
|
+
}, (error) => {
|
|
533
|
+
this.notification.error('Não foi possível salvar a preferência');
|
|
534
|
+
});
|
|
245
535
|
```
|
|
246
|
-
@ViewChild('schParam', { static: true }) schParam: TotvsScheduleExecutionComponent;
|
|
247
536
|
|
|
248
|
-
|
|
249
|
-
parametersRpw = new Array<any>();
|
|
250
|
-
paramDigitDefRpw = new Array<any>();
|
|
251
|
-
paramDigitDataRpw = new Array<any>();
|
|
252
|
-
paramSelectionsRpw = new Array<any>();
|
|
537
|
+
<br>
|
|
253
538
|
|
|
254
|
-
|
|
255
|
-
this.loadLocalStorage();
|
|
256
|
-
this.schParam.setScheduleParameters(this.scheduleParams);
|
|
539
|
+
## ReportService
|
|
257
540
|
|
|
258
|
-
|
|
541
|
+
**Objetivo:** Faz a chamada do datasul-report e realiza o download do arquivo caso seja especificado.
|
|
542
|
+
|
|
543
|
+
**Importação:**
|
|
544
|
+
```ts
|
|
545
|
+
import {
|
|
546
|
+
ReportService,
|
|
547
|
+
IReportServiceParams,
|
|
548
|
+
ReportFormats
|
|
549
|
+
} from 'dts-backoffice-util';
|
|
550
|
+
|
|
551
|
+
constructor(public reportService: ReportService) {
|
|
259
552
|
}
|
|
553
|
+
```
|
|
554
|
+
**Métodos:**
|
|
260
555
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
{ chave: 'usuario', valor: 'FERNANDO', tipo: 'character' },
|
|
267
|
-
{ chave: 'perfil', valor: 880, tipo: 'integer' }
|
|
268
|
-
];
|
|
556
|
+
| Nome | Descrição |
|
|
557
|
+
|-|-|
|
|
558
|
+
| generate | Retorna o arquivo binário gerado pelo datasul-report e faz o download do arquivo.<br>**Parâmetros:**<br>- params (IReportServiceParams): Parâmetros para execução do relatório.<br>- showLoading (boolean): Indica se deve apresentar a tela de loading enquanto busca as informações.<br>**Retorno:**<br>- response (Observable(Blob)) |
|
|
559
|
+
---
|
|
560
|
+
<br>
|
|
269
561
|
|
|
270
|
-
|
|
271
|
-
this.paramDigitDefRpw = [
|
|
272
|
-
{ chave: 'cod-estab', tipo: 'character' },
|
|
273
|
-
{ chave: 'cod-ccusto', tipo: 'integer' }
|
|
274
|
-
];
|
|
562
|
+
**Interfaces:**
|
|
275
563
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
564
|
+
IReportServiceParams
|
|
565
|
+
|
|
566
|
+
| Nome | Tipo | Obrigatório | Descrição |
|
|
567
|
+
|-|-|-|-|
|
|
568
|
+
| reportName | string | Sim | Nome do arquivo .rptDesign |
|
|
569
|
+
| programName | string | Sim | Nome do programa progress. |
|
|
570
|
+
| properties | Array | Sim | Lista de parâmetros que serão enviados ao progress. O objeto do Array deve implementar a interface **IProperty**. |
|
|
571
|
+
| dialect | string | Sim | Idioma do usuário. |
|
|
572
|
+
| downloadName | string | Sim | Nome que será dado ao arquivo de download. |
|
|
573
|
+
| download | boolean | Sim | O download deve ser efetuado |
|
|
574
|
+
| format | enum | Sim | Formato do Arquivo (XLSX, PDF, DOCX ou HTML). Enum: **ReportFormats**. |
|
|
575
|
+
---
|
|
282
576
|
|
|
283
|
-
|
|
284
|
-
this.paramSelectionsRpw = [
|
|
285
|
-
{ ind_dwb_set_type: "Regra", cod_dwb_set: "estab",
|
|
286
|
-
cod_dwb_set_initial: "01", cod_dwb_set_final: "FF", log_dwb_rule: true },
|
|
287
|
-
{ ind_dwb_set_type: "Exceção", cod_dwb_set: "ccusto",
|
|
288
|
-
cod_dwb_set_initial: "30", cod_dwb_set_final: "35", log_dwb_rule: false }
|
|
289
|
-
]
|
|
290
|
-
}
|
|
577
|
+
IProperty
|
|
291
578
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
579
|
+
| Nome | Tipo | Obrigatório | Descrição |
|
|
580
|
+
|-|-|-|-|
|
|
581
|
+
| name | string | Sim | Nome do parâmetro |
|
|
582
|
+
| value | string | Sim | Valor do parâmetro |
|
|
583
|
+
---
|
|
296
584
|
|
|
297
|
-
|
|
298
|
-
if (typeof (Storage) === 'undefined') { return; }
|
|
299
|
-
localStorage.setItem('param-maint.schParam', JSON.stringify(this.scheduleParams));
|
|
300
|
-
}
|
|
585
|
+
<br>
|
|
301
586
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
587
|
+
**Enums**
|
|
588
|
+
```ts
|
|
589
|
+
declare enum ReportFormats {
|
|
590
|
+
XLSX = "xlsx",
|
|
591
|
+
PDF = "pdf",
|
|
592
|
+
DOCX = "docx",
|
|
593
|
+
HTML = "html"
|
|
305
594
|
}
|
|
306
595
|
```
|
|
307
|
-
**Definições no Progress:**
|
|
308
|
-
```
|
|
309
|
-
DEFINE TEMP-TABLE tt-param NO-UNDO
|
|
310
|
-
FIELD destino AS INTEGER
|
|
311
|
-
FIELD arquivo AS CHARACTER
|
|
312
|
-
FIELD usuario AS CHARACTER
|
|
313
|
-
FIELD perfil AS INTEGER.
|
|
314
|
-
|
|
315
|
-
DEFINE TEMP-TABLE tt-digita NO-UNDO
|
|
316
|
-
FIELD cod-estab AS CHARACTER
|
|
317
|
-
FIELD cod-ccusto AS INTEGER.
|
|
318
|
-
```
|
|
319
596
|
|
|
320
|
-
|
|
597
|
+
**Exemplo de Uso:**
|
|
598
|
+
```ts
|
|
599
|
+
const properties: Array<IProperty> = [
|
|
600
|
+
{
|
|
601
|
+
name: 'custom.quick_search',
|
|
602
|
+
value: '186'
|
|
603
|
+
}
|
|
604
|
+
];
|
|
321
605
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
| frequency | string | Frequência | "no" - Uma vez no dia<br>"yes" - Várias vezes no dia |
|
|
332
|
-
| frequencyValue | number | Quantidade da Frequência | |
|
|
333
|
-
| frequencyType | string | Tipo Frequência | "hour" - Hora(s)<br>"minute" - Minuto(s) |
|
|
334
|
-
| execAppointHourInit | string | Hora Inicial Frequência | |
|
|
335
|
-
| execAppointHourFinal | string | Hora Final Frequência | |
|
|
336
|
-
| selectWeeklys | Array | Dia da Semana<br>Frequência Semanal | Sunday - Domingo<br>Monday - Segunda<br>Tuesday - Terça<br>Wednesday - Quarta<br>Thursday - Quinta<br>Friday - Sexta<br>Saturday - Sábado |
|
|
337
|
-
| dayOfMonth | number | Dia do Mês<br>Frequência Mensal | |
|
|
606
|
+
const params: IReportServiceParams = {
|
|
607
|
+
reportName: 'crm/rel_campaign_export',
|
|
608
|
+
programName: '/report/crm/crm0010',
|
|
609
|
+
properties,
|
|
610
|
+
dialect: 'pt',
|
|
611
|
+
download: true,
|
|
612
|
+
downloadName: '2020-1-10_13-51-53_CRM_CAMPANHAS',
|
|
613
|
+
format: ReportFormats.XLSX
|
|
614
|
+
};
|
|
338
615
|
|
|
616
|
+
this.reportService
|
|
617
|
+
.generate(params)
|
|
618
|
+
.subscribe(() => {
|
|
619
|
+
this.notification.error("Arquivo baixado com sucesso!");
|
|
620
|
+
}, () => {
|
|
621
|
+
this.notification.error("Não foi possível baixar o arquivo");
|
|
622
|
+
});
|
|
623
|
+
```
|
|
339
624
|
<br>
|
|
340
625
|
|
|
341
|
-
|
|
626
|
+
## TotvsScheduleExecutionService
|
|
342
627
|
|
|
343
628
|
**Objetivo:** Serviço que disponibiliza métodos para geração de agendamento e acompanhamento do RPW.
|
|
344
629
|
|
|
345
|
-
Métodos
|
|
630
|
+
**Métodos:**
|
|
346
631
|
|
|
347
632
|
| Nome | Descrição |
|
|
348
633
|
|-|-|
|
|
@@ -352,13 +637,13 @@ Métodos:
|
|
|
352
637
|
| followUpExcByJobScheduleID | Utilizado para acompanhar a execução do agendamento realizado no RPW, verificando o status da execução, até que ele seja finalizado.<br>**Parâmetros:**<br>- jobScheduleID (string): ID interno do Agendamento que se deseja acompanhar.<br>- intervalNum (number): Tempo em milisegundos para verificação do status do agendamento. Por exemplo, se for informado **5000**, será verificado o status do agendamento em 5 e 5 segundos até a execução terminar.<br>- fncCallBack (Function): Método que será executado após a tela receber o status da execução do agendamento. Ele será executado várias vezes até a execução terminar, no intervalo de tempo determinado no parâmetro **intervalNum**. Este método irá receber um objeto da interface **IExecutionStatus** com o status da execução. O método deverá retornar um valor **boolean** indicando se o processo deve continuar sendo monitorado ou não. Se for retornado "false", o agendamento não será mais monitorado. **Observação**: Isto não afeta a execução do agendamento no RPW, ele continuará executando normalmente.<br>- loading (boolean): Quando for igual a **"Sim"**, irá apresentar a tela de "loading" até finalizar o acompanhamento do agendamento.<br>**Retorno:** Não há. |
|
|
353
638
|
| followUpExcByExecutionID | Utilizado para acompanhar a execução do agendamento realizado no RPW, verificando o status da execução, até que ele seja finalizado.<br>**Parâmetros:**<br>- executionID (string): Número do Agendamento que se deseja acompanhar.<br>- intervalNum (number): Tempo em milisegundos para verificação do status do agendamento. Por exemplo, se for informado **5000**, será verificado o status do agendamento em 5 e 5 segundos até a execução terminar.<br>- fncCallBack (Function): Método que será executado após a tela receber o status da execução do agendamento. Ele será executado várias vezes até a execução terminar, no intervalo de tempo determinado no parâmetro **intervalNum**. Este método irá receber um objeto da interface **IExecutionStatus** com o status da execução. O método deverá retornar um valor **boolean** indicando se o processo deve continuar sendo monitorado ou não. Se for retornado "false", o agendamento não será mais monitorado. **Observação**: Isto não afeta a execução do agendamento no RPW, ele continuará executando normalmente.<br>- loading (boolean): Quando for igual a **"Sim"**, irá apresentar a tela de "loading" até finalizar o acompanhamento do agendamento.<br>**Retorno:** Não há. |
|
|
354
639
|
| getObjectByValue <br> getFilteredItems | Métodos utilizados pelo componente PO-LOOKUP. Desta forma, é possível utilizar o **TotvsScheduleExecutionService** para disponibilizar um lookup de Servidor de Execução RPW na tela. |
|
|
355
|
-
|
|
356
|
-
Exemplo de Uso
|
|
640
|
+
---
|
|
641
|
+
**Exemplo de Uso:**
|
|
357
642
|
|
|
358
643
|
Segue abaixo exemplos da geração de agendamento, busca e acompanhamento da execução.
|
|
359
644
|
|
|
360
645
|
**Definições no HTML:**
|
|
361
|
-
```
|
|
646
|
+
```html
|
|
362
647
|
<po-lookup
|
|
363
648
|
p-label="Servidor RPW"
|
|
364
649
|
p-placeholder="Servidor RPW"
|
|
@@ -371,7 +656,7 @@ Segue abaixo exemplos da geração de agendamento, busca e acompanhamento da exe
|
|
|
371
656
|
</po-lookup>
|
|
372
657
|
```
|
|
373
658
|
**Definições no JavaScript:**
|
|
374
|
-
```
|
|
659
|
+
```ts
|
|
375
660
|
executionServer: string;
|
|
376
661
|
jobScheduleID: string;
|
|
377
662
|
executionID: string;
|
|
@@ -524,7 +809,7 @@ followUpCallBack(execStatus: IExecutionStatus): boolean {
|
|
|
524
809
|
}
|
|
525
810
|
```
|
|
526
811
|
**Definições no Progress:**
|
|
527
|
-
```
|
|
812
|
+
```ts
|
|
528
813
|
DEFINE TEMP-TABLE tt-param NO-UNDO
|
|
529
814
|
FIELD destino AS INTEGER
|
|
530
815
|
FIELD arquivo AS CHARACTER
|
|
@@ -536,7 +821,7 @@ DEFINE TEMP-TABLE tt-digita NO-UNDO
|
|
|
536
821
|
FIELD cod-ccusto AS INTEGER.
|
|
537
822
|
```
|
|
538
823
|
|
|
539
|
-
Interfaces
|
|
824
|
+
**Interfaces:**
|
|
540
825
|
|
|
541
826
|
IExecutionParameters
|
|
542
827
|
| Nome | Tipo | Obrigatório | Descrição |
|
|
@@ -551,6 +836,7 @@ IExecutionParameters
|
|
|
551
836
|
| paramDigitDef | Array | Não | Definição da Temp-Table tt-digita. Utilizado apenas pelo EMS2. Para cada campo da tt-digita, deve ser enviado um objeto com o seguinte formato: **{"chave": "string", "tipo": "string" }**. Onde **chave** representa o nome do campo, e **tipo** representa o tipo de dado (exemplo: character, integer, etc...). |
|
|
552
837
|
| paramDigitData | Array | Não | Dados que serão enviados e alimentados na tt-digita. Utilizado apenas pelo EMS2. |
|
|
553
838
|
| paramSelections | Array | Não | Parâmetros de Seleção. Utilizado apenas pelo EMS5. |
|
|
839
|
+
---
|
|
554
840
|
|
|
555
841
|
IExecutionStatus
|
|
556
842
|
| Nome | Tipo | Descrição |
|
|
@@ -560,214 +846,137 @@ IExecutionStatus
|
|
|
560
846
|
| startedDate | Date | Data e hora em que o agendamento iniciou a execução no RPW. |
|
|
561
847
|
| error | string | Quando o status for igual a **'FAILURE'**, esta propriedade terá a descrição do erro. |
|
|
562
848
|
| status | string | Status da execução, podendo ser:<br>- PENDING: O agendamento está enfileirado, aguardando o início da execução.<br>- RUNNING: O agendamento está em execução.<br>- SUCCESS: O agendamento terminou corretamente, sem erros.<br>- FAILURE: O agendamento terminou com erro. A descrição do erro estará disponível na propriedade **error**. Observação: Caso não exista um agendamento com o ID informado, também será retornar este status de erro. |
|
|
563
|
-
|
|
564
849
|
---
|
|
565
850
|
|
|
566
851
|
<br>
|
|
567
852
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
**Objetivo:** Salvar preferências do usuário.
|
|
853
|
+
## TranslateService
|
|
571
854
|
|
|
572
|
-
|
|
573
|
-
```
|
|
574
|
-
import { ProfileService, IProfile } from 'dts-backoffice-util';
|
|
855
|
+
**Objetivo:** Realizar o controle do idioma corrente, considerando o que estiver parametrizado no Cadastro de Usuários do Datasul, e caso não esteja informado, será considerado o idioma informado no Browse.
|
|
575
856
|
|
|
576
|
-
|
|
577
|
-
|
|
857
|
+
**Importação:**
|
|
858
|
+
```ts
|
|
859
|
+
import { TranslateService } from 'dts-backoffice-util';
|
|
578
860
|
```
|
|
579
861
|
|
|
580
|
-
Métodos
|
|
862
|
+
**Métodos:**
|
|
581
863
|
|
|
582
864
|
| Nome | Descrição |
|
|
583
865
|
|-|-|
|
|
584
|
-
|
|
|
585
|
-
|
|
|
586
|
-
| getProfileAsJSON | Retorna os valores salvos no formato de um JSON.<br>**Parâmetros:**<br>- profile (IProfile): Objeto com as informações do usuário.<br>- showLoading (boolean): Indica se deve apresentar a tela de loading enquanto busca as informações.<br>**Retorno:**<br>- response (Observable(object)): Informações salvas. |
|
|
587
|
-
---
|
|
588
|
-
|
|
589
|
-
Interfaces:
|
|
590
|
-
|
|
591
|
-
IProfile
|
|
592
|
-
| Nome | Tipo | Obrigatório | Descrição |
|
|
593
|
-
|-|-|-|-|
|
|
594
|
-
| pageId | string | Sim | Um ID para identificar a Tela que está salvando os parâmetros. |
|
|
595
|
-
| userCode | string | Sim | Código do usuário (login). |
|
|
596
|
-
| dataCode | string | Sim | Um ID para identificar o parâmetro. |
|
|
597
|
-
| dataValue | string | Não | Valor a ser salvo, nos GET's é opcional. |
|
|
866
|
+
| getCurrentLanguage | Retorna o idioma corrente. Será considerado no primeiro momento a chave "user.language" do localStorage. Caso ela não exista ou seja inválida, será considerado o idioma parametrizado no Browse. Além disso, o idioma deve estar disponível na lista de suportados, conforme métodos "getSuportLanguage".<br>**Parâmetros:** Não há.<br>**Retorno:** string |
|
|
867
|
+
| getSuportLanguage | Retornar uma lista com os atuais idiomas suportados.<br>**Parâmetros:** Não há.<br>**Retorno:** Array(string) |
|
|
598
868
|
---
|
|
599
869
|
|
|
600
|
-
Exemplo de Uso:
|
|
601
|
-
```
|
|
602
|
-
const profile: IProfile = {
|
|
603
|
-
pageId: 'about-component',
|
|
604
|
-
userCode: 'super',
|
|
605
|
-
dataCode: 'preference',
|
|
606
|
-
dataValue: this.preference
|
|
607
|
-
};
|
|
608
|
-
|
|
609
|
-
this.preferenceService
|
|
610
|
-
.setProfile(profile)
|
|
611
|
-
.subscribe((response) => {
|
|
612
|
-
this.notification.success('Preferência salva com sucesso!');
|
|
613
|
-
}, (error) => {
|
|
614
|
-
this.notification.error('Não foi possível salvar a preferência');
|
|
615
|
-
});
|
|
616
|
-
```
|
|
617
|
-
|
|
618
870
|
<br>
|
|
619
871
|
|
|
620
|
-
|
|
872
|
+
## UserLoginService
|
|
621
873
|
|
|
622
874
|
**Objetivo:** Retorna o login do usuário tanto no framework atual e quanto no novo framework.
|
|
623
875
|
|
|
624
|
-
Importação
|
|
625
|
-
```
|
|
876
|
+
**Importação:**
|
|
877
|
+
```ts
|
|
626
878
|
import { UserLoginService } from 'dts-backoffice-util';
|
|
627
879
|
|
|
628
880
|
constructor( public sessionService: UserLoginService) {
|
|
629
881
|
}
|
|
630
882
|
```
|
|
631
883
|
|
|
632
|
-
Métodos
|
|
884
|
+
**Métodos:**
|
|
633
885
|
|
|
634
886
|
| Nome | Descrição |
|
|
635
887
|
|-|-|
|
|
636
888
|
| getUserLogin | Retorna o login do usuário.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- response (Observable(string)) |
|
|
637
889
|
---
|
|
638
890
|
|
|
639
|
-
Exemplo de Uso
|
|
640
|
-
```
|
|
891
|
+
**Exemplo de Uso:**
|
|
892
|
+
```ts
|
|
641
893
|
this.sessionService
|
|
642
894
|
.getUserLogin()
|
|
643
895
|
.subscribe((user) => {
|
|
644
896
|
this.notification.success(`O usuário logado é ${user}`);
|
|
645
897
|
});
|
|
646
898
|
```
|
|
647
|
-
|
|
648
899
|
<br>
|
|
649
900
|
|
|
650
|
-
|
|
901
|
+
## ValidateService
|
|
651
902
|
|
|
652
|
-
**Objetivo:**
|
|
903
|
+
**Objetivo:** Realizar o tratamento da validação de campos em formulários, quando utilizados vários componentes **Dynamic Form** na tela de criação/edição. Nesse caso, ao disparar uma validação através de um campo presente em um formulário e nessa validação alterar propriedades e valores de campos que estão em um formulário diferente, a validação não é aplicada. Para o correto funcionamento das validações, é necessário que haja um tratamento da validação no Front End utilizando os métodos criados neste serviço.
|
|
653
904
|
|
|
654
|
-
Importação
|
|
655
|
-
```
|
|
656
|
-
import {
|
|
657
|
-
ReportService,
|
|
658
|
-
IReportServiceParams,
|
|
659
|
-
ReportFormats
|
|
660
|
-
} from 'dts-backoffice-util';
|
|
905
|
+
**Importação:**
|
|
906
|
+
```ts
|
|
907
|
+
import { ValidateService } from 'dts-backoffice-util';
|
|
661
908
|
|
|
662
|
-
constructor(
|
|
909
|
+
constructor(private validateService: ValidateService) {
|
|
663
910
|
}
|
|
664
911
|
```
|
|
665
|
-
|
|
912
|
+
|
|
913
|
+
**Métodos:**
|
|
666
914
|
|
|
667
915
|
| Nome | Descrição |
|
|
668
916
|
|-|-|
|
|
669
|
-
|
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
Interfaces:
|
|
673
|
-
|
|
674
|
-
IReportServiceParams
|
|
675
|
-
|
|
676
|
-
| Nome | Tipo | Obrigatório | Descrição |
|
|
677
|
-
|-|-|-|-|
|
|
678
|
-
| reportName | string | Sim | Nome do arquivo .rptDesign |
|
|
679
|
-
| programName | string | Sim | Nome do programa progress. |
|
|
680
|
-
| properties | Array | Sim | Lista de parâmetros que serão enviados ao progress. O objeto do Array deve implementar a interface **IProperty**. |
|
|
681
|
-
| dialect | string | Sim | Idioma do usuário. |
|
|
682
|
-
| downloadName | string | Sim | Nome que será dado ao arquivo de download. |
|
|
683
|
-
| download | boolean | Sim | O download deve ser efetuado |
|
|
684
|
-
| format | enum | Sim | Formato do Arquivo (XLSX, PDF, DOCX ou HTML). Enum: **ReportFormats**. |
|
|
917
|
+
| validate | Realiza uma requisição com o verbo POST para a URL de validação recebida por parâmetro e enviando no payload o objeto de validação também recebido por parâmetro.<br>**Parâmetros:** <br>- url (string): URL referente ao endPoint de validação de formulários da API. Ex.: "/api/rep/v1/userParameters/validateForm".<br>- value ([PoDynamicFormFieldChanged](https://github.com/po-ui/po-angular/blob/master/projects/ui/src/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-changed.interface.ts)): Objeto com a interface do PO UI que é recebido na função de `validate` do [Dynamic Form](https://po-ui.io/documentation/po-dynamic-form).<br>**Retorno:** Promise([PoDynamicFormValidation](https://github.com/po-ui/po-angular/blob/master/projects/ui/src/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.interface.ts)) - Retorna uma promise de um objeto com a interface PoDynamicFormValidation. |
|
|
918
|
+
| updateFormFields | Atualiza as propriedades dos campos do formulário enviado por parâmetro com base nas validações, também recebidas por parâmetro.<br>**Parâmetros:** <br>- validation ([PoDynamicFormValidation](https://github.com/po-ui/po-angular/blob/master/projects/ui/src/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.interface.ts)): Objeto com o resultado das validações retornado pelo método validate.<br>- fields (Array([PoDynamicFormField](https://github.com/po-ui/po-angular/blob/master/projects/ui/src/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.ts))): Array de objetos com a interface do PO UI. Esse array corresponde à lista de campos do formulário, utilizado para definir a propriedade `fields` no [Dynamic Form](https://po-ui.io/documentation/po-dynamic-form).<br>**Retorno:** Array([PoDynamicFormField](https://github.com/po-ui/po-angular/blob/master/projects/ui/src/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.ts)) - Retorna o array de campos com as propriedades atualizadas conforme a validação. |
|
|
919
|
+
| updateFormValue | Atualiza os valores dos campos utilizados no formulário com base nas validações.<br>**Parâmetros:** <br>- validation ([PoDynamicFormValidation](https://github.com/po-ui/po-angular/blob/master/projects/ui/src/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.interface.ts)): Objeto com o resultado das validações retornado pelo método validate.<br>- value (Objeto(any)): Objeto com os dados da entidade/recurso utilizado para alimentar os campos dos formulários, utilizado para definir a propriedade `fields` no [Dynamic Form](https://po-ui.io/documentation/po-dynamic-form).<br>**Retorno:** Objeto(any) - Retorna o objeto de dados da entidade/recurso com os dados atualizados conforme a validação. |
|
|
685
920
|
---
|
|
686
921
|
|
|
687
|
-
|
|
922
|
+
**Exemplo de Uso:**
|
|
688
923
|
|
|
689
|
-
|
|
690
|
-
|-|-|-|-|
|
|
691
|
-
| name | string | Sim | Nome do parâmetro |
|
|
692
|
-
| value | string | Sim | Valor do parâmetro |
|
|
693
|
-
---
|
|
924
|
+
**Definições no HTML:**
|
|
694
925
|
|
|
695
|
-
|
|
926
|
+
Ao invés de passar diretamente a url do endPoint para a propriedade `p-validate` do componente Dynamic Form, deve ser passada uma função `[p-validate]="onValidate.bind(this)"`, como apresentado a seguir. Fazer isso para todos os componentes Dynamic Form.
|
|
927
|
+
```html
|
|
928
|
+
<po-accordion-item [p-label]="metadata?.literals?.enableDisableFields" #enableDisableFields>
|
|
929
|
+
<po-dynamic-form name="formEnableDisableFields"
|
|
930
|
+
[p-fields]="metadata?.fieldsTypingEnableDisable"
|
|
931
|
+
[p-value]="userParameters"
|
|
932
|
+
[p-validate]="onValidate.bind(this)"
|
|
933
|
+
[p-validate-fields]='metadata?.validateFields'>
|
|
934
|
+
</po-dynamic-form>
|
|
935
|
+
</po-accordion-item>
|
|
936
|
+
|
|
937
|
+
<po-accordion-item [p-label]="metadata?.literals?.configurations" #configurationsTyping>
|
|
938
|
+
<po-dynamic-form name="formConfigurations"
|
|
939
|
+
[p-fields]="metadata?.fieldsTypingConfigurations"
|
|
940
|
+
[p-value]="userParameters"
|
|
941
|
+
[p-validate]="onValidate.bind(this)"
|
|
942
|
+
[p-validate-fields]='metadata?.validateFields'>
|
|
943
|
+
</po-dynamic-form>
|
|
944
|
+
</po-accordion-item>
|
|
696
945
|
```
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
946
|
+
**Definições no TypeScript:**
|
|
947
|
+
|
|
948
|
+
No typescript de controle do componente defina a função de validação conforme apresentado a seguir.
|
|
949
|
+
```ts
|
|
950
|
+
public async onValidate(fieldChanged: PoDynamicFormFieldChanged){
|
|
951
|
+
let validation: PoDynamicFormValidation = await this.validateService.validate('/api/rep/v1/userParameters/validateForm', fieldChanged);
|
|
952
|
+
|
|
953
|
+
this.metadata.fieldsTypingEnableDisable = [...this.validateService.updateFormFields(validation, this.metadata.fieldsTypingEnableDisable)];
|
|
954
|
+
this.metadata.fieldsTypingConfigurations = [...this.validateService.updateFormFields(validation, this.metadata.fieldsTypingConfigurations)];
|
|
955
|
+
|
|
956
|
+
this.userParameters = {...this.validateService.updateFormValue(validation, this.userParameters)};
|
|
957
|
+
|
|
958
|
+
return validation;
|
|
702
959
|
}
|
|
703
960
|
```
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
{
|
|
709
|
-
name: 'custom.quick_search',
|
|
710
|
-
value: '186'
|
|
711
|
-
}
|
|
712
|
-
];
|
|
713
|
-
|
|
714
|
-
const params: IReportServiceParams = {
|
|
715
|
-
reportName: 'crm/rel_campaign_export',
|
|
716
|
-
programName: '/report/crm/crm0010',
|
|
717
|
-
properties,
|
|
718
|
-
dialect: 'pt',
|
|
719
|
-
download: true,
|
|
720
|
-
downloadName: '2020-1-10_13-51-53_CRM_CAMPANHAS',
|
|
721
|
-
format: ReportFormats.XLSX
|
|
722
|
-
};
|
|
723
|
-
|
|
724
|
-
this.reportService
|
|
725
|
-
.generate(params)
|
|
726
|
-
.subscribe(() => {
|
|
727
|
-
this.notification.error("Arquivo baixado com sucesso!");
|
|
728
|
-
}, () => {
|
|
729
|
-
this.notification.error("Não foi possível baixar o arquivo");
|
|
730
|
-
});
|
|
731
|
-
```
|
|
732
|
-
|
|
733
|
-
<br>
|
|
734
|
-
|
|
735
|
-
# BreadcrumbControlService
|
|
736
|
-
|
|
737
|
-
**Objetivo:** Realiza a criação e controle do breadcrumb das telas.
|
|
738
|
-
|
|
739
|
-
Importação:
|
|
740
|
-
```
|
|
741
|
-
import { BreadcrumbControlService } from 'dts-backoffice-util';
|
|
742
|
-
```
|
|
743
|
-
|
|
744
|
-
Métodos:
|
|
745
|
-
|
|
746
|
-
| Nome | Descrição |
|
|
747
|
-
|-|-|
|
|
748
|
-
| newBreadcrumb | "Reinicia" o breadcrumb quando necessário. Ex: Telas que possuem menu lateral, ao passar de um menu para outro, o breadcrumb deve ser reiniciado.<br>**Parâmetros:** Não há.<br>**Retorno:** Não há. |
|
|
749
|
-
| addBreadcrumb | Adiciona um item ao breadcrumb, considerando a URL atual da tela.<br>**Parâmetros:**<br>- literal (string): Nome da tela que será apresentado no breadcrumb.<br>- activatedRoute (ActivatedRoute): ActivedRoute da tela.<br>**Retorno:** Não há. |
|
|
750
|
-
| addBreadcrumbURL | Adiciona um item ao breadcrumb, informando uma URL específica.<br>**Parâmetros:**<br>- literal (string): Nome da tela que será apresentado no breadcrumb.<br>- url (string): URL específica.<br>**Retorno:** Não há. |
|
|
751
|
-
| updBreadcrumbURL | Altera uma informação qualquer contida na URL do item informado.<br>**Parâmetros:**<br>- literal (string): Nome da tela que está no breadcrumb.<br>- valueOld (string): Valor a ser substituído.<br>- valueNew (string): Novo valor.<br>**Retorno:** Não há. |
|
|
752
|
-
| delBreadcrumb | Exclui um item do breadcrumb.<br>**Parâmetros:**<br>- literal (string): Nome do item (nome da tela), que deve ser excluído do breadcrumb.<br>**Retorno:** Não há. |
|
|
753
|
-
| getBreadcrumb | Retorna o breadcrumb atual completo.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- breadcrumb (PoBreadcrumb) |
|
|
754
|
-
| getCurrentRouter | Retorna a URL do breadcrumb do item corrente.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- url (string) |
|
|
755
|
-
| getPrevRouter | Retorna a URL do breadcrumb do item anterior.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- url (string) |
|
|
756
|
-
| hasPreviousRouter | Indica se existe um item de breadcrumb anterior.<br>**Parâmetros:** Não há.<br>**Retorno:**<br>- exist (boolean) |
|
|
757
|
-
---
|
|
961
|
+
> Notas:
|
|
962
|
+
> + A função `onValidate` precisar ser definado com a palavre `async`, pois precisa aguardar o retorno da função `validate` do serviço.
|
|
963
|
+
> + Substitua o array de campos nas chamadas do método `updateFormFields` para corresponder ao array utilizado no Dynamic Form. Para cada formulário dinâmico existente na tela, deve haver uma chamada ao método `updateFormFields`.
|
|
964
|
+
> + Substitua o objeto na chamada do método `updateFormValue` para corresponder ao objeto utilizado no `p-value` dos formulários. Como será utilizado o mesmo objeto para os valores essa chamada ocorrerá apenas uma vez.
|
|
758
965
|
|
|
759
966
|
<br>
|
|
760
967
|
|
|
761
|
-
#
|
|
968
|
+
# Utils
|
|
969
|
+
|
|
970
|
+
## DateUtil
|
|
762
971
|
|
|
763
972
|
**Objetivo:** Manipula informações de data.
|
|
764
973
|
|
|
765
|
-
Importação
|
|
766
|
-
```
|
|
974
|
+
**Importação:**
|
|
975
|
+
```ts
|
|
767
976
|
import { DateUtil } from 'dts-backoffice-util';
|
|
768
977
|
```
|
|
769
978
|
|
|
770
|
-
Métodos
|
|
979
|
+
**Métodos:**
|
|
771
980
|
|
|
772
981
|
| Nome | Descrição |
|
|
773
982
|
|-|-|
|
|
@@ -778,19 +987,30 @@ Métodos:
|
|
|
778
987
|
| ajustDateToModel | Ajusta a data para o padrão do objeto Date. Utilizado nos construtores dos modelos.<br>**Parâmetros:**<br>- object (object): Objeto que possui atributos do tipo data.<br>- fieldName (string): Nome do Atributo que possui a data.<br>**Retorno:**<br>- date (date) |
|
|
779
988
|
| pad | Adiciona zero à esquerda do número.<br>**Parâmetros:**<br>- number (number): Número.<br>**Retorno:**<br>- number (string) |
|
|
780
989
|
---
|
|
990
|
+
<br>
|
|
991
|
+
|
|
992
|
+
## DisclaimerUtil
|
|
993
|
+
|
|
994
|
+
xxxx
|
|
995
|
+
|
|
996
|
+
<br>
|
|
997
|
+
|
|
998
|
+
## FieldValidationUtil
|
|
999
|
+
|
|
1000
|
+
xxxx
|
|
781
1001
|
|
|
782
1002
|
<br>
|
|
783
1003
|
|
|
784
|
-
|
|
1004
|
+
## FileUtil
|
|
785
1005
|
|
|
786
1006
|
**Objetivo:** Auxílio na manipulação de Arquivos.
|
|
787
1007
|
|
|
788
|
-
Importação
|
|
789
|
-
```
|
|
1008
|
+
**Importação:**
|
|
1009
|
+
```ts
|
|
790
1010
|
import { FileUtil } from 'dts-backoffice-util';
|
|
791
1011
|
```
|
|
792
1012
|
|
|
793
|
-
Métodos
|
|
1013
|
+
**Métodos:**
|
|
794
1014
|
|
|
795
1015
|
| Nome | Descrição |
|
|
796
1016
|
|-|-|
|
|
@@ -798,13 +1018,12 @@ Métodos:
|
|
|
798
1018
|
| downloadData | Realiza a criação e o download de um arquivo CSV gerado a partir de um listagem de dados (criada diretamente no FrontEnd ou retornada do BackEnd). Este método pode ser utilizado para, por exemplo, exportar os dados de um Grid.<br>**Parâmetros:**<br>- data (Array): Um Array com a listagem de dados, por exemplo, uma lista de clientes.<br>- dwldDataParam (IDownloadDataParams): Parâmetros de configuração do arquivo. Este parâmetro é opcional, caso ele não seja informado, serão assumidos valores padrões de configuração, conforme descrito na inteface **IDownloadDataParams**.<br>**Retorno:** não há. |
|
|
799
1019
|
| fileToB64 | Realiza a conversão de um arquivo para o formato Base64.<br>**Parâmetros:**<br>- file (File): Objeto do Tipo "File".<br>**Retorno:**<br>- content (string): Conteúdo do arquivo no formato Base64. |
|
|
800
1020
|
| b64toBlob | Realiza a conversão de um arquivo que está no formato Base64, para o formato Blob.<br>**Parâmetros:**<br>- b64Data (any): Conteúdo do Arquivo no formato Base64.<br>- contentType (string): Tipo do Arquivo no formato [**MIME Type**](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types). Este parâmetro é opcional.<br>**Retorno:**<br>- content (Blob): Conteúdo do arquivo no formato Blob. |
|
|
801
|
-
|
|
802
1021
|
---
|
|
803
1022
|
|
|
804
|
-
Exemplo de Uso
|
|
1023
|
+
**Exemplo de Uso:**
|
|
805
1024
|
|
|
806
1025
|
**Definições no JavaScript:**
|
|
807
|
-
```
|
|
1026
|
+
```ts
|
|
808
1027
|
// TS da Tela
|
|
809
1028
|
|
|
810
1029
|
import { FileUtil } from 'dts-backoffice-util';
|
|
@@ -867,7 +1086,7 @@ getQrCode(text: string): Observable<Blob> {
|
|
|
867
1086
|
}
|
|
868
1087
|
```
|
|
869
1088
|
**Definições no Progress:**
|
|
870
|
-
```
|
|
1089
|
+
```ts
|
|
871
1090
|
// Conteúdo do Método que BackEnd que retorna o Arquivo em Base64
|
|
872
1091
|
DEFINE VARIABLE v_dir_arq AS CHARACTER NO-UNDO.
|
|
873
1092
|
DEFINE VARIABLE v_cod_arq AS CHARACTER NO-UNDO.
|
|
@@ -885,7 +1104,7 @@ oOutput:ADD("filename", v_cod_arq).
|
|
|
885
1104
|
oOutput:ADD("content", v_lch_arq).
|
|
886
1105
|
```
|
|
887
1106
|
|
|
888
|
-
Interfaces
|
|
1107
|
+
**Interfaces:**
|
|
889
1108
|
|
|
890
1109
|
IDownloadDataParams
|
|
891
1110
|
|
|
@@ -896,27 +1115,16 @@ IDownloadDataParams
|
|
|
896
1115
|
| columnDelimiter | string | Não | Caracter utilizado para separação das colunas. Caso não seja informado, será utilizado o caracter **";"**. |
|
|
897
1116
|
| columnList | Array(string) | Não | Lista das colunas que devem ser exportadas para o arquivo. As colunas serão exportadas na mesma ordem informada neste parâmetro. Caso não seja informada, serão exportadas todas as colunas da listagem. |
|
|
898
1117
|
| columnExclude | Array(string) | Não | Lista das colunas que não devem ser exportadas para o arquivo. Caso não seja informada, serão exportadas todas as colunas da listagem. |
|
|
1118
|
+
---
|
|
899
1119
|
|
|
900
1120
|
<br>
|
|
901
1121
|
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
xxxx
|
|
905
|
-
|
|
906
|
-
<br>
|
|
907
|
-
|
|
908
|
-
# FieldValidationUtil
|
|
909
|
-
|
|
910
|
-
xxxx
|
|
911
|
-
|
|
912
|
-
<br>
|
|
913
|
-
|
|
914
|
-
# FilterRangeUtil
|
|
1122
|
+
## FilterRangeUtil
|
|
915
1123
|
|
|
916
1124
|
xxxx
|
|
917
1125
|
|
|
918
1126
|
<br>
|
|
919
1127
|
|
|
920
|
-
|
|
1128
|
+
## GenericFunctionsUtils
|
|
921
1129
|
|
|
922
1130
|
xxxx
|