Devido à descontinuação da versão 5.10.3, que ocorrerá em 30/09/2025, informamos que este manual não receberá atualizações a partir desta data. Para mais informações sobre a evolução do Gestão Empresarial | ERP, acesse a documentação sobre a PCVV - Política do Ciclo de Vida das Versões.

Informamos que as funcionalidades da Reforma Tributária estão disponíveis apenas a partir da versão 5.10.4 do Gestão Empresarial.
Acesse o Portal de Exigências Legais da Senior para saber como preparar o seu negócio!

SelecionaDadosDIPI

Monta os dados utilizados numa DIPI. Como a regra é muito limitado para fazer, gorub by, sum e outras funções.

Sintaxe: SelecionaDadosDIPI(Alfa OQue, Numero CodEmp, Numero CodFil, Numero DatIni, Numero DatFim, Numero Quanto, Numero AgrupaClf)

Parâmetros:

Nome Tipo Descrição
OQue Alfa Variável que pode receber 4 parâmetros:
"FORNECEDORES" ou "CLIENTES" ou "DADOSENTRADAS" ou "DADOSSAIDAS".
Se for "FORNECEDORES" irá fazer uma seleção dos dados de Notas De Compra, agrupados por fonecedor.
Se for "CLIENTES", irá fazer uma seleção das NF de Vendas agrupadas por Cliente.
Se For "DADOSENTRADAS" irá fazer a seleção dos itens de NF de Compras, agrupados por Classificação Fiscal".
Se For "DADOSSAIDAS" , fará uma seleção dos itens de NF de Vendas agrupados por classificação Fiscal.
CodEmp Numero Variável que recebe a empresa ativa.
CodFil Numero Variável que recebe a filial ativa.
DatIni Numero Variável que recebe a data de início da DIPI.
DatFim Numero Variável que recebe a data final da DIPI.
Quanto Numero Variável que recebe quantos fornecedores, clientes ou Classificações Fiscais guardar(geralmente são só os 20 primeiros, ou seja, os 20 com maior movimentação).
AgrupaClf Numero Variável que recebe "1" ou "0". "1" para Sim e "0" para Não. Será utilizado quando a variável OQue for igual a "DADOSENTRADAS1" ou "DADOSSAIDAS1", alterando o agrupamento dos dados para os campos E022CLF.CLAFIS e E022CLF.CODEXC.

Exemplo:

Definir data VDatini;

Definir Data VDatFim;

Definir alfa AuxNomFor;

VCodEmp = ECodEmp;

VCodFil = ECodFil;

/****A funcao abaixo seleciona os 20 maiores fornecedores do período

/**Por ordem decrescente de valor **//

SelecionaDadosDIPI("Fornecedores",VCodEmp,VCodFil,VDatIni,VDatFim,20);

FimMemList = 0;

Pos = 0;

Enquanto (FimMemList = 0)

        inicio

        LeMemListDIPIForCli(Pos,FimMemList,FCgcCpf,AuxNomFor,FVlrFor);

        Se (FimMemList = 0)

            Inicio

            AlteraControle("DNomFor","Descrição",AuxNomFor);

            ListaSecao("Adicional_dados08");

            Pos = Pos + 1;

            Fim;

        Fim;

Utilização da Função (dependentes): LeMemListDIPIForCLi e LeMemListClaFis.

Observações: Select Com GroupBy e orderBy por campos distintos, para selecionar dados para DIPI - Fica inviável no relatório pois deve ser agrupado por um campo, ordenado por outro e mantido os 20 maiores resgistros. Na regra, teria que agrupar primeiramente, depois ordenar  por outro campo(usando método da bolha, por exemplo) mantendo isso armazenado numa estrutura(tabela) e ordenando continuamente. Pode ser feito hoje através de View, também,mas isto implica em alterações de TBS.

Este artigo ajudou você?