- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Pontos de Entrada
- Ponto de Entrada A415TDOK
Perguntas Ponto de Entrada A415TDOK
- Oneh
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
9 anos 3 meses atrás - 9 anos 3 meses atrás #28706
por Oneh
Ponto de Entrada A415TDOK foi criado por Oneh
Bom dia,
Pessoal estou com problema muito loco aqui, nesse ponto de entrada do orçamento, estou criando um array para percorrer todos os itens do orçamento e add neste array o conteúdo do campo CK_V_BLPRE.
Após percorrer o array ele faz um ASCAN() caso ele encontre "1" ele altera o registro da SCJ->CJ_B_BLPRE == 1, caso contrario com 2, porém fiz todo o debug ele percorre normalmente, porém não faz a alteração no registro do banco e não consegui visualizar qualquer erro no fonte, por favor peço que me ajudem, desde já agradeço.
Pessoal estou com problema muito loco aqui, nesse ponto de entrada do orçamento, estou criando um array para percorrer todos os itens do orçamento e add neste array o conteúdo do campo CK_V_BLPRE.
Após percorrer o array ele faz um ASCAN() caso ele encontre "1" ele altera o registro da SCJ->CJ_B_BLPRE == 1, caso contrario com 2, porém fiz todo o debug ele percorre normalmente, porém não faz a alteração no registro do banco e não consegui visualizar qualquer erro no fonte, por favor peço que me ajudem, desde já agradeço.
User Function A415TDOK()
Local lRet := .T.
Local nReg := 0
Local aArea := GetArea()
Local cBlqVal := {}
DbSelectArea("TMP1")
Count To nReg
TMP1->(DbGoTop())
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Validacao do bloqueio de preco, verifica todos os itens³
//³do orçamento caso exija bloqueio de preco. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
While TMP1->(!Eof())
AADD( cBlqVal, TMP1->CK_V_BLPRE)
TMP1->(DbSkip())
EndDo
DbSelectArea("SCJ")
DbSetOrder(1)
If DbSeek(xFilial("SCJ") + SCJ->CJ_NUM + SCJ->CJ_CLIENTE + SCJ->CJ_LOJA)
If ASCAN(cBlqVal,"1") > 0
RecLock("SCJ", .F.)
SCJ->CJ_V_BLPRE := "1"
MsUnlock()
Else
RecLock("SCJ", .F.)
SCJ->CJ_V_BLPRE := "2"
MsUnlock()
EndIf
Else
MsgAlert("Não foi possivel Gravar o Registro!","Erro")
lRet := .F.
EndIf
DbCloseArea("SCJ") :(
DbCloseArea("TMP1")
RestArea(aArea)
Return (lRet)
Ultima edição: 9 anos 3 meses atrás por Oneh. Razão: Erro na descrição do problema
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
9 anos 3 meses atrás #28708
por kanaamlrr
Respondido por kanaamlrr no tópico Ponto de Entrada A415TDOK
Victor,
Esse PE é disparado na validação do TudoOK, ou seja, antes de gravar os dados no banco, por isso você não está conseguindo gravar os dados.
Tente ao invés de jogar o valor no banco diretamente, jogue para a variável de memória M->CJ_V_BLPRE.
Dessa forma, passando pela validação, quando fizer a gravação, esse dado vai da memória para o BD.
Abraço!
Esse PE é disparado na validação do TudoOK, ou seja, antes de gravar os dados no banco, por isso você não está conseguindo gravar os dados.
Tente ao invés de jogar o valor no banco diretamente, jogue para a variável de memória M->CJ_V_BLPRE.
Dessa forma, passando pela validação, quando fizer a gravação, esse dado vai da memória para o BD.
Abraço!
Por favor Acessar ou Registrar para participar da conversa.
- Oneh
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
9 anos 3 meses atrás #28711
por Oneh
Respondido por Oneh no tópico Ponto de Entrada A415TDOK
Kanaãm Luz Romero Rodrigues, muito obrigado pela dica, ainda estou começando no ADVPL dou umas derrapada, mas com certeza depois dessa irei ter mais atenção nos PE heh, deu certinho sua dica!
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Pontos de Entrada
- Ponto de Entrada A415TDOK
Tempo para a criação da página:0.112 segundos