Forum
See question

Apagar Linhas Programaticamente   

67 views
0
0

Boa tarde, basicamente quero fazer o que pede no título, tenho uma encomenda no B2B e quero percorrer todas as linhas do carrinho, e segundo umas condições específicas, apagar as linhas dos produtos que não garantem essa condição. Para adicionar já o consegui fazer, agora para remover é que não consigo.

Faça login para poder traduzir
CS Web 
PHC
Marked as spam
Criado há 4 dias e 7 horas rodrigosantos
r
rodrigosantos Rodrigo Santos Iniciante
2 answers
0
Private answer

Boa tarde,

Poderão utilizar como referência o seguinte exemplo de uma regra que elimina a primeira linha da encomenda e, a partir daí, adaptá-lo à vossa necessidade para remover apenas as linhas que cumpram as condições pretendidas.

Dim mform as webcontrollib.mainform=mpage
Dim bocursor As DataTable = mform.PropMainFormDataSet.Tables("bo")
Dim bicursor As DataTable = mform.PropMainFormDataSet.Tables("bi")
Dim bi2cursor As DataTable = mform.PropMainFormDataSet.Tables("bi2")
Dim bo2cursor As DataTable = mform.PropMainFormDataSet.Tables("bo2")
Dim tscursor As DataTable = Nothing
Dim tslinha As DataRow
If bizlib.Utility.boutil.get_tsvalores(bocursor.Rows(0).Item("ndos"), tscursor) Then
tslinha = tscursor.Rows(0)
Else
xcutil.formmensagem("Não consegui aceder à configuração do dossier.")
End If
bicursor.rows(0).Delete()
bi2cursor.rows(0).Delete()
bizlib.boclass.boaddreg.acttotais(tslinha.Item("ndos"), mform.PropStamp, True, bicursor, bocursor.Rows(0), tslinha, False, bo2cursor.Rows(0), False)
return true

 

Caso este exemplo não seja suficiente para o vosso cenário, pedimos que abram um pedido com mais detalhe, indicando concretamente que peça da framework estão a utilizar, em que evento/momento do ciclo de execução pretendem remover as linhas e qual o comportamento esperado. Com essa informação será possível analisar a situação com maior detalhe e indicar a abordagem mais adequada.

Cumprimentos

Faça login para poder traduzir
Marked as spam
Criado há 4 dias e 5 horas martimesteves
m
martimesteves Martim ESTEVES Responsiveness Member
    2
    Private answer

     

    Boa tarde,

    Para remover programaticamente linhas de uma encomenda no Cegid PHC CS Web, poderá utilizar como referência o seguinte exemplo, que elimina a primeira linha da encomenda. A partir deste exemplo poderá adaptar a lógica para percorrer as linhas e remover apenas aquelas que cumpram as condições pretendidas.

    Dim mform as webcontrollib.mainform=mpage
    Dim bocursor As DataTable = mform.PropMainFormDataSet.Tables("bo")
    Dim bicursor As DataTable = mform.PropMainFormDataSet.Tables("bi")
    Dim bi2cursor As DataTable = mform.PropMainFormDataSet.Tables("bi2")
    Dim bo2cursor As DataTable = mform.PropMainFormDataSet.Tables("bo2")
    Dim tscursor As DataTable = Nothing
    Dim tslinha As DataRow
    If bizlib.Utility.boutil.get_tsvalores(bocursor.Rows(0).Item("ndos"), tscursor) Then
    tslinha = tscursor.Rows(0)
    Else
    xcutil.formmensagem("Não consegui aceder à configuração do dossier.")
    End If
    bicursor.rows(0).Delete()
    bi2cursor.rows(0).Delete()
    bizlib.boclass.boaddreg.acttotais(tslinha.Item("ndos"), mform.PropStamp, True, bicursor, bocursor.Rows(0), tslinha, False, bo2cursor.Rows(0), False)
    return true

    Caso este exemplo não seja suficiente para o vosso cenário, sugerimos a abertura de um pedido com mais detalhe, indicando qual a peça da framework que estão a utilizar, em que evento ou momento pretendem remover as linhas e qual o comportamento esperado.

    Com essa informação será possível analisar a situação com maior detalhe e indicar a abordagem mais adequada.

    Cumprimentos,

    Esta resposta foi gerada pelo Cegid Pulse, com base na base na informação disponível em histórico.
    Ajude-nos a melhorar esta funcionalidade:
    • Se a resposta corresponde à sua questão, assinale-a com "Mark as best answer",
    • Se a resposta estiver incorreta, dê-lhe um voto negativo e aguarde a resposta da comunidade.

     

    Faça login para poder traduzir
    Marked as spam
    Criado há 4 dias e 7 horas cegidpulse
    cegidpulse Cegid Pulse Most Valuable Professional
      Comments
      Esta resposta está errada, não existe o DataSource em MainformKoGrid
      4 dias e 7 horas
      rodrigosantos
        Boa tarde! Foi ajustada a resposta do Cegid Pulse.
        4 dias e 4 horas
        martimesteves