Você está na página 1de 3

Integração com EXCEL

Segue a baixo algumas funções de integração com o EXCEL e MICROSIGA:

Posicione(“SC1”,1,Concatenar(Xfilial(“SC1”);A2;A3);SC1->C1_DESCRI)

Composição da Função

1 – Posicione -> Esta função traz o conteúdo da variável SC1->C1_DESCRI, conforme


índice do Arquivo.
2 – Concatenar -> Esta função faz a junção de varias células para formar uma Chave de
Índice.
3 – SC1 -> Tabela do microsiga onde se encontra os dados da pesquisa.
4 – A2;A3 -> Células onde se encontrão os valores que compõem o Índice da pesquisa.
5 – Xfilial -> Função do microsiga que retorna a filial utilizada no momento da pesquisa.

MsGetArray(A1;Execblock(“EITExcel”;parametro)

Composição da Função

1 – MsGetArray -> Esta função devolve o resulta da busca do Execblock.


2 – A1 -> Célula inicial da função MsGetArray().
3 – Execblock -> Função para leitura de programa externo do Microsiga.
4 – EITExcel -> Rotina criada para executar pesquisa por meio de programação ADPVL,
implementada no Microsiga.
5 – Parametro->Concatenar em uma única string todos os parâmetros e dentro do programa
chamado fazer a separação.

#include "rwmake.ch"

User Function EITexcel()

NumSC := "000021"
Private aItens := {}

dbSelectArea("SC1")
dbSetOrder(1)
dbSeek(xFilial("SC1")+NUMSC,.F.)

Do While !Eof() .And. xFilial("SC1")+SC1->C1_NUM == xFilial("SC1")+NUMSC


AADD(aItens,{SC1->C1_PRODUTO, SC1->C1_DESCRI, SC1->C1_UM,SC1->C1_QUANT} )
dbSkip()
Enddo
aSort(aItens, , , { |x,y| x[2] < y[2] } )
Return(aItens)

Outras Funções

Credito (Código, Mês, Moeda) -> Retorna o valor de crédito da Conta e Mês especificados.
Exemplo: Credito(1,1,1)

DataValida(Data,Opção) -> Retorna a data válida após verificação (sábado, domingo ou feriado).
Exemplo: DataValida(20/01/01,1)

Debito(Codigo,Mes,Moeda) -> Retorna o valor de débito da Conta e Mês especificados.


Exemplo: Debito(1,1,1)

Extenso(Valor,Tipo_Extenso,Moeda) -> Retorna o valor por Extenso.


Exemplo: Extenso(1000,1,1)

FinNatOrc(Natureza,Mes,Moeda) -> Retorna o valor Orçado no mês da natureza.


Exemplo: FinNatOrc(101,1,1)

FinNatRea(Natureza,Data_Inicio,Data_Fim,Moeda) -> Retorna o valor Real no período


informado da natureza.
Exemplo: FinNatRea(101,01/01/01,31/01/01.1)

MesExtenso(Mes) -> Retorna o mês por Extenso.


Exemplo: MesExtenso(2)

MovimCC(Centro Custo, Conta Contabil,Mes,Moeda) -> Retorna o Movimento de centro de


custo, conforme contas e mês informados.
Exemplo: MovimCC(10101,1,1,1)

Movimento(Conta Contabil,mes,Moeda,Data) -> Retorna o Movimento da Conta e Mês


especificados.
Exemplo: Movimento(1,1,1,31/1/1)

Orcado(Codigo,Periodo,Moeda,Data) -> Retorna o valor da Conta Orçado conforme o período.


Exemplo: Orcado(4110101,1,1,31/10/01)

OrcadoCC(conta,CCcusto,Periodo,Moeda,Dat_Conversao) -> Retorna o valor da Conta Orçado


conforme o centro de custo e período.
Exemplo: OrcadoCC(4110101,10101,1,1,31/1/1)

Saldo(Codigo,Periodo,Moeda,Ano) -> Retorna o saldo da conta especificada conforme o período


informado.
Exemplo: Saldo(4110101,1,1,2001)

SldBanco(Banco,Agencia,Conta,Data,Moeda) ->Retorna o saldo conforme a data e banco


especificados.
Exemplo: SldBanco(237,101,101,31/1/1,1)

SldCliente(Cliente,Data,Moeda,Usa_sld,se5) -> Retorna o saldo do cliente, conforme parâmetros


informados.
Exemplo: SldCliente(000001,20/01/01,1,VERDADEIRO)

SldFornece(Fornecedor,Data,Moeda,Usa_sld_se5) -> Retorna o saldo do Fornecedor, conforme


parâmetros informados.
Exemplo: SldFornece(000001,20/01/01,1,VERDADEIRO)

SldPagar(Data,Moeda,So_na_Data,Usa_sld_se5) -> Retorna o saldo a pagar conforme


parâmetros informados.
Exemplo: SldPagar(20/01/01,1,VERDADEIRO,FALSO)

SldReceber(Data,Moeda,So_na_Data,Usa_sld_se5) -> Retorna o saldo a receber conforme


parâmetros informados.
Exemplo: SldReceber(20/01/01,1,VERDADEIRO,FALSO)

Funções que necessitam conhecimento Especifico da Base de dados


(arquivos, campos e índices)

Contar(Alias,Condição) -> Retorna o número de registros que satisfaçam a condição conforme o


Alias informado.
Exemplo: Contar("SE2",E2_VALOR / 5000)

ExecBlock(Programa,Parâmetro) -> Executa um programa externo (advpl) informando os


parâmetros. Este programa deve retornar obrigatoriamente um valor.
Exemplo: ExecBlock("TESTE","101")

Posicione(Alias,Ordem,Chave,Campo) -> Posiona o arquivo no registro especificado, conforme


parâmetros informados.
Exemplo: Posicione("SM0",1,"","M0_NOME")

Siga(ExecCmd,EsxecParam,...) ->Executa funções internas do Siga.


Exemplo: Siga("MesExtenso",2)

Somar(Alias,Consição,Campo) -> Soma o campo especificado conforme a condição e o alias


informados.
Exemplo: Somar("SE2","E2_VALOR < 1000","E2_VALOR")

xFilial(Alias) -> Rertorna o código da Filial do Alias especificado.


Exemplo: xFilial("SE2")