on 11-27-2012 3:36 PM
Bom dia a todos,
Alguem saberia como mostrar o campo Serial da tabela OINV, correspondente a NFE no relatório Vencimento de Contas a Receber?
Este campo normalmente não aparece nos relatórios padrão do B1.
Agradeço desde ja a colaboração
Ednelson Vieira
Bom dia Ednelson,
infelizmente não tem essa possibilidade
Aqui na empresa tivemos que fazer uma consulta formatada pra gravar o numero do documento na observação da nota, e ativar o campo observação na baixa do pagar e receber.
1. Crie uma consulta em sql e salve como "N° da NF"
A minha consulta salva o modelo, espécie e numero da nota na observação.
SELECT 'NF: ' + $[$2036.0.0] + ' / ' + $[$2037.0.0] + ' / ' + (SELECT TOP 1 T1.NfmName from ONFM T1 WHERE T1.AbsEntry = $[$2062.0.0] )
2. Ative a consulta no campo observação, quando mudar o campo "modelo".
3. quando você colocar o número, série e modelo, será automaticamente guardado na observação.
Essa observação não usamos pra nada aqui na empresa, só pra guardar o número da nota.
4. No contas a pagar ou a receber, ative a observação.
Na baixa, ative o campo observação, assim você saberá qual nota fiscal está sendo baixada.
Este é o único método até agora pra sair o número da nota fisca na tela, já no resto do sistema não tem jeito, tem vários lugares que não tem a opção pra colocar a observação, eu tive que desenvolver vários relatórios financeiros em crystal por causa dessa limitação.
Eu abri uma ideia no IDEA PLACE para esses campos (https://cw.sdn.sap.com/cw/ideas/6697) se você puder votar eu agradeço,
Abraço
Fabio
SAP 8.82 PL9.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bom dia Fabio,
Agradeço desde ja sua atenção, isso e bastante util, porem o que eu queria mesmo e' aproveitar
o relato'rio padrão do sistema CONTAS A RECEBER formata-lo com este campo, para não ter que fazer um Crystal Report ou uma consulta formatada.
Irei aproveitar estes seus procedimentos para completar dados em nossas Nfe,s. vai ficar legal.
Fabio por um acaso vc tem alguma consulta pronta considerando Contas a Receber e Boleto simultaneamente.. pq vc sabe que para abrir o boleto temos que fechar o contas a receber certo?
Atenciosamente
Ednelson Vieira
Boa noite,
uso o sql abaixo, até agora está funcionando bem, se precisar melhorar esteja a vontade,
SELECT
'NS' as 'Tipo'
, MAX(T0.[DocNum]) as 'ID'
,( ISNULL((SELECT TOP 1 T4.NfmName from ONFM T4 WHERE T4.AbsEntry = T0.Model),'') + ' / ' + t0.SeriesStr + ' / ' + CAST(T0.SERIAL AS VARCHAR) ) as 'Documento'
, (CAST( MAX(T1.[InstlmntID]) as varchar) + ' de ' +
(SELECT CAST(MAX(T3.[InstlmntID]) AS VARCHAR) FROM [dbo].[INV6] T3 WHERE T3.[DocEntry] = T0.[DocEntry]) ) as Parcela
, MAX(T0.[TaxDate]) as 'Dt.Emissão'
, MAX(T0.[DocDate]) as 'Dt.Entrada'
, MAX(T1.[DueDate]) as 'Dt.Vencimento'
, MAX(T0.[CardCode]) as 'Codigo PN'
, MAX(T0.[CardName]) as 'Nome PN'
, MAX(T0.[TransId]) as TransId
, MAX(T1.[InsTotal]) as 'TotalTitulo'
, ( MAX(T1.[InsTotal]) - MAX(T1.[PaidToDate]) ) as 'TotalSaldo'
, MAX(T0.[Comments]) as 'Observação'
, T0.[ObjType]
FROM [dbo].[OINV] T0
INNER JOIN [dbo].[INV6] T1 ON T1.[DocEntry] = T0.[DocEntry]
LEFT OUTER JOIN [dbo].[INV5] T2 ON T0.[DocEntry] = T2.[AbsEntry]
WHERE (T1.[TotalBlck] <> T1.[InsTotal] AND
( T1.[InsTotal] - T1.[PaidToDate] ) <> 0 )
GROUP BY T0.[DocEntry], T1.[InstlmntID], T0.[ObjType], T0.Model, T0.SeriesStr, T0.Serial
UNION
-- Lançamentos manuais
SELECT 'LC30' as Tipo
, T0.[TransId] as 'ID'
, CAST( T0.[TransId] as varchar) as 'Documento'
, '1 de 1' as 'Parcela'
, T0.[TaxDate] as 'Dt.Emissão'
, T0.[RefDate] as 'Dt.Entrada'
, T0.[DueDate] as 'Dt.Vencimento'
, T2.[CardCode] as 'Codigo PN'
, T2.[CardName] as 'Nome PN'
, T0.[TransId]
, T0.[Debit] as 'TotalTitulo'
, T0.[BalDueDeb] as 'TotalSaldo'
, T0.[LineMemo] as 'Observação'
, T0.[ObjType]
FROM [dbo].[JDT1] T0
INNER JOIN [dbo].[OJDT] T1 ON T0.[TransId] = T1.[TransId]
INNER JOIN [dbo].[OCRD] T2 ON T0.[ShortName] = T2.[CardCode]
where T0.[TransType] = 30 and T0.[BalDueDeb] > 0
UNION
-- Baixa por conta.
SELECT 'LC30' as Tipo
, T0.[TransId] as 'ID'
, CAST( T0.[TransId] as varchar) as 'Documento'
, '1 de 1' as 'Parcela'
, T0.[TaxDate] as 'Dt.Emissão'
, T0.[RefDate] as 'Dt.Entrada'
, T0.[DueDate] as 'Dt.Vencimento'
, T2.[CardCode] as 'Codigo PN'
, T2.[CardName] as 'Nome PN'
, T0.[TransId]
, T0.[Credit] as 'TotalTitulo'
, T0.[BalDueCred] as 'TotalSaldo'
, T0.[LineMemo] as 'Observação'
, T0.[ObjType]
FROM [dbo].[JDT1] T0
INNER JOIN [dbo].[OJDT] T1 ON T0.[TransId] = T1.[TransId]
INNER JOIN [dbo].[OCRD] T2 ON T0.[ShortName] = T2.[CardCode]
where T0.[TransType] = 30 and T0.[BalDueCred] <> 0
UNION
-- Boletos
SELECT 'BOL' as Tipo
, T0.[BoeNum] as 'ID'
, ('BOL/'+ CAST( T0.[BoeNum] as varchar)) as 'Documento'
, '1 de 1' as 'Parcela'
, T0.[Pmntdate] as 'Dt.Emissão'
, T0.[Pmntdate] as 'Dt.Entrada'
, T0.[DueDate] as 'Dt.Vencimento'
, T0.[CardCode] as 'Codigo PN'
, T0.[CardName] as 'Nome PN'
, T0.[BoeNum]
, T0.[BoeSum] as 'TotalTitulo'
, T0.[BoeSum] as 'TotalSaldo'
, 'Boleto' as 'Observação'
, 0 as 'ObjType'
FROM [dbo].[OBOE] T0
where T0.BoeType = 'I' and (T0.BoeStatus = 'G' or T0.BoeStatus = 'S')
Abraço,
Fabio
SAP 8.82 PL9
Boa noite Humberto,
no meu caso, eu tenho 4 relatórios distintos.
- Contas a Pagar
- Contas Pagas
- Contas a Receber
- Contas Recebidas.
O SQL de contas recebidas que uso é este, por enquanto funciona bem, se você melhorar por gentileza publique uma nova versão do SQL.
select T0.DocNum as 'NumBaixa', T0.DocEntry as 'NumNR', T0.SumApplied as 'ValorBaixa', T1.DocDate as 'DataBaixa',
CASE
WHEN T0.InvType = 13 THEN (SELECT TOP 1 ( ISNULL((SELECT TOP 1 T4.NfmName from ONFM T4 WHERE T4.AbsEntry = T3.Model),'') + ' / ' + ISNULL(T3.SeriesStr,'') + ' / ' + CAST(T3.Serial AS VARCHAR) )
FROM OINV T3 WHERE T3.DocNum = T0.DocEntry )
WHEN T0.InvType = 30 THEN 'LC /' + CAST(T0.DocNum AS VARCHAR)
END as 'Documento',
CASE
WHEN T0.InvType = 13 THEN
(CAST( T0.[DocLine] + 1 as varchar) + ' de ' +
(SELECT CAST(MAX(T3.[InstlmntID]) AS VARCHAR) FROM [dbo].[INV6] T3 WHERE T3.[DocEntry] = T0.[DocEntry]) )
WHEN T0.InvType = 30 THEN '1 de 1'
END as 'Parcela',
CASE
WHEN T0.InvType = 13 THEN (SELECT TOP 1 T3.[TaxDate] FROM OINV T3 WHERE T3.DocNum = T0.DocEntry)
WHEN T0.InvType = 30 THEN (SELECT TOP 1 T3.[TaxDate] FROM OJDT T3 WHERE T3.Number = T0.DocEntry)
END as 'DataEmissao',
CASE
WHEN T0.InvType = 13 THEN (SELECT TOP 1 T3.[DocDate] FROM OINV T3 WHERE T3.DocNum = T0.DocEntry)
WHEN T0.InvType = 30 THEN (SELECT TOP 1 T3.[RefDate] FROM OJDT T3 WHERE T3.Number = T0.DocEntry)
END as 'DataEntrada',
CASE
WHEN T0.InvType = 13 THEN (SELECT TOP 1 T3.[DueDate] FROM INV6 T3 WHERE T3.DocEntry = T0.DocEntry and T3.InstlmntID = T0.DocLine + 1)
WHEN T0.InvType = 30 THEN (SELECT TOP 1 T3.[DueDate] FROM OJDT T3 WHERE T3.Number = T0.DocEntry)
END as 'DataVencimento',
CASE
WHEN T0.InvType = 13 THEN (SELECT TOP 1 T3.[InsTotal] FROM INV6 T3 WHERE T3.DocEntry = T0.DocEntry and T3.InstlmntID = T0.DocLine + 1)
WHEN T0.InvType = 30 THEN (SELECT TOP 1 T3.[LocTotal] FROM OJDT T3 WHERE T3.Number = T0.DocEntry)
END as 'ValorDocumento',
(ISNULL( (SELECT TOP 1 T3.AcctName from OACT T3 WHERE T3.AcctCode = T1.TrsfrAcct AND T1.TrsfrSum <> 0 ) + ', ', '') +
ISNULL( (SELECT TOP 1 T3.AcctName from OACT T3 WHERE T3.AcctCode = T1.CashAcct AND T1.CashSum <> 0 ) + ', ', '') +
ISNULL( (SELECT TOP 1 T3.AcctName from OACT T3 WHERE T3.AcctCode = T1.CheckAcct AND T1.CheckSum <> 0 ), '') ) as 'TipoBaixa',
isnull((select max(T4.ExtrMatch) from JDT1 T4 where (T4.Transid = T1.Transid and T4.ExtrMatch <> 0) ),0) as 'Reconciliacao',
T1.TrsfrAcct,
T1.CashAcct,
T1.CheckAcct,
T1.CardCode,
T5.U_UpCodAnt,
T1.CardName,
T1.BoeNum
FROM RCT2 T0
INNER JOIN ORCT T1 ON T1.DocEntry = T0.DocNum
LEFT JOIN OCRD T5 ON T5.CardCode = T1.CardCode
WHERE T1.Canceled = 'N' AND T1.BoeStatus is null
[]'s
Fabio
SAP 8.82 PL11
Bom dia Alessandro, criei um documento com todas as consultas.
http://scn.sap.com/docs/DOC-46144
Espero que ajude você.
Abraço
Fabio.
User | Count |
---|---|
99 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.