01. DADOS GERAIS
Produto: | TOTVS Prestadores de Serviços Terceirização |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Serviços |
Módulo: | Gestão de Serviços |
Função: | TECA894 - Uniformes |
Ticket: | Não há |
Requisito/Story/Issue (informe o requisito relacionado) : | DSERSGS-9616 |
02. SITUAÇÃO/REQUISITO
Necessidade de implementar manutenções específicas no processamento de uniformes após as operações de entrega, troca/substituição, trocas com pendências e devolução.
03. SOLUÇÃO
Implementado o ponto de entrada At894Uni que é acionado ao final da função padrão At894Mnt, após as operações de entrega, troca/substituição, trocas com pendências e devolução.
Este ponto de entrada recebe os seguintes parâmetros:
Parâmetro | Descrição |
---|---|
AitBrowse | Array com informações processadas na operação. (detalhes a seguir). |
Nopc | Variável numérica com número da operação selecionada pelo usuário, onde: 1 – Entrega; 2 – Troca / Susbstituição; 3 – Devolução; 4 – Trocas com Pendências. |
Este ponto de entrada não possui retorno.
A estrutura do array aItBrowse é composta da seguinte forma:
AItBrowse[1] - Cabeçalho;
AItBrowse[2] - Itens disponibilizados para o processamento
Dimensão 1 – Cabeçalho | Dado |
---|---|
AItBrowse[1][1] | .T. - Item selecionado / .F. - Item não selecionado. |
AItBrowse[1][2] | Código do Produto |
AItBrowse[1][3] | Descrição do Produto |
AItBrowse[1][4] | Quantidade |
AItBrowse[1][5] | Armazém |
AItBrowse[1][6] | Data da Entrega |
Quando as operações selecionadas forem (1) Entrega, (2) Troca / Substituição e (3) Devolução, o array aItBrowse conterá os seguintes dados:
Dimensão 2 – Itens | Dado |
---|---|
AItBrowse[2][01] | .T. - Item selecionado / .F. - Item não selecionado. |
AItBrowse[2][02] | Código do Produto (TXD_CODPRO) |
AItBrowse[2][03] | Descrição do Produto (B1_DESC) |
AItBrowse[2][04] | Quantidade (TXD_QTDE) |
AItBrowse[2][05] | Armazém (TXC_ARMUNI) |
AItBrowse[2][06] | Data de Entrega (TXD_DTENTR) |
AItBrowse[2][07] | Vigência (TXD_QTDVIG) |
AItBrowse[2][08] | Tipo de Vigência (TXD_TIPVIG) |
AItBrowse[2][09] | Código do Item quando Intercabiavel (SB1) |
AItBrowse[2][10] | Código do Produto Original (em caso de troca) |
AItBrowse[2][11] | RECNO da TXD |
AItBrowse[2][12] | Alias em tratamento (TXD) |
AItBrowse[2][13] | Código da Conta Contabil (TXD_CONTA) |
AItBrowse[2][14] | Código do Item Contabil (TXD_ITEMCO) |
AItBrowse[2][15] | Código de Classe e Valor (TXD_CLVL) |
AItBrowse[2][16] | Endereço (TXD_LOCALI) |
AItBrowse[2][17] | Número de Série (TXD_NUMSER) |
Nas operações (3) Devolução e (4) Trocas com Pendência, o array aItBrowse conterá a mesma estrutura de dados, porém provenientes da tabela TXE – Itens Troca Gestão de Uniformes.
Exemplo de Utilização
#include 'protheus.ch' #include 'totvs.ch' User Function At894Uni() Local nX := 0 Local nY := 0 Local cMsg := 'Log de ' Private aLog := {} cMsg += If(PARAMIXB[2] == 1, 'Entrega',; If(PARAMIXB[2] == 2, 'Troca / Substituicao',; If(PARAMIXB[2] == 3, 'Devolucao', 'Trocas Pendentes'))) cMsg += ' de Uniformes' For nX := 1 To Len(PARAMIXB[1]) If nX == 1 Aadd( aLog,(PadR(PARAMIXB[1][nX][02],16,' ') + ' - ' +; //Código Produto PadR(PARAMIXB[1][nX][03],30,' ') + ' - ' +; //Descrição PadR(PARAMIXB[1][nX][04],10,' ') + ' - ' +; //Quantidade PadR(PARAMIXB[1][nX][05],07,' ') + ' - ' +; //Armazém PadR(PARAMIXB[1][nX][06],10,' '); //Dt. Entrega ) ) Else For nY := 1 To Len(PARAMIXB[1][nX]) If PARAMIXB[1][nX][nY][1] Aadd( aLog,(PadR(PARAMIXB[1][nX][nY][2],16,' ') + ' - ' +; //Código Produto PadR(PARAMIXB[1][nX][nY][3],30,' ') + ' - ' +; //Descrição StrZero(PARAMIXB[1][nX][nY][4],10) + ' - ' +; //Quantidade PadL(PARAMIXB[1][nX][nY][5],07,' ') + ' - ' +; //Armazém DToC(PARAMIXB[1][nX][nY][6]); //Dt. Entrega ) ) EndIf Next nY EndIf Next nX //Imprime Log fMakeLog({aLog}, { "Gestao de Uniformes" } , "" , .T. , NIL , OemToAnsi(cMsg) , NIL , NIL , NIL , .F. ) Return
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
- Não há.