Ir para conteúdo
Fórum Script Brasil

grego

Membros
  • Total de itens

    31
  • Registro em

  • Última visita

Tudo que grego postou

  1. grego

    ExcelWriter

    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.
  2. grego

    ExcelWriter

    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.
  3. grego

    ExcelWriter

    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.
  4. Muito obrigado Denis pela grande ajuda que resolveu meu problema. Sua valiosa dica agregou um conhecimento que eu não tinha.
  5. 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.
  6. 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.
  7. 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); ?>
  8. grego

    Excel Writer

    Econtrei o exemplo no Google include("excelwriter.inc.php")
  9. grego

    Excel Writer

    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.
  10. grego

    Excel Writer

    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.
  11. 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.
  12. 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.
  13. grego

    Quebra de pagina FPDF

    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.
  14. grego

    Quebra de pagina FPDF

    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.
  15. grego

    Assinar XML

    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.
  16. grego

    (Resolvido) Ler arquivo XML

    Deu certo. Sua ajuda positiva foi fundamental no meu desenvolvimento. Muito obrigado mesmo. Abraço. Felicidades. Tudo de bom prá você.
  17. grego

    (Resolvido) Ler arquivo XML

    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>"; } } } } } ?>
  18. 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.
  19. grego

    Nota Fiscal na LX 300

    Agradeço pela sua colaboração. Acredito que agora eu conclua a impressão. Obrigado.
  20. grego

    Nota Fiscal na LX 300

    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 ?
  21. Obrigado, funcionou perfeitamente.
  22. 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.
  23. 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.
  24. grego

    Saida FPDF

    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
  25. grego

    Aula PHP

    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
×
×
  • Criar Novo...