Jump to content

dev botao

Bloco X Estoque - Itens que vão


willmesquita
Go to solution Solved by EMBarbosa,
  • Este tópico foi criado há 1502 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Administradores

Boa tarde.

Pelo que me recordo, só ficam fora do arquivo de estoque os itens sem estoque.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • 4 weeks later...

boa tarde, sim, segue o trecho do código:

          with ACBrBlocoX do
          begin
            CabecalhoBlocoX();

            // arquivo de Estoque
            with Estoque do
            begin
              //dataInicial := dataInicial;
              //dataFinal   := dataFinal;
              DataReferencia := dataFinal;

              Qaux := getQaux;
              Qaux.Close;
              Qaux.SQL.Text := '     select produto.procodigo,                               '+
                               '            produto.procodncm,                               '+
                               '            produto.pronome,                                 '+
                               '            produto.protipo,                                 '+
                               '            propreco.pprvalor,                               '+
                               '            classe.clasittrib,                               '+
                               '            coalesce(produto.proaliqicms,0) proaliqicms,     '+
                               '            produto.proiss,                                  '+
                               '            unidade.uninome,                                 '+
                               '            produto.proestoque                               '+
                               '       from produto                                          '+
                               ' inner join unidade                                          '+
                               '         on unidade.unicodigo = produto.unicodigo            '+
                               ' inner join classe                                           '+
                               '         on classe.clacodigo = produto.clacodigo             '+
                               ' inner join propreco                                         '+
                               '         on propreco.procodigo = produto.procodigo           '+
                               '        and propreco.precodigo = (select preco.precodigo     '+
                               '                                    from preco               '+
                               '                                   where preco.prepadrao = 1)'+
                               '      where produto.proestoque > 0                           '+
                               '   order by produto.procodigo                                ';
              Qaux.Open;

              Produtos.Clear;
              iRegistros:=0;
              while (not qAux.Eof) do
              begin
                with Produtos.Add do
                begin
                    Codigo.Tipo             := tpcProprio;
                    Codigo.CodigoProprio    := qAux.FieldByName('procodigo').AsString;
                    Codigo.CodigoNCMSH      := qAux.FieldByName('procodncm').AsString;
                    Descricao               := qAux.FieldByName('pronome').AsString;
                    ValorUnitario           := qAux.FieldByName('pprvalor').AsFloat;
                    Ippt                    := ipptTerceiros;

                    if (qAux.FieldByName('uninome').AsString = 'F') then
                      SituacaoTributaria      := stSubstTributaria
                    else if (qAux.FieldByName('uninome').AsString = 'I') then
                      SituacaoTributaria      := stTributado
                    else if (qAux.FieldByName('uninome').AsString = 'N') then
                      SituacaoTributaria      := stNaoTributado
                    else if (qAux.FieldByName('uninome').AsString = 'N') then
                      if (qAux.FieldByName('protipo').AsInteger = 2) then
                        begin
                            SituacaoTributaria := stISSQN;
                            Aliquota           := qAux.FieldByName('proiss').AsFloat;
                        end
                      else
                        SituacaoTributaria      := stTributado;
                    Unidade                 := qAux.FieldByName('uninome').AsString;
                    Quantidade              := qAux.FieldByName('proestoque').AsFloat;
                    IndicadorArredondamento := False;
                end;
                iRegistros := iRegistros+1;
                qAux.Next;
              end;
              SaveToFile(sNomeArqXML);
            end;
          end;
 

Link to comment
Share on other sites

  • Moderadores

Fiz um teste e gerou com 10k de registros. mas é claro não tenho certificado para assinar o arquivo.

tu consegue fazer a geração e no deploy tu pular a assinatura? basta ao chamar o evento

procedure TACBrBlocoX_Estoque.SaveToFile(

nele tem um outro método

GerarXML(AAssinar);

em debug altere o AAssinar para False veja se gera

  • Like 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link to comment
Share on other sites

  • Moderadores
22 minutos atrás, Djean Carlos Duarte disse:

Boa tarde Juliomar, 

Fiz o teste que solicitastes e apresentou "Out of memory" mesmo com AAssinar = false. Alguma outra luz ou teste que eu possa fazer? Obs.: acontece tanto em homologação como em produção.

Então seu problema é ai, pois pelo seguinte, eu fiz o teste com 10 mil itens no XML, claro que com o exemplo e foi.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link to comment
Share on other sites

  • 3 weeks later...
  • Consultores
Em 17/03/2020 at 13:33, Djean Carlos Duarte disse:

boa tarde, sim, segue o trecho do código:

Quantos itens são? Qual a versão do seu Delphi? Testou com o aplicativo de exemplo?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Consultores
2 minutos atrás, Djean Carlos Duarte disse:

bom dia, 

se trata do Delphi 7. São 2800 itens aproximadamente.

Você usa o FastMM? Se sim, qual versão?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Consultores
  • Solution
3 horas atrás, Djean Carlos Duarte disse:

Sim, foi usado o FastMM, o Juliomar me auxiliou, mas não obtivemos sucesso.

A versão eu não saberia informar.

Nesse caso deve ser a versão mais atual. O que limita então a ter que procurar o que realmente está causando o "Out of memory".

Talvez uma fragmentação da memória. Mas daí já complica...

  • Like 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

19 horas atrás, EMBarbosa disse:

Nesse caso deve ser a versão mais atual. O que limita então a ter que procurar o que realmente está causando o "Out of memory".

Talvez uma fragmentação da memória. Mas daí já complica...

Bom dia, 

Resolvi da seguinte forma por sugestão do Juliomar, criei uma VM com Windows 10 e o Delphi 10.3.2 Rio, recompilei o PAF e consegui gerar o arquivo normalmente.

Obrigado.

Link to comment
Share on other sites

  • Moderadores

Só complementar, é algo do compilador do Delphi 7. ele tem limitações. e daqui uns dias nem o executável vai funcionar mais nas próximas atualizações ou versões do windows

  • Like 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link to comment
Share on other sites

  • Este tópico foi criado há 1502 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.