Jump to content

Devailton N. Santana

Membros
  • Content Count

    225
  • Joined

  • Last visited

  • Days Won

    11

Devailton N. Santana last won the day on April 9

Devailton N. Santana had the most liked content!

Community Reputation

18 Bom

2 Followers

About Devailton N. Santana

  • Rank
    Membro Ativo no Fórum
  • Birthday 11/10/1981

Profile Information

  • Sexo
    Masculino

Recent Profile Visitors

713 profile views
  1. Boa tarde, Estou anexando o Relatório Fiscal .Net p/ Geração de DARF no Liber (Gestão Fiscal) modificado por mim e adicionado informações e lista de lançamentos relacionados para ajudar na identificação da GUIA, ou seja, o formulário padrão não nos oferta uma maneira de identificar quais os lançamentos estão relacionados com determinada GUIA e de quais fornecedores são, por isso, elaborei três query's sql (usando oracle, mas deve funcionar em ms-sql também) que apresenta essas informações adicionais muito úteis para os setores Fiscais e Financeiro. Espero que ajude vocês também. Saudações, DNS Fiscal - 32.03.0001 - DARF (sem código de barras) - SQL.TotvsReport
  2. Se você tornar o centro de custo obrigatório terá problemas com lançamentos vindos da folha... pois, o labore não preenche o centro de custo do lançamento, somente os rateios... então o ideal é deixar o rateio como obrigatório... Não é?
  3. Agora tem como... basta atualizar o sistema para a 11.52.61 ou superior e fazer a atualização para o e-Social que terá o tique para inativar o evento para não ser utilizado futuramente...
  4. Olá Felipe, As variáveis seguintes são para os históricos do lançamento financeiro, mas acredito que funcionem para o complemento do histórico contábil também, faça um teste: [NUM] para o Número do Documento [HIS] para o Histórico [sER] para a Série [EMI] para a Data de Emissão [ORD] para o Número da Ordem [NOM] para o Nome Fantasia do Cli/For [RAZ] para a Razão Social do Cliente/Fornecedor [OBS] para Observação do Movimento [TDO] - Código do Tipo de Documento [DTD] - Descrição do tipo de Documento [CTT1] - Código da tabela de classificação 1 do faturamento [CTT2] - Código da tabela de classificação 2 do faturamento [CTT3] - Código da tabela de classificação 3 do faturamento [CTT4] - Código da tabela de classificação 4 do faturamento [CTT5] - Código da tabela de classificação 5 do faturamento [DTT1] - Descrição da tabela de classificação 1 do faturamento [DTT2] - Descrição da tabela de classificação 2 do faturamento [DTT3] - Descrição da tabela de classificação 3 do faturamento [DTT4] - Descrição da tabela de classificação 4 do faturamento [DTT5] - Descrição da tabela de classificação 5 do faturamento [CTF1] - Código da tabela de classificação 1 do financeiro [CTF2] - Código da tabela de classificação 2 do financeiro [CTF3] - Código da tabela de classificação 3 do financeiro [CTF4] - Código da tabela de classificação 4 do financeiro [CTF5] - Código da tabela de classificação 5 do financeiro [DTF1] - Descrição da tabela de classificação 1 do financeiro [DTF2] - Descrição da tabela de classificação 2 do financeiro [DTF3] - Descrição da tabela de classificação 3 do financeiro [DTF4] - Descrição da tabela de classificação 4 do financeiro [DTF5] - Descrição da tabela de classificação 5 do financeiro Abraços, Devailton
  5. Não, mesmo porque você pode ter um movimento com diversos itens, como ficaria isso? Utilize a descrição da sua tabela de Classificação... já vai ajudar sua contabilidade identificar do que se trata. Como é estruturado as suas tabelas de classificação ai? Em Cadastros / Tabelas de Classificação.
  6. Olá, Para quem testou, implementou e continua utilizando a minha sugestão de incluir o CÓDIGO DA SEÇÃO nos PERÍODOS da Ficha Financeira e tiver interesse em ter um HISTOGRAMA DE MÃO-DE-OBRA, no qual é possível saber exatamente quantos funcionários ATIVOS, DEMITIDOS, AFASTADOS, ETC. de determinada FUNÇÃO em determinada COMPETÊNCIA poderá utilizar a QUERY SQL SERVER abaixo. No cadastro de SEÇÕES na aba DADOS CONTÁBEIS se estiver preenchido o NÚMERO DO CENTRO DE CUSTO (código) essa QUERY irá levar esse CENTRO DE CUSTO ao lado da SEÇÃO, isso serve para termos um quantitativo também por centro de custo (se for o caso). O resultado dessa QUERY no Microsoft Excel utilizando a tabela dinâmica dá para ter uma porção de visões referente a quantitativo de mão-de-obra. Espero que sirva para alguém.... SELECT [COMPETÊNCIA],(select CODSECAO+' - '+DESCRICAO from PSECAO WHERE PSECAO.CODCOLIGADA=CODCOLIGADA AND PSECAO.CODIGO=CODSECAO) AS 'SEÇÃO', (SELECT GCCUSTO.CODCCUSTO+' - '+GCCUSTO.NOME FROM GCCUSTO WHERE GCCUSTO.CODCCUSTO=(select NROCENCUSTOCONT from PSECAO WHERE PSECAO.CODCOLIGADA=CODCOLIGADA AND PSECAO.CODIGO=CODSECAO) AND GCCUSTO.CODCOLIGADA=CODCOLIGADA) AS 'CENTRO DE CUSTO DA SEÇÃO' ,(SELECT PCODSITUACAO.DESCRICAO FROM PCODSITUACAO WHERE CODINTERNO=CODSITUACAO) AS 'SITUAÇÃO',COUNT(CHAPA) AS 'QUANTIDADE' ,(SELECT CODIGO+' - '+NOME FROM PFUNCAO WHERE PFUNCAO.CODCOLIGADA=CODCOLIGADA AND PFUNCAO.CODIGO=CODFUNCAO) AS 'FUNÇÃO' FROM (SELECT DISTINCT(CHAPA), ISNULL(CASE WHEN (select NOVASITUACAO from PFHSTSIT where CHAPA=PFPERFF.CHAPA and CONVERT(VARCHAR(6),PFHSTSIT.DATAMUDANCA,112)<=(CAST(ANOCOMP AS VARCHAR(4))+CAST(CASE WHEN MESCOMP='1' THEN '01' WHEN MESCOMP='2' THEN '02' WHEN MESCOMP='3' THEN '03' WHEN MESCOMP='4' THEN '04' WHEN MESCOMP='5' THEN '05' WHEN MESCOMP='6' THEN '06' WHEN MESCOMP='7' THEN '07' WHEN MESCOMP='8' THEN '08' WHEN MESCOMP='9' THEN '09' WHEN MESCOMP='10' THEN '10' WHEN MESCOMP='11' THEN '11' WHEN MESCOMP='12' THEN '12' ELSE '0' END AS VARCHAR (2))) AND DATAMUDANCA = (select max(PFHSTSIT.DATAMUDANCA) from PFHSTSIT where CHAPA=PFPERFF.CHAPA and CONVERT(VARCHAR(6),PFHSTSIT.DATAMUDANCA,112)<=(CAST(ANOCOMP AS VARCHAR(4))+CAST(CASE WHEN MESCOMP='1' THEN '01' WHEN MESCOMP='2' THEN '02' WHEN MESCOMP='3' THEN '03' WHEN MESCOMP='4' THEN '04' WHEN MESCOMP='5' THEN '05' WHEN MESCOMP='6' THEN '06' WHEN MESCOMP='7' THEN '07' WHEN MESCOMP='8' THEN '08' WHEN MESCOMP='9' THEN '09' WHEN MESCOMP='10' THEN '10' WHEN MESCOMP='11' THEN '11' WHEN MESCOMP='12' THEN '12' ELSE '0' END AS VARCHAR (2))) having max(PFHSTSIT.DATAMUDANCA)=max(PFHSTSIT.DATAMUDANCA)) group by NOVASITUACAO having max(CONVERT(VARCHAR(6),PFHSTSIT.DATAMUDANCA,112))=max(CONVERT(VARCHAR(6),PFHSTSIT.DATAMUDANCA,112))) =NULL THEN 'A' ELSE (select NOVASITUACAO from PFHSTSIT where CHAPA=PFPERFF.CHAPA and CONVERT(VARCHAR(6),PFHSTSIT.DATAMUDANCA,112)<=(CAST(ANOCOMP AS VARCHAR(4))+CAST(CASE WHEN MESCOMP='1' THEN '01' WHEN MESCOMP='2' THEN '02' WHEN MESCOMP='3' THEN '03' WHEN MESCOMP='4' THEN '04' WHEN MESCOMP='5' THEN '05' WHEN MESCOMP='6' THEN '06' WHEN MESCOMP='7' THEN '07' WHEN MESCOMP='8' THEN '08' WHEN MESCOMP='9' THEN '09' WHEN MESCOMP='10' THEN '10' WHEN MESCOMP='11' THEN '11' WHEN MESCOMP='12' THEN '12' ELSE '0' END AS VARCHAR (2))) AND DATAMUDANCA = (select max(PFHSTSIT.DATAMUDANCA) from PFHSTSIT where CHAPA=PFPERFF.CHAPA and CONVERT(VARCHAR(6),PFHSTSIT.DATAMUDANCA,112)<=(CAST(ANOCOMP AS VARCHAR(4))+CAST(CASE WHEN MESCOMP='1' THEN '01' WHEN MESCOMP='2' THEN '02' WHEN MESCOMP='3' THEN '03' WHEN MESCOMP='4' THEN '04' WHEN MESCOMP='5' THEN '05' WHEN MESCOMP='6' THEN '06' WHEN MESCOMP='7' THEN '07' WHEN MESCOMP='8' THEN '08' WHEN MESCOMP='9' THEN '09' WHEN MESCOMP='10' THEN '10' WHEN MESCOMP='11' THEN '11' WHEN MESCOMP='12' THEN '12' ELSE '0' END AS VARCHAR (2))) having max(PFHSTSIT.DATAMUDANCA)=max(PFHSTSIT.DATAMUDANCA)) group by NOVASITUACAO having max(CONVERT(VARCHAR(6),PFHSTSIT.DATAMUDANCA,112))=max(CONVERT(VARCHAR(6),PFHSTSIT.DATAMUDANCA,112))) END,'A') AS CODSITUACAO, (CAST(ANOCOMP AS VARCHAR(4))+CAST(CASE WHEN MESCOMP='1' THEN '01' WHEN MESCOMP='2' THEN '02' WHEN MESCOMP='3' THEN '03' WHEN MESCOMP='4' THEN '04' WHEN MESCOMP='5' THEN '05' WHEN MESCOMP='6' THEN '06' WHEN MESCOMP='7' THEN '07' WHEN MESCOMP='8' THEN '08' WHEN MESCOMP='9' THEN '09' WHEN MESCOMP='10' THEN '10' WHEN MESCOMP='11' THEN '11' WHEN MESCOMP='12' THEN '12' ELSE '0' END AS VARCHAR (2))) AS 'COMPETÊNCIA' ,CODSECAO,(SELECT CODFUNCAO FROM PFUNC WHERE PFUNC.CODCOLIGADA=PFPERFF.CODCOLIGADA AND PFUNC.CHAPA=PFPERFF.CHAPA) AS 'CODFUNCAO',CODCOLIGADA FROM PFPERFF ) AS HISTOGRAMADEMAODEOBRA GROUP BY [COMPETENCIA],CODSECAO,CODSITUACAO,CODFUNCAO order by [COMPETENCIA],CODSECAO,CODSITUACAO,CODFUNCAO Grande abraço, Devailton
  7. Olá Dinuness, Conseguiu resolver essa questão? Compartilha o resultado conosco. Fizemos aqui, parametrizando o evento contábil APLICAR: RATEIO CENTRO DE CUSTO e colocamos as contas e suas classificações dentro de cada centro de custo e ajustamos as fórmulas para dar certo, funciona perfeitamente para o primeiro item do movimento (mesmo q o valor desse item seja rateado para diversos centros de custo), mas ele não propaga para os demais itens, para no primeiro, agora não sei se tenho problema com versão do sistema ou se é no formato msm... estou vendo isso. Ats., DNS
  8. Ai Fredux, é uma boa pergunta... eu também não sei exatamente. Não tem muita lógica seu sistema expirar ou bloquear... afinal compramos a licença... o que deveria bloquear é o acesso as atualizações e ao suporte... agora bloquear o sistema é no mínimo estranho, né não?
  9. Podemos abrir chamado de sugestão. Posso abrir um aqui e você ai... Se o restante do pessoal do fórum aderir a ideia, ela pode ganhar força... vários chamados com mesma sugestão, acredito que aceitem.
  10. Pedro, essa é uma ótima ideia hein... mas infelizmente não temos isso... sugira para a Totvs. Além disso, os códigos e descrição das tabelas de classificação poderiam aparecer na mesma tela que selecionamos os itens, pois, facilitaria a identificação também, por exemplo, um produto com nome "TESOURA" pode ter a classificação "JARDINAGEM" ou "MATERIAL DE ESCRITÓRIO" aparecendo a classificação o usuário solicitante e o comprador saberia rapidamente do que se trata. Ats., DNS
  11. Olá Jair, as atualizações de versão via Conversor não exclui essa coluna nova, tão pouco essa coluna nova causa algum problema para o conversor... tudo tranquilo. Já passei por duas atualizações e tudo correu bem. Imagino que nas conversões futuras isso também não seja empecilho. Jair e Paula Moreira, sobre utilizar os históricos das seções seria ótimo, daí não precisaríamos criar essa soluções "paliativas", mas eu sempre tive dificuldades com isso, vocês poderiam compartilhar exemplos de relatórios, planilhas e ect que utilizam histórico de seções conosco? preciso de novas visões, rsrs... Obrigado, Devailton
  12. Bom dia Rodrigo Burgos, realmente não existe um histórico para o centro de custo nos moldes dos históricos de seção, de afastamento e etc., provavelmente porque muitas empresas fazem rateio dos custos de mão-de-obra por diversos centros de custos e isso pode mudar a todo momento, não tendo a mesma ideia de seção que serve para alocar pessoa em locais ou departamentos por exemplo, que muda, mas não muda tanto e também não tem rateio. Se existisse o histórico de centro de custo, uma pessoa que é rateada por diversos centros de custos em determinada competência teria que ter o histórico desses tantos centros de custo nessa competência, fazendo que você tivesse uma tabela de históricos monstruosa. Você conseguirá montar um histórico de centro de custo utilizando as informações da tabela PFMOVCC, nela você terá CHAPA, ANO, MÊS, E CENTRO DE CUSTO, essas são informações suficiente para agrupar e fazer suas amarrações via sql por exemplo. O minha ideia com o CÓDIGO DA SEÇÃO nos períodos da ficha financeira (PFPERFF) é muito parecida com o que acontece com a PFMOVCC, pois, nela agente sabe exatamente que aquele lançamento para determinado funcionário em determinada competência é de determinado centro de custo... e a minha ideia era determinar que determinado período da ficha financeira é de determinada seção... com isso faço todas as amarrações e agrupamentos muito, mais muito mais fácil que utilizar o histórico de seções. Ats., Devailton
  13. Boa tarde Maurício, é sempre um prazer compartilhar conhecimentos e experiências, sempre tem alguém para acrescentar e te ajudar em algo... e assim vamos aprendendo mais e mais. Sobre os rateios fixos não precisamos "criar" o histórico porque o sistema já faz isso, ou seja, ele grava a movimentação por centro de custo mensalmente na tabela PFMOVCC, indicando em todas as competências e períodos que aquela movimentação é de determinado centro de custo. O ruim aqui é que na PFMOVCC não conseguimos base de cálculo de inss, de fgts e etc em campos calculados como na PFPERFF... na PFMOVCC são só os valores dos eventos rateados pelos centros de custos. Se você quer valores dos tributos por centro de custo poderá utilizar as informações da PFENCCC, lá tem PROVISÃO, RAT, FPAS (TERCEIROS), INSS EMPRESA e etc e por centro de custo, é um caminho legal. Sobre rodar o UPDATE, é o seguinte, como é uma informação adicional e que o sistema não foi preparado pela Totvs para salva-la você terá que rodar o update menor no momento que for liberar a competência da folha de pagamento (antes de liberar a competência, mas já com a folha totalmente fechada), assim, ele preencherá o campo CODSECAO da PFPERFF com a seção atual do funcionário, desse modo manterá o histórico sempre atualizado, mas supondo que alguma competência você esqueça de fazer isso, dái você poderá executar o update maior que ele irá atualizar todos anos e competências novamente. Mas isso não tem nenhuma relação com conversão ou atualização de versão e sim com as competências da folha. O campo adicional na tabela de períodos se manterá mesmo com as atualizações de versão do sistema não tendo e nem sendo nenhum problema. Ats., Devailton
  14. Bom dia Bruna, Siga as seguintes etapas. Etapa 01 - Criar coluna adicional na tabela PFPERFF - Essa coluna armazenará o código da seção que o funcionário estava lotado no mês, ano e perído: USE [CORPORERM] GO ALTER TABLE [dbo].[PFPERFF] ADD [CODSECAO] [varchar](35) NULL ALTER TABLE [dbo].[PFPERFF] WITH CHECK ADD CONSTRAINT [FKPFPERFF_PSECAO] FOREIGN KEY([CODCOLIGADA], [CODSECAO]) REFERENCES [dbo].[PSECAO] ([CODCOLIGADA], [CODIGO]) GO Etapa 02 - A query abaixo serve para montar um UPDATE que após ser executado colocará o código da seção do funcionário no período corretamente (ANO, MÊS, NUMERO DO PERÍODO) - Executando a query, você verá o update montado, depois vc deve copiar esse update para nova query e executá-lo também: SELECT 'UPDATE PFPERFF SET CODSECAO='''+ ISNULL(CASE WHEN (select CODSECAO from pfhstsec where CHAPA=PFPERFF.CHAPA and CONVERT(VARCHAR(6),pfhstsec.DTMUDANCA,112)<=(CAST(ANOCOMP AS VARCHAR(4))+CAST(CASE WHEN MESCOMP='1' THEN '01' WHEN MESCOMP='2' THEN '02' WHEN MESCOMP='3' THEN '03' WHEN MESCOMP='4' THEN '04' WHEN MESCOMP='5' THEN '05' WHEN MESCOMP='6' THEN '06' WHEN MESCOMP='7' THEN '07' WHEN MESCOMP='8' THEN '08' WHEN MESCOMP='9' THEN '09' WHEN MESCOMP='10' THEN '10' WHEN MESCOMP='11' THEN '11' WHEN MESCOMP='12' THEN '12' ELSE '0' END AS VARCHAR (2))) AND DTMUDANCA = (select max(pfhstsec.DTMUDANCA) from pfhstsec where CHAPA=PFPERFF.CHAPA and CONVERT(VARCHAR(6),pfhstsec.DTMUDANCA,112)<=(CAST(ANOCOMP AS VARCHAR(4))+CAST(CASE WHEN MESCOMP='1' THEN '01' WHEN MESCOMP='2' THEN '02' WHEN MESCOMP='3' THEN '03' WHEN MESCOMP='4' THEN '04' WHEN MESCOMP='5' THEN '05' WHEN MESCOMP='6' THEN '06' WHEN MESCOMP='7' THEN '07' WHEN MESCOMP='8' THEN '08' WHEN MESCOMP='9' THEN '09' WHEN MESCOMP='10' THEN '10' WHEN MESCOMP='11' THEN '11' WHEN MESCOMP='12' THEN '12' ELSE '0' END AS VARCHAR (2))) having max(pfhstsec.DTMUDANCA)=max(pfhstsec.DTMUDANCA)) group by codsecao having max(CONVERT(VARCHAR(6),pfhstsec.DTMUDANCA,112))=max(CONVERT(VARCHAR(6),pfhstsec.DTMUDANCA,112))) =NULL THEN (SELECT CODSECAO FROM PFUNC WHERE CODCOLIGADA=PFPERFF.CODCOLIGADA AND CHAPA=PFPERFF.CHAPA) ELSE (select CODSECAO from pfhstsec where CHAPA=PFPERFF.CHAPA and CONVERT(VARCHAR(6),pfhstsec.DTMUDANCA,112)<=(CAST(ANOCOMP AS VARCHAR(4))+CAST(CASE WHEN MESCOMP='1' THEN '01' WHEN MESCOMP='2' THEN '02' WHEN MESCOMP='3' THEN '03' WHEN MESCOMP='4' THEN '04' WHEN MESCOMP='5' THEN '05' WHEN MESCOMP='6' THEN '06' WHEN MESCOMP='7' THEN '07' WHEN MESCOMP='8' THEN '08' WHEN MESCOMP='9' THEN '09' WHEN MESCOMP='10' THEN '10' WHEN MESCOMP='11' THEN '11' WHEN MESCOMP='12' THEN '12' ELSE '0' END AS VARCHAR (2))) AND DTMUDANCA = (select max(pfhstsec.DTMUDANCA) from pfhstsec where CHAPA=PFPERFF.CHAPA and CONVERT(VARCHAR(6),pfhstsec.DTMUDANCA,112)<=(CAST(ANOCOMP AS VARCHAR(4))+CAST(CASE WHEN MESCOMP='1' THEN '01' WHEN MESCOMP='2' THEN '02' WHEN MESCOMP='3' THEN '03' WHEN MESCOMP='4' THEN '04' WHEN MESCOMP='5' THEN '05' WHEN MESCOMP='6' THEN '06' WHEN MESCOMP='7' THEN '07' WHEN MESCOMP='8' THEN '08' WHEN MESCOMP='9' THEN '09' WHEN MESCOMP='10' THEN '10' WHEN MESCOMP='11' THEN '11' WHEN MESCOMP='12' THEN '12' ELSE '0' END AS VARCHAR (2))) having max(pfhstsec.DTMUDANCA)=max(pfhstsec.DTMUDANCA)) group by codsecao having max(CONVERT(VARCHAR(6),pfhstsec.DTMUDANCA,112))=max(CONVERT(VARCHAR(6),pfhstsec.DTMUDANCA,112))) END,(SELECT CODSECAO FROM PFUNC WHERE CODCOLIGADA=PFPERFF.CODCOLIGADA AND CHAPA=PFPERFF.CHAPA)) +''' FROM PFPERFF'+' WHERE PFPERFF.ANOCOMP='''+(CAST(ANOCOMP AS VARCHAR(4))) +''' and PFPERFF.MESCOMP='''+(CAST(MESCOMP AS VARCHAR(4))) +''' and PFPERFF.NROPERIODO='''+(CAST(NROPERIODO AS VARCHAR(4))) +''' and PFPERFF.CHAPA='''+(CAST(CHAPA AS VARCHAR(10))) +''' and PFPERFF.CODCOLIGADA='''+(CAST(CODCOLIGADA AS VARCHAR(10)))+'''' FROM PFPERFF ORDER BY CODCOLIGADA,ANOCOMP,MESCOMP,CHAPA,NROPERIODO A partir desse momento você já saberá de qual seção um determinado funcionário era em determinado momento apenas fazendo um select na tabela PFPERFF. Todo o histórico foi criado, agora você já poderá se beneficiar dessa informação. Os funcionários e os períodos existentes até a competência aberta nesse momento já possuem essa informação, mas existirá a necessidade de ir alimentando essa informação nas competências futuras. Para isso você tem duas alternativa, ou você executa o update acima a qualquer momento, ou no momento que for fechar a competência da folha, antes de fechar rodar o update abaixo: UPDATE PFPERFF SET PFPERFF.CODSECAO=PFUNC.CODSECAO FROM PFPERFF,PFUNC WHERE PFPERFF.CODCOLIGADA=PFUNC.CODCOLIGADA AND PFPERFF.CHAPA=PFUNC.CHAPA AND PFPERFF.ANOCOMP=(SELECT PPARAM.ANOCOMP FROM PPARAM) AND PFPERFF.MESCOMP=(SELECT PPARAM.MESCOMP FROM PPARAM) Grande abraço, Devailton
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.