Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs_cross
SolucaoCrossTOTVS Backoffice

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoServiç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.

...

Card documentos
InformacaoA utilização do ponto de entrada é de total autoria de quem o utiliza e os efeitos resultantes dele são de responsabilidade do cliente.
TituloIMPORTANTE!


04. DEMAIS INFORMAÇÕES

Atualizar include CTBA420.CH com o seguinte help:

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

...

Informações
titleContextualizaçã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.


Caractereísticas 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.

ParametrosParâ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



Bloco de código
languagecpp
themeRDark
titleExemplo de PE
linenumberstrue
collapsetrue
// 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.



Templatedocumentos

...