- A Pedido
Ação no ecrã de Clientes que preenche o campo de Observações com um texto escolhido por si.
Como Fazer?
- Criar uma Regra de Negócio para a Entidade Clientes com o Tipo de Código A pedido. No Código onRunCode colocar:
itemVO.obs = "Exemplo do preenchimento automático"
listMsg.AddRange(save(itemVO))
If not listMsg.HasMsgErrors() then
listMsg.add(New MsgSuccess("Foi gravado"))
end if
- Criar uma extensão de entidade para a entidade Clientes
- Criar a ação para atualizar o campo Observações
- Ao Alterar
Concatenar no campo Observações com o seguinte texto “(Data e hora atual) - O (nome do utilizador) colocou em estado de alteração”
Como Fazer?
- Criar uma Regra de negócio ao alterar com o seguinte código:
itemVO.obs = itemVO.obs + vbCr + sdk.Dates.timezoneDate + " - O " + sdk.User.getCurrentInfo.username + " colocou em estado de alteração"
- Ao Apagar
Só pode apagar Clientes em que o utilizador logado é o vendedor daquele Cliente
Como Fazer?
- Criar uma Regra de negócio ao alterar com o seguinte código:
if itemVO.vendedor <> sdk.User.getCurrentInfo.vendedor
listMsg.add(new MsgError("Apenas podes apagar os teus clientes"))
end if
- Ao Gravar
Obrigar a preencher o Vendedor se o utilizador que está a introduzir o Cliente tem o vendedor preenchido na sua ficha de utilizador.
Como Fazer?
- Criar uma Regra de negócio ao gravar com o seguinte código:
if not isVoid(sdk.User.getCurrentInfo.vendedor) and isVoid(itemVO.vendedor)
listMsg.add(New MsgError("Tem que preencher o vendedor"))
End if
- Ao Introduzir
Preencher automaticamente o vendedor no Cliente com o vendedor do utilizador.
Como Fazer?
- Criar uma Regra de negócio ao introduzir com o seguinte código:
itemVO.vendedor = SDK.User.getCurrentInfo.vendedor
itemVO.vendnm = SDK.User.getCurrentInfo.vendnm
- Ao introduzir com Referência
A partir de uma Compra, abrir um Dossier de Encomenda de Fornecedor preenchendo o nome do Fornecedor
Como Fazer?
- Criar uma Extensão de ecrã e entidade para as Compras
- Criar uma ação para criar a Encomenda a Fornecedor
- Criar uma Regra de negócio ao introduzircom o seguinte código:
itemVO.no = oriitemVO.no
actEntity(itemVO)
- Ao Sincronizar
Nos Artigos, ao preencher a referência, apresentar uma mensagem ao utilizador a indicar com o valor da referência
Como Fazer?
- Criar uma Regra de negócio ao sincronizar com o seguinte código:
' valida se há alguma coisa alterada
Select Case changedItems.First.baseType
' valida se o objeto alterado foi a entidade de pedidos
Case GetType(stVO)
Dim item As stVO = Nothing
Dim itemRefChanged = changedItems.getChangedItemByField(item, "ref")
'se foi alterado então vamos analisar o conteudo
If itemRefChanged IsNot Nothing
listMsg.Add(New MsgInfo("Referência: "+masterVO.ref ))
end if
end Select
- Após Gravar
Enviar um e-mail para o utilizador administrador que foi criado um novo cliente
Como Fazer?
- Criar uma Regra de negócio ao gravar com o seguinte código:
sdk.Email.send(sdk.User.getCurrentInfo.email,"eteixeira@phcsoftware.com","Cliente Novo","Foi criado o cliente "+itemVO.nome,false)
If not IsVoid(itemVO.email) then
Dim baseReportStamp As String = "z202203232140187890069486"
Dim result As PHCResult = SDK.Report.GenerateReport("FT", baseReportStamp, itemVO.ftstamp,1)
If Not result.HasErrors() Then
Dim filename As String = result.result.Cast(Of StringVO).FirstOrDefault.phcString
Dim emailAttachments As New List(Of FileAttachment)
emailAttachments.Add(sdk.FileUtil.getFile(filename))
Dim emailSubject = itemVO.nome
Dim emailbody As String = "Dear customer, please see attached. Don’t hesitate to reach out if you have any questions."
If sdk.email.send("admin@phcfx.pt", "eteixeira@phcsoftware.com", emailSubject, emailbody, True,emailAttachments)
listMsg.Add(New MsgInfo("The e-mail has been sent to customer"))
End If
End If
End If