Formulário de Processo - Tabela Pai x Filho Relacionamento entre itens

Boa tarde, Tenho um problema aqui e gostaria de ver se alguém pode me ajudar com alguma ideia.

Eu possuo um processo de Requisição de de Compras, onde o solicitante irá informar o que ele precisa que seja comprado. Isso é uma tabela Pai x Filho, esse processo possui algumas etapas antes de chegar no setor de Compras com algumas validações, preenchimentos de códigos de centro de custo, conta contábil e etc.

Com base nesses itens solicitados, o comprador terá uma tarefa que seria a parte de preencher os dados que serão enviados para o pedido de compra como por exemplo, fornecedor, preço, transportadora e etc.

Hoje, p formulário possui uma tabela pai x filho com todos os campos de todos os setores em cada linha. E isso acaba fazendo com que o comprador precise preencher diversas vezes as mesmas informações em diversas linhas (caso mais de um item seja comprado com o mesmo fornecedor e etc).

O que que eu pensei em fazer:

Criar uma outra tabela Pai x Filho para preenchimento do compras, onde o mesmo referenciaria qual linha da tabela pai x filho ele está utilizando como referencia para buscar as demais informações.

Como por exemplo:

Neste exemplo eu gostaria que quando o comprador adicionar uma linha na tabela de compras, ele teria uma "tabela pai x filho dentro da outra" Onde ele adicionaria uma nova linha que seria o pedido de compras, e esta linha ele preencheria os seus itens e os itens seriam referenciados pelo id da linha da requisição para que eu possa chegar os demais dados para efetivamente emitir o pedido de compras no ERP.

Alguma ideia de como fazer isso? Ou alguma ideia de como fazer algo semelhante de maneira mais simplificada?

Hoje utilizamos o ERP Protheus 12, e ao final do processo emitiremos o pedido de compras diretamente no protheus via WS. Isso já funciona hoje, porém durante os testes notou-se que ficou muito demorado e trabalhoso sendo que o usuário precisa repetir inúmeras vezes a mesma informação.

Adicionei um print com um exemplo de como eu imagino que funcionaria, já que no texto corrido aqui bagunçou a formatação

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Olá Willian.

Bom, sabemos que um pai-filho dentro do outro não é uma coisa possível, então pensei em algo aqui que pode te ajudar. Baseado no seu print, montei um também para pode esclarecer. Repare que no print tem um botão chamado Duplicar (que você pode escolher um nome melhor depois). A ideia desse botão seria não apenas inserir uma nova linha no pai-filho, mas inserir uma linha com os mesmos valores da linha de cima. Assim, já viriam preenchido o Fornecedor, Transportadora e Condição de pagamento, tendo que preencher os demais. E na coluna LinhaReferencia você pode até montar um combobox listando todas as linhas da tabela filho-filho Requisição.

Segue o código para listar os representantes em um combo:


gerarListaProcuradores(){
    $('input[name^="nomeRepresentante___"],input[name^="cpfRepresentante___"]').blur(function(){
        var trs = $('#tbRepresentantes').find('tbody').find('tr:visible');

        var representanteArquivos = $('select[name^=representanteArquivo]');

        $(representanteArquivos).each(function(){
            var idCampo = $(this).attr('id');

            var valorAtual = $('#'+idCampo).val();

            $('#'+idCampo).find('option').remove();
            $('#'+idCampo).append(new Option('', ''));

            $(trs).each(function(){
                var representante = $(this).find('input[name^="nomeRepresentante___"]').val() + " - " + $(this).find('input[name^="cpfRepresentante___"]').val();

                var option = new Option(representante, representante)
                if(representante == valorAtual){
                    option.selected=true;
                }

                $('#'+idCampo).append(option);
            });
        })
    });
}

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

@Claudio Neto
Bom dia! Obrigado pela ajuda, eu já tinha pensado em algo semelhante mas ainda assim, teriam informações duplicadas. E fica complexo pra recuperar os dados no banco de dados do Fluig, uma vez que ele armazena tudo de maneira genérica… =/

Sim, teria informações duplicadas mas pelo menos ele não teria que ficar digitando duplicadamente (se é que essa palavra existe).

Você não precisa pegar conteúdo do banco, pode ler o próprio HTML que está na tela. Eu tenho algo semelhante, onde tenho uma tabela de representas, e na tabela de baixo um combo com os representas da tabela acima. Vou colocar o código em uma resposta.