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