Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Serviços

Módulo:

Contabilidade Gerencial (SIGACTB)

Função:Exportação de movimentos contábeis ou saldos do período, em formato txt, para integração com sistemas externos. – CTBA420
País:Brasil
Ticket:12760418
Requisito/Story/Issue:

DSERCTR1-34437


02. SITUAÇÃO/REQUISITO

Permitir editar no mínimo filial, e se possível permitir editar todos os tamanhos dos campos da estrutura do arquivo txt gerado.

03. SOLUÇÃO

Criação do ponto de entrada CTB420SX3, na rotina CTBA420, para permitir alterar a estrutura das colunas que serão exportadas, possibilitando aumentar o tamanho de qualquer coluna e/ou formato dos campos do tipo Caractere ou numérico.


IMPORTANTE!

A utilização do ponto de entrada é de total autoria de quem o utiliza e os efeitos resultantes dele são de responsabilidade do cliente.


04. DEMAIS INFORMAÇÕES

CTB420STRUCT - Inconsistência no retorno do Ponto de Entrada CTB420SX3

Essa mensagem será exibida nas seguintes validações:

  • A estrutura retornada pelo ponto de entrada deverá ter as mesmas colunas da estrutura enviada por parâmetro, que deverá ser utilizada como base para alteração.
  • O tamanho das colunas poderá ser alterado apenas com um valor maior do que o tamanho original das colunas.


Contextualização PE

CTB420SX3 – Manipular a estrutura das colunas que serão exportadas pela rotina CTBA420 em arquivo .txt com os movimentos contábeis ou saldos do período, para integração com sistemas externos.


Características do Requisito

Descrição:

O ponto de entrada CTB420SX3 permite alterar a estrutura das colunas que serão exportadas, possibilitando aumentar o tamanho de qualquer coluna e/ou formato dos campos do tipo Caractere ou numérico.

A estrutura retornada pelo ponto de entrada deverá ter as mesmas colunas da estrutura enviada por parâmetro, que deverá ser utilizada como base para alteração.

O tamanho das colunas poderá ser alterado apenas com um valor maior do que o tamanho original das colunas.

Eventos:

ExistBlock("CTB420SX3")

Programa Fonte:

CTBA420.PRX

Função:

CTB420X3() – Cria a estrutura original do arquivo gerado pela exportação, possibilitando a chamada do ponto de entrada CTB420SX3, para permitir alterar a estrutura das colunas que serão exportadas, possibilitando aumentar o tamanho de qualquer coluna e/ou formato dos campos do tipo Caractere ou numérico.

Parâmetros:

Nome

Tipo

Descrição

Obrigatório

 aStruct

Array

[1] = Estrutura do Campo 1

[1][1] = Conteúdo

[1][2] = Nome

[1][3] = Descrição

[1][4] = Tipo (C=Caractere, N=Numérico, D=Data)

[1][5] = Tamanho

[1][6] = Decimais


[2] = Estrutura do Campo 2

[2][1] = Conteúdo

[2][2] = Nome

[2][3] = Descrição

[2][4] = Tipo (C=Caracteree, N=Numérico, D=Data)

[2][5] = Tamanho

[2][6] = Decimais

...

SIM

Retorno:

Nome

Tipo

Descrição

Obrigatório

 aStruct

Array

Mesma estrutura do array passado por parâmetro, com as alterações de tamanho e formato. Caso seja necessário alterar o formato de algum campo, este poderá ser incluído com o índice 7 na estrutura do campo

SIM



Exemplo de PE
// Altera tamanho da coluna Filial - CT2_FILIAL e CT2_HIST, e define formato de todas as colunas do tipo N = Numérico

#Include "Protheus.ch"



User Function CTB420SX3()

    Local aArea := GetArea()

    Local aStruct := PARAMIXB[1]

    Local nPosFil := AScan( aStruct, { | x | x[2] == "CT2_FILIAL"} )

    Local nPosHist := AScan( aStruct, { | x | x[2] == "CT2_HIST"} )

    Local nX



    //Altera tamanho da coluna Filial - CT2_FILIAL

    IF nPosFil > 0

        aStruct[nPosFil][5] := 10

    ENDIF



    //Altera tamanho da coluna Historico - CT2_HIST

    IF nPosHist > 0

        aStruct[nPosHist][5] := 300

    ENDIF



    //Define formato de todas as colunas do tipo N = Numérico

                For nX := 1 to Len(aStruct)

        If aStruct[nX][4] == 'N'

            if Len(aStruct[nX]) >= 7

                aStruct[nX][7] := "@E 999999999.99"

            else

                aAdd(aStruct[nX], "@E 999999999.99")

            EndIf

        EndIf

                Next nX



    RestArea(aArea)

Return aClone(aStruct)




05. ASSUNTOS RELACIONADOS

  • Não se Aplica.