Árvore de páginas

Produto:

Microsiga Protheus

Versões:

Esta classe está disponível na versão 12 do Microsiga Protheus com release igual ou superior a 12.1.15.

É fundamental a correta configuração do parâmetro MV_TECATF para o funcionamento da classe.

Recomenda-se a execução da função TecDestroy sempre que esta classe for instanciada.

Ocorrência:

A Classe TecProvider tem como finalidade gerenciar a integração entre os módulos de Gestão de Serviços (SIGATEC) e Ativo Fixo (SIGAATF) por meio de um objeto AdvPL que concentra a maioria das informações relativas a Base de Atendimento (Base de Locação de Equipamentos) e o Ativo Fixo, como: Nome, Tipo, Saldos Bloqueados, Saldos Reservados, Saldos em Manutenção, entre outros. Esta classe facilita a manipulação e consulta das informações de maneira unificada sem a necessidade de execução de múltiplas consultas em diferentes tabelas. Seu formato também facilita o trabalho das equipes de campo e de customizações evitando redundâncias na escrita de funções AdvPL de contexto desta integração.

Passo a passo:

Métodos:

  • New()

Método Construtor da Classe AdvPL

Parâmetros:

cNumSer

Tipo:Caractere.
Obrigatório:Sim.
Descrição:Número de série (ID) do equipamento desejado contextualizar o objeto.

 

cFil

Tipo:Caractere.
Obrigatório: Não.
Descrição:Filial origem do equipamento (Base de Atendimento) desejado para contextualizar o objeto.
Default:cFilAnt

 

lLoadAll

Tipo:Lógico.
Obrigatório:Não.
Descrição:Indica se os dados da tabela TWH serão automaticamente carregados na propriedade aAtivos. Por default este parâmetro tem conteúdo falso para permitir instanciamentos performáticos da classe.
Defaut:.F. (Falso)

 

Retorno:

oTecProvider

Tipo:Objeto.
Descrição:Objeto do tipo TecProvider.


  • ShowErro()

Apresenta uma mensagem com a lista de eventuais erros encontrados durante o instanciamento do objeto a partir dos dados informados como parâmetro; exceto se as informações passadas como parâmetro, por meio do método New(), estiverem coerentes.

Parâmetros:

Nil

Tipo:Nulo. Não há parâmetros de entrada definidos para este método.


Retorno:

Nil

Tipo:Nulo.
Descrição:Não há retorno definido para este objeto.


  • InsertTWH()

Permite relacionar um novo ativo imobilizado a base de atendimento instanciada no objeto através do método New. Para isto, cria um novo registro na tabela TWH - Relação Base x Ativo.

Parâmetros:

cFilAtivo

Tipo:Caractere.
Obrigatório:Sim.
Descrição:Filial do ativo imobilizado a ser associado.


cAtivo

Tipo:Caractere.
Obrigatório:Sim.
Descrição:Código do ativo no cadastro de ativo imobilizado. Equivale ao campo N1_CBASE da tabela SN1.


cItem

Tipo:Caractere.
Obrigatório:Não.
Descrição:Item do Ativo no cadastro de ativo imobilizado. Equivale ao campo N1_ITEM da tabela SN1.


Retorno:

lRet

Tipo:Lógico.
Descrição:Retorna .T. para relacionamento criado com sucesso e Falso para erro na criação do relacionamento. Caso o retorno seja igual a Falso, recomenda-se a execução do método ShowErro().


  • InsertTWU()

Permite que sejam inseridos novos bloqueios de saldos na tabela TWU - Saldos Bloqueados. Sempre que necessário, um equipamento do tipo granel pode ter uma parte de seu saldo (quantidade de exemplares) passível de bloqueio em razão de algum motivo qualquer, como por exemplo "Reserva", "Manutenção", etc.

Parâmetros:

cCodTEW

Tipo:Caractere
Obrigatório:Não
Descrição:Código da movimentação na tabela TEW, quando o item a ser bloqueado possui relação com uma separação de equipamentos (Movimentação). Equivalente ao campo TEW_CODMV


cBase

Tipo:Caractere
Obrigatório:Sim
Descrição:Código da base de atendimento no Gestão de Serviços (AA3_NUMSER) a receber um saldo de bloqueio. 


nQtdBlq

Tipo:Numérico
Obrigatório:Sim
Descrição:Quantidade de itens a serem bloqueados


cTipo

Tipo:Caractere
Obrigatório:Sim
Descrição:

Tipo de bloqueio a ser realizado. Sendo:
1 Igual a Reserva
2 Igual a Manutenção
3 Igual a Outros


cOSTipo

Tipo:Caractere
Obrigatório:Não
Descrição:

Tipo de Ordem de Serviço relacionada ao bloqueio realizado. (Quando tipo de bloqueio seja igual 2). Sendo
1 – OS do SIGATEC
2 – OS do SIGAMNT


cOsNum

