-
Total de itens
485 -
Registro em
-
Última visita
-
Dias Ganho
64
Respostas da Comunidade
-
luisgustavogomes seu post em Formatação do texto rico por tag foi marcado como uma resposta
@Guilherme José Silva, Bom dia, tudo bem?
Ontem ao ler seu post, comecei a procurar e fazer alguns testes no Microsoft.Word utilizando alguns formulários e funcionou muito bem!
Testei importando do Word para a aplicação, nada....
Depois fui verificar a documentação da devexpress e tem como, vide documentação Campos em documentos Rich Text | Controles WinForms | Documentação do DevExpress, logo como o código é utilizado na aplicação, seus controles são customizado e não temos como alterar.
Como solução, tem duas hipóteses, a primeira utilizando campo da base e fazer a operação conforme, comentastes... caso esteja utilizando o SQLSERVER, pode criar campos na consulta já formado com a função FORMAT, FORMAT (Transact-SQL) - SQL Server | Microsoft Learn, tens alguns exemplos de como utilizar, caso não consiga alguma, por favor, informar, como dica, caso utilize essa última abordagem, pode sempre deixar o campo nativo e criar um outro formatado, por exemplo... campo DATAEMISSAO, FORMAT(DATAEMISSAO, 'dd/MM/yyyy') AS 'STR_DATAEMISSAO'.
Espero lhe ajudar.
Abraços.
-
luisgustavogomes seu post em Consumir webservice pelo c# foi marcado como uma resposta
@Gustavo Frason, boa noite!
Já tem 8 anos que não utiliza o visual studio...
Segui a orientação do site da Totvs e consegui consumir o WS via c#
Em anexo meu projeto base dessa chamada!
Espero lhe ajudar.
Abraços
ConsumerWS_RM.7z
-
luisgustavogomes seu post em Lista de funcionário de anos diferentes foi marcado como uma resposta
@jasson nascimento, bom dia!
Segue uma possibilidade em SQLServer...
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET NOCOUNT ON; DECLARE @CODCOLIGADA INT = 1; DECLARE @DATAINICIAL DATETIME = '2008-01-01' DECLARE @DATAFINAL DATETIME = '2023-12-31' DECLARE @DATAFINALAJS DATETIME = DATEADD(DAY,1, @DATAFINAL) ;WITH TAB_DATAS AS ( SELECT @DATAINICIAL AS 'DT' UNION ALL SELECT DATEADD(DAY,1,DT) FROM TAB_DATAS WHERE DT < @DATAFINAL ) , TAB_ANO AS ( SELECT DATETIMEFROMPARTS(ANO,12,31,23,59,59,997) AS 'DT', ANO FROM ( SELECT DISTINCT YEAR(DT) AS 'ANO' FROM TAB_DATAS ) T ) SELECT T.ANO ,T.DT ,P.CODCOLIGADA ,P.CHAPA ,P.DATAMUDANCA ,P.NOVASITUACAO ,F.CODFUNCAO_HIST ,F.NOME_FUNCAO_HIST FROM TAB_ANO T CROSS APPLY ( SELECT P2.CODCOLIGADA ,P2.CHAPA ,P2.DATAMUDANCA ,P2.NOVASITUACAO FROM ( SELECT P1.CODCOLIGADA ,P1.CHAPA ,P1.DATAMUDANCA ,P1.NOVASITUACAO ,ROW_NUMBER() OVER (PARTITION BY P1.CODCOLIGADA, P1.CHAPA ORDER BY P1.CODCOLIGADA, P1.CHAPA, P1.DATAMUDANCA DESC ) AS 'SEQ' FROM DBO.PFHSTSIT P1 WHERE P1.CODCOLIGADA = @CODCOLIGADA AND P1.DATAMUDANCA <= T.DT ) P2 WHERE P2.SEQ = 1 ) P OUTER APPLY ( SELECT H.CODCOLIGADA ,H.CODFUNCAO AS 'CODFUNCAO_HIST' ,F.NOME AS 'NOME_FUNCAO_HIST' FROM DBO.PFHSTFCO H JOIN DBO.PFUNCAO F ON (H.CODCOLIGADA = F.CODCOLIGADA AND H.CODFUNCAO = F.CODIGO) WHERE H.CODCOLIGADA = p.CODCOLIGADA AND H.CHAPA= P.CHAPA AND H.DTMUDANCA = (SELECT MAX(HH.DTMUDANCA) FROM DBO.PFHSTFCO HH WHERE HH.CODCOLIGADA = H.CODCOLIGADA AND HH.CHAPA = H.CHAPA AND HH.DTMUDANCA <= T.DT) ) F WHERE P.NOVASITUACAO NOT IN ('D') ORDER BY T.ANO, P.CHAPA OPTION (MAXDOP 1, MAXRECURSION 0)
Essa query tem a abordagem de verificar o histórico de situação do funcionário! Logo, pode ter supressas... como eu tive de históricos incorretos...
/*
p/s
Vou deixar aqui um outra formar de buscar os registros por grupo, para histórico.
SELECT TOP 1 WITH TIES
CODCOLIGADA
,CHAPA
,DATAMUDANCA
,NOVASITUACAO
FROM DBO.PFHSTSIT
WHERE CODCOLIGADA = 1
ORDER BY ROW_NUMBER() OVER (PARTITION BY CODCOLIGADA, CHAPA ORDER BY CODCOLIGADA, CHAPA, DATAMUDANCA DESC )
*/
Espero lhe ajudar.
Abraços
-
luisgustavogomes seu post em Importação de movimento nucleus via arquivo txt foi marcado como uma resposta
@Pablo Rocha, bom dia, tudo bem ?
Vamos lá...
Utilizo esse recurso a mais de 10 anos... antigamente existia uma página que demostrava o layout para importação do conceito da própria TOTVS, com o conteúdo desta página... criei a seguinte planilha: MOV.xlsx Porém, sempre utilizei o layout da própria TOTVS, pois existes uma particularidade dentro do conceito relacionado a conexão de destino!
Atualmente, concelho a utilização dessa documentação Cross Segmentos - TOTVS BackOffice Linha RM - TOTVS Gestão de Estoque, Compras e Faturamento - MAT - Importação/Exportação de movimentos via Conceito/Layout – Central de Atendimento TOTVS utilizando o conceito de importação da TOTVS e para gerar a documentação terás que importar o layout do gerador de saída, porque nele, podes gerar os exemplos conforme seus movimentos e o book (arquivo extensão .chm ) DOC.chm gerei esse em minha base, deve estar desatualizado, logo, efetue o download e gere atualizado.
Sendo assim, a boa pratica, na minha opinião é utilizar o próprio conceito TOTVS, uma vez que apesar de ter todas as ligações, não precisas utilizar, pois a gera é por movimento... Outro ponto a cuidar é ao exportar o Layout (Gerador de saída) irá listar toda a gera do movimento, por exemplo, tem um movimento que gera financeiro e contábil, ao rodar o layout irá demostrar isso no arquivo de saída "Exemplo", contudo, não podes informar no conceito de entrada, porque esse processo é nativo da aplicação, terás que mandar por exemplo os grupos (M) Movimento (I) Item (T) Tributo e o próprio movimento irá gerar financeiro e contábil... e não esquece que podes gerar em lote.
Segue um print do exemplo que uso:
Espero poder lhe ajudar!
Abraços.
-
luisgustavogomes seu post em Retornar - endereço foi marcado como uma resposta
@Adrian Marques, bom dia, tudo bem?
Terias como explicarmos melhor sua solicitação?
Ficamos no aguardo
Abraços.
-
luisgustavogomes seu post em Login failed for user 'sysdba'. reason: password did not match that for the login provided. foi marcado como uma resposta
Bom dia!
Segue documentação...
Framework - Framework RM - BD - Acerta usuário SQL – Central de Atendimento TOTVS
Se for SQLServer esse erro iria acontecer se mudou de instancia, neste caso irá acontecer o erro de usuário órfão, ou seja , o id da ligação do usuário e do login não está correta!
Identificando e resolvendo problemas de usuários órfãos no SQL Server com a sp_change_users_login - Dirceu Resende
Usuários órfãos no SQL Server? Evite este problema! | SQL From Hell.com
Abraços.
-
luisgustavogomes seu post em Relatório de boleto -> inserir qrcode pix foi marcado como uma resposta
Bom dia,
Só utilizar o componente de Barcode no relatório, porém a chave em questão que terás que montar dinamicamente a string para gerar o code.
Abraços.
-
luisgustavogomes seu post em Armarrações em consulta sql foi marcado como uma resposta
@guimaraescassio, bom dia!
Fiz algumas alterações na sua query!
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET NOCOUNT ON; SELECT F.CODCOLIGADA ,F.IDLAN ,L.NOMEFANTASIA AS 'NOME_FILIAL' ,L.CGC AS 'CNPJ_FILIAL' ,C.NUMBANCO AS 'NUM_BANCO_PAGADOR' ,C.NUMAGENCIA AS 'NUM_AGENCIA_PAGADOR' ,C.NROCONTA AS 'NUM_CONTA_PAGADOR' ,F.CNABAUTENTICACAO AS 'COD_AUTENTICACAO' ,O.NOMEFANTASIA AS 'NOME_CLI/FOR' ,O.CGCCFO AS 'CFP/CNJP_CLI/FOR' ,F.DATAPAG AS 'DATA_PAGTO' ,F.VALORBAIXADO AS 'VLR_BAIXADO' ,D.NUMEROBANCO AS 'NUM_BANCO_FAVORECIDO' ,D.NOMEAGENCIA AS 'NOME_AG_FAVORECIDO' ,D.CODIGOAGENCIA AS 'AG_FAVORECIDO' ,D.CONTACORRENTE AS 'CC_FAVORECIDO' ,D.DIGITOCONTA AS 'DGT_CC_FAVORECIDO' FROM DBO.FLAN AS F JOIN DBO.GFILIAL AS L ON (F.CODCOLIGADA = L.CODCOLIGADA AND F.CODFILIAL = L.CODFILIAL) JOIN DBO.FCXA AS C ON (F.CODCOLIGADA = C.CODCOLIGADA AND F.CODCXA = C.CODCXA) JOIN DBO.FCFO AS O ON (F.CODCOLIGADA = O.CODCOLIGADA AND F.CODCFO = O.CODCFO) JOIN DBO.FDADOSPGTO AS D ON (F.CODCOLIGADA = D.CODCOLIGADA AND F.CODCFO = D.CODCFO AND F.IDPGTO = D.IDPGTO ) WHERE F.CODCOLIGADA = 1 AND F.IDLAN = 169903 OPTION (MAXDOP 1) Geralmente, quando acontece seu tipo de erro, você tens verificar as FK entre as tabelas!
Abraços.
-
luisgustavogomes seu post em Cadastro de grupo de produto em massa via banco de dados foi marcado como uma resposta
@mamartins25, Bom dia, tudo bem!
Criei a seguinte planilha INSERT_TGRUPOPRODUTO_TPRDGRUPOPRODUTO.xlsx para auxiliar a criação do comando que você precisa, porém, tenho que indicar que a melhor forma é utilizar o conceito da aplicação para essa movimentação!
Espero lhe ajudar!
Abraços.
-
luisgustavogomes seu post em Lançamentos duplicados ao realizar baixa foi marcado como uma resposta
@Lucas Costa, bom dia, tudo bem ?
Seja bem-vindo ao fórum!
O valor baixado é o valor que irá para o extrato, ou seja, valor pago! Porém, na tela de baixa existe o valor original baixado esse valor não pode ser superior a 100% do original do lançamento, logo acredito que tenhas algum campo influenciando na baixa... verifica o processo de baixa.
Abraços.
-
luisgustavogomes seu post em Repetições no RM reports foi marcado como uma resposta
@matheusarrifano, bom dia!
Tens que remover a tabela (sql) do detalhe principal.
Outra questão é a sua query, tem que passar a coligada como inteiro!
Abraços.
-
luisgustavogomes seu post em Linha de detalhe RM reports foi marcado como uma resposta
@Marcos Vinicius, boa tarde!
Eu conheço duas formas de atender essa demanda: A primeira é ajustar a query para imprimir os dados lado a lado e a segunda é utilizar 2 sub relatórios para tratar provento e desconto.
Espero lhe ajudar!
Abraços.
-
luisgustavogomes seu post em Extrato separado por débito e crédito foi marcado como uma resposta
@Paulo Lima, boa noite, tudo bem?
Existem diversas formas de criar o relatório, conforme sua necessidade! Porém, no seu caso a questão é a estrutura dos grupos que não está correta para o que você precisa!
O que ocorre na sua estrutura é a utilização do detalhe (principal) como executar a primeira query, logo, quando coloca um sub-grupo na estrutura o seu comportamento é imprimir uma linha do detalhe e o subdetalhe, sendo assim, se sua query do sub-detalhe retorna muitas linhas o resultado é incorreto!
Para seguir na sua ideia de 2 (duas) query's, você terias que deixar o detalhe (principal) vazio e incluir dois subdetalhes ligados ao detalhe principal vazio... e por consequência terás o comportamento esperado!
Contudo, neste gerador, há a possibilidade de criarmos diversos cabeçalhos e rodapés do mesmo detalhe(sub), portanto, para melhor performance e manutenibilidade... criei esse exemplo SIMPLES para demostrar seu uso!
P/S: Mudei sua query...😁 qualquer coisa posso te explicar os motivos... porém, não utiliza a GIMAGEM dessa forma o processador agradece!
Extrato de caixa simples
Espero poder lhe ajudar, se tiver qualquer dúvida, podes responder, sem problemas!
Abraços.
-
luisgustavogomes seu post em Adicionar mais de um e-mail na fv foi marcado como uma resposta
@Raphael Gomes, testa assim... por favor
SELECT STRING_AGG(EMAIL, ',') AS 'EMAIL' FROM DBO.FCFOCONTATO (NOLOCK) WHERE FCFOCONTATO.CODCFO = :CODCFO 'EMAIL'
-
luisgustavogomes seu post em Problemas em adicionar imagens ao relatório do RM reports foi marcado como uma resposta
@Juliana_Delunardo, boa tarde!
Esse objeto é complicado, vou mostrar as duas tratativas que utilizo.
1º Campo da base (utilização da GDIC, dicionário de dados).
Existem duas formas com trabalhar com a imagem, a primeira é localizar o campo da base, navegar até o item desejado e arrastar para o relatório.
1.1 - Arrastar e soltar
Após colocar esse objeto, pode observar que o "flag" - atalho das propriedades fica sem nenhuma alteração, mas nas propriedades mostra que a origem é a tabela de imagem (GIMAGE) e o caminho está ligando a coligada (GCOLIGADA).
1.2 - Adicionando a imagem
Adicionando o objeto ao relatório e posteriormente, usando o flag para setar a ligação do dados, dai para frente o comportamento é o mesmo, origem tabela e depois deve construir o caminho (join).
2º Imagem externa
Aqui também há duas formas...
2.1 - Fonte sem caminho
Só colocar o objeto, clicar em fonte da imagem e apontar no "file system" a imagem e como podes observar o atalho fica com fonte sem caminho.
2.2 - Fonte com caminho
Aqui é ordem muda, clica pelo "flag" no caminho da imagem, que o gerador vai montar a fonte, a diferença é a informação do caminho. Porém, o caminho deve ser acessível pelo usuário que iniciou o serviço do RM.
Resultado
Segue exemplo.
Espero ter lhe ajudado, porém sobre seu comentário das respostas.... tenho que informar que esse gerador é da DevExpress, sendo tratado pela TOTVS para utilização dentro do RM, logo, algumas dividas podem ser encontradas no blog deles!
Espero ajudar!
Abraços.
-
luisgustavogomes seu post em Conceito de meio de pagamento foi marcado como uma resposta
@Paulo Lima, bom dia!
Segue...
O dataset é o MovFormaPagtoData, porém é estranho ter um conceito se esse cadastro á base... não faz muito sentido!
Abraços.
-
luisgustavogomes seu post em Formula visual - envio de e-mail com anexo (pdf) foi marcado como uma resposta
@Yalison, bom dia
Seu problema está no rmsSendEmailActivity ?, se sim, vou deixar uma sequencia de prints para lhe explicar.
Vou começar pelo final o objeto rmsSendEmailActivity precisa passar uma sequencia de bytes para conseguir acessar o arquivo gerado.
Para obter o relatório você previamente já gerou o process do relatório e o mesmo está armazenado na tabela GRELBATCH, portanto, deves retornar essa informação, no meu exemplo, utilizei o objeto rmsConsSQLActivity, vide exemplo:
A consulta "query" que utilizo no SQLSERVER para capturar o dado na tabela é a seguinte:
Desta forma, conseguimos enviar somente um anexo via e-mail, existem diversas formas de chegar ao mesmo resultado, sendo assim, segue o exemplo e espero que lhe ajude!
Ficamos no seu aguardo.
Abraços.