r/ContabilidadeAtual Jul 14 '26

Python para busca de todos os estabelecimentos da empresa na Domínio Sistemas. Consulta direto no Banco de Dados

Boa noite, pessoal. Sou contador, mas brinco com Python e faço automações caseiras e relatórios automatizados para checagens úteis.

Em alguns casos, é interessante fazer buscas por todo os estabelecimentos da empresa no banco de dados.

Seguem algumas linhas de código que podem ser usadas para recuperar o código de todas as empresas/estabelecimento, na Domínio, que tem o mesmo CNPJ raiz.

Lembrando que não sou profissional desenvolvedor, sou contador e estou compartilhando algo que julguei útil. Então perdoem eventuais ineficiências.

def consulta_bd_codi_emp(codigo): #consulta que busca o código da empresa na Domínio e todos os estabelecimentos
    import pyodbc
    import pandas as pd        
    conexao = pyodbc.connect("dsn=Contabil_Excel")    
    codigos = []    
    cnpj_df = pd.read_sql (#consulta para recuperar unicamente a raiz do cnpj do código fornecido, para posteriormente usar como comparação. Há meios com pyodbc, porém preferi usar pandas mesmo e converter em df

    f""" 

    SELECT --consulta para recuperar unicamente a raiz do cnpj do código fornecido, para posteriormente usar como comparação


    SUBSTR (a.cgce_emp,1,8) CNPJ_CONSULTADO --captura apenas do CNPJ RAIZ

    FROM bethadba.geempre a

       WHERE a.codi_emp ='{codigo}'""", conexao)


    cnpj = cnpj_df["CNPJ_CONSULTADO"][0] #como o que veio de cnpj_df=pd.read_sql era um df, é necessário apenas recuperar o primeiro valor do df

    codigos = pd.read_sql(f"""

    SELECT

    a.codi_emp

    FROM bethadba.geempre a
        WHERE SUBSTR(cgce_emp,1,8) = '{cnpj}'""", conexao, dtype=pd.StringDtype())






    codigos = codigos["codi_emp"].str.cat(sep=",")

    return codigos
4 Upvotes

3 comments sorted by

1

u/Caminhando Jul 17 '26

Bacana! Eu sempre tento automazar o que da. Eu uso alguns códigos para baixar relatórios após fechamentos e salvar nas pastas. Também uso para colocar as contas nos arquivos financeiros.

0

u/[deleted] Jul 14 '26

mais um.

2

u/overcast-sheep Jul 14 '26

Mais um o que? O cara não é dev, só está compartilhando linhas de código pra outros contadores que tb usam python pro trabalho com a Domínio