Jump to content

All Activity

This stream auto-updates     

  1. Yesterday
  2. XRS

    Sistema Plugins/Modulos

    Tens toda a razão. Mas eu já tenho o meu projeto todo em plain PHP, digamos que uma mini framework, por isso ia perder ainda mais tempo numa curva de aprendizagem para uma framework do que propriamente a fazer o que quero. Acredito que não seja algo assim tão complicado de se fazer.
  3. Sou autodidata e curiosa por natureza, estou criando uma planilha de controle de estoque e movimentação porém toda com formulário, pois minha intenção é que a planilha fique invisível no final. Ela já está praticamente pronta, porém está acontecendo um problema que estou quebrando a cabeça, mas não consigo identificar o porque dele. Quando eu preencho o rowsource da ListBox de pesquisa de produtos. E vou rodar o Formulário Inicial de Estoque e Movimentação, ao clicar em Movimentar Estoque, acontece um erro de tempo de execução '-2147467259 (800004005)': Erro não especificado. Ao clicar em Depurar, Sou jogada para o código do formulário de movimentação (que não tem nada haver com o de produtos), e aparece indicado que o código abaixo está errado, porém quando eu não coloco o rowsource da ListBox de pesquisa de produtos, os formulários funcionam perfeitamente. Sub CMDMOVEST_Click() FMOV.Show End Sub Alguém pode me ajudar com isso? Obrigada!
  4. desconfiado

    AT - questões legais

    Por acaso acho que as specs eram as mesmas. Talvez tirando a parte do Tipo Byte. Não sei qual é a diferença de Byte para Texto mas a maioria dos utilitários nem tem essa opção. O ECC tem sempre como opção, a versão também. O resto não me parece que influencie o QR Code visualmente.
  5. marcolopes

    AT - questões legais

    A questão é que pode ser usado um "template" de impressão que contemple a apresentação do QRCode... O melhor é mesmo não gerar a informação da mensagem para que o QRCode não devolva nada "válido"...
  6. marcolopes

    AT - questões legais

    Se não sai igual é porque a geração do QRCode não está a ser feita de acordo com as SPECS, ou o ENCODING usado pela LIB não está a ser feito da mesma forma (The QR Code Model 2 specification defines versions (sizes) from 1 to 40, 4 error correction levels, and 4 character encoding modes). De qualquer forma, se pelo menos as dimensões estiverem de acordo (sem necessidade de fazer UPSCALE da imagem, adulterando a qualidade do QRCode gerado) não irá influenciar a leitura.
  7. jorang

    AT - questões legais

    Os documentos de formação não são “fiscalmente relevantes” pelo que não necessitarão de ter nem o qr code nem o atcud.
  8. jacPereira

    AT - questões legais

    Estava a criar o QRcode para teste e deparei-me com a questão: "então e se alguém se lembra de dar entrada de um documento de demo e formação na AT?" O sistema de demo tem obrigatóriamente o NIF do produtor... se o documento for estruturalmente válido vai entrar como documento emitido pelo produtor? Optei por criar um CUD tipo "ATCUDEMO-" mais o numero do documento... mas não sei ao certo que fazer. Alguém tem ideia do procedimento? Nos documentos emitidos coloca-se o "catrapázio" do "Documento emitido para fins de formação", mas no QRcode pomos o quê?
  9. desconfiado

    AT - questões legais

    Obrigado mas já resolvi doutra forma. Vou utilizar o QRCoder que é uma libraria em .NET. Criei uma COM class que chama o QRCoder.dll para gerar uma imagem do QR Code que depois devolve ao VB6 que "cola" no objecto imagem do report. Simples. Não entendi muito bem mas fiz testes com 2 ou 3 utilitários diferentes, com as strings exemplos no manual de especificações técnicas e todos os QR Codes saiam diferentes do QR Code que a AT apresenta no manual. No entanto todos eles eram lidos sem problemas por um QR Scanner e apresentavam o texto do QR Code na perfeição. Aparentemente estes QR Code podem representar o mesmo conteúdo de várias formas diferentes. Por acaso o QRCoder desenha um QRCode exactamente igual ao da AT. Este QRCoder também tem um utilitário command-line para gerar imagens dos QRCodes para quem estiver interessado. Fica aqui o link para esta libraria fantástica QRCoder. Pode ser instalada directamente a partir do Visual Studio.
  10. Última enviada às 10:30 sem problemas...
  11. Alguém está a ter problemas com a comunicação das Guias de Transporte à AT?
  12. chesser

    AT - questões legais

    Há também a alternativa de usar uma fonte específica, no relatório (ou no VB6): codifica-se a mensagem pretendida e define-se a fonte com o QRcode. Vê, por exemplo, a MW6 - QRCode Font.
  13. Last week
  14. desconfiado

    AT - questões legais

    Alguém utiliza VB6? Qual a solução que estão a utilizar para gerar o QRCode? Eu estou a utilizar o Active Reports em VB6 e a única solução é gerar um bitmap ou jpeg e incluir no report. Já utilizo módulos de ligação a .NET 3.5 através de Interop mas sei que library utilizar para gerar o QR Code. Já vi algumas que até funcionam como ActiveX como a Quricol mas não permitem especificar as características técnicas exigidas pela AT. Já referiram aqui na QRCoder que parece ter uma versão para .NET Framework 3.5 mas não sei se conseguirei utilizar com Interop ou se é a melhor solução. Alguma sugestão?
  15. FlávioSilva

    Apps Windows no Linux

    Agradecid, vou ver :)
  16. PauLinhu221

    Dados para WebSite (PAP)

    Entendido, obrigado!
  17. eSkiSo

    Dados do Array para email

    Provalmente ja deste com o problema, que estavas a fazer o foreach a cada item e so o ultimo é que ficava associado a variavel, mas de qualquer maneira nunca confies no input do utilizador coloca ao menos um htmlentities nesses valores (exemplo: htmlentities($item, ENT_QUOTES); )
  18. eSkiSo

    Sistema Plugins/Modulos

    Isso é basicamente re-inventar a roda, tens algumas frameworks com isso ja feito que depois so tens de criar as tuas "extensoes" ao que elas ja fornecem. Tipo Codeigniter, Laravel, cakePHP, dá uma olhadela nelas. PS. A nivel de base de dados tens as "migrations" nessas frameworks que ja te permite fazer isso.
  19. eSkiSo

    Dados não estão a ser inseridos na base de dados

    Não sei se ja deste com o gato mas (adicionei mais umas linhas para melhorar): function create_session($email = null, $remember = false) { //confirmar que o email foi fornecido e é correcto if(is_null($email) || !filter_var($email, FILTER_VALIDATE_EMAIL) ) die("Invalid email"); //Inicia-se conecção com as seguintes constantes $conn = new mysqli(SQLServer, SQLUsername, SQLPassword, database); //Verifica-se a presença de erros if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } //Segurança contra SQLInjection $safe_email = $conn->real_escape_string($email); //Atribuição de valor à variável $time if ($remember) { $time = date('Y-m-d H:i:s', strtotime("+1 week")); //$time = strval(86400 * 7); } else { $time = date('Y-m-d H:i:s', strtotime("+1 hour")); //$time = strval(86400 * 7); //-- Isto não faz basicamente nada seja true ou false faz o mesmo } //SQL Query - inserção de dados (temporários) $create_session = "INSERT INTO Login ('Login', 'Expire') VALUES (?, ?);"; //Execução //prepareQuery($conn, $create_session, "s", array($safe_email)); // <<< o erro parece estar aqui so passas o email mas querias passar o email e a data presumo prepareQuery($conn, $create_session, "ss", array($safe_email, $time)); //SQL Query - obtenção do id $readID = "SELECT id FROM Login WHERE 'Login' = ?;"; //Execução //$id = prepareQuery($conn, $readID, "ss", array($safe_email, $time)); // este estava trocado com o de cima? $id = prepareQuery($conn, $readID, "s", array($safe_email)); // este estava trocado com o de cima? $conn->close(); //remoção de dados temporários expirados removeOldSessions(); return $id; } Um conselho que dou é dares uma olhadela em frameworks, não digo um Laravel que pode ser excessivo para o que queres fazer mas talvez o CodeIgniter, cakePHP, Lumen, etc, ajuda bastante.
  20. Cerzedelo

    Apps Windows no Linux

    Tente o Ubuntu Game Pack, é uma distro Ubuntu direcionada para games, onde inclui o Wine, o Lutris, o Playolinux a Steam já pré-instalados. https://ualinux.com/en/download/category/25-ubuntu-gamepack
  21. nunopicado

    SAFT com Delphi, ou Lazaru

    Isso mesmo. Não percebi... O HashControl é o número de versão da chave privada usada para criar o hash. Geralmente será simplesmente '1'. Há casos excepcionais, como faturas recuperadas e/ou de outros programas, em que o HashControl é acrescentado de outros valores, mas geralmente é só mesmo um dígito. FiscalYear é somente o ano a que diz respeito o SAFT. Um SAFT deste mês teria o FiscalYear = 2020. São dois campos separados, completamente distintos um do outro. Tens aqui um SAFT de exemplo, para verificares mais ou menos como são os campos: <?xml version="1.0"?> <AuditFile xmlns="urn:OECD:StandardAuditFile-Tax:PT_1.04_01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:OECD:StandardAuditFile-Tax:PT_1.04_01 SAF-T-PT.XSD" xmlns:doc="urn:schemas-basda-org:schema-extensions:documentation"> <Header> <AuditFileVersion>1.04_01</AuditFileVersion> <CompanyID>555555550</CompanyID> <TaxRegistrationNumber>555555550</TaxRegistrationNumber> <TaxAccountingBasis>F</TaxAccountingBasis> <CompanyName>Loja Das Coisas Que Se Vendem</CompanyName> <BusinessName>Loja Das Coisas Que Se Vendem LDA</BusinessName> <CompanyAddress> <AddressDetail>Cascos de Rolha</AddressDetail> <City>Fim do Mundo</City> <PostalCode>9999-000</PostalCode> <Region>Crosta Terrestre</Region> <Country>PT</Country> </CompanyAddress> <FiscalYear>2020</FiscalYear> <StartDate>2020-08-01</StartDate> <EndDate>2020-08-31</EndDate> <CurrencyCode>EUR</CurrencyCode> <DateCreated>2020-09-14</DateCreated> <TaxEntity>Loja</TaxEntity> <ProductCompanyTaxID>555555550</ProductCompanyTaxID> <SoftwareCertificateNumber>0000</SoftwareCertificateNumber> <ProductID>Programa Bom Que Tira Faturas</ProductID> <ProductVersion>1.0</ProductVersion> <Telephone>210555666</Telephone> <Fax>210555777</Fax> <Email>bate@porta.pt</Email> </Header> <MasterFiles> <Customer> <CustomerID>1</CustomerID> <AccountID>Desconhecido</AccountID> <CustomerTaxID>999999990</CustomerTaxID> <CompanyName>Consumidor Final</CompanyName> <BillingAddress> <AddressDetail>Desconhecido</AddressDetail> <City>Desconhecido</City> <PostalCode>0000-000</PostalCode> <Country>PT</Country> </BillingAddress> <SelfBillingIndicator>0</SelfBillingIndicator> </Customer> <TaxTable> <TaxTableEntry> <TaxType>IVA</TaxType> <TaxCountryRegion>PT</TaxCountryRegion> <TaxCode>ISE</TaxCode> <Description>Isenta Artigo 9.º do CIVA</Description> <TaxPercentage>0</TaxPercentage> </TaxTableEntry> <TaxTableEntry> <TaxType>IVA</TaxType> <TaxCountryRegion>PT</TaxCountryRegion> <TaxCode>ISE</TaxCode> <Description>Isenta Regime Particular do Tabaco</Description> <TaxPercentage>0</TaxPercentage> </TaxTableEntry> <TaxTableEntry> <TaxType>IVA</TaxType> <TaxCountryRegion>PT</TaxCountryRegion> <TaxCode>RED</TaxCode> <Description>Reduzida </Description> <TaxPercentage>6</TaxPercentage> </TaxTableEntry> <TaxTableEntry> <TaxType>IVA</TaxType> <TaxCountryRegion>PT</TaxCountryRegion> <TaxCode>INT</TaxCode> <Description>Intermédia </Description> <TaxPercentage>13</TaxPercentage> </TaxTableEntry> <TaxTableEntry> <TaxType>IVA</TaxType> <TaxCountryRegion>PT</TaxCountryRegion> <TaxCode>NOR</TaxCode> <Description>Normal </Description> <TaxPercentage>23</TaxPercentage> </TaxTableEntry> </TaxTable> </MasterFiles> <SourceDocuments> <SalesInvoices> <NumberOfEntries>1</NumberOfEntries> <TotalDebit>0.00</TotalDebit> <TotalCredit>2.83</TotalCredit> <Invoice> <InvoiceNo>FR AM1/2609</InvoiceNo> <ATCUD>0</ATCUD> <DocumentStatus> <InvoiceStatus>N</InvoiceStatus> <InvoiceStatusDate>2020-08-18T16:54:29</InvoiceStatusDate> <SourceID>Zé Trabalhador</SourceID> <SourceBilling>P</SourceBilling> </DocumentStatus> <Hash>UWHDsjo8eZHNs1HhqcHFGR0TPd/rrzWHwTjTF3UalC4rCsPUEzu3PjD/M8wY8e891lvkU6Yc76/gVcfnY1NZlrOt2n1H6bIVNNKFfsIMddvYMBekggoukbMMwy0JdCSgBx2YDrMKYJzFWxPF4eD34nvJuvXL+QeXr2pF0S1D9zk=</Hash> <HashControl>1</HashControl> <Period>8</Period> <InvoiceDate>2020-08-18</InvoiceDate> <InvoiceType>FR</InvoiceType> <SpecialRegimes> <SelfBillingIndicator>0</SelfBillingIndicator> <CashVATSchemeIndicator>0</CashVATSchemeIndicator> <ThirdPartiesBillingIndicator>0</ThirdPartiesBillingIndicator> </SpecialRegimes> <SourceID>Zé Trabalhador</SourceID> <SystemEntryDate>2020-08-18T16:54:29</SystemEntryDate> <CustomerID>1</CustomerID> <Line> <LineNumber>1</LineNumber> <ProductCode>20</ProductCode> <ProductDescription>Tele Novelas</ProductDescription> <Quantity>1</Quantity> <UnitOfMeasure>Un</UnitOfMeasure> <UnitPrice>0.0000000000</UnitPrice> <TaxPointDate>2020-08-18</TaxPointDate> <Description>Tele Novelas</Description> <CreditAmount>0.0000000000</CreditAmount> <Tax> <TaxType>IVA</TaxType> <TaxCountryRegion>PT</TaxCountryRegion> <TaxCode>RED</TaxCode> <TaxPercentage>6</TaxPercentage> </Tax> </Line> <Line> <LineNumber>2</LineNumber> <ProductCode>14</ProductCode> <ProductDescription>Visão</ProductDescription> <Quantity>1</Quantity> <UnitOfMeasure>Un</UnitOfMeasure> <UnitPrice>2.8301886792</UnitPrice> <TaxPointDate>2020-08-18</TaxPointDate> <Description>Visão</Description> <CreditAmount>2.8301886792</CreditAmount> <Tax> <TaxType>IVA</TaxType> <TaxCountryRegion>PT</TaxCountryRegion> <TaxCode>RED</TaxCode> <TaxPercentage>6</TaxPercentage> </Tax> </Line> <DocumentTotals> <TaxPayable>0.17</TaxPayable> <NetTotal>2.83</NetTotal> <GrossTotal>3.00</GrossTotal> <Payment> <PaymentMechanism>NU</PaymentMechanism> <PaymentAmount>3.00</PaymentAmount> <PaymentDate>2020-08-18</PaymentDate> </Payment> </DocumentTotals> </Invoice> </SalesInvoices> <Payments> <NumberOfEntries>1</NumberOfEntries> <TotalDebit>0.00</TotalDebit> <TotalCredit>5.27</TotalCredit> <Payment> <PaymentRefNo>RC AM1/35</PaymentRefNo> <ATCUD>RC AM1/35</ATCUD> <Period>8</Period> <TransactionDate>2020-08-18</TransactionDate> <PaymentType>RG</PaymentType> <Description>Recibo RC AM1/35</Description> <SystemID>56350</SystemID> <DocumentStatus> <PaymentStatus>N</PaymentStatus> <PaymentStatusDate>2020-08-18T15:38:49</PaymentStatusDate> <SourceID>Zé Trabalhador</SourceID> <SourcePayment>P</SourcePayment> </DocumentStatus> <SourceID>Zé Trabalhador</SourceID> <SystemEntryDate>2020-08-18T15:38:49</SystemEntryDate> <CustomerID>2</CustomerID> <Line> <LineNumber>1</LineNumber> <SourceDocumentID> <OriginatingON>FT AM1/395</OriginatingON> <InvoiceDate>2020-08-18</InvoiceDate> <Description>FT AM1/395 - 6%</Description> </SourceDocumentID> <CreditAmount>2.83</CreditAmount> </Line> <Line> <LineNumber>2</LineNumber> <SourceDocumentID> <OriginatingON>FT AM1/395</OriginatingON> <InvoiceDate>2020-08-18</InvoiceDate> <Description>FT AM1/395 - 23%</Description> </SourceDocumentID> <CreditAmount>2.44</CreditAmount> </Line> <DocumentTotals> <TaxPayable>0.73</TaxPayable> <NetTotal>5.27</NetTotal> <GrossTotal>6.00</GrossTotal> </DocumentTotals> </Payment> </Payments> </SourceDocuments> </AuditFile> Tens também no forum um tópico exclusivamente dedicado ao SAFT, onde tens muita informação que te poderá ajudar: https://www.portugal-a-programar.pt/forums/topic/57541-saft-pt-debate-de-dúvidas-e-ideias/?tab=comments#comment-484754
  22. Jose Pedro

    SAFT com Delphi, ou Lazaru

    A legislaçao é a mesma tanto é que a ASSOFT é que montaram o ficheiro xsd para a AT. vulgo (AGT). se eu percebi toda a factura ou seja documento semelhante antes de ser impresso deve-se criar uma rotina para que gere um Hash que será salvo no Banco de dados? e o Hash Control, no Header.FiscalYear := DateTimeToFileDate(anoFiscal.Date); e o resultado é um numero muito grande aplicando o formatDate('yyyy/mm/dd') da erro. qual é a sequencia.
  23. nunopicado

    SAFT com Delphi, ou Lazaru

    Só para confirmar, pelo que percebi ainda não estás a gerar o hash para os documentos, é isso? O Hash tem de ser gerado documento a documento. Não estou por dentro da legislação angolana, mas se for semelhante à portuguesa tens de, ao gerar o documento e antes de o imprimires, gerar o hash (especificações para o criar são dadas pela legislação), pois uma parte do hash será impresso no documento, e o hash completo é depois enviado no SAFT. Ou seja, tens de ter algum lugar na base de dados onde guardes o hash na hora de criar o documento. Ao gerar o SAFT depois basta ir buscar a esse campo. Quanto à forma de criar o hash, em PT há uma portaria do governo que determina quais os campos a assinar (o hash é no fundo uma assinatura) e como devem ser encriptados. Para o caso angolano, terás de ver na legislação o que há. Se for igual a PT, poderás encontrar mais info aqui: https://dre.pt/application/conteudo/25703782
  24. Jose Pedro

    SAFT com Delphi, ou Lazaru

    Caro Nuno. quanto a tabela de fornecedores ficou resolvido era mesmo a falta do bigin do with. muito obrigo pelo reparo. quanto ao Hash nao consigo compreender em que dados devo gerar o Hash.no meu caso so vou trabalhar com 3 tabelas uma das com as informacoes da empresa, uma tabela de vendas e a utima de compras. sobre a tabela de compras esta concluido, restando apenas o Hash, agora estou com dificuldades de gerar as vendas (SalesInvoices). nao consigo completar tipo "DocumentStatus'', ''Reason'', ''SourceID'', ''Hash'', ''HashControl'', "Period" ,"SourceID", "TransactionID", que informacao devo passar. sera que estou a trabalhar na tag certa sobre vendas? aguardo o teu parecer
  25. FlávioSilva

    Apps Windows no Linux

    Olá todos, Eu ando à procura de uma distro Linux que já viesse configurada para ter compatibilidade com as aplicações do Windows. Sei que existe o Wine, mas já tentei, varias vezes configurar o Wine e ela não funcionou como deveria ser. Também já instalei a disto Zorin OS que supostamente já vem com Wine pré-configurado, mas grande parte das apps ou nem abriam para instalar ou depois de instaladas não funcionavam. Ouvi falar de um React OS, mas acho ainda está muito instável e não sei se ele tem capacidade de rodar aplicações mais pesadas ou até jogos. Algum conhece alguma distro para rodar os jogos do Windows, mas que já venha configurada?
  26. Bom dia a todos, Estou a usar PHC e hoje não comunica, diz servidor de autentificação indisponível. Alguém está com problemas de comunicação? Já resolvi Estava a faltar o certificado da chave publica numa das máquinas
  27. M6

    Dados para WebSite (PAP)

    É possível automatizar através de um script que corra, por exemplo, todos os dias ou semanalmente. Não creio que esses dados sejam atualizados diariamente nem creio que deverá haver uma mudança muito grande a nível mensal, pelo que se calhar uma atualização mensal poderá ser suficiente.
  1. Load more activity
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. 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.