Perguntas Funcao FWMarkBrowse

Mais
4 anos 1 mês atrás #32832 por Wanderson
Boa Tarde Pessoal,

Estou com problemas na funcao FWMarkBrowse, primeira vez que estou usando e já estou levando uma surra, no markbrowse tenho 5 notas filtrada e marco apenas 2 quando peço para executar a rotina le todo o markbrowse ve que tem 2 notas marcadas porem atualiza somente uma.

Estou enviando o fonte se alguém puder me ajudar agradeço


#INCLUDE 'totvs.ch'
#Include "TOPCONN.CH"

//
/*/{Protheus.doc} VSPFATOC
Monta uma MarkBrowse para selecionar as Notas Fiscais que serão
amarradas com o codigo do Veiculo
tabela em MVC
@author
@since 07/04/2020
@version P12.25
/*/


User Function VSPFATOC()

//Local cPerg:= Padr("VSPFATOC",10)
Private cPerg := "VSPFATOC"
Pergunte(cPerg,.T.)
Private oMark
Private aRotina := MenuDef()
PRIVATE lInverte := .f.
PRIVATE aMarked := {}

oMark:= FWMarkBrowse():NEW() // Cria o objeto oMark - MarkBrowse
oMark:SetAlias("SF2") // Define a tabela do MarkBrowse
oMark:SetDescription('Notas Fiscais para Serem Vinculadas')
oMark:SetFieldMark("F2_ZZOK") // Define o campo utilizado para a marcacao
oMark:SetSemaphore(.T.) // Define se utiliza marcacao exclusiva
//oMark:DisableDetails() // Desabilita a exibicao dos detalhes do Browse
oMark:AddLegend( "Empty(F2_VEICUL1)", "YELLOW", "Não Vinculado" )
oMark:AddLegend( "!EMPTY(F2_VEICUL1)", "BLUE" , "Nota Finculada" )


oMark:setFilterDefault( "F2_DOC >='"+MV_PAR02+"' .AND. F2_DOC <='" + MV_PAR03 +"' .AND. F2_FILIAL='" + MV_PAR01 +"'")// .AND. F2_SERIE='1'" )//+ MV_PAR04 + "'")

oMark:Activate()

Return NIL

//
Static Function MenuDef()

Local aRotina := {}

// ADD OPTION aRotina TITLE 'Visualizar' ACTION 'VIEWDEF.COMP025_MVC' OPERATION 2 ACCESS 0
ADD OPTION aRotina TITLE 'Vincular' ACTION 'U_COMP25PROC()' OPERATION 2 ACCESS 0


Return aRotina

//
Static Function ModelDef()

// Utilizo um model que ja existe

Return FWLoadModel( 'COMP011_MVC' )

//
Static Function ViewDef()

// Utilizo uma View que ja existe
Return FWLoadView( 'COMP011_MVC' )

//
User Function COMP25PROC()

Local aArea := GetArea()
Local cMarca := oMark:Mark()
Local lInverte := oMark:IsInvert()

Local nCt := 0


cQuery := " SELECT "
cQuery += " SF2.F2_VEICUL1"
cQuery += " ,SF2.F2_DOC"
cQuery += " FROM"
cQuery += RetSqlTab("SF2")
cQuery += " WHERE 1=1 "
cQuery += " AND "+RetSqlFil("SF2")
cQuery += " AND " + RetSqlDel("SF2") + CRLF
cQuery += " AND SF2.F2_DOC >='" + MV_PAR02 + "'"
cQuery += " AND SF2.F2_DOC <='" + MV_PAR03 + "'"
//cQuery += " AND SF2.F2_SERIE ='" + MV_PAR04 + "'"
//cQuery += " AND SF2.F2_VEICUL1=' ' "
cQuery := ChangeQuery(cQuery)
TCQuery cQuery New Alias "TMPSF2"
Count To nRecCount


IF nRecCount == 0
MsgInfo("Não foram encontrados registros.")
Return Nil
EndIF

cNotaMrc:=TMPSF2->F2_DOC
TMPSF2->( dbGoTop() )

While !TMPSF2->( EOF() )

If oMark:IsMark(cMarca)
nCt++
Reclock("SF2",.F.)
SF2->F2_VEICUL1 := MV_PAR04
MsUnLock()

EndIf
TMPSF2->( dbSkip() )
cNotaMrc:=TMPSF2->F2_DOC
ENDDO

TMPSF2->(dbCloseArea())

RestArea( aArea )

Return NIL

Por favor Acessar ou Registrar para participar da conversa.

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