- Fórum
- Protheus/Microsiga/Totvs
- Módulos do Protheus
- Módulo Gestão de Pessoal
- Consulta padrão personalizada da SRA
Perguntas Consulta padrão personalizada da SRA
- rodrigo.simoes
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 48
- Obrigados Recebidos: 0
10 anos 6 meses atrás #22527
por rodrigo.simoes
Consulta padrão personalizada da SRA foi criado por rodrigo.simoes
Pessoal, boa noite !
Preciso da ajuda de vocês para criar uma consulta padrão personalizada para a SRA. Pois preciso disponibilizar o F3 para alguns usuários mas preciso que seja exibido apenas o código e o nome do funcionário e da forma que estou fazendo, vem todos os campos da SRA e não gostaria de ter que alterar todos os níveis de campo dos usuários.
Agradeço a ajuda.
Obrigado.
Rodrigo Simões
Preciso da ajuda de vocês para criar uma consulta padrão personalizada para a SRA. Pois preciso disponibilizar o F3 para alguns usuários mas preciso que seja exibido apenas o código e o nome do funcionário e da forma que estou fazendo, vem todos os campos da SRA e não gostaria de ter que alterar todos os níveis de campo dos usuários.
Agradeço a ajuda.
Obrigado.
Rodrigo Simões
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 6 meses atrás #22528
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Consulta padrão personalizada da SRA
Rodrigo vc pode criar uma janela de consulta customizada aonde não tera a opção de visualizar:
Utilize assim, criando na sxb a chamada da sua rotina, conforme exemplo da tela anexa, estou mandando um fonte tbém basta vc adapta-lo para buscar os campos da SRA que deseja mostrar ok.
User Function VerOper()
Local oDlg3
Local oLbx
Local oBtn6
Local aArea := GetArea()
Local aOper := {}
Local lChkLinha := .f.
Local nTotal := 0.00
DbSelectArea("PWI")
DbSetOrder(1)
DbSeek(xFilial('PWI')+StrZero(SH6->(Recno()),10))
While PWI->(!Eof()) .And. PWI->PWI_FILIAL == xFilial("PWI") .And. PWI->PWI_RECSH6 == StrZero(SH6->(Recno()),10)
AAdd(aOper,{PWI->PWI_CODOPE,;
PWI->PWI_NOMOPE,;
DtoC(PWI->PWI_DTINI),;
PWI->PWI_HRINI,;
DtoC(PWI->PWI_DTFIM),;
PWI->PWI_HRFIM,;
TransForm(PWI->PWI_QTDPRD,"@E 9,999,999")})
lChkLinha := Iif(PWI->PWI_LINPRD=='S',.t.,.f.)
If lChkLinha // Se For Linha de Producao Então Não Soma as Quantidades por Operador
nTotal := PWI->PWI_QTDPRD
Else
nTotal += PWI->PWI_QTDPRD
Endif
PWI->(dbSkip(1))
End
cTotal := 'Qtde Produzida : ' + TransForm(nTotal,"@E 9,999,999")
Define Dialog oDlg3 Title "Producao x Operadores - Ordem: " + SH6->H6_OP Of oMainWnd Pixel From 0,0 To 350,800 Color CLR_BLACK,CLR_WHITE
@ 21,5 ListBox oLbx Fields Header "Código", "Nome",'Dt Inicio', "Hora Inicio", 'Dt Final', 'Hora Final', 'Qtd Produzida' Size 385,150 Of oDlg3 Pixel
oLbx:SetArray(aOper)
oLbx:bLine := {||{ aOper[oLbx:nAt,1],aOper[oLbx:nAt,2],aOper[oLbx:nAt,3],aOper[oLbx:nAt,4],aOper[oLbx:nAt,5],aOper[oLbx:nAt,6],aOper[oLbx:nAt,7]}}
@ 4,200 CHECKBOX oChkLinha VAR lChkLinha PROMPT "Linha de Produção" SIZE 100, 014 WHEN .F. OF oDlg3 COLORS 0, 16777215 PIXEL
@ 4,350 Button oBtn6 Prompt "&Ok" Size 40,12 Of oDlg3 Pixel Action (oDlg3:End())
@ 4,005 SAY oSayTotal PROMPT cTotal PIXEL SIZE 200, 16 COLORS CLR_BLUE,CLR_WHITE PIXEL OF oDlg3
oSayTotal:oFont := TFont():New('Arial',,24,,.T.,,,,.T.,.F.)
Activate Dialog oDlg3 Center
RestArea(aArea)
Return .t.
Utilize assim, criando na sxb a chamada da sua rotina, conforme exemplo da tela anexa, estou mandando um fonte tbém basta vc adapta-lo para buscar os campos da SRA que deseja mostrar ok.
User Function VerOper()
Local oDlg3
Local oLbx
Local oBtn6
Local aArea := GetArea()
Local aOper := {}
Local lChkLinha := .f.
Local nTotal := 0.00
DbSelectArea("PWI")
DbSetOrder(1)
DbSeek(xFilial('PWI')+StrZero(SH6->(Recno()),10))
While PWI->(!Eof()) .And. PWI->PWI_FILIAL == xFilial("PWI") .And. PWI->PWI_RECSH6 == StrZero(SH6->(Recno()),10)
AAdd(aOper,{PWI->PWI_CODOPE,;
PWI->PWI_NOMOPE,;
DtoC(PWI->PWI_DTINI),;
PWI->PWI_HRINI,;
DtoC(PWI->PWI_DTFIM),;
PWI->PWI_HRFIM,;
TransForm(PWI->PWI_QTDPRD,"@E 9,999,999")})
lChkLinha := Iif(PWI->PWI_LINPRD=='S',.t.,.f.)
If lChkLinha // Se For Linha de Producao Então Não Soma as Quantidades por Operador
nTotal := PWI->PWI_QTDPRD
Else
nTotal += PWI->PWI_QTDPRD
Endif
PWI->(dbSkip(1))
End
cTotal := 'Qtde Produzida : ' + TransForm(nTotal,"@E 9,999,999")
Define Dialog oDlg3 Title "Producao x Operadores - Ordem: " + SH6->H6_OP Of oMainWnd Pixel From 0,0 To 350,800 Color CLR_BLACK,CLR_WHITE
@ 21,5 ListBox oLbx Fields Header "Código", "Nome",'Dt Inicio', "Hora Inicio", 'Dt Final', 'Hora Final', 'Qtd Produzida' Size 385,150 Of oDlg3 Pixel
oLbx:SetArray(aOper)
oLbx:bLine := {||{ aOper[oLbx:nAt,1],aOper[oLbx:nAt,2],aOper[oLbx:nAt,3],aOper[oLbx:nAt,4],aOper[oLbx:nAt,5],aOper[oLbx:nAt,6],aOper[oLbx:nAt,7]}}
@ 4,200 CHECKBOX oChkLinha VAR lChkLinha PROMPT "Linha de Produção" SIZE 100, 014 WHEN .F. OF oDlg3 COLORS 0, 16777215 PIXEL
@ 4,350 Button oBtn6 Prompt "&Ok" Size 40,12 Of oDlg3 Pixel Action (oDlg3:End())
@ 4,005 SAY oSayTotal PROMPT cTotal PIXEL SIZE 200, 16 COLORS CLR_BLUE,CLR_WHITE PIXEL OF oDlg3
oSayTotal:oFont := TFont():New('Arial',,24,,.T.,,,,.T.,.F.)
Activate Dialog oDlg3 Center
RestArea(aArea)
Return .t.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- renatopolv
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 1
- Obrigados Recebidos: 0
10 anos 6 meses atrás #22529
por renatopolv
Respondido por renatopolv no tópico Consulta padrão personalizada da SRA
Bom dia Rodrigo,
a opção que utilizei quando me deparei com a mesma situação, foi utilizar o ponto de entrada
CPDBtnVis
dentro dele criando uma regra definindo quem teria acesso ao botão visualizar, em meu caso, como
o ambiente do DP é diferente, tirei o acesso de todos exceto o admin.
#include "protheus.ch"
/*
BEGINDOC
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄoP£µP£µ¿
//³Define se o botão Visualizar será apresentado na Conpad. ³
//³Se .T. apresenta o botão Visualizar, ³
//³ caso contrário o botão não é exibido. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄoÙ
ENDDOC
*/
User Function CPDBtnVis()
Local lRet := .T.
Local cCons := PARAMIXB[1]
Local cAliasCons := PARAMIXB[2]
// Se não for o Administrador e o nome da consulta for SRA, inibe a opção Visualizar.
//Para que não tenham acesso aos dados do funcionário, como o salário
If RetCodUsr() <> "000000" .And. (alltrim(cCons) == "SRA")
lRet := .F.
EndIf
Return lRet
a opção que utilizei quando me deparei com a mesma situação, foi utilizar o ponto de entrada
CPDBtnVis
dentro dele criando uma regra definindo quem teria acesso ao botão visualizar, em meu caso, como
o ambiente do DP é diferente, tirei o acesso de todos exceto o admin.
#include "protheus.ch"
/*
BEGINDOC
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄoP£µP£µ¿
//³Define se o botão Visualizar será apresentado na Conpad. ³
//³Se .T. apresenta o botão Visualizar, ³
//³ caso contrário o botão não é exibido. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄoÙ
ENDDOC
*/
User Function CPDBtnVis()
Local lRet := .T.
Local cCons := PARAMIXB[1]
Local cAliasCons := PARAMIXB[2]
// Se não for o Administrador e o nome da consulta for SRA, inibe a opção Visualizar.
//Para que não tenham acesso aos dados do funcionário, como o salário
If RetCodUsr() <> "000000" .And. (alltrim(cCons) == "SRA")
lRet := .F.
EndIf
Return lRet
Por favor Acessar ou Registrar para participar da conversa.
- rodrigo.simoes
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 48
- Obrigados Recebidos: 0
10 anos 6 meses atrás #22534
por rodrigo.simoes
Respondido por rodrigo.simoes no tópico [RESOLVIDO] Consulta padrão personalizada da SRA
Luiz e Renato, bom dia !
Obrigado pela ajuda.
Acabei optando pelo ponto de entrada.
Agradeço a atenção.
Rodrigo Simões
Obrigado pela ajuda.
Acabei optando pelo ponto de entrada.
Agradeço a atenção.
Rodrigo Simões
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- Módulos do Protheus
- Módulo Gestão de Pessoal
- Consulta padrão personalizada da SRA
Tempo para a criação da página:0.149 segundos