Tipo:Caractere
Obrigatório:Não
Descrição:Numero da Ordem de Serviço relacionada ao bloqueio de saldo a ser inserido.


cOsItem

Tipo:Caractere
Obrigatório:Não
Descrição:Número do Item da Ordem de Serviço relacionada a Base de atendimento que está recebendo um bloqueio de saldo.


lDesBloq

Tipo:Lógico
Obrigatório:Sim
Descrição:Indica se a operação é relativa a um bloqueio (.T.) ou desbloqueio (.F.) de Saldo. Quando igual a desbloqueio, a quantidade será automaticamente definida como zero = 0.

 

Retorno:

Nil


  • UpdateTWU

Método responsável por atualizar uma quantidade liberada referente ao bloqueio de um registro já existente na tabela TWU - Bloqueio de Saldos. Neste caso o valor total liberado sera corresponde a quantidade ja liberada em momentos anteriores somada ao novo valor informado. O posicionamento na tabela TWU para atualização do saldo liberado pode ser realizado através de duas formas: Por meio do código de movimentação (Tabela TEW) ou através do código da OS relacionada.

Observação: Embora os parâmetros cIDReg e cChaveOs sejam opcionais, ao menos um deles deve ser corretamente preenchido.

 

Parâmetros:

cIdReg

Tipo:Caractere
Obrigatório:Não
Descrição:Código de movimentação da tabela TEW relacionado ao saldo bloqueado em questão.


nQtd

Tipo:Numérico
Obrigatório:Sim
Descrição:Quantidade de itens a serem incrementados no saldo liberado.

 

cChaveOS

Tipo:Caractere
Obrigatório:Não
Descrição:Ordem de Serviço relacionada ao saldo bloqueado em questão.


Retorno:

lRet

Tipo:Lógico
Descrição:Indica se a liberação do saldo ocorreu com sucesso (.T.) ou se não foi possível realizar a liberação em questão (.F.)


  • DeleteTWU

Método responsável por apagar um registro ja existente na tabela TWU - Bloqueio de Saldos. O posicionamento na tabela TWU para exclusão pode ser realizado através de duas formas: Por meio do código de movimentação (Tabela TEW) ou através do código da OS relacionada.
A utilização deste método deve ser feita com parcimônia, uma vez que a correta utilização da tabela TWU corresponde a inclusão de um saldo bloqueado e em seguida a liberação deste saldo, não exigindo a exclusão do registro em si.

Observação: Embora os parâmetros cIDReg e cChaveOs sejam opcionais, ao menos um deles deve ser corretamente preenchido.


Parâmetros:

cIdReg

Tipo:Caractere
Obrigatório:Não
Descrição:Código de movimentação da tabela TEW relacionado ao saldo bloqueado em questão.


cChaveOS

Tipo:Caractere
Obrigatório:Não
Descrição:Ordem de Serviço relacionada ao saldo bloqueado em questão.


Retorno:

lRet

Tipo:Lógico
Descrição:Indica se a exclusão do saldo ocorreu com sucesso (.T.) ou se não foi possível realizar a exclusão em questão (.F.)


  • BloqueiaBase()

Permite bloquear a utilização da base de atendimento definida no método construtor desta classe, de forma que a mesma não esteja mais apta para movimentações e utilização nas funcionalidades de Locação de Equipamentos do modulo Gestão de Serviços.

Parâmetros:

Nil

Retorno:

Nil


  • DesbloqueiaBase()

Permite desbloquear a utilização da base de atendimento definida no método construtor desta classe, de forma que a mesma esteja apta para movimentações e utilização nas funcionalidades de Locação de Equipamentos do modulo Gestão de Serviços.

Parâmetros:

Nil

Retorno:

Nil


  • SaldoDisponivel

Permite obter o saldo disponível do equipamento para locação partir de um período previamente informado.

Parâmetros:

Nil


Retorno:

nQtd

Tipo:Numérico
Descrição:Quantidade de itens disponíveis para utilização na Locação de Equipamentos


  • SaldoTotal

Realiza o calculo da quantidade total dos Ativos Imobilizados associados a Base de Atendimento considerando as informações registradas na tabela TWH e o período inicial e final indicado como parâmetro.

 

Parâmetros:

Nil


Retorno:

nQtd

Tipo:Numérico
Descrição:Quantidade de itens adquiridos, cadastrados como ativo imobilizado e relacionados a Base de Atendimento para utilização na Locação de Equipamentos dentro do período especificado.


  • SaldoAdquirido

Realiza o calculo da quantidade total de itens do Ativo Imobilizado associados a uma determinada base de atendimento, independente de um período de tempo. ("Fotografia Atual")

Parâmetros:

Nil


Retorno:

nQtd

Tipo:Numérico
Descrição:Soma das quantidades de itens encontrados no Ativo Imobilizado relacionados a base de atendimento


  • SaldoLocado

Obtém o saldo locado de uma determinada base de atendimento, podendo ainda se obter este valor a partir de uma determinada data.

 

