Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Ponto de Entrada

String que contém a consulta

.


Descrição:

Ponto de Entrada para manipulação de consulta realizada ao transmitir notas fiscaisVXCPVQ0, substitui a tela de seleção de pedidos de Fabrica. Caso esteja compilado, este Ponto de Entrada, somente será ativado caso o pedido selecionado possuir mais de uma máquina vinculada.

Localização:

Atualizações \ Mov . Saída \Trans/recep de NFs  (VEIVM200Atendimento \Atend. Modelo2 (VEIXA018)

Eventos:

Case cTp == "SF2" // NFs de Venda - Exclusivo por Filial

//

For nCont := 1 to Len(aSM0)

//

cFilAnt := aSM0[nCont]

//

cFilSF2 := xFilial("SF2")

If ( cQuebraFil == cFilSF2 ) .or. ( !Empty(c1FilNFI) .and. c1FilNFI <> cFilSF2 )

Loop

EndIf

cQuebraFil := cFilSF2

cFilVQ4 := xFilial("VQ4")

//

cQuery := "SELECT DISTINCT SF2.F2_FILIAL , SF2.F2_EMISSAO , SF2.F2_DOC , " + FGX_MILSNF("SF2", 3,"F2_SERIE") + " , SF2.F2_SERIE , SF2.F2_VALBRUT , SF2.F2_CLIENTE , SF2.F2_LOJA , SA1.A1_NOME "

cQuery += "FROM " + cNamSF2 + " SF2 "

cQuery += "JOIN " + cNamVV0 + " VV0 ON ( VV0.VV0_FILIAL='" + xFilial("VV0") + "' AND VV0.VV0_NUMNFI=SF2.F2_DOC AND VV0.VV0_SERNFI=SF2.F2_SERIE AND VV0.VV0_OPEMOV='0' AND VV0.VV0_TIPFAT='0' AND VV0.D_E_L_E_T_=' ' ) "

cQuery += "JOIN " + cNamSA1 + " SA1 ON ( SA1.A1_FILIAL='" + xFilial("SA1") + "' AND SA1.A1_COD=SF2.F2_CLIENTE AND SA1.A1_LOJA=SF2.F2_LOJA AND SA1.D_E_L_E_T_=' ' ) "

cQuery += "JOIN " + cNamSD2 + " SD2 ON ( SD2.D2_FILIAL=SF2.F2_FILIAL AND SD2.D2_DOC=SF2.F2_DOC AND SD2.D2_SERIE=SF2.F2_SERIE AND SD2.D_E_L_E_T_=' ' ) "

cQuery += "JOIN " + cNamSB1 + " SB1 ON ( SB1.B1_FILIAL='" + xFilial("SB1") + "' AND SB1.B1_COD=SD2.D2_COD AND SB1.D_E_L_E_T_=' ' ) "

cQuery += "JOIN " + cNamVV1 + " VV1 ON ( VV1.VV1_FILIAL='" + xFilial("VV1") + "' AND VV1.VV1_CHAINT=SB1.B1_CODITE AND VV1.D_E_L_E_T_=' ' ) "

cQuery += "LEFT JOIN " + cNamVQ0 + " VQ0 ON ( VQ0.VQ0_FILIAL='" + xFilial("VQ0") + "' AND VQ0.VQ0_CHAINT=VV1.VV1_CHAINT AND VQ0.D_E_L_E_T_=' ' ) "

cQuery += "WHERE SF2.F2_FILIAL='" + cFilSF2 + "' AND "

If !Empty(c1NumNFI)

cQuery += "SF2.F2_DOC='" + c1NumNFI + "' AND "

EndIf

If !Empty(c1SerNFI)

cQuery += "SF2.F2_SERIE LIKE '" + c1SerNFI + "%' AND "

EndIf

If !Empty(c1CodCli)

cQuery += "SF2.F2_CLIENTE='" + c1CodCli + "' AND "

EndIf

If !Empty(c1LojCli)

cQuery += "SF2.F2_LOJA='" + c1LojCli + "' AND "

EndIf

cQuery += "SF2.F2_PREFORI='" + GetMv("MV_PREFVEI") + "' AND "

cQuery += "SF2.F2_EMISSAO>='" + dtos(d1DatIni) + "' AND SF2.F2_EMISSAO<='" + dtos(d1DatFin) + "' AND "

If !Empty(c1NumPed)

cQuery += "VQ0.VQ0_NUMPED='" + c1NumPed + "' AND "

EndIf

cQuery += "SF2.D_E_L_E_T_=' ' "

cQuery += "ORDER BY SF2.F2_FILIAL , SF2.F2_EMISSAO , SF2.F2_DOC , SF2.F2_SERIE "

If ExistBlock("VM200QRY")

cQuery := ExecBlock("VM200QRY

Static Function VXC001PDM()
LOCAL aArea := GetArea()



Local cTitulo    := OemToAnsi(STR0106 + cNumPed) //Seleciona o Veiculo/Máquina no Pedido:
Local nOpca     := 0
Local nL        := 35

Private aVetVQ0     := {}    // Status
Private oTik      := LoadBitmap(GetResources(), "LBTIK")
Private oNo       := LoadBitmap(GetResources(), "LBNO" )
Private lAbortPrint := .F.
Private oDlgVQ0
Default lFecha := .F.

dbSelectArea("VQ0")
dbSetOrder(2)
dbSeek(xFilial("VQ0")+cNumPed)
IF Eof()
    Return .F.
Endif

While !Eof() .and. VQ0->(VQ0_FILIAL+VQ0_NUMPED) == xFilial("VQ0")+cNumPed
    IF !Empty(cNumPed)
        aAdd(aVetVQ0,{.F.,VQ0->VQ0_CHASSI,VQ0->VQ0_CHAINT, VQ0->VQ0_MODVEI})
    Endif
    dbSkip()
Enddo
IF Len(aVetVQ0) == 0
    Return .F.
Endif

IF Len(aVetVQ0) == 1
    cChassi := aVetVQ0[1,2]
    cChaint := aVetVQ0[1,3]
    Return .T.
Else    

    oDlgVQ0 := MSDialog():New(180,180,600,750,cTitulo,,,,,CLR_BLACK,CLR_WHITE,,,.T.)

    If ExistBlock("VXCPVQ0")
        ExecBlock("VXCPVQ0",.f.,.f.,{
"SF2", cQuery, c1NumNFI, c1SerNFI, c1CodCli, c1LojCli, c1NumPed})

Endif

dbUseArea( .T., "TOPCONN", TcGenQry( ,, cQuery ), cQAlSQL , .F., .T. )

Programa Fonte:

VEIVM200.PRW

aVetVQ0})
    Else

        @ 07, 07 SAY STR0011 OF oDlgVQ0 PIXEL COLOR CLR_BLUE // Marca
        @ 17, 05 LISTBOX oLbox1 FIELDS HEADER "", STR0033, STR0107, STR0014 SIZE 260, 150  oDlgVQ0 PIXEL ON DBLCLICK (MarcaSel(@aVetVQ0,oLbox1:nAt),oLbox1:Refresh())// CHASSI: CHAINT: MODELO:

        oLbox1:SetArray( aVetVQ0 )
        oLbox1:bLine := { || { Iif(aVetVQ0[oLbox1:nAt, 1 ],oTik, oNo) ,;
        aVetVQ0[oLbox1:nAt,02],;
        aVetVQ0[oLbox1:nAt,03],;
        aVetVQ0[oLbox1:nAt,04],;
        } }
        nL += 110
        //                             L    C
        oBtnSalvar   := tButton():New(175, 070 , STR0108        , oDlgVQ0, {||  nOpca := 1 , oDlgVQ0:END() }, 053, 018,,,, .T.)// OK
        oBtnSair     := tButton():New(175, 150 , STR0109    , oDlgVQ0, {||  oDlgVQ0:END()}, 053, 018,,,, .T.) // Cancelar

        ACTIVATE MSDIALOG oDlgVQ0 CENTERED

        oDlgVQ0:refresh

        IF nOpca != 1
            Return .F.
        EndIf
    Endif
