Fala galera, alguém já utilizou a classe FWBulk? Numa tabela padrão do sistema, o Recno tem que ser enviado ou a própria classe gera a numeração?
Fala galera, alguém já utilizou a classe FWBulk? Numa tabela padrão do sistema, o Recno tem que ser enviado ou a própria classe gera a numeração?
Sergio,
A classe FWBulk
utiliza de recursos do DBAccess, que por sua vez fica responsável pela geração do campo R_E_C_N_O_
, portanto não é necessário enviar ou preocupar-se com o mesmo.
Abaixo um exemplo da classe FWBulk
utilizando uma tabela do padrão, no caso a SED
:
#include "protheus.ch"
//-------------------------------------------------------------------
/*/{Protheus.doc} sedBulk
Exemplo da classe FWBulk efetuando inserção de dados na SED
@author Daniel Mendes
@since 15/03/2021
@version 1.0
/*/
//-------------------------------------------------------------------
user function sedBulk()
local oBulk as object
local aFields as array
local cFilSED as char
local nI as numeric
if FWBulk():canBulk()
rpcSetEnv("99", "01")
oBulk := FWBulk():new(RetSqlName("SED"))
cFilSED := xFilial("SED")
aFields := {}
aAdd(aFields, {"ED_FILIAL"})
aAdd(aFields, {"ED_CODIGO"})
aAdd(aFields, {"ED_DESCRIC"})
// É possível informar a tabela e os campos também dessa forma
// oBulk:setTable(RetSqlName("SED"))
// oBulk:setFields(SED->(DBStruct()))
oBulk:setFields(aFields)
for nI := 1 to 10
oBulk:addData({cFilSED, StrZero(nI, 5), "Descrição " + StrZero(nI, 2)})
next
oBulk:close()
oBulk:destroy()
FreeObj(oBulk)
rpcClearEnv()
else
//Essa classe não funciona com SQLite
ConErr("Atualize o DBAccess")
endif
return
Documentação: https://tdn.engpro.totvs.com.br/display/public/PROT/FWBulk