Trecho do ponto de entrada que faz a chamada para o Ponto de Entrada que o cliente renomeia para XMT103RCC
O fonte MT103RCC.prx (pasta 0-Pontos Entrada Protheus) apenas chama a função U_ML103RCC() (pasta Pontos Entrada do projeto Central XML), que contém a regra:
User Function MT103RCC()
Return U_ML103RCC()
User Function ML103RCC()
Local nX
Local aInHeadSDE := ParamIxb[1]
Local aInColsSDE := ParamIxb[2]
Local lUsaCXml := GetNewPar("XM_USACXML",.T.)
Local lMT103RCC := ExistBlock( "XMT103RCC",,.T. )
Local nPosRat := GetPosSD1("D1_RATEIO")
Local nPosItNF := GetPosSD1("D1_ITEM")
// Verifica se a Central XML está ativa
If lUsaCXml .And. Type("aItensSDE") == "A" .And. !Empty(aItensSDE)
For nX := 1 To Len(aCols)
If !Empty(aItensSDE) .And. aCols[nX][nPosRat] == "1"
RatPed2NF(aInHeadSDE,@aInColsSDE,aCols[nX][nPosItNF],0,aItensSDE)
EndIf
Next nX
Endif
// Verifica se o cliente tem o Ponto de entrada ajustado compilado
If lMT103RCC
aInColsSDE := ExecBlock( "XMT103RCC", .F., .F.,{aInHeadSDE,aInColsSDE})
EndIf
Return aInColsSDE
| Finalidade: | O ExecAuto padrão do MATA103 não permite informar o Rateio por Centro de Custo (SDE) quando o item também está vinculado a pedido de compra. O ponto de entrada injeta no aColsSDE o rateio informado na tela de lançamento da Central XML. |
|---|---|
| Origem do rateio: | Na rotina XmlDcondor, quando o item possui um código de Rateio Externo informado, o campo D1_RATEIO é enviado como "1" e a função sfGetSDE monta o array Private aItensSDE a partir do cadastro de Rateio Externo (tabela CTJ): DE_PERC = CTJ_PERCEN, DE_CC = CTJ_CCD, DE_CONTA = CTJ_DEBITO, DE_ITEMCTA = CTJ_ITEMD, DE_CLVL = CTJ_CLVLDB. |
| Regra: | Com XM_USACXML ativo e aItensSDE preenchido, para cada item do aCols com D1_RATEIO = "1" é chamada a função padrão RatPed2NF, que grava as linhas de rateio do item no aColsSDE. |
| Parâmetro: | XM_USACXML - Indica se a Central XML está em uso (padrão .T.). |
| Compatibilização: | Caso o cliente já possua o ponto de entrada MT103RCC customizado, renomear a User Function do cliente para XMT103RCC. Ela recebe os mesmos parâmetros {aHeadSDE, aColsSDE} (já com o rateio da Central XML) e deve retornar o aColsSDE. |
Documentação oficial no TDN
| Linha de Produto: | Microsiga Protheus |
|---|---|
| Segmento: | Serviços |
| Módulo: | Compras (SIGACOM) |
| Rotina: | Documento de Entrada - MATA103 |
| Ponto de Entrada: | MT103RCC |
| País(es): | Brasil |
| Banco(s) de Dados: | Todos |
| Tabelas utilizadas: | SD1 - SDE - SC7 |
| Sistema(s) operacional(is): | Todos |
| Descrição: | O Ponto de Entrada MT103RCC permite manipular o array de Rateio por Centro de Custo por item (aColsSDE) do Documento de Entrada. |
|---|---|
| Localização: | 1) Ao carregar os itens do pedido de compra para o documento de entrada (função NFePC2Acol - MATA103X.PRX). |
Chamada no fonte padrão:
If lMT103RCC
aColsSDE := ExecBlock( "MT103RCC", .F., .F.,{aHeadSDE,aColsSDE})
EndIf
Exemplo:
#Include 'Protheus.ch'
User Function MT103RCC()
Local aHeadSDE := PARAMIXB[1]
Local aColsSDE := PARAMIXB[2]
//Customizações do cliente
Return aColsSDE