Endif
    cChassi := aVetVQ0[1,2]
    cChaint := aVetVQ0[1,3]
    oDlgVQ0:refresh
RestArea(aArea)
return .T.

Programa Fonte:

VEICX001.PRW

Função:

VXC001PDM

Função:

FS_LEVANTA()

Parâmetros:
NomeTipoDescrição
aArrayaVetVQ0Array

Array com as informações da consulta a ser executada.


Dados da variável aArrayaVetVQ0


NomeTipoDescrição
aArray

PARAMIXB[1]

CaractereIdentificação da Consulta a ser executada. "SF2" identifica a consulta de NFs de Venda - Exclusivo por FilialLógicoRetorna .T. ou .F.
aArray

PARAMIXB

[2]

Caractere

cQuery - String que contém a consulta

VQ0->VQ0_CHASSI // Chassi do pedido

aArray

PARAMIXB

[3]

Caractere

c1NumNFI - Número NF

VQ0->VQ0_CHAINT // Chassi interno do pedido

aArray

PARAMIXB

[4]

Caractere

c1SerNFI - Número Série NF

aArray[5]Caractere

c1CodCli - Código do cliente

aArray[6]Caractere

c1LojCli - Loja Cliente

aArray[7]Caractere

c1NumPed - Número do pedido de Veículo

VQ0->VQ0_MODVEI // Modelo do pedido

Retorno:

Não há

Retorno:
NomeTipoDescrição
cQueryCaractere

Exemplo:

Include totvs.ch

#INCLUDE "PROTHEUS.CH"


User Function VM200QRYVXCPVQ0()


Local aParam lMarca := PARAMIXB

Local cConsult

Local cAliasQry

Local cCondSQL := " "

Local cAuxSQL := " "

Local cAuxSQL2 := " "

Local cPesq := "ORDER BY" // Quebra Query antes do Order BY

[1] // .f. // Logico

Local cChassi := PARAMIXB[2] // VQ0->VQ0_CHASSI // Chassi do pedido - Caractere

Local cChaint := PARAMIXB[3] // VQ0->VQ0_CHAINT // Chassi interno do pedido - Caractere

Local cModelo := PARAMIXB[4] // VQ0->VQ0_MODVEI // Modelo do pedido - CaractereLocal nPosCond


MsgAlert("Ponto de Entrada VM200QRY VXCPVQ0 executado com sucesso!","PE Excutado")

cConsult := aParam[2]

cAliasQry := aParam[1]

cCondSQL := " AND F2_EST = 'SP' "

nPosCond := At(cPesq, cConsult)

cAuxSQL := Substr(cConsult, 1, nPosCond - 1) + cCondSQL // Insere a condicional

cAuxSQL2 := Substr(cConsult, nPosCond, Len(cConsult))

cConsult := cAuxSQL + SPACE(2) + cAuxSQL2 // Reúne Query

Atenção")


ReturnReturn cConsult