Parâmetros:

Nil


Retorno:

nQtd

Tipo:Numérico
Descrição:Saldo Locado do Equipamento em questão na data pesquisada.


  • SaldoReservado

Obtém o saldo total reservado do equipamento em questão.

Parâmetros:

Nil


Retorno:

nQtd

Tipo:Numérico
Descrição:Saldo Reservado do Equipamento em questão


  • SaldoManutencao

Obtém o saldo total do equipamento que encontra-se bloqueado na tabela TWU por conta do motivo 2 - OS do SIGAMNT

Parâmetros:

Nil


Retorno:

nQtd

Tipo:Numérico
Descrição:Saldo Bloqueado do Equipamento em questão pelo motivo 2 - Ordem de Serviço do SIGAMNT


  • SaldoTravado

Obtém o saldo total do equipamento que encontra-se bloqueado na tabela TWU por conta do motivo 3 - Outros

Parâmetros:

Nil


Retorno:

nQtd

Tipo:Numérico
Descrição:Saldo Bloqueado do Equipamento em questão pelo motivo 3 - Ordem de Serviço do SIGAMNT


  • SaldoBloqueado

Soma de todo o saldo bloqueado do equipamento na tabela TWU, independente do tipo de bloqueio

Parâmetros:

Nil


Retorno:

nQtd

 

Tipo:Numérico
Descrição:Saldo Bloqueado do Equipamento em questão

 

 

Observações:

Principais Atributos (Propriedades):

Listados em ordem não-alfabética.

 

 

NomeTipo

Descrição/Finalidade

Observação

cNumSerCaractereArmazena o número de série do equipamento na base de atendimento. Equivalente ao campo AA3_NUMSER da tabela AA3.Alimentado automaticamente durante a execução do método New.
cFilCaractereArmazena a filial do equipamento (base de atendimento) em pesquisa.Alimentado automaticamente durante a execução do método New.
cProdCaractereArmazena o código do produto (SB1) presente no campo AA3_CODPRO.Alimentado automaticamente durante a execução do método New.
lIdUnicoLógicoDetermina se o equipamento foi definido como ID único na tabela de Complemento de Produtos - SB5, Campo B5_ISIDUNI.Alimentado automaticamente durante a execução do método New.
lAtivoFixoLógicoDetermina se o equipamento possui um ou mais vínculos com um item do Ativo Fixo - Tabela SN1, por meio do relacionamento com a tabela TWH. 
lValidoLógicoDetermina se o código de base de atendimento utilizado no instanciamento da classe é válido e se os dados foram carregados com êxito.Se o parâmetro MV_TECATF estiver configurado com N ou não esteja presente no ambiente, a classe não é iniciada corretamente e o conteúdo desta propriedade é automaticamente definido como .F.
lEquipLocLógicoIndica se o equipamento, quando igual a ID único, encontra-se locado com algum cliente. 
lBaseBloqLógicoIndica se o equipamento está bloqueado. Equivalente ao campo AA3_MSBLQL. 
cDescCaractereDescrição do equipamento de locação. 
cProdGrpCaractereArmazena o código do grupo de produtos em que o equipamento está associado. 
cProdTipoCaractereArmazena o código do tipo de produto em que o equipamento está associado. 
cProdUmCaractereArmazena a unidade de medida do equipamento de locação. 
nPrcVenNuméricoArmazena o valor do equipamento para uso no documento de remessa. 
nPesoNuméricoPeso do equipamento. 
cProdContaCaractereConta contábil associada ao produto relacionado ao equipamento de locação. 
cProdCCCaractereCentro de custo associado ao produto relacionado ao equipamento de locação. 
cProdItemCaractereItem contábil associado ao produto relacionado ao equipamento de locação. 
aAtivosArrayArmazena um ou mais códigos de ativos imobilizados (tabela SN1) associados ao equipamento por meio da tabela TWH (relação base X ativo).

Layout:

aAtivos[x,1] - Filial Origem (Dona do Equipamento)

aAtivos[x,2] - Código do Ativo Imobilizado (N1_CBASE da Tabela SN1)

aAtivos[x,3] - Código do Item do Ativo Imobilizado (N1_ITEM da Tabela SN1)

aAtivos[x,4] - Quantidade de unidades do Ativo Imobilizado (N1_QUANTD da Tabela SN1)

aErrorArrayArmazena, de forma unidimensional uma ou mais mensagens de observação em caso de falhas durante o instanciamento da classe.

aError[1] - Mensagem 001

aError[2] - Mensagem 002

nQtdATFNuméricoArmazena a soma dos itens do ativo imobilizado. 
nRecNoAA3NuméricoNúmero do registro (Recno) relativo ao cadastro da base de atendimento na tabela AA3. 
nRecNoTWHNuméricoNúmero do registro (Recno) relativo ao equipamento na tabela TWH (Relação Base x Ativo).