Coloquei alguns fontes no code analysis, e um deles me retornou esse erro: SX1 - Uso NÃO PERMITIDO de atribuição do metadados
Como posso reescrever esse trecho para sanar esse erro?
Segue um trecho do código para análise:
Static Function AjustaSX1()
Local aArea := { Alias(), IndexOrd() }
Local nTamSX1 := Len(SX1->X1_GRUPO)
dbSelectArea("SX1")
dbSetOrder(1)
If dbSeek(PadR("OMS010",nTamSX1)+"03")
RecLock("SX1",.F.)
dbDelete()
MsUnLock()
EndIf
If dbSeek(PadR("OMS010",nTamSX1)+"02")
If Empty(X1_VALID)
RecLock("SX1",.F.)
X1_VALID := "Vazio().Or.(A093Prod() .And. OMSA010Grd())"
MsUnLock()
EndIf
EndIf
If dbSeek(PadR("OMS011",nTamSX1)+"13")
If SX1->X1_PYME = "N"
RecLock("SX1",.F.)
SX1->X1_PYME := "S"
MsUnLock()
EndIf
EndIf
dbSelectArea( aArea[1] )
dbSetOrder( aArea[2] )
Return Nil
Dayanne, não é mais permitido esse tipo de manipulação dos dicionários. A recomendação é fazer as manutenções diretamente no configurador, ou gerar um pacote via Gestão de Ambientes (https://tdn.totvs.com/pages/releaseview.action?pageId=528471986).
Bom dia
Tenho um problema similar.
DbSelectArea("SX1") DbSetOrder(1)
DbGotop()
If MsSeek(cPerg)
Memowrite ("c:\spool\Query.txt" ,cQuery )
//FWPreparedStatement - Define a consulta e os parâmetros
oStatement:SetQuery(cQuery)
While cPerg = SX1->X1_GRUPO .and. !EoF()
If SX1->X1_TIPO == 'D' oStatement:SetString( nAtual,DtoS(&(rtrim((SX1->X1_VAR01)))))
// oStatement:SetDate(nAtual,&( (cAliasSX1)->X1_VAR01 ) )
ElseIf SX1->X1_TIPO == 'N'
oStatement:SetString( nAtual,cValToChar( &(Rtrim((SX1->X1_VAR01)) ) ))
// oStatement:setNumeric( nAtual, &( (cAliasSX1)->X1_VAR01 ) )
Else
oStatement:SetString( nAtual, &(Rtrim(SX1->X1_VAR01)) )
EndIf
nAtual++
SX1->(DbSkip())
Enddo
//Recupera a consulta já com os parâmetros injetados
cQuery := oStatement:GetFixQuery()
EndIf
SX1->(DbCloseArea())
Alguem já viu isso e saberia como sair desse embrolio?
José posta essa questão em um tópico do fórum que eu lhe mando a resposta. Não tenho como colocar no comentário aqui.