Filipe Sortica Postado 27 Outubro, 2017 Postado 27 Outubro, 2017 Olá, bom dia! Gostaria de sugerir a inclusão do novo componente ACBrFeriado. Ele faz a busca dos feriados de acordo com a API fornecida por http://www.calendario.com.br/. O componente segue a mesma linha do ACBrCEP. A utilização do componente seria assim: ACBrFeriado := TACBrFeriado.Create(nil); try ACBrFeriado.WebService := wsfCalendario; // Aqui poderá mais adiante haver outros WebServices ACBrFeriado.Token := 'seutoken'; ACBrFeriado.OnBuscaEfetuada := FeriadoBuscaEfetuada; // Evento para recuperar os feriados retornados ACBrFeriado.Buscar(Ano, Uf, NomeCidade); // Realiza a busca dos feriados finally ACBrFeriado.Free; end; Ao realizar a consulta, preenche-se a lista dos eventos. Cada evento possui as seguintes informações: TACBrFeriadoEvento = class {...} public {...} property Ano: Integer read fAno write fAno; property Mes: Integer read fMes write fMes; property Dia: Integer read fDia write fDia; property Data: TDateTime read fData write fData; property Nome: String read fNome write fNome; property Descricao: String read fDescricao write fDescricao; property Tipo: TACBrFeriadoTipo read fTipo write fTipo; property Link: String read fLink write fLink; end; O tipo terá os seguintes possíveis valores: TACBrFeriadoTipo = ( ftNenhum, ftNacional, ftEstadual, ftMunicipal, ftFacultativo, ftDiaConvencional ); Um detalhe em relação à busca é que deve ser passado o nome da cidade, em vez de o código do IBGE. Já sugeri ao http://www.calendario.com.br/ que incluam a possibilidade de fazer a consulta dos feriados por meio de sua API utilizando o código do IBGE. Eles retornaram dizendo que irão trabalhar nisso. Então, em breve, poderemos adequar essa parte. Por enquanto, a pesquisa utilizando o nome da cidade deve seguir o padrão que eles especificam no site: http://www.calendario.com.br/api_feriados_municipais_estaduais_nacionais.php. Neste site, também é possível receber gratuitamente o token para a utilização da API. Espero que a contribuição seja útil. Abraços! ACBrFeriado.pas ACBrTCPReg.pas ACBr_TCP.dpk 4 Att,Filipe Sortica Santa Maria / RS Analista de Sistemas
bylaardt Postado 27 Outubro, 2017 Postado 27 Outubro, 2017 Pena que esse site não é tão confiável assim. Dia 11 de agosto não é feriado em Santa Catarina como indica o site: Conforme previsão legal, o feriado é sempre transferido para o domingo seguinte.
Filipe Sortica Postado 27 Outubro, 2017 Autor Postado 27 Outubro, 2017 4 minutos atrás, bylaardt disse: Pena que esse site não é tão confiável assim. Dia 11 de agosto não é feriado em Santa Catarina como indica o site: Conforme previsão legal, o feriado é sempre transferido para o domingo seguinte. Realmente, manter uma base nacional com todos os feriados nacionais, estuaduais e municipais não é nada simples. No caso de Santa Maria, RS, o feriado de 20/09 é estadual, mas consta como estadual e também como municipal. Por isso, entrei em contato com eles para que não apareça como municipal. É possível informá-los para que atualizem a base, de acordo com o que diz no site. Citar Algum feriado de sua cidade está desatualizado? Comunique a nossa equipe!Dúvidas, problemas ou sugestões: [email protected] 1 Att,Filipe Sortica Santa Maria / RS Analista de Sistemas
Filipe Sortica Postado 27 Outubro, 2017 Autor Postado 27 Outubro, 2017 E outra, com os mais de 60 mil membros que o ACBr tem, poderíamos muito bem fazer algo semelhante ao que foi feito com a NFS-e. Cada cidade tem um provedor, uma configuração. Neste caso seria até bem mais simples. Os feriados nacionais são simples, os feriados móveis podem ser calculados, os estaduais temos um pouco mais, e aí iríamos adicionando os municipais. 2 Att,Filipe Sortica Santa Maria / RS Analista de Sistemas
Fundadores Daniel Simoes Postado 27 Outubro, 2017 Fundadores Postado 27 Outubro, 2017 Qual é a receita (forma de ganhar dinheiro) do site: http://www.calendario.com.br/ ? (Toda empresa precisa ter lucro... senão acaba fechando) Pergunto, para saber se não há a possibilidade de descontinuarem ou tornar fechado, o serviço... Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Consultores EMBarbosa Postado 27 Outubro, 2017 Consultores Postado 27 Outubro, 2017 Atualmente eu utilizo Calendários tipo iCAL para fazer controle pessoal e um calendário provido pelo google ou pela Microsoft, para feriados nacionais. Infelizmente, os municípios não disponibilizam esse tipo de informação em formato eletrônico. Manter esse bando de dados não é um trabalho pequeno. Mas termos um componente para utilização de uma API Rest seria interessante. Meu único medo é no futuro não termos outra API para substituir a atual deixar de existir. 6 horas atrás, Filipe Sortica disse: Espero que a contribuição seja útil. Abraços! ACBrFeriado.pas ACBrTCPReg.pas ACBr_TCP.dpk Vou analisar e dar um retorno aqui. []'s Elton Profissionalize o ACBr na sua empresa, conheça o ACBr Pro. (15) 2105-0750 (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.
Filipe Sortica Postado 7 Novembro, 2017 Autor Postado 7 Novembro, 2017 Buenas! Gostaria de enviar novamente como sugestão o componente, agora com algumas alterações. Em 27/10/2017 at 10:51, Filipe Sortica disse: E outra, com os mais de 60 mil membros que o ACBr tem, poderíamos muito bem fazer algo semelhante ao que foi feito com a NFS-e. Cada cidade tem um provedor, uma configuração. Neste caso seria até bem mais simples. Os feriados nacionais são simples, os feriados móveis podem ser calculados, os estaduais temos um pouco mais, e aí iríamos adicionando os municipais. Agora o componente pode também fazer a pesquisa em um arquivo JSON, onde iríamos incluindo os dados dos eventos. Envio junto o arquivo JSON. Os feriados nacionais e estaduais já estão contemplados. Os feriados municipais de Santa Maria e Porto Alegre (RS), Florianópolis (SC), Curitiba (PR), São Paulo (SP), Rio de Janeiro (RJ), Belo Horizonte (MG), Salvador e Feira de Santana (BA) também já estão contemplados. Neste tipo de pesquisa, deve-se utilizar o código do município, em vez de o nome. Junto está indo também um aplicativo demo para o componente. ACBr_TCP.dpk ACBrFeriado.pas ACBrFeriadoEventos.json ACBrTCPReg.pas DemoFeriados.dpr Frm_Feriados.dfm Frm_Feriados.pas Att,Filipe Sortica Santa Maria / RS Analista de Sistemas
Filipe Sortica Postado 7 Novembro, 2017 Autor Postado 7 Novembro, 2017 Em 27/10/2017 at 09:58, bylaardt disse: Pena que esse site não é tão confiável assim. Dia 11 de agosto não é feriado em Santa Catarina como indica o site: Conforme previsão legal, o feriado é sempre transferido para o domingo seguinte. Com a nova alteração, pode-se configurar no arquivo JSON a troca do dia do feriado. Att,Filipe Sortica Santa Maria / RS Analista de Sistemas
Consultores EMBarbosa Postado 7 Novembro, 2017 Consultores Postado 7 Novembro, 2017 3 horas atrás, Filipe Sortica disse: Buenas! Gostaria de enviar novamente como sugestão o componente, agora com algumas alterações. Agora o componente pode também fazer a pesquisa em um arquivo JSON, onde iríamos incluindo os dados dos eventos. Envio junto o arquivo JSON. Os feriados nacionais e estaduais já estão contemplados. Os feriados municipais de Santa Maria e Porto Alegre (RS), Florianópolis (SC), Curitiba (PR), São Paulo (SP), Rio de Janeiro (RJ), Belo Horizonte (MG), Salvador e Feira de Santana (BA) também já estão contemplados. Neste tipo de pesquisa, deve-se utilizar o código do município, em vez de o nome. Junto está indo também um aplicativo demo para o componente. ACBr_TCP.dpk ACBrFeriado.pas ACBrFeriadoEventos.json ACBrTCPReg.pas DemoFeriados.dpr Frm_Feriados.dfm Frm_Feriados.pas Vou verificar Felipe. []'s Elton Profissionalize o ACBr na sua empresa, conheça o ACBr Pro. (15) 2105-0750 (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.
Consultores EMBarbosa Postado 7 Novembro, 2017 Consultores Postado 7 Novembro, 2017 Enviei ao SVN. Mas considero o componente em beta. Confesso que não entendi todas as propriedades (Exemplo: TrocaDiaTipo), mas aqui vão algumas considerações: Notei que o arquivo .json não é válido. Você mesmo pode testar em sites como: https://jsonformatter.org/ ou https://jsonformatter.curiousconcept.com/ Removendo uma vírgula na linha 84 e alterando a linha 2 para incluir uma string (exemplo "definicao": { ), corrige o arquivo. Na busca por feriados de 2017, o programa de exemplo está exibindo "a páscoa" com data de "30/12/1899"... Outra coisa, as classes estão todas dentro do arquivo ACBrFeriado.pas. Seria melhor estarem em arquivos separados. Principalmente as classes abstratas ou básicas (TACBrFeriadoWSClass) e suas implementações (TACBrWSCalendario, TACBrWSJSON). Nota: Ao pesquisar sobre o assunto, acabei encontrando o seguinte projeto: https://github.com/dadosbr/feriados. Pode ser interessante unir forças já que eles mesmos disponibilizaram uma mini-api. 2 1 []'s Elton Profissionalize o ACBr na sua empresa, conheça o ACBr Pro. (15) 2105-0750 (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.
Filipe Sortica Postado 8 Novembro, 2017 Autor Postado 8 Novembro, 2017 15 horas atrás, EMBarbosa disse: Enviei ao SVN. Mas considero o componente em beta. Que bom. 15 horas atrás, EMBarbosa disse: Notei que o arquivo .json não é válido. Você mesmo pode testar em sites como: https://jsonformatter.org/ ou https://jsonformatter.curiousconcept.com/ Removendo uma vírgula na linha 84 e alterando a linha 2 para incluir uma string (exemplo "definicao": { ), corrige o arquivo. Obrigado, realmente foram falhas minhas. 15 horas atrás, EMBarbosa disse: Na busca por feriados de 2017, o programa de exemplo está exibindo "a páscoa" com data de "30/12/1899"... Não consegui reproduzir o erro. Para mim, em 2017, este feriado está aparecendo com a data de 16/04/2017. E funcionando também para os anos seguintes. 15 horas atrás, EMBarbosa disse: Confesso que não entendi todas as propriedades (Exemplo: TrocaDiaTipo) Existem casos que os feriados são, pela legislação, transferidos de dia. Neste caso, pode-se configurar especificando que tipo de troca de dia ocorre. Ex.: Como exemplo que o colega citou acima. Conforme previsão legal, o feriado de 11/08 em SC sempre é transferido para o domingo seguinte. Então, configuramos assim: "trocaDiaTipo": 1, // O tipo de troca será um de-para. "trocaDiaDe": "2,3,4,5,6,7", // Caso o feriado caia em algum desses dias da semana, ele será trocado (entre segunda e sábado). "trocaDiaPara": 1, // O dia da semana para o qual ele será trocado (domingo). "trocaDiaParaSemana": 1 // Indica que a troca ocorrerá para um dia na semana seguinte. Pelo que pesquisei, a troca do dia do feriado prevista legalmente ocorre também no Acre e no Maranhão. Para implementar isso, caso alguém tenha outras maneiras de fazê-lo, pode ficar a vontade para dar sugestões. 15 horas atrás, EMBarbosa disse: Nota: Ao pesquisar sobre o assunto, acabei encontrando o seguinte projeto: https://github.com/dadosbr/feriados. Pode ser interessante unir forças já que eles mesmos disponibilizaram uma mini-api. Eu cheguei a encontrar esse projeto, e me pareceu descontinuado. Mas de repente seria interessante. 15 horas atrás, EMBarbosa disse: Outra coisa, as classes estão todas dentro do arquivo ACBrFeriado.pas. Seria melhor estarem em arquivos separados. Principalmente as classes abstratas ou básicas (TACBrFeriadoWSClass) e suas implementações (TACBrWSCalendario, TACBrWSJSON). Posso alterar de acordo com a sugestão. 1 Att,Filipe Sortica Santa Maria / RS Analista de Sistemas
Consultores EMBarbosa Postado 8 Novembro, 2017 Consultores Postado 8 Novembro, 2017 4 horas atrás, Filipe Sortica disse: Obrigado, realmente foram falhas minhas No SVN já está corrigido. Se puder testar eu agradeceria. 4 horas atrás, Filipe Sortica disse: Não consegui reproduzir o erro. Para mim, em 2017, este feriado está aparecendo com a data de 16/04/2017. E funcionando também para os anos seguintes. Esqueci de mencionar que o erro aconteceu no Lazarus. Pode ser algo relacionado com a codificação dos arquivos. 4 horas atrás, Filipe Sortica disse: Existem casos que os feriados são, pela legislação, transferidos de dia. Neste caso, pode-se configurar especificando que tipo de troca de dia ocorre. Ex.: Como exemplo que o colega citou acima. Conforme previsão legal, o feriado de 11/08 em SC sempre é transferido para o domingo seguinte. Então, configuramos assim: "trocaDiaTipo": 1, // O tipo de troca será um de-para. "trocaDiaDe": "2,3,4,5,6,7", // Caso o feriado caia em algum desses dias da semana, ele será trocado (entre segunda e sábado). "trocaDiaPara": 1, // O dia da semana para o qual ele será trocado (domingo). "trocaDiaParaSemana": 1 // Indica que a troca ocorrerá para um dia na semana seguinte. Pelo que pesquisei, a troca do dia do feriado prevista legalmente ocorre também no Acre e no Maranhão. Para implementar isso, caso alguém tenha outras maneiras de fazê-lo, pode ficar a vontade para dar sugestões. Entendi. Obrigado pela explicação. 4 horas atrás, Filipe Sortica disse: Posso alterar de acordo com a sugestão. Se puder alterar e anexar os arquivos alterados aqui, eu ficaria feliz em atualizar. Mas antes, queira testar a versão do SVN se está tudo ok. 1 []'s Elton Profissionalize o ACBr na sua empresa, conheça o ACBr Pro. (15) 2105-0750 (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.
Fundadores Daniel Simoes Postado 8 Novembro, 2017 Fundadores Postado 8 Novembro, 2017 5 minutos atrás, EMBarbosa disse: Esqueci de mencionar que o erro aconteceu no Lazarus. Pode ser algo relacionado com a codificação dos arquivos. Como posso testar esse problema no Lazarus ? Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Consultores EMBarbosa Postado 8 Novembro, 2017 Consultores Postado 8 Novembro, 2017 1 minuto atrás, Daniel Simoes disse: Como posso testar esse problema no Lazarus ? executar o demo Configurar para buscar do arquivo .json preencher ano com 2017 clicar no botão buscar Na lista de feriados vai aparecer Páscoa com data de 30/12/1899... []'s Elton Profissionalize o ACBr na sua empresa, conheça o ACBr Pro. (15) 2105-0750 (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.
Fundadores Daniel Simoes Postado 8 Novembro, 2017 Fundadores Postado 8 Novembro, 2017 Corrigido... realmente era o caso da eterna briga de UTF8 x Ansi 2 Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Filipe Sortica Postado 14 Novembro, 2017 Autor Postado 14 Novembro, 2017 Em 07/11/2017 at 17:00, EMBarbosa disse: Outra coisa, as classes estão todas dentro do arquivo ACBrFeriado.pas. Seria melhor estarem em arquivos separados. Principalmente as classes abstratas ou básicas (TACBrFeriadoWSClass) e suas implementações (TACBrWSCalendario, TACBrWSJSON). Envio os arquivos alterados conforme a sugestão. Incluídos também os feriados municipais de Aracaju (SE). ACBrFeriadoWSJSON.pas ACBr_TCP.dpk ACBrFeriado.pas ACBrFeriadoEventos.json ACBrFeriadoWSCalendario.pas ACBrFeriadoWSClass.pas 1 Att,Filipe Sortica Santa Maria / RS Analista de Sistemas
Consultores EMBarbosa Postado 17 Novembro, 2017 Consultores Postado 17 Novembro, 2017 Em 14/11/2017 at 11:51, Filipe Sortica disse: Envio os arquivos alterados conforme a sugestão. Incluídos também os feriados municipais de Aracaju (SE). ACBrFeriadoWSJSON.pas ACBr_TCP.dpk ACBrFeriado.pas ACBrFeriadoEventos.json ACBrFeriadoWSCalendario.pas ACBrFeriadoWSClass.pas Olá Filipe, Enviei as alterações Revisão 14168. Me parece OK. Se puder testar agradeço. 1 []'s Elton Profissionalize o ACBr na sua empresa, conheça o ACBr Pro. (15) 2105-0750 (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.
Filipe Sortica Postado 17 Novembro, 2017 Autor Postado 17 Novembro, 2017 Olá Elton! 37 minutos atrás, EMBarbosa disse: Olá Filipe, Enviei as alterações Revisão 14168. Me parece OK. Se puder testar agradeço. Testei aqui e me pareceu OK também. Muito obrigado! Att,Filipe Sortica Santa Maria / RS Analista de Sistemas
Calendario Postado 30 Novembro, 2017 Postado 30 Novembro, 2017 (editado) Em 27/10/2017 at 09:45, Filipe Sortica disse: Olá, bom dia! Gostaria de sugerir a inclusão do novo componente ACBrFeriado. Ele faz a busca dos feriados de acordo com a API fornecida por http://www.calendario.com.br/. O componente segue a mesma linha do ACBrCEP. A utilização do componente seria assim: Muito legal a iniciativa do Felipe! Trabalho no site Calendario.com.br e gostaria de saber como podemos trabalhar juntos nisto. Gostaríamos de prover um calendário confiável e fácil de usar, para todos os desenvolvedores brasileiros. Me coloco à disposição para trabalharmos nisso. Editado 30 Novembro, 2017 por Calendario 3
Consultores EMBarbosa Postado 30 Novembro, 2017 Consultores Postado 30 Novembro, 2017 12 horas atrás, Calendario disse: Trabalho no site Calendario.com.br e gostaria de saber como podemos trabalhar juntos nisto. Gostaríamos de prover um calendário confiável e fácil de usar, para todos os desenvolvedores brasileiros. Me coloco à disposição para trabalharmos nisso. O componente com a consulta de feriados via API disponibilizada pelo site foi adicionado. Você pode, se desejar, colocar um link para esse tópico no seu site para informar a programadores Delphi/Lazarus/Pascal que este componente está disponível. Se tiver alguma outra API, ou alguma sugestão fique a vontade para dizer. []'s Elton Profissionalize o ACBr na sua empresa, conheça o ACBr Pro. (15) 2105-0750 (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.
Calendario Postado 30 Novembro, 2017 Postado 30 Novembro, 2017 2 horas atrás, EMBarbosa disse: O componente com a consulta de feriados via API disponibilizada pelo site foi adicionado. Você pode, se desejar, colocar um link para esse tópico no seu site para informar a programadores Delphi/Lazarus/Pascal que este componente está disponível. Se tiver alguma outra API, ou alguma sugestão fique a vontade para dizer. Sim, pensei nisso. Mas qual seria a melhor página a linkarmos em nosso site? Tem alguma página diretamente de download do componente(s)?
Fundadores Daniel Simoes Postado 30 Novembro, 2017 Fundadores Postado 30 Novembro, 2017 Infelizmente não dá para baixar apenas o componente ACBrFeriado... Seria necessário baixar todo o ACBr e instalar pelo menos o pacote ACBrTCP, usando o instalador automatizado do ACBr https://www.projetoacbr.com.br/como-usar/ Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Calendario Postado 6 Dezembro, 2017 Postado 6 Dezembro, 2017 Olá, Atendendo a pedidos (entre eles do Felipe, criador do componente ACBrFeriados), implementamos a possibilidade de utilizar a API com o código IBGE das cidades. ex: http://www.calendario.com.br/api/api_feriados.php?token=[seu-token]&ano=2017&ibge=3550308 Seria bem legal se alguém conseguisse atualizar o componente para aceitar também os códigos do IBGE. Nós também colocamos um link para o site ACBr e para esta página do fórum na página da API de Feriados http://www.calendario.com.br/dev/api_feriados_municipais_estaduais_nacionais.php Qualquer dúvida ou sugestão, estamos à disposição. Abraços, 2
Filipe Sortica Postado 6 Dezembro, 2017 Autor Postado 6 Dezembro, 2017 Olá! Segue a atualização para consulta com o novo parâmetro. ACBrFeriadoWSCalendario.pas Att,Filipe Sortica Santa Maria / RS Analista de Sistemas
Consultores EMBarbosa Postado 7 Dezembro, 2017 Consultores Postado 7 Dezembro, 2017 Em 06/12/2017 at 08:27, Filipe Sortica disse: Olá! Segue a atualização para consulta com o novo parâmetro. ACBrFeriadoWSCalendario.pas Já estou verificando. []'s Elton Profissionalize o ACBr na sua empresa, conheça o ACBr Pro. (15) 2105-0750 (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.
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora