Imprimi Página | Fechar janela

Campo CCONDICAO Doc. Enttrada

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=43735
Data da Impressão: quinta-feira, 28 de março de 2024 at 10:22


Topico: Campo CCONDICAO Doc. Enttrada

Postado por: BOARINI46
Assunto: Campo CCONDICAO Doc. Enttrada
Data Postagem: sexta-feira, 6 de agosto de 2021 at 07:21

Alguém sabe me informar como posso bloquear o Campo Cond.Pagto. na aba Duplicatas ( aba do financeiro ) no Documento de Entrada ( na inclusão ), a intensão é bloquear somente este campo ( CCONDICAO ) para usuários que não forem do grupo de compras, já tentei com diversos pontos de entrada, o mais similar que encontrei foi o MT103GET:

user Function MT103GET()
    //local cCond := M->CCONDICAO
    local lRet := .T. // .T. Não permite alterar os dados do Folder Financeiro
                        // .F. Permite alterar os dados do Folder Financeiro
    local i     := 0

    for i:=1 to len(UsrRetGrp())
       //aAdd(aGrp,UsrRetGrp())
       if UsrRetGrp() $ ‘000000|000006‘ // 000006 - Grupo de Compras
            lRet := .F.
        endif
    next i
    /*
    if M->CCONDICAO != cCond
        MsgAlert(‘Não é permitido alterar a Condição de pagamento, falar com o depto. de Compras‘, ‘ATENÇÃO‘)
    endif
    */
Return lRet




Respostas:

Postado Por: LABAMBAMOG
Data Postagem: quinta-feira, 19 de agosto de 2021 at 09:41

O problema está nessa linha
if UsrRetGrp() $ '000000|000006' // 000006 - Grupo de Compras
o correto seria
if UsrRetGrp() $ '000000|000006' // 000006 - Grupo de Compras

O código abaixo funciona, por mais que o F3 no campo seja mostrado, o campo não é alterado, t+

--------------

user Function MT103GET()
    Local lRet := .T.   // .T. Não permite alterar os dados do Folder Financeiro
                        // .F. Permite alterar os dados do Folder Financeiro
    Local i := 1
    Local aGrupos := UsrRetGrp()    //Assim vc chama a rotina uma única vez

    for i := 1 to Len(aGrupos)
       if UsrRetGrp() $ "000000|000006" // Grupo de Admins e Compras
            lRet := .F.
            Exit
        endif
    next i

    //Não é uma boa ideia colocar alertas aqui pq o p.e. é validado desde a inclusão da NF
Return lRet




Postado Por: LABAMBAMOG
Data Postagem: quinta-feira, 19 de agosto de 2021 at 09:42

ops...
o correto seria
if UsrRetGrp() $ ‘000000|000006‘ // 000006 - Grupo de Compras




Postado Por: LABAMBAMOG
Data Postagem: quinta-feira, 19 de agosto de 2021 at 09:49

ah, que bomba esse site...
quando colocamos algo entre colchetes ele os apaga...
cara, talvez o seu código estivesse correto com o "abre colchete i fecha colchete".
Cara, que bomba esse site (p/ não dizer outra coisa", como pode um site de ajuda precisar de ajuda, é o fim.
Cara, corrija aí o que escrevi.

if UsrRetGrp()"abre colchete i fecha colchete"

user Function MT103GET()
    Local lRet := .T.   // .T. Não permite alterar os dados do Folder Financeiro
                        // .F. Permite alterar os dados do Folder Financeiro
    Local i := 1
    Local aGrupos := UsrRetGrp()    //Assim vc chama a rotina uma única vez

    for i := 1 to Len(aGrupos)
       if aGrupos()* $ "000000|000006" // Grupo de Admins e Compras
            lRet := .F.
            Exit
        endif
    next i

    //Não é uma boa ideia colocar alertas aqui pq o p.e. é validado desde a inclusão da NF
Return lRet

*"abre colchete i fecha colchete" (bomba!)





Imprimir Página | Fechar Janela