terça-feira, 6 de abril de 2021

DICAS 3301 - WINDEV WEBDEV MOBILE - Elgin - COMO FOI FEITO PARA COPIAR PEDIDO DE UMA EMPRESA PARA OUTRA - PERGUNTAS_E_RESPOSTAS_45




https://youtu.be/ZZydC-IZmNo





Bom Dia Boa Tarde Boa Noite

Mande um email pedido para receber todas notificaçoes dos videos 


Seja Membro do Canal

Esse Video vai estrear as 06:00 do dia 08/04/2021 


DICAS 3301 - WINDEV WEBDEV MOBILE - Elgin - COMO FOI FEITO PARA COPIAR PEDIDO DE UMA EMPRESA PARA OUTRA - PERGUNTAS_E_RESPOSTAS_45


assuntos 


Vou Mostrar como eu Fiz no ErpMatos para copiar um pedido de uma empresa para outra 
No caso dupliquei o pedido 
Ensinando,como se faz , botao direito do botao 

==================codigo

// Duplicar pedido para a mesma empresa

IF TableSelect(TABLE_pedido)=-1 THEN 
RETURN
END
id_empresa_pedido_duplicar is int=TABLE_pedido.COL_IdEmpresaPedido
id_pedido_duplicar is int=TABLE_pedido.COL_id_pedido
IF id_pedido_duplicar>0 THEN
IF YesNo("Deseja duplicar o pedido"+id_empresa_pedido_duplicar) THEN
duplica_dados(id_pedido_duplicar,TABLE_pedido.COL_IdEmpresa)
END
END

====================== Codigo

// duplicar pedido com outro codigo da empresa


IF TableSelect(TABLE_pedido)=-1 THEN 
RETURN
END
id_empresa_pedido_duplicar is int = TABLE_pedido.COL_IdEmpresaPedido
id_pedido_duplicar is int = TABLE_pedido.COL_id_pedido
IF id_pedido_duplicar>0 THEN

IF YesNo("Deseja duplicar o pedido"+id_empresa_pedido_duplicar) THEN

numero_empresa is int=0
Input("Codigo da empresa que sera levado o pedido",numero_empresa)
IF numero_empresa>0 THEN
duplica_dados(id_pedido_duplicar,numero_empresa)
END
END
END

=================== Codigo

PROCEDURE duplica_dados(recebe_id_pedido,recebe_id_empresa_gerar)

HReadSeekFirst(pedido,id_pedido,recebe_id_pedido)
IF HFound(pedido) THEN
dados is Data Source
sql is string=[
SELECT
max(pedido.id_empresa_pedido) as ultimo
from 
pedido
where 
pedido.id_empresa=#id_empresa#
]
    sql=Replace(sql,"#id_empresa#",recebe_id_empresa_gerar)
    HExecuteSQLQuery(dados,hQueryDefault,sql)
    proximo is int=dados.ultimo+1
    // Modificando Dados do pedido 
    pedido.id_empresa_pedido=proximo
    pedido.id_empresa=recebe_id_empresa_gerar
    pedido.data_emissao=DateSys()
    pedido.faturado=False 
    pedido.data_entregue=""
    HAdd(pedido)
    // pedido ja duplicado
    //itens do pedido 
    numero_novo_id_pedido is int=pedido.id_pedido
    itenspedido is array of 0 int 
    //Vamos ler as id do pedido iten do pedido que sera copiado e colocar no array
    
    FOR EACH pedido_iten where "pedido_iten.id_pedido="+recebe_id_pedido
    itenspedido.AddLine(pedido_iten.id_pedido_iten)
    END
    ArraySort(itenspedido)
    FOR x=1 TO ArrayCount(itenspedido)
        HReadSeekFirst(pedido_iten,id_pedido_iten,itenspedido[x])
        IF HFound(pedido_iten) THEN
        // estou com pedido iten na memoria 
        pedido_iten.Id_pedido=numero_novo_id_pedido
        pedido_iten.quantidade_entrega=0
        pedido_iten.quantidade_saldo=pedido_iten.quantidade
        HAdd(pedido_iten)
        END
    END    
    InfoWithTimeout(1000,"o Numero do novo pedido:"+proximo)
    
END


============== INDICE PERGUNTAS E RESPOSTA



PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 
















Teste

Teste
teste