Home

Linha Microsiga Protheus

Páginas filhas
  • Compensação automática entre Carteiras (FINA450)

Versões comparadas

Chave

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

Descrição

Implementada a utilização automática da rotina de Compensação entre   Carteiras

...

(FINA450).

...

Observações

FINA450(nPosArotina,aAutoCab,nOpcAuto)

...

-aAutoCab

...

-

...

Array

...

utilizado

...

para

...

enviar

...

dados

...

referentes

...

ao

...

processo.

...

  Estes

...

dados

...

são

...

o

...

equivalente

...

aos

...

dados

...

preenchidos

...

na

...

tela

...

de

...

filtro

...

manual,

...

  como:

...

  •   Data

...

  • Inicial:

...

  • Data

...

  • de vencimento real inicial   para filtrar os títulos.
  •   Data Final: Data de vencimento real final para   filtrar os títulos.
  •   Valor limite: Valor limite para a compensação.   Esta informação é utilizada para filtrar, ou não, os títulos até o valor   informado.
  •   Código do Cliente e loja: Código do cliente/loja   para filtrar os títulos para a compensação.
  •   Código do Fornecedor e loja: Código do   fornecedor/loja para filtrar os títulos para a compensação.
  •   Moeda: Código da moeda dos títulos para utilizar   na compensação.
  •   Débito ou Crédito: Filtra os tipos de débito, ou   crédito.
  •   Títulos Futuros: Filtra títulos emitidos   posterior a data base.
  •   Chave de Títulos a Receber (Array com Chave dos   títulos a receber que serão compensados):

                   SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM+SE1->E1_PARCELA+SE1->E1_TIPO

...

  •   Chave

...

  • de

...

  • Títulos

...

  • a

...

  • Pagar

...

  • (Array

...

  • com

...

  • Chave

...

  • dos

...

  •   títulos

...

  • a

...

  • Pagar

...

  • que

...

  • serão

...

  • compensados)

...

  • :

                   SE2->E2_FILIAL+SE2->E2_PREFIXO+SE2->E2_NUM+SE2->E2_PARCELA+SE2->E2_TIPO+SE2->E2_FORNECE+SE2->E2_LOJA

...

  •   -nOpcAuto

...

  • -

...

  • Opção

...

  • do

...

  • Menu

...

  • a

...

  • ser

...

  • executado

...

  •   automaticamente.

...

                 3 = Compensação

Observação: a Compensação   automática entre carteiras somente realiza a baixa do valor total do título.

Exemplos

#include "rwmake.ch"

...


  User

...

Function

...

Auto450()

...


  Local

...

aAutoCab

...

:=

...

{

...

{"AUTDVENINI450",

...

cTod('31/08/11')

...

,

...

nil},;

...


  {"AUTDVENFIM450",

...

cTod('31/08/11')

...

,

...

nil},;

...


  {"AUTNLIM450"

...

,

...

10000

...

,

...

nil},;

...


  {"AUTCCLI450"

...

,

...

"000001"

...

,

...

nil},;

...


  {"AUTCLJCLI"

...

,

...

"01"

...

,

...

nil},;

...


  {"AUTCFOR450"

...

,

...

"000001"

...

,

...

nil},;

...


  {"AUTCLJFOR"

...

,

...

"01"

...

,

...

nil},;

...


  {"AUTCMOEDA450"

...

,

...

"01"

...

,

...

nil},;

...


  {"AUTNDEBCRED"

...

,

...

1

...

,

...

nil},;

...


  {"AUTLTITFUTURO",

...

.F.

...

,

...

nil},;

...


  {"AUTARECCHAVE"

...

,

...

{}

...

,

...

nil},;

...


  {"AUTAPAGCHAVE"

...

,

...

{}

...

,

...

nil}}

...


  Private

...

lMsHelpAuto

...

:=

...

.T.

...


  Private

...

lMsErroAuto

...

:=

...

.F.
  // Dados do titulo a receber
  SE1->( dbSetOrder( 1 ) )
  SE1->( MsSeek( xFilial( "SE1" ) + PadR( " " , TamSX3(   "E1_PREFIXO" )[ 1 ] ) + ;
  PadR( "REC1" , TamSX3( "E1_NUM" )[ 1 ] ) + ;
  PadR( " " , TamSX3( "E1_PARCELA" )[ 1 ] ) + ;
  PadR( "NF " , TamSX3( "E1_TIPO" )[ 1 ] ) ) )
  AAdd( aAutoCab[11,2],

...

{

...

xFilial(

...

"SE1"

...

)

...

+

...

PadR(

...

"

...

"

...

,

...

  TamSX3(

...

"E1_PREFIXO"

...

)[

...

1

...

]

...

)

...

+

...

;
  PadR( "REC1" ,

...

TamSX3(

...

"E1_NUM"

...

)[

...

1

...

]

...

)

...

+

...

;
  PadR( " " , TamSX3( "E1_PARCELA"

...

)[

...

1

...

]

...

)

...

+

...

;
  PadR( "NF " , TamSX3( "E1_TIPO"

...

)[

...

1

...

]

...

)

...

}

...

)
  // Dados do titulo a pagar
  SE2->( dbSetOrder( 1 ) )
  SE2->( MsSeek( xFilial( "SE2" ) + PadR( " " , TamSX3(   "E2_PREFIXO" )[ 1 ] ) + ;
  PadR( "PAG1" , TamSX3( "E2_NUM" )[ 1 ] ) + ;
  PadR( " " , TamSX3( "E2_PARCELA" )[ 1 ] ) + ;
  PadR( "NF " , TamSX3( "E2_TIPO" )[ 1 ] ) + ;
  PadR( "000001" , TamSX3( "E2_FORNECE" )[ 1 ] ) + ;
  PadR( "01" , TamSX3( "E2_LOJA" )[ 1 ] ) ) )
  AAdd( aAutoCab[12,2], { xFilial( "SE2" ) + PadR( " " ,   TamSX3( "E2_PREFIXO" )[ 1 ] ) + ;
  PadR( "PAG1" , TamSX3( "E2_NUM" )[ 1 ] ) + ;
  PadR( " " , TamSX3( "E2_PARCELA" )[ 1 ] ) + ;
  PadR( "NF " , TamSX3( "E2_TIPO" )[ 1 ] ) + ;
  PadR( "000001" , TamSX3( "E2_FORNECE" )[ 1 ] ) + ;
  PadR( "01" , TamSX3( "E2_LOJA" )[ 1 ] ) } )
  MSExecAuto({|x,y,z|

...

Fina450(x,y,z)},

...

nil

...

,

...

aAutoCab

...

,

...

3

...

)
  If !lMsErroAuto
  msgalert("Incluido

...

com

...

sucesso!

...

")
  confirmsx8()
  Else
  msgalert("Erro na inclusao!")
  rollbacksx8()
  MostraErro()
  EndIf

Idioma

Português(Brasil)

Versões

10 e 11

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

Todas

Programa Fonte

FINA450.PRX