Histórico da Página
Wiki Markup |
---|
||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: 1)Data Inicial: Data de Vencimento Real Inicial para filtrar os títulos. 2)Data Final: Data de Vencimento Real Final para filtrar os títulos. 3)Valor limite: Valor limite para a compensação. Esta informação é utilizada para filtrar ou não os títulos até o valor informado. 4)Código do Cliente e loja: Código do cliente/loja a partir do qual serão filtrados os títulos para a compensação. 5)Código do Fornecedor e loja: Código do fornecedor/loja a partir do qual serão filtrados os títulos para a compensação. 6)Moeda: Código da moeda dos títulos a serem utilizados na compensação. 7)Débito ou Crédito: Filtra os tipos de débito ou crédito. 8)Títulos Futuros: Filtra títulos emitidos posterior a data base. 9)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 10)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ções: 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|| Microsiga_Protheus10_e_Microsiga_Protheus11 ||Sistemas Operacionais Suportados||Todos ||Compatível com as Bases de Dados||Todas ||Programa Fonte|| FINA450.PRX |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas