Árvore de páginas

Versões comparadas

Chave

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

A103 - Entrada de Mercadorias

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):


Nome
Tipo
Descrição
Default
Obrigatório Referência

PARAMIXB1
Vetor
Array contendo o cabeçalho da Nota Fiscal de Entrada.







PARAMIXB2
Vetor
Array contendo os ítens da Nota Fiscal de Entrada.







PARAMIXB3
Numérico
Opção desejada: 3-Inclusão; 4-Alteração ; 5-Exclusão3






PARAMIXB4
Lógico
Indica se Apresenta ou não a Dialog da Rotina em Rotina Automática..F.






PARAMIXB5
Vetor
Parâmetro de uso interno TOTVS.






Nível de Acesso:Nível 1 (Acesso Clientes)

Idiomas:

Espanhol, Inglês

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:

Essa rotina permite o registro de qualquer movimento de entrada de mercadorias na empresa. A entrada das mercadorias inicia um processo de atualização on-line de dados financeiros e de estoques e custos. Além disso, permite que os materiais recebidos pelo Recebimento de Materiais sejam classificados e os devidos lançamentos efetuados.Este processo consiste na confirmação dos valores do recebimento, na informação das tributações aplicadas e dos dados contábeis financeiros.

Programa Fonte:

MATA103.PRW

Sintaxe:

MATA103 - Entrada de Mercadorias ( [ PARAMIXB1 ] [ PARAMIXB2 ] [ PARAMIXB3 ] [ PARAMIXB4 ] [ PARAMIXB5 ] ) --> Nil

Retorno:

Nil(nulo)
Nil

Variáveis:
Nome
Tipo
Escopo
Pode Alterar
Descrição


Array of Record
Global
Não


Observações:

Esta rotina pode ser utilizada via Rotina Automática.


Exemplo: 

User

Function

MyMata103b()Local

aCabec

:=

{}Local

aItens

:=

{}Local

aLinha

:=

{}Local

nX     

nX :=

0Local nY     

0Local nY :=

0Local

cDoc   

cDoc :=

""Local

lOk   

lOk :=

.T.

         Private lMsHelpAuto

Private lMsHelpAuto :=

.T.PRIVATE

lMsErroAuto

:=

.F.//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//|

Abertura

do ambiente                                         

do ambiente |//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙConOut(Repl("-",80))ConOut(PadC(OemToAnsi("Teste

de

Inclusao

de

2

documentos

de

entrada

com

2

itens

cada"),80))PREPARE

ENVIRONMENT

EMPRESA

"99"

FILIAL

"01"

MODULO

"COM"

TABLES

"SF1","SD1","SA1","SA2","SB1","SB2","SF4"//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//|

Verificacao

do

ambiente

para teste                           

para teste |//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙDbSelectArea("SB1")DbSetOrder(1)If

!SB1->(MsSeek(xFilial("SB1")+"PA001"))

lOk

:=

.F.

ConOut(OemToAnsi("Cadastrar

produto:

PA001"))EndIfDbSelectArea("SF4")DbSetOrder(1)If

!SF4->(MsSeek(xFilial("SF4")+"001"))

lOk

:=

.F.

ConOut(OemToAnsi("Cadastrar

TES:

001"))EndIfDbSelectArea("SE4")DbSetOrder(1)If

!SE4->(MsSeek(xFilial("SE4")+"001"))

lOk

:=

.F.

ConOut(OemToAnsi("Cadastrar

condicao

de

pagamento:

001"))EndIfIf

!SB1->(MsSeek(xFilial("SB1")+"PA002"))

lOk

:=

.F.

ConOut(OemToAnsi("Cadastrar

produto:

PA002"))EndIfDbSelectArea("SA2")DbSetOrder(1)If

!SA2->(MsSeek(xFilial("SA2")+"F0000101"))

lOk

:=

.F.

ConOut(OemToAnsi("Cadastrar

fornecedor:

F0000101"))EndIfIf

lOk

ConOut(OemToAnsi("Inicio:

")+Time())

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//|

Verifica

o

ultimo

documento

valido

para

um fornecedor        |

um fornecedor | //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

DbSelectArea("SF1")

DbSetOrder(2)

MsSeek(xFilial("SF1")+"F0000101z",.T.)

dbSkip(-1)

cDoc

:=

SF1->F1_DOC

For

nY

:=

1

To

2

aCabec

:=

{}

aItens

:=

{}

If

Empty(cDoc)

cDoc

:=

StrZero(1,Len(SD1->D1_DOC))

Else

cDoc

:=

Soma1(cDoc)

EndIf

aadd(aCabec,{"F1_TIPO"

   

,"N"})

aadd(aCabec,{"F1_FORMUL"

,"N"})

aadd(aCabec,{"F1_DOC"

   

,(cDoc)})

aadd(aCabec,{"F1_SERIE"

 

,"UNI"})

aadd(aCabec,{"F1_EMISSAO",dDataBase})

aadd(aCabec,{"F1_FORNECE","F00001"})

aadd(aCabec,{"F1_LOJA"

   

,"01"})

aadd(aCabec,{"F1_ESPECIE","NFE"})

aadd(aCabec,{"F1_COND","001"})

aadd(aCabec,{"F1_DESPESA"

   

,10})

aadd(aCabec,{"E2_NATUREZ","NAT01"})

For

nX

:=

1

To

2

aLinha

:=

{}

aadd(aLinha,{"D1_COD"

 

,"PA001",Nil})

aadd(aLinha,{"D1_QUANT",1,Nil})

aadd(aLinha,{"D1_VUNIT",100,Nil})

aadd(aLinha,{"D1_TOTAL",100,Nil})

aadd(aLinha,{"D1_TES","001",Nil})

aadd(aItens,aLinha)

Next

nX

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//|

Teste

de Inclusao                                            | //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ               

de Inclusao | //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ MSExecAuto({|x,y|

mata103(x,y)},aCabec,aItens)

If

!lMsErroAuto

ConOut(OemToAnsi("Incluido

com

sucesso!

")+cDoc)

Else

ConOut(OemToAnsi("Erro

na

inclusao!"))

EndIf

Next

nY

ConOut(OemToAnsi("

Fim 

Fim :

")+Time())EndIfRESET

ENVIRONMENTReturn(.T.)