Escolar Documentos
Profissional Documentos
Cultura Documentos
Apoio e Revisão:
Anotações:
INTRODUÇÃO
Objetivos do Curso
Anotações:
Metodologia do Curso
Anotações:
INSTALAÇÃO DA BIBLIOTECA DO
PROTHEUS COM O
OFFICE EXCEL
Rotinas Abordadas
Anotações:
• Instrução de Uso das Funções.
Anotações:
Instalação da Biblioteca ApExcel80.xla
Obs.:
Obs.:
• Note que foi inserida uma nova “Barra de Botões”, com três opções, os quais estudare-
mos a seguir.
Anotações:
por exemplo, enquanto está sendo gerado “Títulos a Pagar” e a “Receber”,
no Protheus a Planilha do Office Excel, pode muito bem estar estática, ou
seja, é necessário que seja clicado na opção acima mencionada, para que o
valor seja atualizado no Office Excel também, ou então que a Planilha seja
fechada e aberta novamente;
Anotações:
Instrução de Uso das Funções
O Office Excel será aberto automaticamente, bastará começar a digitar as Funções ou abrir uma
Planilha existente.
Atenção, a Conexão somente funcionará se seguida as instruções citadas.
Além das Funções que a Biblioteca contém, é possível com o uso de uma função auxiliar, Fun-
ção SIGA, o uso de funções criadas no Protheus, respeitando algumas restrições:
• Não podem ser utilizadas Entrada de Dados;
• A Função deve obrigatoriamente retornar um Valor;
• É recomendável a utilização de Funções Pequenas, para evitar a perda da
conexão do Protheus com o Office Excel.
O Office Excel utiliza um padrão de Data, diferente do Protheus, por esse
motivo qualquer Função do Protheus utilizada no Office Excel, que utilize data
como Parâmetro ou retorne uma Data, deve obedecer as regras a seguir:
• Formatar a Célula como Data, para as Funções que retornem Data;
• Ao informar uma Data, como Parâmetro, fazê-lo no formato Texto.
Há funções que exigem Parâmetros Lógicos (Verdadeiro ou Falso), estes Parâmetros devem obede-
cer ao padrão de idioma do Office Excel, ou seja, se o Office Excel estiver no Idioma Português use
(Verdadeiro ou Falso), se Inglês use (True ou False).
Se ao inserir uma Função e o Office Excel retornar o erro #VALOR, ou a mensagem: As Funções
Anotações:
do SIGA Advanced, não constam na Lista de Funções definidas pelo usuário,
verifique os seguintes tópicos para solucionar:
• Tenha certeza de que o Office Excel foi iniciado a partir do Protheus;
• Verifique se foi instalada a Biblioteca de Integração;
• Verique se a Função está digitada corretamente.
Anotações:
Modo Interativo
Modo Avançado
Anotações:
O que você aprendeu neste capítulo
Próximo Passo
Com a Instalação realizada e conhecendo como devem ser Utilizadas as Funções veremos o Fun-
cionamento e Exercitaremos cada uma delas.
Anotações:
FUNÇÕES DE INTEGRAÇÃO COM O
OFFICE EXCEL
Para termos Exemplos Genéricos, de fácil entendimento dos usuários, as Sintaxes, foram escritas de
uma Forma Genérica.
Como exemplo usamos a Sintaxe a seguir:
“=nomedafunção(ParC1; ParC2; ParD1; ParL1; ParN1)”, onde:
• O “Primeiro Parâmetro – ParC1”, se refere a um parâmetro do “Tipo – Caracter” e deve ser
digitado sempre entre aspas;
• O “Segundo Parâmetro – ParC2”, tem a mesma característica do primeiro, somente leva o
“Número Dois”, para diferenciar um do outro;
• O “Terceiro Parâmetro – ParD1”, se refere a uma “Data” e deve ser digitado sempre entre
aspas;
• O “Quarto Parâmetro – ParL1”, é do “Tipo – Lógico”, ou seja, “Verdadeiro ou Falso”;
• E o “Quinto Parâmetro – ParN1”, é do “Tipo – Numérico”.
Neste capítulo veremos e exercitaremos cada uma das Funções existente na Integração
do Protheus com o Office Excel.
Rotinas Abordadas
• Funções Genéricas;
• Funções Financeiras;
• Funções Contábeis.
Anotações:
Funções Genéricas
As Funções Genéricas, se caracterizam por poderem extrair dados de quaisquer
módulos.
Estas Funções, requerem muitas vezes, um conhecimento mínimo das Tabelas e Campos
do Protheus.
xFilial
Dica:
Entendendo a Função:
xFilial(“SA1”),
Onde:
• “SA1” – É a “Tabela”, que desejamos pesquisar;
Obs.:
Este Exemplo, retornará a “Filial da Tabela – SA1”.
Anotações:
Posicione
Obs.:
• Outro detalhe, é que antes mesmo de confirmar a “Função”, quando correta, o “Valor”,
já será exibido.
5. Confira os dados e confirme a “Digitação”.
Entendendo a Função:
Posicione(“SA1”;1;xFilial(“SA1”)&”000001”;“A1_NOME”),
Onde:
Anotações:
• “1” – É o “Índice”, pelo qual desejamos pesquisar, nesta caso estamos
usando o índice “Filial + CódigoCliente”;
Entendendo a Função:
Onde:
• “SA1” – É a “Tabela”, que desejamos pesquisar;
• “1” – É o “Índice”, pelo qual desejamos pesquisar, nesta caso estamos usando o índice
“Filial + CódigoCliente”;
• “01” – É a “Primeira Parte” do “Parâmetro”, que neste caso é o “Código da Filial” que
desejamos pesquisar;
Obs.:
Anotações:
exclusivamente.
“=Posicione("SA2";1;TEXTO(B16;"00")&TEXTO(C16;"000000");"A2_NOME")”;
4. Copie o conteúdo das “Células – B16 e D16”, para a “Linha – 17”;
5. Altere o conteúdo da “Célula – C17”, para “3”;
Entendendo a Função:
Posicione("SA2";1;TEXTO(B16;"00")&TEXTO(C16;"000000");"A2_NOME")
Onde:
• “1” – É o “Índice”, pelo qual desejamos pesquisar, nesta caso estamos usando o índice
“Filial + CódigoFornecedor”;
• “TEXTO(B16;"00")” – Onde deveria ser digitada a “Filial”, usamos uma “Função – Tex-
to”, que converte o conteúdo da “Célula – B16”, em “Texto”, com “Dois Algarismos”;
Obs.:
Este Exemplo, retorna o “Nome do Fornecedor”, cujo “Código e Filial”, foram digitados
nas “Células Vinculadas”.
Anotações:
1. Usando as variações possíveis da “Função– Posicione”, obtenha a
“Descrição” e o “Débito de Outubro”, das contas sugeridas;
2. Sabendo-se que a “Tabela de Contas”, é a “SI1”;
3. Lembre-se de usar a “Função – xFilial”, pois, poderá haver a necessi-
dade de usar com qualquer “Filial”.
Anotações:
Somar
Entendendo a Função:
Somar("SE1";"E1_CLIENTE=='000001'";"E1_VALOR"),
Onde:
Obs.:
Anotações:
A Função, retornará a “Soma do Valor a Receber”, do “Cliente – 000001”.
Entendendo a Função:
Onde:
• "E2_VALOR > 200" – É a “Primeira Condição”, que filtrará somente os “Valores Maiores
que 200”, do “Campo – E2_VALOR”;
Obs.:
• A Função, retornará a “Soma do Valor a Pagar dos Títulos”, que tenham “Valor Maior
que 200,00” e que sejam do “Tipo – FT”;
Anotações:
“=Somar("SD2";"D2_EMISSAO>=CTOD('"&B40&"')";"D2_TOTAL")”;
3. Confira os dados e confirme a “Digitação”.
Entendendo a Função:
Somar("SD2";"D2_EMISSAO>=CTOD('"&B40&"')";"D2_TOTAL"),
Onde:
Obs.:
Esta Função, retornará a “Soma do Campo – Total”, de todas a “NFs emitidas”, após “19/
08/2001”.
Anotações:
4. Na “Célula – E40”, informe os dados a seguir:
“=Somar("SF2";"F2_CLIENTE=='"&TEXTO(B45;"000000")&"' .and.
F2_EMISSAO>=CTOD('"&TEXTO(C45;"DD/MM/AA")&"').AND.
F2_EMISSAO<=CTOD('"&TEXTO(D45;"DD/MM/AA")&"')";"F2_VALFAT")”;
5. Confira os dados e confirme a “Digitação”.
Entendendo a Função:
Somar("SF2";"F2_CLIENTE=='"&TEXTO(B45;"000000")&"'.and.F2_EMISSAO>=CTOD
('"&TEXTO(C45;"DD/MM/AA")&"').AND.F2_EMISSAO<=CTOD('"&TEXTO(D45;"DD/MM/
AA")&"')";"F2_VALFAT"),
Onde:
Obs.:
Anotações:
Exercício 11 – Como exercitar a Função Somar:
Anotações:
Contar
Entendendo a Função:
Contar("SA1";"!EOF()"),
Onde:
Obs.:
Esta Função, contará o “Número de Registros”, que contém a “Tabela – SA1”, ou seja, o
“Número de Clientes”, cadastrados.
Entendendo a Função:
Contar("SA1";"A1_EST=('"&B62&"')"),
Anotações:
Onde:
Obs.:
Anotações:
Siga
Esta Função, permite que seja executada, a partir do Office Excel, qualquer
Função (Deve retornar valor) desenvolvida no IDE e atualizada no RPO.
Necessariamente esta Função requer pelo menos o primeiro Parâmetro, ou seja, o Nome da Fun-
ção.
Os demais variam conforme a Necessidade de Interação, que Poderá ou Não Haver, de acordo
com cada Função.
Sintaxe:
Siga(ParC1, Par1,),
Onde:
• “ParC1” – Nome da Função, precedido por “U_”. Obrigatório;
• “Par1” – Pode ser um Parâmetro Lógico, Numérico ou Caracter, dependendo da necessidade
da Função desenvolvida no IDE. Não obrigatório.
Entendendo a Função:
Siga("U_1STCLI"),
Onde:
Obs.:
Anotações:
Entendendo a Função:
Siga("U_EXER15";B80;C80),
Onde:
Obs.:
Anotações:
MsGetArray
Obs.:
Note que a partir da “Célula” digitada, foram acrescentados todos os códigos dos “Centros
de Custos”, existentes.
Entendendo a Função:
MsGetArray(B85;Siga("U_MATRIZ1"))
Obs.:
Anotações:
Funções Financeiras
SldBco
Entendendo a Função:
SldBco("341";"0754";"26456/8";AGORA();1),
Onde:
Obs.:
Anotações:
SldReceber
Retorna o Saldo a Receber em uma Data, ou até a Data e, pode ou não, considerar
o Valor já pago.
Sintaxe:
SldReceber(ParD1,ParN1,ParL1, ParL2),
Onde:
• ParD1 – Data do Movimento a Receber;
• ParN1 – Moeda;
• ParL1 – Se Verdadeiro, considera todo o saldo até a Data, se Falso, considera somente a
Data;
• ParL2 – Se Verdadeiro, desconsidera o Saldo Recebido, se Falso, considera o Saldo já Rece
bido.
Anotações:
Exercício 19 – Como utilizar a Função SldReceber Avançada:
1. Na “Célula – B7”, informe os dados a seguir:
“=SldReceber("08/10/01";1;VERDADEIRO;VERDADEIRO)”;
2. Confira os dados e confirme a "Digitação".
Entendendo a Função:
SldReceber("08/10/04";1;VERDADEIRO;VERDADEIRO),
Onde:
Obs.:
Entendendo a Função:
Onde:
Anotações:
FinNatPrv
Entendendo a Função:
FinNatPrv("000002";"31/12/00";AGORA()+B39;1),
Onde:
• “1” – É a “Moeda”
Obs.:
Anotações:
“Data Inicial” e a “Data Obtida”, através da “Função – Agora”, acrescido
do “Número de Dias”, contido na “Célula – B39”. A data a ser considerada
para filtro é a “Data de Digitação” do documento.
Anotações:
FinNatRea
Entendendo a Função:
FinNatRea("000001";"01/07/01";"30/11/04";1;0;"DG"),
Onde:
• “1” – É a “Moeda”
Obs.:
Anotações:
FinNatOrc
Entendendo a Função:
FinNatOrc("000001";8;1),
Onde:
• “1” – É a “Moeda”.
Obs.:
Anotações:
RecMoeda
Entendendo a Função:
RecMoeda("20/12/01";2),
Onde:
Obs.:
Anotações:
• “C12” – É a “Célula”, que contém a “Moeda”, em que se deseja saber o
“Saldo”;
Obs.:
Obs.:
Anotações:
XMoeda
Entendendo a Função:
xMoeda(100;1;2;"20/12/04"),
Onde:
Obs.:
Anotações:
Funções Contabilidade Gerencial (Ctb)
Saldo Conta
Entendendo a Função:
SaldoConta(“31501001”,”30/11/04”,”01”,”1”,3)”,
Onde:
• “30/11/04” – É a data”;
Anotações:
Obs.:
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
Anotações:
Saldo Centro Custo
Retorna o Saldo de uma Conta contábil + Centro de Custo (CT3) na data e moeda informadas.
Sintaxe:
SaldoCcus(ParC1; ParC2; ParD1 ;ParN1,ParC3,ParC4),
Onde:
• ParC1 – Código da Conta Contábil;
• ParC2 – Código do Centro de Custo;
• ParD1 – Data na qual se deseja obter os saldos.
• ParN1 – Moeda na qual se deseja os saldos.
• ParC3 – Tipo de Saldo no qual se deseja os saldos.
• ParC4 – Retorno Desejado.
Entendendo a Função:
SaldoCcus(“11101002”,”12”,”30/09/2004”,”01”,”1”,1),
Onde:
• 1 – Retorno Desejado.
Obs.:
Anotações:
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
Anotações:
Saldo Item
Retorna o Saldo de uma conta contábil + centro de custo + item contábil (CT4) na
data e moeda informadas.
Sintaxe:
SaldoItem(ParC1; ParC2; ParC3 ;ParD1; ParN1;ParC4;ParC5),
Onde:
• ParC1 – Código da Conta Contábil;
• ParC2 – Código do Centro de Custo;
• ParC3 – Código do Item Contábil;
• ParD1 – Data na qual se deseja obter os saldos;
• ParN1 – Moeda na qual se deseja obter os saldos
• ParC4 – Tipo de Saldo no qual se deseja os saldos.
• ParC5 – Retorno Desejado.
Entendendo a Função:
SaldoItem(“41101001”,“”,”1001”,”19/10/2004”,”01”,”1”,1)
Onde:
• 1 – Retorno Desejado.
Anotações:
Obs.:
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
Anotações:
SaldoClass
Retorna o Saldo de uma Conta Contábil + Centro de Custo + Item Contábil + Classe
de Valor (CTI) na data e moeda informadas.
Sintaxe:
SaldoClass(ParC1; ParC2; ParC3 ;ParC4; ParD1; ParN1; ParC5;ParC6),
Onde:
• ParC1 – Código da Conta Contábil;
• ParC2 – Código do Centro de Custo;
• ParC3 – Código do Item Contábil;
• ParC4 – Código da Classe de Valor;
• ParD1 – Data na qual se deseja obter os saldos.
• ParN1 – Moeda na qual se deseja os saldos.
• ParC5 – Tipo de Saldo no qual se deseja os saldos.
• ParC6 – Retorno Desejado.
Entendendo a Função:
SldClass(“11301001”,”111”,”1001”,”clvl001”,”23/09/04”,”01”,”1”,1)
Onde:
• 1 – Retorno Desejado.
Anotações:
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
Anotações:
Movimento Conta
Entendendo a Função:
MovConta(“31101001”,”31/12/2003”,”31/12/2004”,”01”,”1”,1)
Onde:
• 1 – Retorno desejado..
Anotações:
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
1 - Movimento Devedor
2 - Movimento Credor
3 - Movimento do Mês
Anotações:
Movimento Custo
Retorna o Movimento de uma Conta Contábil + Centro de Custo (CT3) nas datas e moeda informa-
das.
Sintaxe:
MovCusto(ParC1; ParC2; ParD1; ParD2; ParN1),
Onde:
• ParC1 – Código da Conta Contábil;
• ParC2 – Código do Centro de Custo;
• ParD1 – Data inícial na qual se deseja obter o valor dos movimentos;
• ParD2 – Data final na qual se deseja obter o valor dos movimentos;
• ParN1 – Moeda na qual se deseja o valor dos movimentos.
• ParC3 – Tipo de Saldo no qual se deseja o valor dos movimentos;
• ParC4 – Retorno Desejado;
Entendendo a Função:
MovCusto(“11101002”,”12”,”01/01/03”,”31/12/04”,”01”,”1”,1)
Onde:
• 1 – Retorno desejado..
Anotações:
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
1 - Movimento Devedor
2 - Movimento Credor
3 - Movimento do Mês
Anotações:
Movimento de Item
Retorna o Movimento de uma Conta Contábil + Centro de Custo + Item Contábil (CT4) nas datas e
moeda informadas.
Sintaxe:
MovItem(ParC1; ParC2; ParC3; ParD1; ParD2; ParN1;ParC4;ParC5),
Onde:
• ParC1 – Código da Conta Contábil;
• ParC2 – Código do Centro de custo;
• ParC3 – Código do Item Contábil;
• ParD1 – Data inícial na qual se deseja obter o valor dos movimentos;
• ParD2 – Data final na qual se deseja obter o valor dos movimentos;
• ParN1 – Moeda na qual se deseja o valor dos movimentos.
• ParC4 – Tipo de Saldo no qual se deseja o valor dos movimentos;
• ParC5 – Retorno Desejado;
Entendendo a Função:
MovItem(“11301001”,”111”,”1001”,”31/12/03”,”31/12/04”,”01”,”1”,1)
Onde:
Anotações:
• 1 – Retorno desejado.
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
1 - Movimento Devedor
2 - Movimento Credor
3 - Movimento do Mês
Anotações:
CTSMConta
Entendendo a Função:
MovCtSmConta(“11101001:11101003”,”30/09/2004”,”01”,”1”,1)
Onde:
• 1 – Retorno Desejado.
Anotações:
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
Anotações:
CTSMCusto
Entendendo a Função:
CtSmCusto(“111:113”,”20/09/2004”,”01”,”1”,1)
Onde:
• “111:113 ” – É o intervalo de “Código dos Centros de custo separadas por vírgula ou:”;
• 1 – Retorno Desejado.
Anotações:
Obs.:
Para indicar um intervalo de Centros de Custo utilize “:” e para indicar um novo Centro
de Custo utilize “,”.
Exemplo: “0001:0200,2000,3001”.
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
Anotações:
CTSMItem
Entendendo a Função:
CtSmItem(“1001:1005”,”23/09/2004”,”01”,”1”,1)
Onde:
• 1 – Retorno Desejado.
Anotações:
Obs.:
Obs.:
Para indicar um intervalo de itens contábeis utilize “:” e para indicar um novo item contábil
utilize “,”.
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
Anotações:
CTSMCLVL
Entendendo a Função:
CtSmCIVI(“clvl001:clvl002”,”23/09/2004”,”01”,”1”,1)
Onde:
• 1 – Retorno Desejado.
Anotações:
Obs.:
Para indicar um intervalo de Classes de valor utilize “:” e para indicar uma nova classe de
valor utilize “,”.
Obs.:
Retorno
Na passagem de parâmetros, indique qual o retorno desejado utilizando um dos números
abaixo:
Anotações:
O que você aprendeu neste capítulo
Próximo Passo
Anotações:
INTEGRAÇÃO COM O
OFFICE WORD
Rotinas Abordadas
Anotações:
Identificação das Variáveis
Anotações:
Elaboração de Documentos
Dica:
Anotações:
3. Na Caixa de Texto “Códigos de Campos”, informe “Docvariable
Gpe_Nome_Empresa”;
4. Confira os dados e confime a “Inclusão da Fórmula”;
5. Clique com o botão direito do mouse e selecione “Alternar Códigos de
Campo”;
6. Selecione todo o conteúdo do campo;
7. Pressione <Alt> + <F3>;
8. No campo “Atribua um Nome”, digite “NomeEmp”;
9. Feche o “Documento Atual”, sem salvá-lo;
10. Abra um “Novo Arquivo”;
11. Selecione as seguintes opções “Inserir” + “AutoTexto” + “Normal” +
“NomeEmp”
12. Clique com o botão direito do mouse e selecione “Alternar Códigos de
Campo”;
13. Complemente com o nome da função que deseja retornar. Neste caso
“Nome”.
Dica:
Anotações:
Emissão de Documentos
Da mesma maneira que na Integração com o Office Excel, o Documento a ser emitido, deverá
necessariamente ser aberto, através do Protheus.
Uma vez aberto o Documento, o Office Word, enviará a impressão e encerrará
automaticamente.
Isto acontece por uma questão de segurança, tendo em vista que a maioria dos
documentos são Confidenciais.
Após a Abertura do Documento pelo Protheus, não será necessária nenhuma interven-
ção, pois todas as parametrizações como: Número de Cópias, Documento a ser
impresso e quais os Funcionários deverão ser Listados, será realizado através do
Protheus.
Obs.:
Anotações:
O que você aprendeu neste capítulo
Próximo Passo
Número de Registro:
8111702050940 - IOW
Anotações: