| Produto: | |
|---|---|
| Linha de Produto: | |
| Segmento: | |
| Módulo: | |
| Função: | TECA700.PRX |
| País: | Brasil |
| Ticket: | 15554775 |
| Requisito/Story/Issue (informe o requisito relacionado) : | DSERSGS-15293 |
Falta de integração do processo TECA700 (Programação do projeto) x TECA450 (Ordens de serviço) para os campos memo.
Os campos de notas do projeto e de cada etapa do projeto por padrão são apenas campos informativos e seu conteúdo não fica disponível na Ordem de serviço.
Existe um ponto de entrada disponível no TECA700 (AT700PRO) que pode ser utilizado para customizações. Abaixo encontra-se um exemplo que fará com que o conteúdo do campo "notas" do grid da etapa do projeto (tabela ABI) seja inserido automaticamente no campo "Obs. Ocorrenc" da ordem de serviço (tabela AB7) gerada após a programação do projeto.
Exemplo de ponto de entrada:
User Function AT700PRO()
Local cTexto := ""
Local cSeekABI := ""
Local aAreaAB7 := AB7->(GetArea())
Local aAreaABI := ABI->(GetArea())
ABI->(DbSelectArea(aAreaABI))
ABI->(DbSetOrder(1))
cSeekABI := xFilial("ABI") + ABH->ABH_PROJET
If ABI->(DbSeek(cSeekABI))
While !ABI->( Eof() ) .And. cSeekABI == ABI->ABI_FILIAL + ABI->ABI_PROJET //Cada ABH pode ter mais de uma ABI
cTexto := MSMM(ABI->ABI_CODMEM,,,,3,,,,) //retorna o campo Memo da ABI
AB7->(DbSelectArea(aAreaAB7))
AB7->(DbSetOrder(1))
AB7->(DbSeek(xFilial("AB7") + ABI->ABI_NUMOS))
RecLock( "AB7", .F. )
MSMM(AB7->AB7_MEMO1,,,cTexto,1,,,"AB7","AB7_MEMO1") //grava o campo memo da ABI na AB7
AB7->( MsUnlock() )
RestArea(aAreaAB7)
ABI->( DbSkip() )
EndDo
EndIf
RestArea(aAreaABI)
Return |