Bom dia senhores
No meu sistema eu tenho um XObjects com um histórico, que na primeira versão gravava em banco apenas o E3TimeStamp e um valor de nível.
Então, ao cadastrar uma nova elevatória, ele pegava os dados de cadastro, gravava em banco e adicionava esse XObject Teste no Objeto de Dados.
Esse XObjects é adicionado no Objeto de Dados dentro de dados e em RunTime esse Hist1 é ativado e cria uma nova tabela no banco de dados.
Antes de eu fazer uma atualização, o software cadastrava a elevatória e criava a tabela normal.
Contudo, ao adicionar algumas colunas no hist1 e no código abaixo, ele parou de adicionar a tabela no banco, apenas criar os arquivos.
'Criam os blocos de comunicações
if (Parent.Item(“Grupo1”).Item(“ckLeituraCriar”).Value = True) or (Parent.Item(“Grupo1”).Item(“ckLeituraCriar”).Value = True) then
set DadosCadPonto = Application.GetObject(“Dados.DadosCadPonto”)
Drive = Application.GetObject("Dados.DadosCadPonto.spDrive").Value
Set dvr = Application.GetObject("" & Drive)
Set pasta = dvr.AddObject("IOFolder", True, Application.GetObject("Dados.DadosCadPonto.spNome").Value)
if (Parent.Item("Grupo1").Item("ckEscritaCriar").Value = True) then
if Application.GetObject("Dados.DadosCadPonto.spNomeBloco").Value <> "" then
Set TagBloco = pasta.AddObject("IOBlock", True, Application.GetObject("Dados.DadosCadPonto.spNomeBloco").Value)
TagBloco.ParamDevice = Application.GetObject("Dados.DadosCadPonto.spDispositivo").Value
TagBloco.ParamItem = Application.GetObject("Dados.DadosCadPonto.spItem").Value
TagBloco.B1 = Application.GetObject("Dados.DadosCadPonto.spN1").Value
TagBloco.B2 = Application.GetObject("Dados.DadosCadPonto.spN2").Value
TagBloco.B3 = Application.GetObject("Dados.DadosCadPonto.spN3").Value
TagBloco.B4 = Application.GetObject("Dados.DadosCadPonto.spN4").Value
TagBloco.Size = Parent.Item("Grupo2").Item("ListBox1").ListCount
TagBloco.Scan = Application.GetObject("Dados.DadosCadPonto.spVarredura").Value
TagBloco.AllowRead = Application.GetObject("Dados.DadosCadPonto.spLeitura").Value
TagBloco.AllowWrite = Application.GetObject("Dados.DadosCadPonto.spEscrita").Value
for i = 0 To Parent.Item("Grupo2").Item("ListBox1").ListCount - 1
valor = Split(Parent.Item("Grupo2").Item("ListBox1").List(i), "-")
set Tag = TagBloco.AddObject("IOBlockElement", True, valor(0))
Tag.Index = valor(1)
Tag.EnableScaling = valor(2)
Tag.EULow = valor(3)
Tag.EUHigh = valor(4)
Tag.EU = valor(5)
Tag.DeviceLow = valor(6)
Tag.DeviceHigh = valor(7)
Next
end if
end if
if (Parent.Item("Grupo1").Item("ckLeituraCriar").Value = True) then
if Application.GetObject("Dados.DadosCadPonto.spNomeBloco2").Value <> "" then
Set TagBloco2 = pasta.AddObject("IOBlock", True, Application.GetObject("Dados.DadosCadPonto.spNomeBloco2").Value)
TagBloco2.ParamDevice = Application.GetObject("Dados.DadosCadPonto.spDispositivo2").Value
TagBloco2.ParamItem = Application.GetObject("Dados.DadosCadPonto.spItem2").Value
TagBloco2.B1 = Application.GetObject("Dados.DadosCadPonto.spN5").Value
TagBloco2.B2 = Application.GetObject("Dados.DadosCadPonto.spN6").Value
TagBloco2.B3 = Application.GetObject("Dados.DadosCadPonto.spN7").Value
TagBloco2.B4 = Application.GetObject("Dados.DadosCadPonto.spN8").Value
TagBloco2.Size = Parent.Item("Grupo2").Item("ListBox2").ListCount
TagBloco2.Scan = Application.GetObject("Dados.DadosCadPonto.spVarredura2").Value
TagBloco2.AllowRead = Application.GetObject("Dados.DadosCadPonto.spLeitura2").Value
TagBloco2.AllowWrite = Application.GetObject("Dados.DadosCadPonto.spEscrita2").Value
for i = 0 To Parent.Item("Grupo2").Item("ListBox2").ListCount - 1
valor = Split(Parent.Item("Grupo2").Item("ListBox2").List(i), "-")
set Tag2 = TagBloco2.AddObject("IOBlockElement", True, valor(0))
Tag2.Index = valor(1)
Tag2.EnableScaling = valor(2)
Tag2.EULow = valor(3)
Tag2.EUHigh = valor(4)
Tag2.EU = valor(5)
Tag2.DeviceLow = valor(6)
Tag2.DeviceHigh = valor(7)
Next
end if
end if
dvr.Save
end if
'Criam os objetos de dados
if Parent.Item(“Grupo3”).Item(“ListBox1”).ListCount <> 0 then
set Dados = Application.GetObject(“Dados”)
set DtFolder = Dados.AddObject("DataFolder", False, Application.GetObject("Dados.DadosCadPonto.spNome").Value)
With DtFolder
.IsAlarmArea = True
.AlarmVerify = True
.Activate()
End With
for i = 0 To Parent.Item("Grupo3").Item("ListBox1").ListCount - 1
valor = Split(Parent.Item("Grupo3").Item("ListBox1").List(i), "-")
set InternalTag = DtFolder.AddObject("InternalTag", True, valor(0))
InternalTag.Links.CreateLink "Value", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW." & valor(6), 0
if(valor(3) = "Analógico")then
set AlarmSource = DtFolder.AddObject("AnalogAlarmSource", True, "AlarmeAnalogico" & valor(0))
AlarmSource.Source = "Dados." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & "." & valor(4) & ".Value"
AlarmSource.LevelReturnMessageText = valor(7)
AlarmSource.AlarmVerify = valor(2)
if (valor(16) = 1) then
AlarmSource.LoLo = valor(16)
AlarmSource.LoLoLimit = valor(28)
AlarmSource.LoLoMessageText = valor(24)
if (valor(20) = "Alta")then
AlarmSource.LoLoSeverity = 0
elseif (valor(20) = "Média")then
AlarmSource.LoLoSeverity = 1
else
AlarmSource.LoLoSeverity = 2
end if
end if
if (valor(15) = 1) then
AlarmSource.Lo = valor(15)
AlarmSource.LoLimit = valor(27)
AlarmSource.LoMessageText = valor(23)
if (valor(19) = "Alta")then
AlarmSource.LoSeverity = 0
elseif (valor(19) = "Média")then
AlarmSource.LoSeverity = 1
else
AlarmSource.LoSeverity = 2
end if
end if
if (valor(13) = 1) then
AlarmSource.Hi = valor(13)
AlarmSource.HiLimit = valor(25)
AlarmSource.HiMessageText = valor(21)
if (valor(17) = "Alta")then
AlarmSource.HiSeverity = 0
elseif (valor(17) = "Média")then
AlarmSource.HiSeverity = 1
else
AlarmSource.HiSeverity = 2
end if
end if
if (valor(14) = 1) then
AlarmSource.HiHi = valor(14)
AlarmSource.HiHiLimit = valor(26)
AlarmSource.HiHiMessageText = valor(22)
if (valor(18) = "Alta")then
AlarmSource.HiHiSeverity = 0
elseif (valor(18) = "Média")then
AlarmSource.HiHiSeverity = 1
else
AlarmSource.HiHiSeverity = 2
end if
end if
else
set AlarmDigital = DtFolder.AddObject("DigitalAlarmSource", True, "AlarmeDigital" & valor(0))
AlarmDigital.Source = "Dados." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & "." & valor(4) & ".Value"
AlarmDigital.DigitalReturnMessageText = valor(12)
AlarmDigital.AlarmVerify = valor(2)
if (valor(10) = "True") then
AlarmDigital.Digital = True
else
AlarmDigital.Digital = False
end if
AlarmDigital.DigitalMessageText = valor(11)
if (valor(9) = "Alta")then
AlarmDigital.DigitalSeverity = 0
elseif (valor(9) = "Média")then
AlarmDigital.DigitalSeverity = 1
else
AlarmDigital.DigitalSeverity = 2
end if
AlarmDigital.DigitalAckRequired = valor(8)
end if
Next
set Hist = DtFolder.AddObject("Teste", False, "Teste")
Hist.nome = Application.GetObject("Dados.DadosCadPonto.spNome").Value
Hist.Links.CreateLink "nivel", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[NIVEL_%].Value", 0
Hist.Links.CreateLink "VR", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[CORRENTE].Value", 0
Hist.Links.CreateLink "VS", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[CORRENTE].Value", 0
Hist.Links.CreateLink "VT", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[CORRENTE].Value", 0
Hist.Links.CreateLink "Fator", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[CORRENTE].Value", 0
Hist.Links.CreateLink "IM", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[CORRENTE].Value", 0
Hist.Links.CreateLink "Horim1", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[HORIMETRO].Value", 0
Hist.Links.CreateLink "Horim2", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[HORIMETRO].Value", 0
Hist.Links.CreateLink "TOT_MB01", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[N_PARTIDAS].Value", 0
Hist.Links.CreateLink "TOT_MB02", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[N_PARTIDAS].Value", 0
Hist.Links.CreateLink "CO1", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.STATUS_BITS.Bit09", 0
Hist.Links.CreateLink "Estado1", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[ESTADO_INV].Value", 0
Hist.Links.CreateLink "Estado2", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[ESTADO_INV].Value", 0
Hist.Links.CreateLink "Cod_rastro1", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[CODIGO_BOMBA].Value", 0
Hist.Links.CreateLink "Cod_rastro2", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[CODIGO_BOMBA].Value", 0
Hist.Links.CreateLink "FALHA_INV1", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[FALHA_ATUAL].Value", 0
Hist.Links.CreateLink "FALHA_INV2", Application.GetObject("Dados.DadosCadPonto.spDrive").Value & "." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".RW.[FALHA_ATUAL].Value", 0
Hist.Activate
Dados.Save
set Teste = Application.GetObject("Dados." & Application.GetObject("Dados.DadosCadPonto.spNome").Value & ".Teste")
end if
O que pode ser?