
grego
Membros-
Total de itens
31 -
Registro em
-
Última visita
Tudo que grego postou
-
O relatorio já estou gerando. O problema é que gera tudo como texto. O objetivo do cliente ter em Excel, é para justamente, fazer alterações. Vou continuar pesquisando sobre o assunto. Obrigado.
-
Obrigado Ricardo, mas não vejo como implementar seu código. Meu Select tem INNER JOIN e cláusulas WHERE e ainda no decorrer do relatorio, tem as quebras e totalizações. Pelo que entendi, você enfatizou campo DATA e preciso que campo Valor seja realmente um Valor no .xls e está gerando como texto.
-
Saudações Estou postando aqui em PHP, pois não sei como classificar minha duvida. Depois de muito pesquisar, consegui gerar relatorio com o ExcelWriter, ainda meio rudimentar, porém o grande problema é que os valores vão para o Excel como texto, ou seja, não permitem gerar fórmulas. E o objetivo de gerar .xls é justamente fazer adequações posteriores nela. Se alguém puder me dar uma dica, fico muito agradecido.
-
Muito obrigado Denis pela grande ajuda que resolveu meu problema. Sua valiosa dica agregou um conhecimento que eu não tinha.
-
Saudações ! Me deparei com um problema e já estou há dois dias pesquisando, porém as dicas não tratam da forma que preciso. Vou explicar: Na tabela acesso, tenho por exemplo o pedro codioper = 1 e joao codioper = 2 Gravo na tabela contrato, o campo crediario = 1 e campo vendedor = 2 Preciso fazer DOIS inner join na mesma tabela, pois com o codigo crediario preciso do nome e com o codigo vendedor preciso do nome também. Detalhe: o 1º nome é cliente. O 2º nome tratei como nomec e o 3º nome tratei como nomev mysql_query("SELECT contrato.*,cliente.nome,acesso.nome AS nomec,acesso.nome AS nomev,loja.nomeloja FROM contrato INNER JOIN cliente ON ( contrato.codigocliente = cliente.codigocliente ) INNER JOIN acesso ON ( contrato.crediario = acesso.codioper ) INNER JOIN acesso ON ( contrato.vendedor = acesso.codioper INNER JOIN loja ON ( contrato.loja = loja.idloja ) Com UM inner join apenas na tabela acesso, usando AS funciona certo. O problema que não funciona é acessar DUAS vezes, mesmo com apelido na tabela. Se alguém souber como resolver, fico muitissimo agradecido.
-
AJUDA PARA EXIBIR RESULTADOS EM 3 COLUNAS
pergunta respondeu ao CARLOS AUGUSTO G ARRUDA de grego em PHP
No meu sistema, com esta rotina, extraio os campos Cpf e Nome. O While varre a tabela e mostra inteira, já que não tem WHERE e a DIV cria a barra de rolagem. Claro que para muitos campos não tem sentido muitas colunas. -
AJUDA PARA EXIBIR RESULTADOS EM 3 COLUNAS
pergunta respondeu ao CARLOS AUGUSTO G ARRUDA de grego em PHP
Uso este para mostrar CPF e NOME com 2 colunas. Pode adicionar mais campos e mais colunas. require('conexao.php'); $chamada = mysql_query("SELECT * FROM cliente ORDER BY nome ASC"); ?> <div id=tabela Style=overflow:auto; padding: 0px; position: absolute; height:630px; Left: 10; top: 40; width: 100%"> <?php echo "<table border = 1>"; $i=""; while ($dados=mysql_fetch_array($chamada)){ $cpf = $dados['cpf]; $nome = $dados['nome']; $resultado = $cpf.' - '.$nome; $i++; // Numeral 2 refere-se à quantidade de colunas if ($i%2 == 0 ? $valor="</td></tr><tr>":$valor="</td>") echo "<td>$resultado".$valor; } ?> </table> <?php mysql_close($conexao); ?> -
Econtrei o exemplo no Google include("excelwriter.inc.php")
-
O comando em PHP é: $myArr=array('','','',Titulo do Relatorio); Desta forma. fiz uma gambiarra, pois a quarta coluna é onde mostro NOMES, portanto é mais larga. O que não estou conseguindo é concatenar esta comando em PHP, com o HTML que você passou Mas valeu pela dica. Vou testando aqui até dar certo. Obrigado.
-
Saudação à todos ! Estou desenvolvendo relatorio em PHP e exportando para o Excel, mas de uma forma ainda meio rudimentar. O que preciso e já pesquisei, mas não encontrei, é como mesclar o titulo de forma que fique centralizado, ocupando uma largura pré definida. Da forma atual, a celula que contiver o titulo, se alarga. O que preciso portanto, é que sómente o titulo fique maior, mas as celulas dos campos fiquem com largura original. alguém tem noção de como fazer ? Agradeço qualquer dica que possa dar uma ideia de como fazer.
-
Saudações à todos ! Trabalho com PHP. O que preciso não sei se é possivel. Para não definir a côr em cada formulário (o que dificulta se precisar alterar), gostaria de definir a variável no formaulario de acesso e em cada formulario apenas chamando variavel. Agradeço qualquer orientação. Obrigado.
-
Saudação à todos Estou há horas procurando, mas só encontrei em Delphi. Preciso fazer em PHP (se alguém puder me ajudar), a inclusão de valor da direita para esquerda, como é nos caixas eletrônicos. A cada numero digitado, vai compondo o valor começando pelos centavos. O campo que tenho é DECIMAL 12,2 Com datas é tranquilo, pois preenche-se todos os dígitos. Agradeço qualquer dica.
-
Não é assim. O select ocorre antes do for. Quando entra no for, já sabe quantas linhas e páginas o relatorio terá. Desta forma é valido para cadastros onde se imprime uma linha atrás da outra, mas para relatórios otimizados com quebras e totalizações, fica inviável.
-
Saudação à todos Não tenho muita experiência com PHP e na questão de relatorio preciso da ajuda dos mais experientes. No exemplo que encontrei, a quebra de página se dá pela contagem de linhas (registros) resultante do Select, porém na montagem do relatorio, tem as quebras: por filial, por vendedor, onde em cada uma destas quebras uso UMA linha para totalizar, mais UMA para separar apenas. Ex: se digo que terei 50 registros por pagina e meu Select filtrou 50 registros, ele considera UMA pagina. Com várias filiais e vários vendedores em cada filial, usarei muitas linhas a MAIS do que os 50. Como o programa já calculou qeu 50 registros dá UMA pagina apenas ele não interpreta que já foi para a segunda pagina e aí o cabeçalho não é repetido, ou seja, o relatorio fica descaracterizado. Imaginemos outro exemplo: 30 registros, porem cada registro é de uma filial. Então usarei mais duas linhas, uma para totalizar e outra para dar um espaço. No total dará 90 linhas. Alguém sabe uma forma de eu programar uma contagem de linhas e aí sim sair do While, repetir o cabeçalho e entrar no while novamente ? Agradeço qualquer orientação. Obrigado.
-
Saudação à todos Preciso de orientação. Pesquisei aqui e no Google, mas não encontrei. Explico: Estou desenvolvendo a NF-e (apanhando muito) e cheguei no ponto que preciso ASSINAR o arquivo XML (o arquivo já está gerado com todos os dados ... falta a assinatura). Pelo que já sei, preciso do "Certificado Digital" que é a adesão da empresa à Secretaria da Fazenda (SEFAZ), para, pelo que entendi, gerar uma CHAVE. Em algumas pesquisas que fiz, diz que preciso ter o OPENSSL (Secure Socket Layer que pelo que vi tem vários PKCS1, PKCS12 ...) Enfim, estou meio perdido ... Alguém sabe me orientar nesse sentido ? esse OPENSSL (dll) está vinculado ao Certificado ? Agradeço à quem puder me dar uma luz, pois estou bem confuso. Obrigado.
-
Deu certo. Sua ajuda positiva foi fundamental no meu desenvolvimento. Muito obrigado mesmo. Abraço. Felicidades. Tudo de bom prá você.
-
Eis o arquivo XML (o código PHP está lá no final) <?xml version="1.0" encoding="UTF-8" ?> <enviNFe xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" versao="1.07"> <idLote>000000000000001</idLote> <NFe xmlns="http://www.portalfiscal.inf.br/nfe"> <infNFe versao="1.0" Id="NFe4109100160900300019055001000000152382294794"> <ide> <cUF>41</cUF> <cNF>382294794</cNF> <natOp>venda</natOp> <indPag>0</indPag> <mod>55</mod> <serie>001</serie> <nNF>000000152</nNF> <dEmi>0910</dEmi> <dSaiEnt>0910</dSaiEnt> <tpNF>1</tpNF> <cMunFG>4106902</cMunFG> <tpImp>1</tpImp> <tpEmis>1</tpEmis> <cDV>9</cDV> <tpAmb>2</tpAmb> <finNFe>1</finNFe> <procEmi>0</procEmi> <verProc>1.0.0</verProc> </ide> <emit> <xCNPJ>01.609.003/0001-90</xCNPJ> <xNome>Primeira Empresa</xNome> <enderEmit> <xLgr>xxxxx Primeira Empresa</xLgr> <nro>12345</nro> <xBairro>Bairro Primeira Empr</xBairro> <cMun>4106902</cMun> <xMun>Cidade Primeira Empr</xMun> <UF>PR</UF> </enderEmit> <IE>ISENTO</IE> </emit> <dest> <xCNPJ>01609003000190</xCNPJ> <xNome>Antonio Jovinski Rocha</xNome> <enderDest> <xLgr>Avenida Brasil</xLgr> <nro></nro> <xBairro>Santo Antonio</xBairro> <cMun>99999</cMun> <xMun>XXXXX</xMun> <UF>PR</UF> </enderDest> <IE>ISENTO</IE> </dest> <det nItem='1'> <prod> <cProd>8000</cProd> <xProd>Oito mil</xProd> <vProd>146.00</vProd> </prod> <imposto> <ICMS> <icms00> <CST>00</CST> <modBC>1</modBC> <vBC>146.00</vBC> <pICMS>14.23</pICMS> <vICMS>20.7758</vICMS> </icms00> </ICMS> <PIS> <PISAliq> <CST>01</CST> <vBC>146.00</vBC> <pPIS>0.65</pPIS> <vPIS>0.949</vPIS> </PISAliq> </PIS> <COFINS> <COFINSAliq> <CST>01</CST> <vBC>146.00</vBC> <pCOFINS>3</pCOFINS> <vCOFINS>4.38</vCOFINS> </COFINSAliq> </COFINS> </imposto> </det> <det nItem='2'> <prod> <cProd>4002</cProd> <xProd>Quatro mil e dois</xProd> <vProd>170.00</vProd> </prod> <imposto> <ICMS> <icms00> <CST>00</CST> <modBC>1</modBC> <vBC>170.00</vBC> <pICMS>16.35</pICMS> <vICMS>27.795</vICMS> </icms00> </ICMS> <PIS> <PISAliq> <CST>01</CST> <vBC>170.00</vBC> <pPIS>0.65</pPIS> <vPIS>1.105</vPIS> </PISAliq> </PIS> <COFINS> <COFINSAliq> <CST>01</CST> <vBC>170.00</vBC> <pCOFINS>3</pCOFINS> <vCOFINS>5.1</vCOFINS> </COFINSAliq> </COFINS> </imposto> </det> <det nItem='3'> <prod> <cProd>4001</cProd> <xProd>Quatro mil e um</xProd> <vProd>150.00</vProd> </prod> <imposto> <ICMS> <icms00> <CST>00</CST> <modBC>1</modBC> <vBC>150.00</vBC> <pICMS>17.42</pICMS> <vICMS>26.13</vICMS> </icms00> </ICMS> <PIS> <PISAliq> <CST>01</CST> <vBC>150.00</vBC> <pPIS>0.65</pPIS> <vPIS>0.975</vPIS> </PISAliq> </PIS> <COFINS> <COFINSAliq> <CST>01</CST> <vBC>150.00</vBC> <pCOFINS>3</pCOFINS> <vCOFINS>4.5</vCOFINS> </COFINSAliq> </COFINS> </imposto> </det> <total> <ICMSTot> <vBC>466</vBC> <vICMS>74.7008</vICMS> <vPIS>3.029</vPIS> <vCOFINS>13.98</vCOFINS> <vNF>466</vNF> </ICMSTot> </total> <transp> <modFrete>0</modFrete> <transporta> <CPF>01609003000190</CPF> <xNome>Primeiro Transportador</xNome> </transporta> </transp> </infNFe> </NFe> <NFe xmlns="http://www.portalfiscal.inf.br/nfe"> <infNFe versao="1.0" Id="NFe4109100160900300019055001000000153359660423"> <ide> <cUF>41</cUF> <cNF>359660423</cNF> <natOp>venda</natOp> <indPag>0</indPag> <mod>55</mod> <serie>001</serie> <nNF>000000153</nNF> <dEmi>0910</dEmi> <dSaiEnt>0910</dSaiEnt> <tpNF>1</tpNF> <cMunFG>4106902</cMunFG> <tpImp>1</tpImp> <tpEmis>1</tpEmis> <cDV>0</cDV> <tpAmb>2</tpAmb> <finNFe>1</finNFe> <procEmi>0</procEmi> <verProc>1.0.0</verProc> </ide> <emit> <xCNPJ>01.609.003/0001-90</xCNPJ> <xNome>Primeira Empresa</xNome> <enderEmit> <xLgr>Endereo da Primeira Empresa</xLgr> <nro>12345</nro> <xBairro>Bairro Primeira Empr</xBairro> <cMun>4106902</cMun> <xMun>Cidade Primeira Empr</xMun> <UF>PR</UF> </enderEmit> <IE>ISENTO</IE> </emit> <dest> <xCNPJ>01609003000190</xCNPJ> <xNome>Antonio Prestessss</xNome> <enderDest> <xLgr>Rua Projetada</xLgr> <nro></nro> <xBairro>Nodari Ii</xBairro> <cMun>99999</cMun> <xMun>XXXXX</xMun> <UF>PR</UF> </enderDest> <IE>ISENTO</IE> </dest> <det nItem='1'> <prod> <cProd>9000</cProd> <xProd>Nove mil</xProd> <vProd>682.00</vProd> </prod> <imposto> <ICMS> <icms00> <CST>00</CST> <modBC>1</modBC> <vBC>682.00</vBC> <pICMS>13.42</pICMS> <vICMS>91.5244</vICMS> </icms00> </ICMS> <PIS> <PISAliq> <CST>01</CST> <vBC>682.00</vBC> <pPIS>0.65</pPIS> <vPIS>4.433</vPIS> </PISAliq> </PIS> <COFINS> <COFINSAliq> <CST>01</CST> <vBC>682.00</vBC> <pCOFINS>3</pCOFINS> <vCOFINS>20.46</vCOFINS> </COFINSAliq> </COFINS> </imposto> </det> <total> <ICMSTot> <vBC>682</vBC> <vICMS>91.5244</vICMS> <vPIS>4.433</vPIS> <vCOFINS>20.46</vCOFINS> <vNF>682</vNF> </ICMSTot> </total> <transp> <modFrete>0</modFrete> <transporta> <CPF>01609003000190</CPF> <xNome>Primeiro Transportador</xNome> </transporta> </transp> </infNFe> </NFe> <NFe xmlns="http://www.portalfiscal.inf.br/nfe"> <infNFe versao="1.0" Id="NFe4109100160900300019055001000000154244819816"> <ide> <cUF>41</cUF> <cNF>244819816</cNF> <natOp>venda</natOp> <indPag>0</indPag> <mod>55</mod> <serie>001</serie> <nNF>000000154</nNF> <dEmi>0910</dEmi> <dSaiEnt>0910</dSaiEnt> <tpNF>1</tpNF> <cMunFG>4106902</cMunFG> <tpImp>1</tpImp> <tpEmis>1</tpEmis> <cDV>0</cDV> <tpAmb>2</tpAmb> <finNFe>1</finNFe> <procEmi>0</procEmi> <verProc>1.0.0</verProc> </ide> <emit> <xCNPJ>01.609.003/0001-90</xCNPJ> <xNome>Primeira Empresa</xNome> <enderEmit> <xLgr>Endereo da Primeira Empresa</xLgr> <nro>12345</nro> <xBairro>Bairro Primeira Empr</xBairro> <cMun>4106902</cMun> <xMun>Cidade Primeira Empr</xMun> <UF>PR</UF> </enderEmit> <IE>ISENTO</IE> </emit> <dest> <xCNPJ>01609003000190</xCNPJ> <xNome>Antonio Jovinski Rocha</xNome> <enderDest> <xLgr>Avenida Brasil</xLgr> <nro></nro> <xBairro>Santo Antonio</xBairro> <cMun>99999</cMun> <xMun>XXXXX</xMun> <UF>PR</UF> </enderDest> <IE>ISENTO</IE> </dest> <det nItem='1'> <prod> <cProd>3232</cProd> <xProd>Tres dois tres dois</xProd> <vProd>94.00</vProd> </prod> <imposto> <ICMS> <icms00> <CST>00</CST> <modBC>1</modBC> <vBC>94.00</vBC> <pICMS>12.55</pICMS> <vICMS>11.797</vICMS> </icms00> </ICMS> <PIS> <PISAliq> <CST>01</CST> <vBC>94.00</vBC> <pPIS>0.65</pPIS> <vPIS>0.611</vPIS> </PISAliq> </PIS> <COFINS> <COFINSAliq> <CST>01</CST> <vBC>94.00</vBC> <pCOFINS>3</pCOFINS> <vCOFINS>2.82</vCOFINS> </COFINSAliq> </COFINS> </imposto> </det> <det nItem='2'> <prod> <cProd>8787</cProd> <xProd>Oito sete oito sete Roupeiro</xProd> <vProd>280.00</vProd> </prod> <imposto> <ICMS> <icms00> <CST>00</CST> <modBC>1</modBC> <vBC>280.00</vBC> <pICMS>12.00</pICMS> <vICMS>33.6</vICMS> </icms00> </ICMS> <PIS> <PISAliq> <CST>01</CST> <vBC>280.00</vBC> <pPIS>0.65</pPIS> <vPIS>1.82</vPIS> </PISAliq> </PIS> <COFINS> <COFINSAliq> <CST>01</CST> <vBC>280.00</vBC> <pCOFINS>3</pCOFINS> <vCOFINS>8.4</vCOFINS> </COFINSAliq> </COFINS> </imposto> </det> <total> <ICMSTot> <vBC>374</vBC> <vICMS>45.397</vICMS> <vPIS>2.431</vPIS> <vCOFINS>11.22</vCOFINS> <vNF>374</vNF> </ICMSTot> </total> <transp> <modFrete>0</modFrete> <transporta> <CPF>01609003000190</CPF> <xNome>Primeiro Transportador</xNome> </transporta> </transp> </infNFe> </NFe> </enviNFe> Com esse código a seguir, mostra a primeira NF 3 vezes (são 3 NFs diferentes, porém mostra a 1º 3 vezes) <?php require('conexao.php'); $xml = simplexml_load_file('primeiro.xml'); foreach($xml->NFe as $NFe) { foreach($xml->NFe->infNFe as $infNFe) { foreach($xml->NFe->infNFe->ide as $ide) { $numeroNF = $ide->nNF; $serie = $ide->serie; foreach($xml->NFe->infNFe->emit as $emit) { $xNome = $emit->xNome; foreach($xml->NFe->infNFe->emit->enderEmit as $enderEmit) { $xLgr = $enderEmit->xLgr; $xBairro = $enderEmit->xBairro; $xMun = $enderEmit->xMun; $UF = $enderEmit->UF; echo $numeroNF; echo $serie; echo $xNome; echo $xLgr; echo $xBairro; echo $xMun; echo $UF; echo "<br>"; } } } } } ?>
-
Saudações à todos Em toda busca que fiz, só encontrei o exemplo fácil (primário) que é a leitura de um só nó. O que preciso é ler o XML que retorna validado do SEFAZ. Aquivo com vários nós, ou seja: enviNFe --> essa tag refere-se ao arquivo XML NFe --> infNFe --> essas duas tags referem-se a cada Nota Fiscal (sem dados) ide --> dados emit --> dados prod --> dados imposto --> dados transf --> dados . . /ide /emit /prod /imposto /transf /infNFe /NFe /enviNFe Se alguém puder me ajudar, fico muito agradecido.
-
Agradeço pela sua colaboração. Acredito que agora eu conclua a impressão. Obrigado.
-
Boa noite à todos ! Tenho pesquisado, mas nada de concreto encontrei sobre como imprimir Nota Fiscal em LX-300 usando FPDF Não sei como tratar esse problema, pois FPDF é gráfico, enquanto LX-300 é caracter. Mesmo em tempos de cupom fiscal, a Nota Fiscal é primordial mesmo que seja só nas transferencias deposito/lojas. alguém poderá me auxiliar ?
-
Obrigado, funcionou perfeitamente.
-
Agradeço pelas dicas. É uma forma de filtrar um registro usando mais parametros de seleção. Obrigado. Perfeito. Funcionou legal. Obrigado pela força. Perfeito. Funcionou legal. Obrigado pela força.
-
Olá pessoal ! Me deparei com um problema. Na tabela onde guardo os lançamentos do caixa, preciso a cada registro gravar o saldo e para isso, antes de gravar, pegar o saldo do ultimo registro. Colocando a clausula DESC no SELECT resolve. Porém ...... Como definir o WHILE para ler só o primeiro registro, carregar o valor do saldo e sair do WHILE ? Agradeço que puder dar uma dica.
-
Olá pessoal Consegui fazer meu primeiro relatório usando FPDF, porém quando fecho a tela do relatorio, é procurado (acredito que no browser) o programa que gerou o relatorio. Aí está o erro. Explico meu problema: como estou desenvolvendo um sistema comercial, chamo no browser o programa principal (index), entro no Menu, vou abrindo outras telas até chegar no relatorio. Ma mensagem que dá é que não encontrou o programa que gerou o relatorio, pois no browser consta o index. Outro dilema é : como desabilitar a seta voltar ? Agradeço qualquer dica. Obrigado
-
Estou aprendendo PHP para re-desenvolver sistema comercial que tenho em outra linguagem. Preciso aprender rotinas avançadas (creio) pois não encontrei em livros. Estou em Curitiba. Preciso de aulas particulares (consultoria para duvidas diversas) Contato: jnvde@onda.com.br