× Linguagem de Programação ADVPL

Perguntas Ponto de Entrada FA60FIL Bordero Contas a Receber

Mais
9 anos 5 meses atrás #26487 por brunogfx4
Bom dia amigo, gostaria de agradecer sua ajuda, porem ainda nao consegui.
Eu pensei em fazer um Gatilho,Exec alguma coisa da qual preencha o campo E1_SITUACA COM ' ' se o campo A1_BCO1 estiver com 999.
Mas nao consegui obter uma solucao.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 5 meses atrás #26494 por brunogfx4
Eu coloquei direto esse posicione no campo E1_PORTADO POREM ELE NAO PREENCHEU ao criar um titulo no SE1 ,coloquei da Forma que voce me disse e coloquei tambem da forma que esta abaixo mas nao deu certo.

if(!Inclui,Posicione("SA1",1,xFilial("SA1")+SE1->(E1_CLIENTE+E1_LOJA),'A1_BCO1'),"")

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 5 meses atrás #26533 por brunogfx4
Achei outra forma de fazer, foi feito um ponto de entrada diretamente na nota de saida, porem estou com dificuldade em um DBSEEK. Alguem poderia me ajudar segue abaixo o código e o erro que ele deu ao executar.


_nBco1:= SA1->A1_BCO1

IF _nBco1='999'


dbSelectArea("SE1")
SE1->(dbSetOrder(2))
If dbSeek(xFilial("SE1"))
RecLock("SE1",.T.)
SE1->E1_SITUACA :='1'
SE1->E1_PORTADO :='999'
MsUnLock()
ENDIF
ENDIF
Return



THREAD ERROR (BRUNO.SOUZA, WKS0043) 11/12/2014 08:38:47
DB error (Insert): -37 File: SE1010 - Error : 2601 (23000) - [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert duplicate key row in object 'dbo.SE1010' with unique index 'SE1010_UNQ'.( SQL Statement : INSERT INTO dbo.SE1010(E1_PORTADO,E1_SITUACA,E1_USERLGI,E1_MSFIL,E1_MSEMP,R_E_C_N_O_) VALUES ( '999','1',' 0# 1@ 70w 80E ','03','02',185969) ) ( From tISAMFile::Write )

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 5 meses atrás #26539 por lalberto
User Function M460FIM()
Local aArea := GetArea()

If SA1->A1_BCO1 == '999'
If SE1->(dbSetOrder(1), dbSeek(xFilial("SE1")+SF2->F2_SERIE+SF2->F2_DOC))
While SE1->(!Eof()) .And. SE1->E1_FILIAL == xFilial("SE1") .And. SE1->E1_PREFIXO == SF2->F2_SERIE .And. SE1->E1_NUM == SF2->F2_DOC .And. SE1->E1_CLIENTE+SE1->E1_LOJA == SF2->F2_CLIENTE+SF2->F2_LOJA
If RecLock("SE1",.f.)
SE1->E1_PORTADO := '999'
SE1->E1_SITUACA := '1'
SE1->(MsUnlock())
Endif
SE1->(dbSkip(1))
Enddo
Endif
Endif

RestArea(aArea)
Return .T.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 5 meses atrás #26544 por brunogfx4
Deu Certo Luiz, muito obrigado, pois eu nao sabia a forma correta de fazer esse DBSEEK.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.100 segundos
Joomla templates by a4joomla