Ir para conteúdo
  • Cadastre-se

bnobre

Membro Pro Verificado
  • Total de ítens

    1.757
  • Registro em

  • Última visita

  • Days Won

    4

Tudo que bnobre postou

  1. Oi ALA... Tudo bom? Nosso papo está rendendo, isso é bom Vamos lá, acho que me expressei mal, eu não vou e nem posso parar a venda, vou explicar melhor. Pelo jeito minha estrutura é exatamente igual a sua, cada PDV tem um BD próprio (para continuar vendendo caso o retaguarda caia), e envio para o retaguarda somente a carga das vendas concluídas (autorizadas ou contingências já enviadas), no meu caso esse envio ocorre cada vez que abre o PDV, é realizado uma venda ou fecha o PDV. Já para o envio das notas em contingência, cada PDV tem um aplicativo próprio que tenta realizar esse envio de 5 em 5 minutos, sem atrapalhar ou parar o PDV. A questão que coloquei foi que agora antes de enviar uma nota em contingência, tratarei antes a nota pendente vinculada a ela (inutilizando ou cancelando sua numeração). O PDV não pode parar nunca de vender, por isso esse tratamento ocorre em paralelo. Sendo que, no exemplo que estamos, para eu enviar a 11 vou tratar a 10 primeiro, se a 10 não autorizou eu inutilizo a mesma e apago da lista de vendas, se autorizou eu cancelo, mas se passou o prazo do cancelamento vou ter que marcar como AUTORIZADA e AMBAS serão enviadas para o retaguarda... Uma dessas 3 coisas vai ter que acontecer e aí então eu mandarei a 11... Com isso mando ambas para o retaguarda, pois a 11 foi enviada e a 10 tratada... Entendeu? Se sim, como você marcará essa nota que não pode cancelar dado o prazo superior?
  2. Perfeito então cara... Você está com o mesmo pensamento que eu... Criei um campo ID_CONTINGÊNCIA onde eu gravo o ID da contingência gerada... Como no seu exemplo a nota 10 fica com o ID da 11. A nota 10 não faz nenhuma ação de venda(saida de estoque, financeiro, etc)... Ela só fica PENDENTE aguardando eu Cancelar ou Inutilizar... Para a nota 11 (em contingência) ser enviada eu pretendo OBRIGAR o programa realizar o tratamento da 10 primeiro (cancelando ou inutilizando) que é vinculada a nota 11... Mas ai nos casos em que o Cancelamento superar o prazo limite eu serei obrigado a marcar a nota 10 como AUTORIZADA para então enviar a 11... Entendeu a logística que quero fazer?
  3. Ok... Mas vamos supor que aconteça, qual o procedimento que seu programa faz nesses casos?
  4. Perfeito... Agora suponha que a nota 10 foi autorizada, seu cliente ficou mais de 24 horas sem internet e ao tentar cancelar a nota 10 teve o erro "PRAZO DE CANCELAMENTO SUPERIOR AO EMITIDO"... Como você procede?
  5. Obrigado pelo retorno ALA... Eu tenho uma grande dúvida ... Atualmente o manual de contingência da NFCe orienta o seguinte (observar imagem em anexo): Atualmente se seguirmos essa orientação, vamos supor que a nota 20 tenha sido emitida, a contingência 21 é gerada em substituição da 20 e o posterior tratamento da nota 20 não possa ser feito em até 24 horas (o que é bem comum atualmente dado falhas de internet)... Basicamente o cliente terá que pagar dois impostos... Como você previne isso atualmente nos seus clientes? É uma grande curiosidade que tenho, pois não sigo essa orientação do manual. Nesse novo padrão de séries específicas para contingência(890 a 989) seguirei essa orientação de inutilizar ou cancelar a nota que ficou pendente, mas mesmo com o cancelamento por substituição de NFCe em contingência e seu prazo do cancelamento de 168 horas, em tese o problema pode continuar caso o cliente fique 7 dias sem internet... Portanto insisto na pergunta, como prevenir isso de forma a evitar que o cliente pague o imposto duplicado? Desde já agradeço a sua participação
  6. Olá a todos, Dado o Ajuste SINIEF n. 13/2018, teremos que utilizar séries exclusivas para as notas em contingência, além de uma numeração sequencial e sem quebras para a mesma. Com isso estou desenvolvendo um tratamento específico para suprir tal necessidade e gostaria de compartilhar com os colegas a rotina que estou usando, para saber se meu pensamento está correto ou até mesmo se alguém pode acrescentar algo mais sobre o assunto em si. Observem o exemplo abaixo. PDV com Série Normal = 1 e Cupom Normal iniciando em 100. Série Contingência = 890 e Cupom Contingência iniciando em 1. 1º - Usuário tenta a emissão de um cupom normal (1 - 100), dado falha de internet gera uma contingência (890 - 1). 2º - Dado a falha na nota 1-100, não se sabe se a mesma foi realmente autorizada ou não, por isso marco essa nota e verifico posteriormente se cancelo por substituição de contingência ou inutilizo tal numeração. 3º - Usuario tenta a emissão de um novo cupom normal (1-101), dado falha de internet gera uma contingência (890 - 2). 4º - Dado a falha na nota 1-101, não se sabe se a mesma foi realmente autorizada ou não, por isso marco essa nota e verifico posteriormente se cancelo por substituição de contingência ou inutilizo tal numeração. 5º - Usuário tenta a emissão de um novo cupom normal (1-102) e consegue. 6º - Usuário tenta a emissão de um novo cupom normal (1-103) e consegue. 7º - E por aí vai... Como podem observar no processo que quero criar cada tentativa de emissão de NFCe normal com falha irá gerar uma NFCe de Contingência de valores e itens iguais, e portanto precisa ser tratada posteriormente, com um cancelamento ou uma inutilização. Meu pensamento está correto? Alguém tem uma visão mais simplória sobre essa rotina? Desde já agradeço a atenção de todos.
  7. Olá a todos... Com essa Nota Técnica 2018.005 - v 1.00 - Publicada em 02/01/2019 poderá vir a ser exigido por alguns estados esse tal CSRT. Meu receio é voltar aquela burocracia e gastos para a homologação do software como na época do PAF-ECF. Alguém tem alguma notícia desse sentido aqui no RJ? Desde já agradeço a atenção de todos
  8. Então, foi isso que eu pensei quando eu vi UN1, pensei que era um padrão DELE, porque não tem lógica UN1. Já, logo em seguida, quando eu vi o CX6 eu pensei que realmente poderia ser "Caixa com 6 unidades" mesmo antes de você me enviar essa planilha, mas o "UN1" acabou com toda a lógica de ficar mais organizado como você citou. De qualquer forma agradeço a dica e ajustarei o meu banco. PS: É o primeiro caso de XML com números nas unidades de medida que surge pra mim... Com você é mais frequente?
  9. Putz... Essa não sabia, vou ajustar meu banco... Obrigado pela dica BigWings... Mas seguinte, se o número ao lado quer dizer a quantidade como no caso das caixas... Então o que quer dizer UN1??? Unidade com 1 Unidade???
  10. Olá a todos, Hoje fui surpreendido com um cliente que tentava importar os produtos que comprou do seu fornecedor através do XML, pois no mesmo a tag <uCom> vinha com valores como os abaixo: UN1 PC40 PC20 CX6 PC12 PC4 PC6 Observem que são as unidades tradicionalmente usadas (UN, PC e CX) seguidas de um número inteiro. Meu sistema não aceitou pois trabalho apenas com uma coluna unidade de 2 caracteres e tive que fazer uma adaptação no código para que puxasse somente as letras. Com isso resolvi o problema, mas surgiu a dúvida: Alguém sabe porque essa empresa ou qualquer outra usaria unidades com números ao lado? Deve haver uma razão interessante, pois a receita aceita (e eu não sabia até então) tais valores no XML. PS: O fornecedor em questão é a DPC DISTRIBUIDOR ATACADISTA S/A.
  11. Perfeito meu amigo, obrigado. Que pena que a NT deixou "no ar", pois "outro documento legal" ficou muito genérico. Na emissão das NFC-es em meu PDV eu pretendo gravar em uma coluna chamada "documento" o CPF, CNPJ ou idEstrangeiro do cliente. Como estou usando apenas uma coluna para gravação do documento, se eu precisar em uma busca diferenciar o CPF do CNPJ basta olhar o tamanho, mas para o idEstrangeiro não tem como diferenciar já que ele pode ter qualquer valor de 5-20.
  12. Eu já tinha lido esses textos, infelizmente não constam quais documentos podem ser usados para o preenchimento da tag idEstrangeiro na emissão de uma NFC-e.
  13. Olá a todos, Alguém sabe em qual NT ou outro texto está especificado quais documentos podem ser usados para o preenchimento da tag idEstrangeiro na emissão de uma NFC-e? Desde já agradeço a atenção de todos
  14. Legal a dica da tag vOutro, mas acho que seria "mais elegante" ratear entre os produtos. Essa dica que você me deu em relação ao residual ser jogado no vProd e depois dividido entre as quantidades afim de achar o valor unitário, me deu uma visão mais simplificada do que eu estava tentando fazer. Antes estava me baseando no vUnCom para fazer o rateio e depois descobrir o vProd... Da sua forma acho que o código para o rateio vai ficar mais fácil, obrigado. Mas observe que como trabalho com duas casas decimais, de uma forma ou de outra sempre existirá um resíduo e o mesmo nem sempre permitirá uma divisão com resultados de até 2 casas, por exemplo (baseado na sua dica): Levando em conta um resíduo de R$ 0,01, jogo no item de maior valor R$ 10,00, fico com um vProd de R$10,01 e um qCom de 3. Com isso terei um vUnCom de "3,3366666666666666666666666666667", arredondando para cima terei um vUnCom de 3,34 e consequentemente um recálculo de vProd para R$ 10,02. Aí está meu dilema... 1 - Devo manter o vProd =10,01 e vUnCom = 3,34? Ignorando assim explicitamente o resultado correto de 3,34 X 3 2- Devo recalcular o vProd para 10,02? 3 - Alguma outra opção que não estou visualizando? Quero fazer algo que fique mais elegante e me traga menos problemas a longo prazo Desde já agradeço sua atenção
  15. Perfeito BigWings... Mas não trata-se de desconto, trata-se de ACRÉSCIMO. Na função de desconto que tenho eu faço exatamente isso que sugeriu e funciona perfeitamente, mas observe que no acréscimo temos um fator complicador, não existe uma tag acréscimo, portanto só resta acrescermos tal valor no total final do(s) produto(s). Portanto vamos supor que o resíduo seja de R$ 0,01... Por não existir uma coluna acréscimo eu acresceria esse R$ 0,01 ao valor total do produto de maior valor total, item 1 por exemplo. Só que esse item 1 tem 5 quantidades... Como dividir R$ 0,01 entre as 5 quantidades para acrescer esse R$ 0,01 ao valor total do item 1?
  16. Perfeito... Obrigado Daniel
  17. Olá a todos, Possuo uma tela com um label de width = 1006. Mesmo assim, às vezes o conteúdo do mesmo excede essa largura me causando problemas. Alguém teria algum código ou dica para ajustar essa fonte quando o texto exceder a largura de 1006? Desde já agradeço a atenção de todos.
  18. Olá a todos, Eu possuo um PDV para emissão de NFCe e preciso criar uma função que permita o cliente informar um valor de acréscimo para ser embutido no valor total da nota. A minha ideia inicial é a seguinte: 1 - O cliente vai informar o valor percentual a ser acrescido ao valor da nota. Ex: 15% 2 - O PDV vai transformar esse valor percentual em real, e depois rateá-lo entre os valores unitários dos itens da nota até chegar aos 15% totais de acréscimo. O problema é que nessas contas, dado arredondamentos realizados, sempre faltam alguns centavos ao realizar tal rateio. Por exemplo: 15% de acréscimo representa R$ 10,00, e ao ser rateado eu consiga distribuir apenas R$ 9,99. Preciso fazer algo com esse R$ 0,01... Correto?!?!? Mas os produtos da lista possuem quantidades superiores a 1, e eu não tenho como acrescer esse R$ 0,01 no total de nenhum produto dado a impossibilidade matemática de distribui-lo entre seus valores unitários. Considerem que eu trabalho apenas com 2 casas decimais. O que fazer com essa sobra? Ignorá-la ou teriam uma alternativa mais elegante? Desde já agradeço a atenção de todos
  19. Descobri algo interessante... Dado o grande tamanho do SELECT, seria bem provável que eu tivesse um SUBSELECT tentando puxar de uma tabela externa, então eu tentei usar ALIASes em todas as tabelas para evitar esse problema... Então apliquei isso no primeiro SELECT, ficando assim: SELECT LI1.id_produtos, P1.codigo, P1.descricao, (SELECT IFNULL(SUM(LI2.quantidade),0) FROM _TBL_LIBERAR_ITENS LI2 LEFT OUTER JOIN _TBL_LIBERAR L2 ON LI2.id_liberar = L2.id_liberar WHERE LI2.id_produtos = LI1.id_produtos AND L2.data < "2018/09/01" AND L2.id_tecnicos IS NOT NULL AND L2.empresa = "1") - (SELECT IFNULL(SUM(BI1.quantidade),0) FROM _TBL_BAIXAR_ITENS BI1 LEFT OUTER JOIN _TBL_BAIXAR B1 ON BI1.id_baixar = B1.id_baixar WHERE B1.data < "2018/09/01" AND BI1.id_produtos = LI1.id_produtos AND B1.id_tecnicos IS NOT NULL AND B1.empresa = "1") - (SELECT IFNULL(SUM(DI1.quantidade),0) FROM _TBL_DEVOLVER_ITENS DI1 LEFT OUTER JOIN _TBL_DEVOLVER D1 ON DI1.id_devolver = D1.id_devolver WHERE D1.data < "2018/09/01" AND DI1.id_produtos = LI1.id_produtos AND D1.id_tecnicos IS NOT NULL AND D1.empresa = "1") AS saldoanterior, SUM(LI1.quantidade) AS qtdeliberada, (SELECT IFNULL(SUM(BI2.quantidade),0) FROM _TBL_BAIXAR_ITENS BI2 LEFT OUTER JOIN _TBL_BAIXAR B2 ON BI2.id_baixar = B2.id_baixar WHERE B2.data BETWEEN "2018/09/01" AND "2018/09/30" AND BI2.id_produtos = LI1.id_produtos AND B2.id_tecnicos IS NOT NULL AND B2.empresa = "1") AS qtdebaixada, (SELECT IFNULL(SUM(DI2.quantidade),0) FROM _TBL_DEVOLVER_ITENS DI2 LEFT OUTER JOIN _TBL_DEVOLVER D2 ON DI2.id_devolver = D2.id_devolver WHERE D2.data BETWEEN "2018/09/01" AND "2018/09/30" AND DI2.id_produtos = LI1.id_produtos AND D2.id_tecnicos IS NOT NULL AND D2.empresa = "1") AS qtdedevolvida FROM _TBL_LIBERAR_ITENS LI1 LEFT OUTER JOIN _TBL_PRODUTOS P1 ON LI1.id_produtos = P1.id_produtos LEFT OUTER JOIN _TBL_LIBERAR L1 ON LI1.id_liberar = L1.id_liberar WHERE L1.data BETWEEN "2018/09/01" AND "2018/09/30" AND LI1.id_produtos IS NOT NULL AND L1.id_tecnicos IS NOT NULL AND L1.empresa = "1" GROUP BY LI1.id_produtos ORDER BY P1.descricao Mesmo fazendo isso, o SELECT continuou demorado se eu retirasse o SUM. Daí apliquei essa mesma ideia dos ALIASes no segundo SELECT que fiz, dado a dica do EMBarbosa, ficou assim: SELECT P1.id_produtos, P1.codigo, P1.descricao, (SELECT IFNULL(SUM(LI2.quantidade),0) FROM _TBL_LIBERAR_ITENS LI2 LEFT OUTER JOIN _TBL_LIBERAR L2 ON LI2.id_liberar = L2.id_liberar WHERE LI2.id_produtos = LI1.id_produtos AND L2.data < "2018/09/01" AND L2.id_tecnicos IS NOT NULL AND L2.empresa = "1") - (SELECT IFNULL(SUM(BI1.quantidade),0) FROM _TBL_BAIXAR_ITENS BI1 LEFT OUTER JOIN _TBL_BAIXAR B1 ON BI1.id_baixar = B1.id_baixar WHERE B1.data < "2018/09/01" AND BI1.id_produtos = LI1.id_produtos AND B1.id_tecnicos IS NOT NULL AND B1.empresa = "1") - (SELECT IFNULL(SUM(DI1.quantidade),0) FROM _TBL_DEVOLVER_ITENS DI1 LEFT OUTER JOIN _TBL_DEVOLVER D1 ON DI1.id_devolver = D1.id_devolver WHERE D1.data < "2018/09/01" AND DI1.id_produtos = LI1.id_produtos AND D1.id_tecnicos IS NOT NULL AND D1.empresa = "1") AS saldoanterior, (SELECT IFNULL(SUM(LI3.quantidade),0) FROM _TBL_LIBERAR_ITENS LI3 LEFT OUTER JOIN _TBL_LIBERAR L3 ON LI3.id_liberar = L3.id_liberar WHERE LI3.id_produtos = LI1.id_produtos AND L3.data BETWEEN "2018/09/01" AND "2018/09/31" AND L3.id_tecnicos IS NOT NULL AND L3.empresa = "1") AS qtdeliberada, (SELECT IFNULL(SUM(BI2.quantidade),0) FROM _TBL_BAIXAR_ITENS BI2 LEFT OUTER JOIN _TBL_BAIXAR B2 ON BI2.id_baixar = B2.id_baixar WHERE B2.data BETWEEN "2018/09/01" AND "2018/09/30" AND BI2.id_produtos = LI1.id_produtos AND B2.id_tecnicos IS NOT NULL AND B2.empresa = "1") AS qtdebaixada, (SELECT IFNULL(SUM(DI2.quantidade),0) FROM _TBL_DEVOLVER_ITENS DI2 LEFT OUTER JOIN _TBL_DEVOLVER D2 ON DI2.id_devolver = D2.id_devolver WHERE D2.data BETWEEN "2018/09/01" AND "2018/09/30" AND DI2.id_produtos = LI1.id_produtos AND D2.id_tecnicos IS NOT NULL AND D2.empresa = "1") AS qtdedevolvida FROM _TBL_PRODUTOS P1 LEFT OUTER JOIN _TBL_LIBERAR_ITENS LI1 ON P1.id_produtos = LI1.id_produtos LEFT OUTER JOIN _TBL_LIBERAR L1 ON LI1.id_liberar = L1.id_liberar WHERE LI1.id_produtos IS NOT NULL AND L1.id_tecnicos IS NOT NULL AND L1.empresa = "1" GROUP BY P1.id_produtos ORDER BY P1.descricao Finalmente com esse SELECT reformulado e COM O USO de ALIASes, o SELECT ficou rápido com ou sem o uso do SUM. Com isso eu concluo que o SELECT antes de mostrar o resultado estava tentando decidir qual tabela usar (a do SUBSELECT ou a EXTERNA) e daí ocorria a perda de tempo, fora a questão levantada pelo EMBarbosa sobre a estrutura errada. Creio que é isso, se alguém tiver algo a acrescentar fique a vontade. Abraços
  20. Olá EMBarbosa, tudo bom? Conforme você demonstrou, após retirar essa coluna fica mais interessante eu pegar esses dados da tabela _TBL_PRODUTOS. O fiz como no código abaixo: SELECT _TBL_PRODUTOS.id_produtos, _TBL_PRODUTOS.codigo, _TBL_PRODUTOS.descricao, (SELECT IFNULL(SUM(LI2.quantidade),0) FROM _TBL_LIBERAR_ITENS LI2 LEFT OUTER JOIN _TBL_LIBERAR ON LI2.id_liberar = _TBL_LIBERAR.id_liberar WHERE LI2.id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_LIBERAR.data < "2018/09/01" AND _TBL_LIBERAR.id_tecnicos IS NOT NULL AND _TBL_LIBERAR.empresa = "1") - (SELECT IFNULL(SUM(_TBL_BAIXAR_ITENS.quantidade),0) FROM _TBL_BAIXAR_ITENS LEFT OUTER JOIN _TBL_BAIXAR ON _TBL_BAIXAR_ITENS.id_baixar = _TBL_BAIXAR.id_baixar WHERE _TBL_BAIXAR.data < "2018/09/01" AND id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_BAIXAR.id_tecnicos IS NOT NULL AND _TBL_BAIXAR.empresa = "1") - (SELECT IFNULL(SUM(_TBL_DEVOLVER_ITENS.quantidade),0) FROM _TBL_DEVOLVER_ITENS LEFT OUTER JOIN _TBL_DEVOLVER ON _TBL_DEVOLVER_ITENS.id_devolver = _TBL_DEVOLVER.id_devolver WHERE _TBL_DEVOLVER.data < "2018/09/01" AND id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_DEVOLVER.id_tecnicos IS NOT NULL AND _TBL_DEVOLVER.empresa = "1") AS saldoanterior, SUM(_TBL_PRODUTOS.quantidade) AS qtdeliberada, (SELECT IFNULL(SUM(_TBL_BAIXAR_ITENS.quantidade),0) FROM _TBL_BAIXAR_ITENS LEFT OUTER JOIN _TBL_BAIXAR ON _TBL_BAIXAR_ITENS.id_baixar = _TBL_BAIXAR.id_baixar WHERE _TBL_BAIXAR.data BETWEEN "2018/09/01" AND "2018/09/30" AND id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_BAIXAR.id_tecnicos IS NOT NULL AND _TBL_BAIXAR.empresa = "1") AS qtdebaixada, (SELECT IFNULL(SUM(_TBL_DEVOLVER_ITENS.quantidade),0) FROM _TBL_DEVOLVER_ITENS LEFT OUTER JOIN _TBL_DEVOLVER ON _TBL_DEVOLVER_ITENS.id_devolver = _TBL_DEVOLVER.id_devolver WHERE _TBL_DEVOLVER.data BETWEEN "2018/09/01" AND "2018/09/30" AND id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_DEVOLVER.id_tecnicos IS NOT NULL AND _TBL_DEVOLVER.empresa = "1") AS qtdedevolvida FROM _TBL_PRODUTOS LEFT OUTER JOIN _TBL_LIBERAR_ITENS ON _TBL_PRODUTOS.id_produtos = _TBL_LIBERAR_ITENS.id_produtos LEFT OUTER JOIN _TBL_LIBERAR ON _TBL_LIBERAR_ITENS.id_liberar = _TBL_LIBERAR.id_liberar WHERE _TBL_LIBERAR.data BETWEEN "2018/09/01" AND "2018/09/30" AND _TBL_LIBERAR_ITENS.id_produtos IS NOT NULL AND _TBL_LIBERAR.id_tecnicos IS NOT NULL AND _TBL_LIBERAR.empresa = "1" GROUP BY _TBL_PRODUTOS.id_produtos ORDER BY _TBL_PRODUTOS.descricao O grande mistério é que ainda estou com a problemática do SELECT ficar rápido só com a presença da linha do SUM. Porque será que remover esse SUM deixa o SELECT tão mais lento?
  21. Olá EMBarbosa, irei analisar o posto o resultado aqui para conhecimento de todos... Abraços
  22. Olá a todos, Estou executando o seguinte select em meu MySQL: SELECT _TBL_LIBERAR_ITENS.id_produtos, _TBL_PRODUTOS.codigo, _TBL_PRODUTOS.descricao, (SELECT IFNULL(SUM(LI2.quantidade),0) FROM _TBL_LIBERAR_ITENS LI2 LEFT OUTER JOIN _TBL_LIBERAR ON LI2.id_liberar = _TBL_LIBERAR.id_liberar WHERE LI2.id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_LIBERAR.data < "2018/09/01" AND _TBL_LIBERAR.id_tecnicos IS NOT NULL AND _TBL_LIBERAR.empresa = "1") - (SELECT IFNULL(SUM(_TBL_BAIXAR_ITENS.quantidade),0) FROM _TBL_BAIXAR_ITENS LEFT OUTER JOIN _TBL_BAIXAR ON _TBL_BAIXAR_ITENS.id_baixar = _TBL_BAIXAR.id_baixar WHERE _TBL_BAIXAR.data < "2018/09/01" AND id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_BAIXAR.id_tecnicos IS NOT NULL AND _TBL_BAIXAR.empresa = "1") - (SELECT IFNULL(SUM(_TBL_DEVOLVER_ITENS.quantidade),0) FROM _TBL_DEVOLVER_ITENS LEFT OUTER JOIN _TBL_DEVOLVER ON _TBL_DEVOLVER_ITENS.id_devolver = _TBL_DEVOLVER.id_devolver WHERE _TBL_DEVOLVER.data < "2018/09/01" AND id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_DEVOLVER.id_tecnicos IS NOT NULL AND _TBL_DEVOLVER.empresa = "1") AS saldoanterior, SUM(_TBL_LIBERAR_ITENS.quantidade) AS qtdeliberada, (SELECT IFNULL(SUM(_TBL_BAIXAR_ITENS.quantidade),0) FROM _TBL_BAIXAR_ITENS LEFT OUTER JOIN _TBL_BAIXAR ON _TBL_BAIXAR_ITENS.id_baixar = _TBL_BAIXAR.id_baixar WHERE _TBL_BAIXAR.data BETWEEN "2018/09/01" AND "2018/09/30" AND id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_BAIXAR.id_tecnicos IS NOT NULL AND _TBL_BAIXAR.empresa = "1") AS qtdebaixada, (SELECT IFNULL(SUM(_TBL_DEVOLVER_ITENS.quantidade),0) FROM _TBL_DEVOLVER_ITENS LEFT OUTER JOIN _TBL_DEVOLVER ON _TBL_DEVOLVER_ITENS.id_devolver = _TBL_DEVOLVER.id_devolver WHERE _TBL_DEVOLVER.data BETWEEN "2018/09/01" AND "2018/09/30" AND id_produtos = _TBL_LIBERAR_ITENS.id_produtos AND _TBL_DEVOLVER.id_tecnicos IS NOT NULL AND _TBL_DEVOLVER.empresa = "1") AS qtdedevolvida FROM _TBL_LIBERAR_ITENS LEFT OUTER JOIN _TBL_PRODUTOS ON _TBL_LIBERAR_ITENS.id_produtos = _TBL_PRODUTOS.id_produtos LEFT OUTER JOIN _TBL_LIBERAR ON _TBL_LIBERAR_ITENS.id_liberar = _TBL_LIBERAR.id_liberar WHERE _TBL_LIBERAR.data BETWEEN "2018/09/01" AND "2018/09/30" AND _TBL_LIBERAR_ITENS.id_produtos IS NOT NULL AND _TBL_LIBERAR.id_tecnicos IS NOT NULL AND _TBL_LIBERAR.empresa = "1" GROUP BY _TBL_LIBERAR_ITENS.id_produtos ORDER BY _TBL_PRODUTOS.descricao O mesmo retorna o resultado em 0,791 segundos, em média. Eu não preciso mais da coluna qtdeliberada, gerada pela linha "SUM(_TBL_LIBERAR_ITENS.quantidade) AS qtdeliberada". E ao retirar a mesma, descobri que o SELECT passa a levar em média 30,894 segundos. Alguém poderia me dizer porque esse SUM está tornando esse SELECT tão mais rapido???
  23. Fiz o procedimento com o LT_SSLv3 marcado e deu certo... Provavelmente é isso, Obrigado pelos esclarecimentos Daniel... Abraços
  24. Perfeito Daniel, Para termos certeza se ele está usando o protocolo antigo (que a principio é a única explicação plausível), existe algum procedimento que eu possa realizar? Acho que seria muito produtivo e esclarecedor até para os outros usuários, já que dúvidas sobre o tema são bem recorrentes devido sua complexidade para muitos... E quanto mais material esclarecendo é melhor.
  25. Então... É NFCe mesmo... Então ainda funciona com o Windows desatualizado nesse caso? Tirei o print da tela conforme sua orientação, só que a opção Security que achei está fora da Network... Vejá se está correto a tela que eu abri e se puder explicar sobre a mesma, pois não entendi nada kkkk Desde já agradeço a atenção e esclarecimentos
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.