Pessoal, Boa tarde.
Estou patinando em uma situação e gostaria do apoio de vocês nessa situação.
Pesquisei em vários e vários lugares alguma função que me serva como distribuidor de processos na minha equipe. Para melhor entendimento, seria algo para que pegasse uma lista de demanda e atribui-se a um operador que em loop, deixando uma mesma quantidade de processos pra cada um de maneira justa.
Consegui com a ajuda da internet gerar um código que atenda em parte o que é preciso, mas não estou conseguindo incluir mais condições na função.
Exemplo prático.
Existe uma Tabela chamada "TAB_PROCESSOS_MKT", que é a tabela onde está os processos. Nessa tabela tem um campo chamado "Responsável" que deverá ser o nome do agente que irá trata-lo. Até aqui tudo OK.
Existe a segunda Tabela que é a "TAB_AGENTES_PROD", aqui está a relação dos agentes.
O que é necessário:
- Na TAB_PROCESSOS_MKT incluir na coluna RESPONSÁVEL o AGENTE, com as condições por PROGRAMA e NUMERO OCORRÊNCIA (Processo).
Essa segunda parte que tá pegando pra mim.
A função teria que contar quantos processos o programa tem em branco e distribuir pela lista de agentes que cada programa possui, da maneira mais igual possível, evitando que um agente fiquei com muito mais processos que o outro;
* O processo pode se repetir e deverá ser atribuído a mesma pessoa, por exemplo:
- Porto Seguro, processo: 1 - Responsavel: Jonathan
- Porto Seguro, processo: 1 - Responsavel: Jonathan
- Porto Seguro, processo: 2 - Responsavel: Fellipe
Esse código, já distribui, porém é aleatório não consegui abribuir que deve ser por PROGRAMA x AGENTE na tabela TAB_AGENTES_PROD.
Desculpe pelo enorme teste e agradeço desde já a atenção.
Estou patinando em uma situação e gostaria do apoio de vocês nessa situação.
Pesquisei em vários e vários lugares alguma função que me serva como distribuidor de processos na minha equipe. Para melhor entendimento, seria algo para que pegasse uma lista de demanda e atribui-se a um operador que em loop, deixando uma mesma quantidade de processos pra cada um de maneira justa.
Consegui com a ajuda da internet gerar um código que atenda em parte o que é preciso, mas não estou conseguindo incluir mais condições na função.
Exemplo prático.
Existe uma Tabela chamada "TAB_PROCESSOS_MKT", que é a tabela onde está os processos. Nessa tabela tem um campo chamado "Responsável" que deverá ser o nome do agente que irá trata-lo. Até aqui tudo OK.
Existe a segunda Tabela que é a "TAB_AGENTES_PROD", aqui está a relação dos agentes.
O que é necessário:
- Na TAB_PROCESSOS_MKT incluir na coluna RESPONSÁVEL o AGENTE, com as condições por PROGRAMA e NUMERO OCORRÊNCIA (Processo).
Essa segunda parte que tá pegando pra mim.
A função teria que contar quantos processos o programa tem em branco e distribuir pela lista de agentes que cada programa possui, da maneira mais igual possível, evitando que um agente fiquei com muito mais processos que o outro;
* O processo pode se repetir e deverá ser atribuído a mesma pessoa, por exemplo:
- Porto Seguro, processo: 1 - Responsavel: Jonathan
- Porto Seguro, processo: 1 - Responsavel: Jonathan
- Porto Seguro, processo: 2 - Responsavel: Fellipe
Esse código, já distribui, porém é aleatório não consegui abribuir que deve ser por PROGRAMA x AGENTE na tabela TAB_AGENTES_PROD.
- Código:
Sub DistribuidorProcessos()
Dim rstTAB_PROCESSOS_MKT As Recordset
Dim rstTAB_AGENTES_PROD As Recordset
Dim strSql As String
'Montado o código para buscar os processos cujo
'campo responsável esteja vazio
strSql = "Select * From TAB_PROCESSOS_MKT Where RESPONSÁVEL Is Null"
'Buscando as processos
Set rstTAB_PROCESSOS_MKT = CurrentDb.OpenRecordset(strSql)
'Montando o código para buscar os
'agentes na tabela TAB_AGENETES_PROD
strSql = "Select AGENTE From TAB_AGENTES_PROD"
'Buscando os agentes
Set rstTAB_AGENTES_PROD = CurrentDb.OpenRecordset(strSql)
'Iniciando o Loop nos processos
While Not rstTAB_PROCESSOS_MKT.EOF
'Editando o campo responsável
'para inserir o operador atual
rstTAB_PROCESSOS_MKT.Edit
rstTAB_PROCESSOS_MKT("RESPONSÁVEL") = rstTAB_AGENTES_PROD("AGENTE")
rstTAB_PROCESSOS_MKT.Update
'Próximo processo
rstTAB_PROCESSOS_MKT.MoveNext
'Próximo agente ou volta ao início
rstTAB_AGENTES_PROD.MoveNext
If rstTAB_AGENTES_PROD.EOF Then rstTAB_AGENTES_PROD.MoveFirst
Wend
End Sub
Desculpe pelo enorme teste e agradeço desde já a atenção.
- Anexos
- DISTRIBUIDOR_PROCESSOS_TESTE.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (33 Kb) Baixado 15 vez(es)