¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como resolver o Código de Erro [66000-13] ao criar uma nova aba no Formulário do Sistema 320

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 7 Vistas
0
Cargando...

Olá a todos,

Estou tentando criar uma nova aba (pasta) no Formulário do Sistema 320 (Oportunidades de Venda) e recebo o Código de Erro [66000-13] Elemento Já Existe.

Eu escrevi o seguinte código:

Sub CriarPasta(ByVal Formid As String)

Dim OItem As SAPbouiCOM.Item

Dim OForm As SAPbouiCOM.Form

Dim OTempItem As SAPbouiCOM.Item

Dim OFolder1 As SAPbouiCOM.Folder

Try

OForm = OApp.Forms.Item(Formid)

OTempItem = OForm.Items.Item("80")

OItem = OForm.Items.Add("It_Folder110", SAPbouiCOM.BoFormItemTypes.it_FOLDER)

With OItem

.Height = OTempItem.Height

.Top = OTempItem.Top

.Left = OTempItem.Left + 55

.Width = OTempItem.Width

End With

OFolder1 = OItem.Specific

OFolder1.Caption = "Conteúdos"

OApp.StatusBar.SetText("Pasta criada com sucesso em Oportunidades de Venda", _

SAPbouiCOM.BoMessageTime.bmt_Medium,_

SAPbouiCOM.BoStatusBarMessageType.smt_Success)

Exit Sub

Catch ex As Exception

MsgBox(ex.Message, MsgBoxStyle.Critical)

End Try

End Sub

End Module

Alguém pode me dizer por que estou recebendo esse erro???

Obrigado antecipadamente

Saudações,

Shashank Aery

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá David,

Criei a pasta no evento de carregamento do formulário, mas tenho outro problema, ou seja, não exibe minha pasta "Conteúdos". No entanto, quando visualizo as informações do sistema e coloco o cursor nessa posição, mostra o nome da minha pasta e na barra de status exibe o ItemUid da minha pasta.

Podes me ajudar com este assunto?

Aqui está o código do programa:

Sub CriarPasta(ByVal Formid As String, ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BuubleEvent As Boolean)

Se pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_LOAD E pVal.Before_Action = Falso Então Dim OItem Como SAPbouiCOM.Item = Nada Dim OForm Como SAPbouiCOM.Form = Nada Dim OTempItem Como SAPbouiCOM.Item = Nada Dim OFolder1 Como SAPbouiCOM.Folder = Nada Tentar OForm = OApp.Forms.Item(Formid) OTempItem = OForm.Items.Item("7") OForm.Items.Item("7").Visible = Falso OItem = OForm.Items.Add("It_Fold", SAPbouiCOM.BoFormItemTypes.it_FOLDER) OItem.Enabled = Verdadeiro Com OItem .Altura = OTempItem.Altura .Top = OTempItem.Top .Esquerda = OTempItem.Esquerda + 65 .Largura = OTempItem.Largura .Visível = Verdadeiro Fim Com OFolder1 = OItem.Específico OFolder1.Título = "Conteúdos" OFolder1.Pane = 0 OApp.StatusBar.SetText("Foi criada com sucesso uma nova pasta em Oportunidades de Vendas", SAPbouiCOM.BoMessageTime.bmt_Medium, SAPbouiCOM.BoStatusBarMessageType.smt_Success) Sair Sub Captura ex Como Exceção MsgBox(ex.Message, MsgBoxStyle.Crítico) Fim Tentar Fim Se Fim Sub Saudações, Shashank Aery
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

primeiro você recebe a mensagem de que foi criada e depois recebe a mensagem de erro

-> isso significa que você está executando "Sub CreateFolder(ByVal Formid As String)" duas vezes.

parece que o erro não está no Sub CreateFolder, você precisa evitar que o procedimento seja iniciado duas vezes!

coloque um tracemark no início do seu Sub CreateFolder e depure - você deverá ver que está sendo executado duas vezes...

Cumprimentos, David

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá lg David,

Primeiramente, obrigado por responder.

Quando executo o código, não exibe a pasta criada, mas mostra a mensagem " Pasta criada com sucesso em Vendas Oportunidades "

e em seguida exibe o erro "O elemento já existe".

O que devo mudar no código? Por favor, escreva o código.

Saudações,

Shashank Aery

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

1. Seu código parece bom, mas você criou a pasta de qualquer maneira? Se sim, você está executando este Procedimento/Sub duas vezes.

Ao iniciar o código a partir do Controlador de Eventos, use pVal.BeforeAction=false/true para iniciá-lo apenas uma vez.

2. Quando estiver executando o código durante o desenvolvimento e parar o código antes de definir top/left, pode acontecer que você já criou o elemento, mas ele não estava posicionado - feche o formulário e abra-o novamente - se o problema persistir, altere o itemUid.

Saudações, David

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?