sábado, 7 de março de 2015

Neri - Fazendo Pagina Orcamento

VIDEO - PARA NERI - SOBRE COMO ESTA FICANDO E O QUE FALTA FAZER
VIDEO DE COMO EU PROGRAMEI E O QUE FALTA AINDA






















































































===========================================================
//Lendo cliente
// Posicionar combo
HReadSeekFirst(cliente,cliente.id_cliente,EDT_codigo_cliente)
IF HFound(cliente) THEN
    COMBO_Cliente=EDT_codigo_cliente
ELSE
    COMBO_Cliente=0
END
ListSelectPlus(COMBO_Cliente)

===========================================================
//GLOBAL
//Gn_codigo_cliente is int
//chamando a pagina consulta cliente
PageDisplay(PAGE_consulta_cliente)
EDT_codigo_cliente=gn_codigo_cliente
//gn_codigo_cliente=0
===========================================================
 //mostra codigo selecionado
EDT_codigo_cliente=gn_codigo_cliente
gn_codigo_cliente=0

===========================================================
 //ler material
// Posicionar combo
HReadSeekFirst(material,material.id_material,EDT_codigo_iten)

IF HFound(material) THEN
    COMBO_Material=EDT_codigo_iten
ELSE
    COMBO_Material=0
END
ListSelectPlus(COMBO_Material)

===========================================================
 //calcula valor venda
EDT_total_venda_iten=EDT_quantidade*EDT_valor_venda

===========================================================
 //adiciona na tabela
IF EDT_codigo_iten<>0 THEN
    // Ler Material
    HReadSeekFirst(material,material.id_material,EDT_codigo_iten)
    // Adiciona na Tabela o Iten
    TableAddLine(TABLE_orcamento_itens,EDT_codigo_iten,material.nome,"",EDT_quantidade,EDT_valor_venda,EDT_total_venda_iten)
  
    // Soma total do Orçamento
    EDT_total_orcamento=0
    FOR ALL ROW OF TABLE_orcamento_itens
        EDT_total_orcamento+=EDT_total_venda_iten
    END
  
END

// limpa e volta a digitar
EDT_codigo_iten=0
EDT_quantidade=0
EDT_valor_venda=0
EDT_total_venda_iten=0

// tenho de ver como ir ao campo

===========================================================
 //exclui da tabela
TableDelete(TABLE_orcamento_itens)
// Soma total do Orçamento
EDT_total_orcamento=0
FOR ALL ROW OF TABLE_orcamento_itens
    EDT_total_orcamento+=EDT_total_venda_iten
END


// limpa e volta a digitar
EDT_codigo_iten=0
EDT_quantidade=0
EDT_valor_venda=0
EDT_total_venda_iten=0

===========================================================
 //alterar a tabela
// limpa e volta a digitar
EDT_codigo_iten=TABLE_orcamento_itens.COL_Codigo_Produto
EDT_quantidade=TABLE_orcamento_itens.COL_Quantidade
EDT_valor_venda=TABLE_orcamento_itens.COL_Preço_Unitario
EDT_total_venda_iten=TABLE_orcamento_itens.COL_Total_Produto

TableDelete(TABLE_orcamento_itens)

// Soma total do Orçamento
EDT_total_orcamento=0
FOR ALL ROW OF TABLE_orcamento_itens
    EDT_total_orcamento+=EDT_total_venda_iten
END

===========================================================
 // gravar orcamento
// este vou ter de revisar

///////////////////////
//GLOBAL
//    gdsQry is data source
//    gsSQL is string
///////////////////////
HReset(orcamento)

gsSQL = [
    SELECT
    max(orcamento.id_orcamento) as ultimo
    FROM
    orcamento
]
nProximo_orcamento is int=1

EDT_codigo_venda=1
IF HExecuteSQLQuery(gdsQry,hQueryDefault,gsSQL) THEN
    HReadFirst(gdsQry)
    nProximo_orcamento=gdsQry.ultimo+1
END
EDT_codigo_iten=nProximo_orcamento
HFreeQuery(gdsQry)    

orcamento.id_orcamento=EDT_codigo_venda
orcamento.data_emissao=EDT_data_venda
orcamento.id_cliente=EDT_codigo_cliente
orcamento.observacao_1=EDT_observacao
orcamento.valor_total=EDT_total_orcamento
IF HAdd(orcamento) = False THEN
    Error("Nao Adicionou Orcamento")
ELSE
  
    gsSQL = [
                SELECT
                    max(orcamento_iten.id_orcamento_iten_Geral) as ultimo
                FROM
                    orcamento_iten
            ]
    nProximo_iten is int=1
    IF HExecuteSQLQuery(gdsQry,hQueryDefault,gsSQL) THEN
        HReadFirst(gdsQry)
        nProximo_iten=gdsQry.ultimo+1
    END
    HFreeQuery(gdsQry)    
    FOR ALL ROW OF TABLE_orcamento_itens
        HReset(orcamento_iten)
        orcamento_iten.id_orcamento_iten_geral=nProximo_iten
        orcamento_iten.id_orcamento=nProximo_orcamento
        orcamento_iten.id_material=TABLE_orcamento_itens.COL_Codigo_Produto
        orcamento_iten.id_empresa_material=TABLE_orcamento_itens.COL_Codigo_Produto
        orcamento_iten.quantidade=TABLE_orcamento_itens.COL_Quantidade
        orcamento_iten.valor_venda=TABLE_orcamento_itens.COL_Preço_Unitario
        orcamento_iten.valor_total=TABLE_orcamento_itens.COL_Total_Produto
        IF HAdd(orcamento_iten) = False THEN
            Error("Nao Adicionou Orcamento Iten Orcamento")
        END      
    END  
    Info("gravou Orcamento Numero => " + orcamento.id_empresa_orcamento)
END


===========================================================

Teste

Teste
teste