Carlos, boa tarde!
Manipulação das SXs só pelo configurador nessa nova versão. Então criação e alteração de perguntas só SIGACFG.
Recentemente precisei fazer isso e descobri que se você quiser ainda assim fazer manipulação da SX1 você consegue da seguinte forma:
Static Function CriaPerg(cPerg)
Local _sAlias := Alias()
Local aRegs := {}
Local i
Local j
dbSelectArea("SX1")
dbSetOrder(1)
cPerg := PadR(cPerg,10)
// Grupo/Ordem/Pergunta/Variavel/Tipo/Tamanho/Decimal/Presel/GSC/Valid/Var01/Def01/Cnt01/Var02/Def02/Cnt02/Var03/Def03/Cnt03/Var04/Def04/Cnt04/Var05/Def05/Cnt05
aAdd(aRegs,{cPerg,"01","Filial De ?","","","mv_ch1","C",TamSX3("E2_FILIAL")[1] ,0,0,"G","","mv_par01","","","","","","","","","","","","","","","","","","","","","","","","","SM0_01"})
aAdd(aRegs,{cPerg,"02","Filial Até ?","","","mv_ch2","C",TamSX3("E2_FILIAL")[1] ,0,0,"G","","mv_par02","","","","","","","","","","","","","","","","","","","","","","","","","SM0_01"})
aAdd(aRegs,{cPerg,"03","N Sol. De ?","","","mv_ch3","C",TamSX3("E2_NUM")[1] ,0,0,"G","","mv_par03","","","","","","","","","","","","","","","","","","","","","","","","","SE2"})
aAdd(aRegs,{cPerg,"04","N Sol. Até ?","","","mv_ch4","C",TamSX3("E2_NUM")[1] ,0,0,"G","","mv_par04","","","","","","","","","","","","","","","","","","","","","","","","","SE2"})
aAdd(aRegs,{cPerg,"05","Solicitante De ?","","","mv_ch5","C",TamSX3("E2_FORNECE")[1],0,0,"G","","mv_par05","","","","","","","","","","","","","","","","","","","","","","","","","SA2"})
aAdd(aRegs,{cPerg,"06","Solicitante Até ?","","","mv_ch6","C",TamSX3("E2_FORNECE")[1],0,0,"G","","mv_par06","","","","","","","","","","","","","","","","","","","","","","","","","SA2"})
aAdd(aRegs,{cPerg,"07","Emissão De ?","","","mv_ch7","D",08 ,0,0,"G","","mv_par07","","","","","","","","","","","","","","","","","","","","","","","","",""})
aAdd(aRegs,{cPerg,"08","Emissão Até ?","","","mv_ch8","D",08 ,0,0,"G","","mv_par08","","","","","","","","","","","","","","","","","","","","","","","","",""})
aAdd(aRegs,{cPerg,"09","Msg Obs ?","","","mv_ch9","C",99 ,0,0,"G","","mv_par09","","","","","","","","","","","","","","","","","","","","","","","","",""})
aAdd(aRegs,{cPerg,"10","Solicitante ?","","","mv_cha","C",30 ,0,0,"G","","mv_par10","","","","","","","","","","","","","","","","","","","","","","","","",""})
aAdd(aRegs,{cPerg,"11","Motivo ?","","","mv_chb","C",99 ,0,0,"G","","mv_par11","","","","","","","","","","","","","","","","","","","","","","","","",""})
For i:=1 to Len(aRegs)
If !dbSeek(cPerg+aRegs[i,2])
RecLock("SX1",.T.)
For j:=1 to Len(aRegs[i])
If j <= Len(aRegs[i])
FieldPut(j,aRegs[i,j])
EndIf
Next
MsUnlock()
EndIf
Next
dbSelectArea(_sAlias)
Return
Desta forma o codeanalysis não deu erro, mas ainda assim não é uma boa prática. O correto é fazer manipulação pelo SIGACFG.