If lFecSrvc .and. lNFSrvc For nCntFor := 1 to Len(oGetResVO4:aCols) If oGetResVO4:aColsnCntFor, RVO4TIPTEM <> aTipTemnCntTipTem,1 Loop EndIf VOK->(dbSetOrder(1)) VOK->(dbSeek( xFilial("VOK") + oGetResVO4:aColsnCntFor, RVO4TIPSER )) // Servico de Mao de Obra Gratuita ... If VOK->VOK_INCMOB == "0" Loop EndIf // cItemPed := Soma1( cItemPed , 2 ) aIteTempPV := {} SB1->(DBSetOrder(7)) SB1->(DBSeek(xFilial("SB1") + VOK->VOK_GRUITE + VOK->VOK_CODITE )) SB1->(DBSetOrder(1)) aAdd(aIteTempPV,{"C6_NUM" , cNumPed , Nil}) // Numero do Pedido aAdd(aIteTempPV,{"C6_ITEM" , cItemPed , Nil}) // Numero do Item no Pedido aAdd(aIteTempPV,{"C6_PRODUTO", SB1->B1_COD , Nil}) // Codigo do Produto aAdd(aIteTempPV,{"C6_QTDVEN" , 1 , Nil}) // Qtde Vendida aAdd(aIteTempPV,{"C6_QTDLIB" , 0 ,Nil}) aAdd(aIteTempPV,{"C6_TES" , oGetResVO4:aColsnCntFor,RVO4CODTES , Nil}) // Tipo de Saida do Item aAdd(aIteTempPV,{"C6_PRUNIT" , oGetResVO4:aColsnCntFor,RVO4VALBRU , Nil}) // Preco de Lista (Valor do Servico sem Desconto) aAdd(aIteTempPV,{"C6_PRCVEN" , oGetResVO4:aColsnCntFor,RVO4VALBRU , Nil}) // Preco Unitario (Valor do Servico com Desconto ) aAdd(aIteTempPV,{"C6_VALOR" , oGetResVO4:aColsnCntFor,RVO4VALBRU , Nil}) // Valor Total do Item aAdd(aIteTempPV,{"C6_VALDESC", oGetResVO4:aColsnCntFor,RVO4VALDES , Nil}) // Valor do Desconto aAdd(aIteTempPV,{"C6_ENTREG" , dDataBase , Nil}) // Data da Entrega aAdd(aIteTempPV,{"C6_UM" , SB1->B1_UM , Nil}) // Unidade de Medida Primaria aAdd(aIteTempPV,{"C6_LOCAL" , SB1->B1_LOCPAD , Nil}) // Almoxarifado aAdd(aIteTempPV,{"C6_COMIS1" , 0 , Nil}) // Comissao Vendedor aAdd(aIteTempPV,{"C6_CLI" , SA1->A1_COD , Nil}) // Cliente aAdd(aIteTempPV,{"C6_LOJA" , SA1->A1_LOJA , Nil}) // Loja do Cliente aAdd(aIte,aClone(aIteTempPV)) // Adiciona na Matriz de Relacionamento do oGetDetVO3:aCols/oGetResVO4:aCols com o SC6, // utilizado depois para gerar VEC e VSC ... AADD( aRelFatOfi, { "VO4" , nCntFor , cItemPed } ) // Next nCntFor EndIf // // Se nao tiver item nao gera pedido nem nota fiscal ... If Len(aIte) == 0 Loop EndIf If ExistBlock("OX100ANP") ExecBlock("OX100ANP",.f.,.f.) Endif // lMSHelpAuto := .t. lMsErroAuto := .f. MSExecAuto({|x,y,z| MATA410(x,y,z)},aCabPv,aIte,3) if lMsErroAuto DisarmTransaction() RollbackSx8() MsUnlockAll() MostraErro() MaFisEnd() MaFisRestore() Return .f. Endif |