· 6 years ago · Oct 15, 2019, 05:06 PM
1-- Script Inicial -- 09.1509.0000.02 -- 2019.07.31.AM
2-- Script Inicial -- 09.1509.0000.03 -- 2019.09.29.MF
3
4-- Campos de Utilizador
5-- 2018.08.30.MF -- ParametrosGCP.CDU_RF_TipoDataVenc
6-- 2018.08.30.MF -- ParametrosGCP.CDU_RF_TipoPermissao
7-- 2019.04.27.AM -- ParametrosCBL.CDU_Fin_Versao_DLL
8
9-- Tabelas de Utilizador
10-- 2019.05.07.AM -- TDU_RF_ConfigDoc_CRF
11-- 2018.08.01.MF -- TDU_RF_Postos
12-- 2018.08.01.MF -- TDU_RF_Utilizadores
13-- 2018.08.01.MF -- TDU_RF_ConfigDocLiq
14-- 2018.11.16.MF -- TDU_RF_Historico
15
16-- Stored Procedures
17-- 2019.05.09.AM -- sp_Insert_TDU_RF_ConfigDoc_CRF
18-- 2019.05.09.AM -- sp_Update_TDU_RF_ConfigDoc_CRF
19-- 2019.05.09.AM -- sp_Delete_TDU_RF_ConfigDoc_CRF
20-- 2019.05.09.AM -- sp_Select_TDU_RF_ConfigDoc_CRF
21-- 2019.05.09.AM -- sp_Select_TDU_RF_ConfigDoc_CRF_OutrasRetencoes
22-- 2018.08.01.MF -- sp_Insert_TDU_RF_Postos
23-- 2018.08.01.MF -- sp_Update_TDU_RF_Postos
24-- 2018.08.01.MF -- sp_Delete_TDU_RF_Postos
25-- 2018.08.01.MF -- sp_Select_TDU_RF_Postos
26-- 2018.08.01.MF -- sp_DaProximoId_TDU_RF_Postos
27-- 2018.08.01.MF -- sp_Insert_TDU_RF_Utilizadores
28-- 2018.08.01.MF -- sp_Update_TDU_RF_Utilizadores
29-- 2018.08.01.MF -- sp_Delete_TDU_RF_Utilizadores
30-- 2018.08.01.MF -- sp_Select_TDU_RF_Utilizadores
31-- 2018.08.01.MF -- sp_Insert_TDU_RF_ConfigDocLiq
32-- 2018.08.01.MF -- sp_Insert_TDU_RF_ConfigDocLiq
33-- 2018.08.01.MF -- sp_Update_TDU_RF_ConfigDocLiq
34-- 2018.08.01.MF -- sp_Delete_TDU_RF_ConfigDocLiq
35-- 2018.11.23.MF -- sp_Insert_TDU_RF_Historico
36-- 2018.11.16.MF -- sp_Update_TDU_RF_Historico
37-- 2018.11.19.MF -- sp_Delete_TDU_RF_Historico
38-- 2018.11.19.MF -- sp_Select_TDU_RF_Historico
39-- 2018.11.23.MF -- sp_Insere_RF_Pen_TDU_Historico
40-- 2018.08.19.MF -- sp_Delete_DocRetencao
41-- 2018.08.19.MF -- sp_Update_LinhasLiq_DocRetencao
42-- 2018.08.19.MF -- sp_Update_LinhasLiq_DocComprovativo
43-- 2018.11.05.MF -- sp_CorrigeRastreabilidade_RF
44
45-- Functions
46-- 2018.11.15.MF -- fn_Select_Pendentes_Estado
47-- 2018.11.14.MF -- fn_Select_Liquidacoes_RF
48-- 2018.11.14.MF -- fn_Select_RF_Sem_Rastreabilidade
49-- 2018.11.19.MF -- fn_Select_TDU_RF_Historico
50-- 2019.04.27.AM -- fn_Select_TDU_RF_TiposRendimentos_DocCRF_OutrasRetencoes
51-- 2019.05.06.MF -- fn_DaRastreabilidade_RFC- Utilizada nos mapas
52-- 2019.05.06.MF -- fn_DaRastreabilidade_RFF- Utilizada nos mapas
53
54-- Tipos de Contas Correntes
55-- 2019.09.29.MF -- CRC - Conta Retenção Clientes
56-- 2019.09.29.MF -- CRF - Conta Retenção Fornecedores
57
58-- Documentos de Contas Correntes
59-- 2019.09.29.MF -- RFC - Retenção na Fonte Clientes
60-- 2019.09.29.MF -- RFF - Retenção na Fonte Fornecedores
61-- 2019.09.29.MF -- CRRF - Comprovativo de Receb. Ret. Fonte
62-- 2019.09.29.MF -- CPRF - Comprovativo de Pag. Ret. Fonte
63-- 2019.09.29.MF -- TRFC - Transferência de Retenção na Fonte Clientes
64-- 2019.09.29.MF -- TRFF - Transferência de Retenção na Fonte Fornecedores
65-- 2019.09.29.MF -- RGR - Regularização de Retenção
66
67
68-- ## Campos de Utilizador ## ---- ## Campos de Utilizador ## ---- ## Campos de Utilizador ## ---- ## Campos de Utilizador ## ---- ## Campos de Utilizador ## ---- ## Campos de Utilizador ## --
69
70-- =======================================================================================================================
71-- Alter Table dbo.ParametrosCBL =========================================================================================
72-- ADD CDU_Fin_Versao_DLL ================================================================================================
73-- Autor: António Muteca =================================================================================================
74-- Data: 2019.04.26 ======================================================================================================
75-- =======================================================================================================================
76IF NOT EXISTS(SELECT 1 FROM sys.objects O INNER JOIN sys.all_columns C ON O.object_id = C.object_id WHERE C.Name = 'CDU_Fin_Versao_DLL' AND O.name = 'ParametrosCBL')
77BEGIN
78 ALTER TABLE dbo.ParametrosCBL
79 ADD CDU_Fin_Versao_DLL NVARCHAR(15) DEFAULT '9.1509.1907.1' NOT NULL -- 09.1509.1907.1
80END
81
82-- =======================================================================================================================
83-- Alter Table dbo.ParametrosGCP =========================================================================================
84-- ADD CDU_RF_TipoDataVenc ===============================================================================================
85-- 1: Cond. Pagamento; 2: Último dia do mês; 3: Último dia útil do mês; 4: Último dia útil do mês seguinte; ==============
86-- Autor: Miguel Ferreira ================================================================================================
87-- Data: 2018.08.30 ======================================================================================================
88-- =======================================================================================================================
89IF NOT EXISTS(SELECT 1 FROM sys.objects O INNER JOIN sys.all_columns C ON O.object_id = C.object_id WHERE C.Name = 'CDU_RF_TipoDataVenc' AND O.name = 'ParametrosGCP')
90BEGIN
91 ALTER TABLE dbo.ParametrosGCP
92 ADD CDU_RF_TipoDataVenc INT DEFAULT 1 NOT NULL
93END
94
95-- =======================================================================================================================
96-- Alter Table dbo.ParametrosGCP =========================================================================================
97-- ADD CDU_RF_TipoPermissao ==============================================================================================
98-- 1: Postos; 2: Utilizadores; 3: Sem Validação ==========================================================================
99-- Autor: Miguel Ferreira ================================================================================================
100-- Data: 2018.08.30 ======================================================================================================
101-- =======================================================================================================================
102IF NOT EXISTS(SELECT 1 FROM sys.objects O INNER JOIN sys.all_columns C ON O.object_id = C.object_id WHERE C.Name = 'CDU_RF_TipoPermissao' AND O.name = 'ParametrosGCP')
103BEGIN
104 ALTER TABLE dbo.ParametrosGCP
105 ADD CDU_RF_TipoPermissao INT DEFAULT 2 NOT NULL
106END
107
108
109-- ## Tabelas de Utilizador ## ---- ## Tabelas de Utilizador ## ---- ## Tabelas de Utilizador ## ---- ## Tabelas de Utilizador ## ---- ## Tabelas de Utilizador ## ---- ## Tabelas de Utilizador ## --
110-- =====================================================================================
111-- Create Table dbo.TDU_RF_ConfigDoc_CRF =============================================
112-- Autor: António Muteca ==============================================================
113-- Data: 2019.05.09 ====================================================================
114-- =====================================================================================
115IF NOT EXISTS (SELECT 1 FROM sys.objects WHERE name ='TDU_RF_ConfigDoc_CRF' AND Type ='U')
116 BEGIN
117 CREATE TABLE dbo.TDU_RF_ConfigDoc_CRF
118 (
119
120 Id NVARCHAR(100) NOT NULL DEFAULT NEWID()
121 , TipoDoc_RF NVARCHAR(5) NOT NULL
122 , TipoEntidade NVARCHAR(1) NOT NULL
123 , TipoRendimento NVARCHAR(5) NOT NULL
124 , Activo BIT NOT NULL
125 , CONSTRAINT PK_TDU_RF_ConfigDoc_CRF PRIMARY KEY(Id)
126 , CONSTRAINT FK_TDU_RF_ConfigDoc_CRF_TipoDocCCT FOREIGN KEY (TipoDoc_RF) REFERENCES DocumentosCCT (Documento)
127 , CONSTRAINT FK_TDU_RF_ConfigDoc_CRF_TiposRendimento FOREIGN KEY (TipoRendimento) REFERENCES TiposRendimento (TipoRendimento)
128 , CONSTRAINT CK_TDU_RF_ConfigDoc_CRF_TipoEntidade CHECK (TipoEntidade = 'C' OR TipoEntidade = 'F')
129
130 )
131END
132
133-- =====================================================================================
134-- Create Table dbo.TDU_RF_Postos ======================================================
135-- Autor: Miguel Ferreira ==============================================================
136-- Data: 2018.08.01 ====================================================================
137-- =====================================================================================
138IF NOT EXISTS (SELECT 1 FROM sys.objects WHERE name ='TDU_RF_Postos' AND Type ='U')
139BEGIN
140 CREATE TABLE TDU_RF_Postos
141 (
142
143 Id INT NOT NULL
144 , NomePosto NVARCHAR(100) NOT NULL
145 , Descricao NVARCHAR(100) NOT NULL
146 , Activo BIT NOT NULL
147 , CONSTRAINT PK_TDU_RF_Postos_NomePosto PRIMARY KEY (Id)
148 , CONSTRAINT UC_TDU_RF_Postos_NomePosto UNIQUE(NomePosto)
149 )
150END
151GO
152
153-- =================================================================================================================
154-- Create Table dbo.TDU_RF_Utilizadores ============================================================================
155-- Autor: Miguel Ferreira ==========================================================================================
156-- Data: 2018.08.01 ================================================================================================
157-- Data: 2019.04.18.AM - Não permite adicionar FK_TDU_RF_Utilizadores_Codigo porque ================================
158-- o não permite relação entre tabelas de diferentes Bases de Dados ================================================
159-- =================================================================================================================
160IF NOT EXISTS (SELECT 1 FROM sys.objects WHERE name ='TDU_RF_Utilizadores' AND Type ='U')
161BEGIN
162 CREATE TABLE TDU_RF_Utilizadores
163 (
164
165 Codigo VARCHAR(20) NOT NULL
166 , Nome NVARCHAR(100) NOT NULL
167 , Activo BIT NOT NULL
168 , CONSTRAINT PK_TDU_RF_Utilizadores_Codigo PRIMARY KEY (Codigo)
169 )
170END
171
172
173-- ==================================================================================================================
174-- Create Table dbo.TDU_RF_ConfigDocLiq =============================================================================
175-- Autor: Miguel Ferreira ===========================================================================================
176-- Data: 2018.08.01 =================================================================================================
177-- ==================================================================================================================
178IF NOT EXISTS (SELECT 1 FROM sys.objects WHERE name ='TDU_RF_ConfigDocLiq' AND Type ='U')
179BEGIN
180 CREATE TABLE TDU_RF_ConfigDocLiq
181 (
182
183 TipoDoc_Liq NVARCHAR(5) NOT NULL
184 , TipoEntidade NVARCHAR(1) NOT NULL
185 , TipoConta NVARCHAR(3) NOT NULL
186 , TipoDoc NVARCHAR(5) NOT NULL
187 , Activo BIT NOT NULL
188 , CONSTRAINT UC_TDU_RF_ConfigDocLiq_TipoDoc_Liq_TE UNIQUE(TipoDoc_Liq, TipoEntidade)
189 , CONSTRAINT CK_TDU_RF_ConfigDocLiq_TipoEntidade CHECK (TipoEntidade = 'C' OR TipoEntidade = 'F')
190 , CONSTRAINT FK_TDU_RF_ConfigDocLiq_TipoConta FOREIGN KEY (TipoConta) REFERENCES TiposConta (Conta)
191 , CONSTRAINT FK_TDU_RF_ConfigDocLiq_TipoDoc_Liq FOREIGN KEY (TipoDoc_Liq) REFERENCES DocumentosCCT (Documento)
192 , CONSTRAINT FK_TDU_RF_ConfigDocLiq_TipoDoc FOREIGN KEY (TipoDoc) REFERENCES DocumentosCCT (Documento)
193 )
194END
195GO
196
197-- =====================================================================================
198-- Create Table dbo.TDU_RF_Historico ===================================================
199-- Autor: Miguel Ferreira ==============================================================
200-- Data: 2018.11.16 ====================================================================
201-- =====================================================================================
202IF NOT EXISTS (SELECT 1 FROM sys.objects WHERE name ='TDU_RF_Historico' AND Type ='U')
203BEGIN
204 CREATE TABLE TDU_RF_Historico
205 (
206
207 Id INT IDENTITY(1,1) NOT NULL
208 , TipoDoc_RF NVARCHAR(5) NOT NULL
209 , Serie_RF NVARCHAR(5) NOT NULL
210 , NumDoc_RF INT NOT NULL
211 , Utilizador_RF NVARCHAR(20) NOT NULL
212 , DataCriacao_RF DATETIME NOT NULL
213 , TipoDoc_Ret NVARCHAR(5) NULL
214 , Serie_Ret NVARCHAR(5) NULL
215 , NumDoc_Ret INT NULL
216 , Utilizador_Ret NVARCHAR(20) NULL
217 , DataCriacao_Ret DATETIME NULL
218 , Anulado BIT NOT NULL
219 , CONSTRAINT PK_TDU_RF_Historico_Id PRIMARY KEY (Id)
220
221 )
222END
223GO
224
225-- ==========================================================================================================================
226-- Create Table dbo.TDU_RF_TiposRendimentos_DocCRF =============================================================================
227-- Autor: António Muteca ====================================================================================================
228-- Data: 2019.04.26 =========================================================================================================
229-- ==========================================================================================================================
230
231IF NOT EXISTS (SELECT 1 FROM sys.objects WHERE name ='TDU_RF_TiposRendimentos_DocCRF' AND Type ='U')
232BEGIN
233 CREATE TABLE TDU_RF_TiposRendimentos_DocCRF
234 (
235 Id VARCHAR(100) NOT NULL
236 , TipoRendimento NVARCHAR(5) NOT NULL
237 , TipoDoc_RF NVARCHAR(5) NOT NULL
238 , Activo BIT NOT NULL
239 , CONSTRAINT FK_TDU_RF_TiposRendimentos_DocCRF_tIPOrENDIEMTNO
240 FOREIGN KEY (TipoRendimento) REFERENCES dbo.TiposRendimento(TipoRendimento)
241 , CONSTRAINT FK_TDU_RF_TiposRendimentos_DocCRF_TipoDoc_RF
242 FOREIGN KEY (TipoDoc_RF) REFERENCES dbo.DocumentosCCT(Documento)
243 , CONSTRAINT UQ_TDU_TiposRetencoes_DocRF_TipoRend_TipoDocRF UNIQUE(TipoRendimento, TipoDoc_RF)
244
245 )
246END
247GO
248
249-- ## Stored Procedures ## ---- ## Stored Procedures ## ---- ## Stored Procedures ## ---- ## Stored Procedures ## ---- ## Stored Procedures ## ---- ## Stored Procedures ## ---- ## Stored Procedures ## --
250
251-- =====================================================================================
252-- Create PROCEDURE dbo.sp_Insert_TDU_RF_Postos ========================================
253-- Autor: Miguel Ferreira ==============================================================
254-- Data: 2018.08.01 ====================================================================
255-- =====================================================================================
256IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Insert_TDU_RF_Postos' AND Type='P')
257BEGIN
258 DROP PROCEDURE sp_Insert_TDU_RF_Postos
259END
260GO
261CREATE PROCEDURE sp_Insert_TDU_RF_Postos
262 (
263 @Id INT
264 , @NomePosto NVARCHAR(100)
265 , @Descricao NVARCHAR(100)
266 , @Activo BIT
267 )
268AS
269BEGIN
270
271 IF NOT EXISTS (SELECT NomePosto FROM TDU_RF_Postos WHERE NomePosto = @NomePosto)
272 BEGIN
273 INSERT INTO TDU_RF_Postos
274 (
275 Id
276 , NomePosto
277 , Descricao
278 , Activo
279 )
280 VALUES
281 (
282 @Id
283 , @NomePosto
284 , @Descricao
285 , @Activo
286 )
287 END
288 ELSE
289 RAISERROR ('O nome do posto já existe na base de dados',16,1);
290END
291GO
292
293
294-- =====================================================================================
295-- Create PROCEDURE dbo.sp_Update_TDU_RF_Postos ========================================
296-- Autor: Miguel Ferreira ==============================================================
297-- Data: 2018.08.01 ====================================================================
298-- =====================================================================================
299IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Update_TDU_RF_Postos' AND Type='P')
300BEGIN
301 DROP PROCEDURE sp_Update_TDU_RF_Postos
302END
303GO
304CREATE PROCEDURE sp_Update_TDU_RF_Postos
305 (
306 @Id INT
307 , @Descricao NVARCHAR(100)
308 , @Activo BIT
309 )
310AS
311BEGIN
312
313 UPDATE T SET
314 Descricao = @Descricao
315 , Activo = @Activo
316 FROM TDU_RF_Postos T
317 WHERE Id = @Id
318
319END
320GO
321
322
323-- =====================================================================================
324-- Create PROCEDURE dbo.sp_Delete_TDU_RF_Postos ========================================
325-- Autor: Miguel Ferreira ==============================================================
326-- Data: 2018.08.01 ====================================================================
327-- =====================================================================================
328IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Delete_TDU_RF_Postos' AND Type='P')
329BEGIN
330 DROP PROCEDURE sp_Delete_TDU_RF_Postos
331END
332GO
333CREATE PROCEDURE sp_Delete_TDU_RF_Postos
334 (
335 @Id INT
336 )
337AS
338BEGIN
339
340 DELETE T
341 FROM TDU_RF_Postos T
342 WHERE Id = @Id
343
344END
345GO
346
347-- =====================================================================================
348-- Create PROCEDURE dbo.sp_Select_TDU_RF_Postos ========================================
349-- Autor: Miguel Ferreira ==============================================================
350-- Data: 2018.08.01 ====================================================================
351-- =====================================================================================
352IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Select_TDU_RF_Postos' AND Type='P')
353BEGIN
354 DROP PROCEDURE sp_Select_TDU_RF_Postos
355END
356GO
357CREATE PROCEDURE sp_Select_TDU_RF_Postos
358 (
359 @Id INT = 0 -- Todos
360 , @Atributo NVARCHAR(50) = '' -- Todos
361 , @Activo INT = 2 -- Todos
362 )
363AS
364BEGIN
365 IF @Id = 0
366 BEGIN
367 IF @Activo > 1
368 BEGIN
369 SELECT Id, NomePosto, Descricao, Activo
370 FROM TDU_RF_Postos
371 ORDER BY Id
372 END
373 ELSE
374 BEGIN
375 SELECT Id, NomePosto, Descricao, Activo
376 FROM TDU_RF_Postos
377 WHERE Activo = @Activo
378 ORDER BY Id
379 END
380 END
381 ELSE
382 IF @Atributo = ''
383 BEGIN
384 SELECT Id, NomePosto, Descricao, Activo
385 FROM TDU_RF_Postos
386 WHERE Id = @Id
387 ORDER BY Id
388 END
389 ELSE
390 IF @Atributo = 'NomePosto'
391 BEGIN
392 SELECT NomePosto
393 FROM TDU_RF_Postos
394 WHERE Id = @Id
395 ORDER BY Id
396 END
397 ELSE
398 IF @Atributo = 'Descricao'
399 BEGIN
400 SELECT Descricao
401 FROM TDU_RF_Postos
402 WHERE Id = @Id
403 ORDER BY Id
404 END
405 ELSE
406 IF @Atributo = 'Activo'
407 BEGIN
408 SELECT Activo
409 FROM TDU_RF_Postos
410 WHERE Id = @Id
411 ORDER BY Id
412 END
413END
414GO
415
416-- =====================================================================================
417-- Create PROCEDURE dbo.sp_DaProximoId_TDU_RF_Postos ===================================
418-- Autor: Miguel Ferreira ==============================================================
419-- Data: 2019.04.18 ====================================================================
420-- =====================================================================================
421IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_DaProximoId_TDU_RF_Postos' AND Type='P')
422BEGIN
423 DROP PROCEDURE sp_DaProximoId_TDU_RF_Postos
424END
425GO
426CREATE PROCEDURE sp_DaProximoId_TDU_RF_Postos
427
428AS
429BEGIN
430 DECLARE @NovoId INT
431
432 SELECT TOP 1 @NovoId = Id + 1
433 FROM TDU_RF_Postos
434 ORDER BY Id DESC
435
436 SELECT ISNULL(@NovoId,1) AS ProximoId
437
438END
439GO
440
441
442
443-- =====================================================================================
444-- Create PROCEDURE dbo.sp_Insert_TDU_RF_Utilizadores ==================================
445-- Autor: Miguel Ferreira ==============================================================
446-- Data: 2018.08.01 ====================================================================
447-- =====================================================================================
448IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Insert_TDU_RF_Utilizadores' AND Type='P')
449BEGIN
450 DROP PROCEDURE sp_Insert_TDU_RF_Utilizadores
451END
452GO
453CREATE PROCEDURE sp_Insert_TDU_RF_Utilizadores
454 (
455 @Codigo NVARCHAR(20)
456 , @Nome NVARCHAR(100)
457 , @Activo BIT
458 )
459AS
460BEGIN
461
462 INSERT INTO TDU_RF_Utilizadores
463 (
464 Codigo
465 , Nome
466 , Activo
467 )
468 VALUES
469 (
470 @Codigo
471 , @Nome
472 , @Activo
473 )
474
475END
476GO
477
478
479-- =====================================================================================
480-- Create PROCEDURE dbo.sp_Update_TDU_RF_Utilizadores ==================================
481-- Autor: Miguel Ferreira ==============================================================
482-- Data: 2018.08.01 ====================================================================
483-- =====================================================================================
484IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Update_TDU_RF_Utilizadores' AND Type='P')
485BEGIN
486 DROP PROCEDURE sp_Update_TDU_RF_Utilizadores
487END
488GO
489CREATE PROCEDURE sp_Update_TDU_RF_Utilizadores
490 (
491 @Codigo NVARCHAR(20)
492 , @Nome NVARCHAR(100)
493 , @Activo BIT
494 )
495AS
496BEGIN
497
498 UPDATE T SET
499 Nome = @Nome
500 , Activo = @Activo
501 FROM TDU_RF_Utilizadores T
502 WHERE Codigo = @Codigo
503
504END
505GO
506
507
508-- =====================================================================================
509-- Create PROCEDURE dbo.sp_Delete_TDU_RF_Utilizadores ==================================
510-- Autor: Miguel Ferreira ==============================================================
511-- Data: 2018.08.01 ====================================================================
512-- =====================================================================================
513IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Delete_TDU_RF_Utilizadores' AND Type='P')
514BEGIN
515 DROP PROCEDURE sp_Delete_TDU_RF_Utilizadores
516END
517GO
518CREATE PROCEDURE sp_Delete_TDU_RF_Utilizadores
519 (
520 @Codigo NVARCHAR(20)
521 )
522AS
523BEGIN
524
525 DELETE T
526 FROM TDU_RF_Utilizadores T
527 WHERE Codigo = @Codigo
528
529END
530GO
531
532-- =====================================================================================
533-- Create PROCEDURE dbo.sp_Select_TDU_RF_Utilizadores ==================================
534-- Autor: Miguel Ferreira ==============================================================
535-- Data: 2018.08.01 ====================================================================
536-- =====================================================================================
537IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Select_TDU_RF_Utilizadores' AND Type='P')
538BEGIN
539 DROP PROCEDURE sp_Select_TDU_RF_Utilizadores
540END
541GO
542CREATE PROCEDURE sp_Select_TDU_RF_Utilizadores
543 (
544 @Codigo NVARCHAR(20) = '' -- Todos
545 , @Atributo NVARCHAR(50) = '' -- Todos
546 , @Activo INT = 2 -- Todos
547 )
548AS
549BEGIN
550 IF @Codigo = ''
551 BEGIN
552 IF @Activo > 1
553 BEGIN
554 SELECT Codigo, Nome, Activo
555 FROM TDU_RF_Utilizadores
556 ORDER BY Nome
557 END
558 ELSE
559 BEGIN
560 SELECT Codigo, Nome, Activo
561 FROM TDU_RF_Utilizadores
562 WHERE Activo = @Activo
563 ORDER BY Nome
564 END
565 END
566 ELSE
567 IF @Atributo = ''
568 BEGIN
569 SELECT Codigo, Nome, Activo
570 FROM TDU_RF_Utilizadores
571 WHERE Codigo = @Codigo
572 ORDER BY Nome
573 END
574 ELSE
575 IF @Atributo = 'Nome'
576 BEGIN
577 SELECT Nome
578 FROM TDU_RF_Utilizadores
579 WHERE Codigo = @Codigo
580 END
581 ELSE
582 IF @Atributo = 'Activo'
583 BEGIN
584 SELECT Activo
585 FROM TDU_RF_Utilizadores
586 WHERE Codigo = @Codigo
587 END
588END
589GO
590
591
592
593-- =====================================================================================
594-- Create PROCEDURE dbo.sp_Insert_TDU_RF_ConfigDocLiq ==================================
595-- Autor: Miguel Ferreira ==============================================================
596-- Data: 2018.08.01 ====================================================================
597-- =====================================================================================
598IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Insert_TDU_RF_ConfigDocLiq' AND Type='P')
599BEGIN
600 DROP PROCEDURE sp_Insert_TDU_RF_ConfigDocLiq
601END
602GO
603CREATE PROCEDURE sp_Insert_TDU_RF_ConfigDocLiq
604 (
605 @TipoDoc_Liq NVARCHAR(5)
606 , @TipoEntidade NVARCHAR(1)
607 , @TipoConta NVARCHAR(3)
608 , @TipoDoc NVARCHAR(5)
609 , @Activo BIT
610 )
611AS
612BEGIN
613
614 INSERT INTO TDU_RF_ConfigDocLiq
615 (
616 TipoDoc_Liq
617 , TipoEntidade
618 , TipoConta
619 , TipoDoc
620 , Activo
621 )
622 VALUES
623 (
624 @TipoDoc_Liq
625 , @TipoEntidade
626 , @TipoConta
627 , @TipoDoc
628 , @Activo
629 )
630
631END
632GO
633
634
635-- =====================================================================================
636-- Create PROCEDURE dbo.sp_Update_TDU_RF_ConfigDocLiq ==================================
637-- Autor: Miguel Ferreira ==============================================================
638-- Data: 2018.08.01 ====================================================================
639-- =====================================================================================
640IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Update_TDU_RF_ConfigDocLiq' AND Type='P')
641BEGIN
642 DROP PROCEDURE sp_Update_TDU_RF_ConfigDocLiq
643END
644GO
645CREATE PROCEDURE sp_Update_TDU_RF_ConfigDocLiq
646 (
647 @TipoDoc_Liq NVARCHAR(5)
648 , @TipoEntidade NVARCHAR(1)
649 , @TipoConta NVARCHAR(3)
650 , @TipoDoc NVARCHAR(5)
651 , @Activo BIT
652 )
653AS
654BEGIN
655
656 UPDATE T SET
657 TipoEntidade = @TipoEntidade
658 , TipoConta = @TipoConta
659 , TipoDoc = @TipoDoc
660 , Activo = @Activo
661 FROM TDU_RF_ConfigDocLiq T
662 WHERE TipoDoc_Liq = @TipoDoc_Liq
663 AND TipoEntidade = @TipoEntidade
664
665END
666GO
667
668
669-- =====================================================================================
670-- Create PROCEDURE dbo.sp_Delete_TDU_RF_ConfigDocLiq ==================================
671-- Autor: Miguel Ferreira ==============================================================
672-- Data: 2018.08.01 ====================================================================
673-- =====================================================================================
674IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Delete_TDU_RF_ConfigDocLiq' AND Type='P')
675BEGIN
676 DROP PROCEDURE sp_Delete_TDU_RF_ConfigDocLiq
677END
678GO
679CREATE PROCEDURE sp_Delete_TDU_RF_ConfigDocLiq
680 (
681 @TipoDoc_Liq NVARCHAR(5)
682 , @TipoEntidade NVARCHAR(1)
683 )
684AS
685BEGIN
686
687 DELETE T
688 FROM TDU_RF_ConfigDocLiq T
689 WHERE TipoDoc_Liq = @TipoDoc_Liq
690 AND TipoEntidade = @TipoEntidade
691
692END
693GO
694
695
696-- =====================================================================================
697-- Create PROCEDURE dbo.sp_Select_TDU_RF_ConfigDocLiq ==================================
698-- Autor: Miguel Ferreira ==============================================================
699-- Data: 2018.08.01 ====================================================================
700-- =====================================================================================
701IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Select_TDU_RF_ConfigDocLiq' AND Type='P')
702BEGIN
703 DROP PROCEDURE sp_Select_TDU_RF_ConfigDocLiq
704END
705GO
706CREATE PROCEDURE sp_Select_TDU_RF_ConfigDocLiq
707 (
708 @TipoDoc_Liq NVARCHAR(5) = '' -- Todos
709 , @TipoEntidade NVARCHAR(1) = '' -- Todos
710 , @Atributo NVARCHAR(50) = '' -- Todos
711 , @Activo INT = 2 -- Todos
712 )
713AS
714BEGIN
715 IF @TipoDoc_Liq = '' AND @TipoEntidade = ''
716 BEGIN
717 IF @Activo > 1
718 BEGIN
719 SELECT TipoDoc_Liq, TipoEntidade, TipoConta, TipoDoc, Activo
720 FROM TDU_RF_ConfigDocLiq
721 END
722 ELSE
723 BEGIN
724 SELECT TipoDoc_Liq, TipoEntidade, TipoConta, TipoDoc, Activo
725 FROM TDU_RF_ConfigDocLiq
726 WHERE Activo = @Activo
727 END
728 END
729 ELSE
730 IF @Atributo = ''
731 BEGIN
732 SELECT TipoDoc_Liq, TipoEntidade, TipoConta, TipoDoc, Activo
733 FROM TDU_RF_ConfigDocLiq
734 WHERE TipoDoc_Liq = @TipoDoc_Liq
735 AND TipoEntidade = @TipoEntidade
736 END
737 ELSE
738 IF @Atributo = 'TipoConta'
739 BEGIN
740 SELECT TipoConta
741 FROM TDU_RF_ConfigDocLiq
742 WHERE TipoDoc_Liq = @TipoDoc_Liq
743 AND TipoEntidade = @TipoEntidade
744 END
745 ELSE
746 IF @Atributo = 'TipoDoc'
747 BEGIN
748 SELECT TipoDoc
749 FROM TDU_RF_ConfigDocLiq
750 WHERE TipoDoc_Liq = @TipoDoc_Liq
751 AND TipoEntidade = @TipoEntidade
752 END
753 ELSE
754 IF @Atributo = 'Activo'
755 BEGIN
756 SELECT Activo
757 FROM TDU_RF_ConfigDocLiq
758 WHERE TipoDoc_Liq = @TipoDoc_Liq
759 AND TipoEntidade = @TipoEntidade
760 END
761END
762GO
763
764
765-- =====================================================================================
766-- Create PROCEDURE dbo.sp_Insert_TDU_RF_Historico =====================================
767-- Autor: Miguel Ferreira ==============================================================
768-- Data: 2018.11.23 ====================================================================
769-- =====================================================================================
770IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Insert_TDU_RF_Historico' AND Type='P')
771BEGIN
772 DROP PROCEDURE sp_Insert_TDU_RF_Historico
773END
774GO
775CREATE PROCEDURE sp_Insert_TDU_RF_Historico
776 (
777 @TipoDoc_RF NVARCHAR(5)
778 , @Serie_RF NVARCHAR(5)
779 , @NumDoc_RF INT
780 , @Utilizador_RF NVARCHAR(20)
781 )
782AS
783BEGIN
784 BEGIN TRY
785
786 --Coloca como Anulado, o registo (Caso exista)
787 UPDATE T SET Anulado=1 FROM TDU_RF_Historico T WHERE TipoDoc_RF = @TipoDoc_RF AND Serie_RF = @Serie_RF AND NumDoc_RF = @NumDoc_RF AND Anulado = 0
788
789 --Insere o Registo
790 INSERT INTO TDU_RF_Historico
791 (
792 TipoDoc_RF
793 , Serie_RF
794 , NumDoc_RF
795 , Utilizador_RF
796 , DataCriacao_RF
797 , Anulado
798 )
799 VALUES
800 (
801 @TipoDoc_RF
802 , @Serie_RF
803 , @NumDoc_RF
804 , @Utilizador_RF
805 , GETDATE()
806 , 0
807 )
808 END TRY
809 BEGIN CATCH
810 DECLARE @Num_Erro INT, @Msg_Erro VARCHAR(5000)
811
812 SELECT @Num_Erro = ERROR_NUMBER(), @Msg_Erro = ERROR_MESSAGE()
813
814 RAISERROR ('sp_Insert_TDU_RF_Historico: %d: %s', 16, 1, @Num_Erro, @Msg_Erro);
815
816 END CATCH;
817END
818GO
819
820
821-- =====================================================================================
822-- Create PROCEDURE dbo.sp_Update_TDU_RF_Historico =====================================
823-- Autor: Miguel Ferreira ==============================================================
824-- Data: 2018.11.16 ====================================================================
825-- =====================================================================================
826IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Update_TDU_RF_Historico' AND Type='P')
827BEGIN
828 DROP PROCEDURE sp_Update_TDU_RF_Historico
829END
830GO
831CREATE PROCEDURE sp_Update_TDU_RF_Historico
832 (
833 @TipoDoc_RF NVARCHAR(5)
834 , @Serie_RF NVARCHAR(5)
835 , @NumDoc_RF INT
836 , @TipoDoc_Ret NVARCHAR(5)
837 , @Serie_Ret NVARCHAR(5)
838 , @NumDoc_Ret INT
839 , @Utilizador_Ret NVARCHAR(20)
840 )
841AS
842BEGIN
843 BEGIN TRY
844
845 -- Verifica se o Documento RF existe:
846 IF NOT EXISTS(SELECT 1 FROM TDU_RF_Historico WHERE TipoDoc_RF = @TipoDoc_RF AND Serie_RF = @Serie_RF AND NumDoc_RF = @NumDoc_RF AND Anulado = 0)
847 BEGIN
848 RAISERROR ('Erro: %d: %s', 16, 1, 0, 'O documento RF não existe na tabela TDU_RF_Historico.');
849 END
850 ELSE
851 -- Verifica se o Documento está duplicado:
852 IF (SELECT COUNT(1) FROM TDU_RF_Historico WHERE TipoDoc_RF = @TipoDoc_RF AND Serie_RF = @Serie_RF AND NumDoc_RF = @NumDoc_RF AND Anulado = 0 GROUP BY TipoDoc_RF, Serie_RF, NumDoc_RF) > 1
853 BEGIN
854 RAISERROR ('Erro: %d: %s', 16, 1, 0, 'O documento RF está duplicado na tabela TDU_RF_Historico.');
855 END
856 ELSE
857
858 -- Actualiza com a informação do documento de esatdo (VRE/RET):
859 UPDATE T SET TipoDoc_Ret = @TipoDoc_Ret, Serie_Ret = @Serie_Ret, NumDoc_Ret = @NumDoc_Ret, Utilizador_Ret = @Utilizador_Ret, DataCriacao_Ret = GETDATE()
860 FROM TDU_RF_Historico T
861 WHERE TipoDoc_RF = @TipoDoc_RF AND Serie_RF = @Serie_RF AND NumDoc_RF = @NumDoc_RF AND Anulado = 0
862
863
864 END TRY
865 BEGIN CATCH
866 DECLARE @Num_Erro INT, @Msg_Erro VARCHAR(5000)
867
868 SELECT @Num_Erro = ERROR_NUMBER(), @Msg_Erro = ERROR_MESSAGE()
869
870 RAISERROR ('sp_Update_TDU_RF_Historico: %d: %s', 16, 1, @Num_Erro, @Msg_Erro);
871
872 END CATCH;
873
874END
875GO
876
877
878-- =====================================================================================
879-- Create PROCEDURE dbo.sp_Delete_TDU_RF_Historico =====================================
880-- Autor: Miguel Ferreira ==============================================================
881-- Data: 2018.11.19 ====================================================================
882-- =====================================================================================
883IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Delete_TDU_RF_Historico' AND Type='P')
884BEGIN
885 DROP PROCEDURE sp_Delete_TDU_RF_Historico
886END
887GO
888CREATE PROCEDURE sp_Delete_TDU_RF_Historico
889 (
890 @Id INT
891 )
892AS
893BEGIN
894
895 BEGIN TRY
896
897 UPDATE T SET Anulado=1
898 FROM TDU_RF_Historico T
899 WHERE Id=@Id
900
901
902 END TRY
903 BEGIN CATCH
904 DECLARE @Num_Erro INT, @Msg_Erro VARCHAR(5000)
905
906 SELECT @Num_Erro = ERROR_NUMBER(), @Msg_Erro = ERROR_MESSAGE()
907
908 RAISERROR ('sp_Update_TDU_RF_Historico: %d: %s', 16, 1, @Num_Erro, @Msg_Erro);
909
910 END CATCH;
911
912END
913GO
914
915
916-- =====================================================================================
917-- Create PROCEDURE dbo.sp_Select_TDU_RF_Historico =====================================
918-- Autor: Miguel Ferreira ==============================================================
919-- Data: 2018.11.19 ====================================================================
920-- =====================================================================================
921IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Select_TDU_RF_Historico' AND Type='P')
922BEGIN
923 DROP PROCEDURE sp_Select_TDU_RF_Historico
924END
925GO
926CREATE PROCEDURE sp_Select_TDU_RF_Historico
927 (
928 @Id INT = 0 -- Todos
929 )
930AS
931BEGIN
932 IF @Id > 0
933 BEGIN
934 SELECT Id, TipoDoc_RF, Serie_RF, NumDoc_RF, Utilizador_RF, DataCriacao_RF, TipoDoc_Ret, Serie_Ret, NumDoc_Ret, Utilizador_Ret, DataCriacao_Ret, Anulado
935 FROM TDU_RF_Historico
936 WHERE Id=@Id
937
938 END
939 ELSE
940 SELECT Id, TipoDoc_RF, Serie_RF, NumDoc_RF, Utilizador_RF, DataCriacao_RF, TipoDoc_Ret, Serie_Ret, NumDoc_Ret, Utilizador_Ret, DataCriacao_Ret, Anulado
941 FROM TDU_RF_Historico
942 ORDER BY Serie_RF, TipoDoc_RF, NumDoc_RF
943END
944GO
945
946
947-- =====================================================================================
948-- Create PROCEDURE dbo.sp_Insere_RF_Pen_TDU_Historico =================================
949-- Autor: Miguel Ferreira ==============================================================
950-- Data: 2018.11.23 ====================================================================
951-- =====================================================================================
952IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Insere_RF_Pen_TDU_Historico' AND Type='P')
953BEGIN
954 DROP PROCEDURE sp_Insere_RF_Pen_TDU_Historico
955END
956GO
957CREATE PROCEDURE sp_Insere_RF_Pen_TDU_Historico (@Utilizador VARCHAR(20))
958
959AS
960BEGIN
961
962 DECLARE @Sql NVARCHAR(MAX), @TipoDoc NVARCHAR(5), @Serie NVARCHAR(5), @NumDoc INT, @Contador INT, @TotalLinhas INT, @Cursor_RF CURSOR
963
964 SET @Cursor_RF = CURSOR FOR
965
966 SELECT H.TipoDoc, H.Serie, H.NumDocint
967 FROM Historico H
968 WHERE TipoDoc IN ('RFC','RFF')
969 AND H.TipoDoc + ' ' + H.Serie + '/' + RIGHT('00000' + CAST(H.NumDocInt AS VARCHAR),5) NOT IN
970 (SELECT T.TipoDoc_RF + ' ' + T.Serie_RF + '/' + RIGHT('00000' + CAST(T.NumDoc_RF AS VARCHAR),5) FROM TDU_RF_Historico T);
971
972 SET @Sql = '';
973
974 OPEN @Cursor_RF;
975
976 FETCH NEXT FROM @Cursor_RF INTO @TipoDoc, @Serie, @NumDoc;
977 WHILE @@FETCH_STATUS = 0
978 BEGIN
979
980 SET @Sql = @Sql + 'EXEC sp_Insert_TDU_RF_Historico @TipoDoc_RF=''' + @TipoDoc + ''', @Serie_RF=''' + @Serie + ''', @NumDoc_RF=''' + CAST(@NumDoc AS VARCHAR) + ''', @Utilizador_RF=''' + @Utilizador + ''' ' + CHAR(13) + CHAR(10);
981
982 FETCH NEXT FROM @Cursor_RF INTO @TipoDoc, @Serie, @NumDoc;
983
984 END;
985
986 CLOSE @Cursor_RF;
987 DEALLOCATE @Cursor_RF;
988
989 IF LEN(@Sql) > 0
990 BEGIN
991 -- Executa o Insert
992 EXEC sp_ExecuteSQL @Sql;
993 END
994
995END
996GO
997
998
999-- =====================================================================================
1000-- Create PROCEDURE dbo.sp_Delete_DocRetencao ==========================================
1001-- Autor: Miguel Ferreira ==============================================================
1002-- Data: 2018.08.19 ====================================================================
1003-- =====================================================================================
1004IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Delete_DocRetencao' AND Type='P')
1005BEGIN
1006 DROP PROCEDURE sp_Delete_DocRetencao
1007END
1008GO
1009CREATE PROCEDURE sp_Delete_DocRetencao
1010 (
1011 @IdHistorico NVARCHAR(40)
1012 )
1013AS
1014BEGIN
1015 DELETE FROM Pendentes WHERE IdHistorico = @IdHistorico
1016 DELETE FROM Historico WHERE Id = @IdHistorico
1017END
1018GO
1019
1020-- =====================================================================================
1021-- Create PROCEDURE dbo.sp_Update_LinhasLiq_DocRetencao - Moeda Base ===================
1022-- Autor: Miguel Ferreira ==============================================================
1023-- Data: 2018.08.19 ====================================================================
1024-- =====================================================================================
1025IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Update_LinhasLiq_DocRetencao' AND Type='P')
1026BEGIN
1027 DROP PROCEDURE sp_Update_LinhasLiq_DocRetencao
1028END
1029GO
1030CREATE PROCEDURE sp_Update_LinhasLiq_DocRetencao
1031 (
1032 @IdHistorico_Ret NVARCHAR(40)
1033 , @TipoEntidade NVARCHAR(1)
1034 , @Entidade NVARCHAR(12)
1035 , @ModuloOrig NVARCHAR(1)
1036 , @TipoDocOrig NVARCHAR(5)
1037 , @NumDocOrig NVARCHAR(20)
1038 , @NumDocOrigInt INT
1039 , @TipoConta NVARCHAR(3)
1040 , @IdHistorico NVARCHAR(40)
1041 )
1042AS
1043BEGIN
1044 UPDATE LL SET TipoEntidade=@TipoEntidade, Entidade=@Entidade, ModuloOrig=@ModuloOrig, TipoDocOrig=@TipoDocOrig,
1045 NumDocOrig=@NumDocOrig, NumDocOrigInt=@NumDocOrigInt, TipoConta=@TipoConta, IdHistorico=@IdHistorico
1046 FROM LinhasLiq LL
1047 WHERE LL.IdHistorico=@IdHistorico_Ret
1048END
1049GO
1050
1051
1052-- =====================================================================================
1053-- Create PROCEDURE dbo.sp_Update_LinhasLiq_DocComprovativo ============================
1054-- Autor: Miguel Ferreira ==============================================================
1055-- Data: 2018.12.17 ====================================================================
1056-- =====================================================================================
1057IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Update_LinhasLiq_DocComprovativo' AND Type='P')
1058BEGIN
1059 DROP PROCEDURE sp_Update_LinhasLiq_DocComprovativo
1060END
1061GO
1062CREATE PROCEDURE sp_Update_LinhasLiq_DocComprovativo
1063 (
1064 @Valor FLOAT
1065 , @TipoDoc_Liq NVARCHAR(5)
1066 , @NumDoc_Liq INT
1067 , @Serie_Liq NVARCHAR(5)
1068 , @TipoDoc_Ret NVARCHAR(5)
1069 , @NumDoc_Ret INT
1070 )
1071AS
1072BEGIN
1073 UPDATE LL SET ValorOrig = @Valor, ValorRec = @Valor, ValorPend = @Valor, ValorRecMoedaOrig = @Valor
1074 FROM LinhasLiq LL
1075 WHERE LL.TipoDoc = @TipoDoc_Liq
1076 AND LL.NumDoc = @NumDoc_Liq
1077 AND LL.Serie = @Serie_Liq
1078 AND TipoDocOrig= @TipoDoc_Ret
1079 AND NumDocOrigInt = @NumDoc_Ret
1080END
1081GO
1082
1083
1084-- =====================================================================================
1085-- Create PROCEDURE dbo.sp_CorrigeRastreabilidade_RF ===================================
1086-- Autor: Miguel Ferreira ==============================================================
1087-- Data: 2018.11.05 ====================================================================
1088-- =====================================================================================
1089IF EXISTS (SELECT 1 FROM sys.objects WHERE name='sp_CorrigeRastreabilidade_RF' AND type='P')
1090BEGIN
1091 DROP PROCEDURE sp_CorrigeRastreabilidade_RF
1092END
1093GO
1094
1095CREATE PROCEDURE sp_CorrigeRastreabilidade_RF
1096 ( @Filial NVARCHAR(3)
1097 , @Serie NVARCHAR(5)
1098 , @TipoDoc NVARCHAR(5)
1099 , @NumDoc INT
1100 , @FilialOrig NVARCHAR(3)
1101 , @SerieOrig NVARCHAR(5)
1102 , @TipoDocOrig NVARCHAR(5)
1103 , @NumDocOrig INT
1104 , @Estado NVARCHAR(3)
1105 )
1106AS
1107BEGIN
1108
1109BEGIN TRANSACTION Trans_sp_CorrigeRast_RF
1110
1111BEGIN TRY
1112
1113 IF NOT EXISTS(SELECT 1 FROM Historico WHERE Modulo='M' AND Filial = @Filial AND Serie = @Serie AND TipoDoc = @TipoDoc AND NumDocint = @NumDoc)
1114 BEGIN
1115 RAISERROR ('Erro: %d: %s', 16, 1, 0, 'Documento de Liquidação não encontrado');
1116 END
1117 ELSE
1118
1119 IF NOT EXISTS(SELECT 1 FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1120
1121 BEGIN
1122 RAISERROR ('Erro: %d: %s', 16, 1, 1, 'Documento Pendente não encontrado');
1123 END
1124 ELSE
1125
1126 INSERT INTO LinhasLiq
1127 ( TipoEntidade
1128 , Entidade
1129 , TipoDoc
1130 , NumDoc
1131 , DataDoc
1132 , ValorOrig
1133 , ValorRec
1134 , ValorPend
1135 , ValorDesconto
1136 , ModuloOrig
1137 , TipoDocOrig
1138 , NumDocOrig
1139 , NumDocOrigInt
1140 , NumPrestacao
1141 , PendenteGerado
1142 , Filial
1143 , Serie
1144 , FilialOrig
1145 , SerieOrig
1146 , ValorRecMoedaOrig
1147 , ValorDescMoedaOrig
1148 , Estado
1149 , TipoConta
1150 , MoedaDocOrig
1151 , CambioDocOrig
1152 , ContaBNCOrig
1153 , MoedaDaUEMDocOrig
1154 , NumTransferencia
1155 , ValorRetencao
1156 , Id
1157 , IdCabLiq
1158 , DifArredondamento
1159 , DifCambio
1160 , TransfereEntidade
1161 , ContaCBL
1162 , TipoOrig
1163 , CambioMBaseDocOrig
1164 , CambioMAltDocOrig
1165 , CorreccaoMonetaria
1166 , ValorRetencaoPendente
1167 , ValorRetencaoGarantia
1168 , ValorRetencaoGarantiaPendente
1169 , IdHistorico
1170 , DifArredondamentoMAlt
1171 , ValorRetRecMoedaOrig
1172 , ValorRetGarRecMoedaOrig
1173 , ObraId
1174 , IdMovCBLOrig
1175 , WBSItem
1176 , CambioMBaseLiq
1177 , CambioMAltLiq
1178 , CambioLiq
1179 , DifCambioMAlt
1180 , DataCobranca
1181 , ObservacoesSEPA
1182 , Mandato
1183 , ContaDomiciliacao
1184 , Financiada)
1185 VALUES
1186 (
1187 (SELECT TipoEntidade FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1188 , (SELECT Entidade FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1189 , @TipoDoc
1190 , @NumDoc
1191 , (SELECT DataDoc FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1192 , (SELECT ValorTotal FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1193 , (SELECT ValorTotal FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1194 , (SELECT ValorTotal FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1195 , 0
1196 , 'M'
1197 , @TipoDocOrig
1198 , CAST(@NumDocOrig AS VARCHAR)
1199 , @NumDocOrig
1200 , (SELECT NumPrestacao FROM Historico WHERE Modulo='M' AND Filial = @Filial AND Serie = @Serie AND TipoDoc = @TipoDoc AND NumDocint = @NumDoc)
1201 , 1
1202 , @Filial
1203 , @Serie
1204 , @FilialOrig
1205 , @SerieOrig
1206 , (SELECT ValorTotal FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1207 , 0
1208 , @Estado
1209 , (SELECT TipoConta FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1210 , (SELECT Moeda FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1211 , (SELECT Cambio FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1212 , NULL
1213 , 1
1214 , (SELECT NumTransferencia FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1215 , 0
1216 , NEWID()
1217 , (SELECT DISTINCT Id FROM CabLiq WHERE Filial = @Filial AND Serie = @Serie AND TipoDoc = @TipoDoc AND NumDoc = @NumDoc)
1218 , 0
1219 , 0
1220 , 0
1221 , NULL
1222 , 'P'
1223 , (SELECT CambioMBase FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1224 , (SELECT CambioMAlt FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1225 , 0
1226 , 0
1227 , 0
1228 , 0
1229 , (SELECT Id FROM Historico WHERE Modulo='M' AND Filial = @FilialOrig AND Serie = @SerieOrig AND TipoDoc = @TipoDocOrig AND NumDocint = @NumDocOrig)
1230 , 0
1231 , 0
1232 , 0
1233 , NULL
1234 , NULL
1235 , NULL
1236 , 0
1237 , 0
1238 , 0
1239 , 0
1240 , NULL
1241 , NULL
1242 , NULL
1243 , NULL
1244 , 0
1245 )
1246
1247
1248 COMMIT TRANSACTION Trans_sp_CorrigeRast_RF
1249
1250END TRY
1251BEGIN CATCH
1252 DECLARE @Num_Erro INT, @Msg_Erro VARCHAR(5000)
1253
1254 SELECT @Num_Erro = ERROR_NUMBER(), @Msg_Erro = ERROR_MESSAGE()
1255
1256 ROLLBACK TRANSACTION Trans_sp_CorrigeRast_RF
1257
1258 RAISERROR ('sp_CorrigeRastreabilidade_RF: %d: %s', 16, 1, @Num_Erro, @Msg_Erro);
1259
1260END CATCH;
1261
1262END
1263
1264GO
1265
1266-- ====================================================================================================
1267-- CREATE PROCEDURE dbo.sp_Delete_TDU_RF_ConfigDoc_CRF=================================================
1268-- Autor: António Muteca =============================================================================
1269-- Data: 2019.05.09 ===================================================================================
1270-- ====================================================================================================
1271IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Delete_TDU_RF_ConfigDoc_CRF' AND Type='P')
1272BEGIN
1273 DROP PROCEDURE sp_Delete_TDU_RF_ConfigDoc_CRF
1274END
1275GO
1276CREATE PROCEDURE dbo.sp_Delete_TDU_RF_ConfigDoc_CRF
1277(
1278 @Id NVARCHAR(100)
1279)
1280AS
1281BEGIN
1282
1283 DELETE T
1284 FROM TDU_RF_ConfigDoc_CRF T
1285 WHERE Id = @Id
1286END
1287GO
1288
1289-- ====================================================================================================
1290-- CREATE PROCEDURE dbo.sp_Insert_TDU_RF_ConfigDoc_CRF=================================================
1291-- Autor: António Muteca =============================================================================
1292-- Data: 2019.05.09 ===================================================================================
1293-- ====================================================================================================
1294IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Insert_TDU_RF_ConfigDoc_CRF' AND Type='P')
1295BEGIN
1296 DROP PROCEDURE sp_Insert_TDU_RF_ConfigDoc_CRF
1297END
1298GO
1299CREATE PROCEDURE dbo.sp_Insert_TDU_RF_ConfigDoc_CRF
1300 (
1301 @Id NVARCHAR(100)
1302 , @TipoDoc_CRF NVARCHAR(5)
1303 , @TipoEntidade NVARCHAR(1)
1304 , @TipoRendimento NVARCHAR(5)
1305 , @Activo BIT
1306 )
1307AS
1308BEGIN
1309
1310 INSERT INTO TDU_RF_ConfigDoc_CRF
1311 (
1312 TipoDoc_RF
1313 , TipoEntidade
1314 , TipoRendimento
1315 , Activo
1316
1317 )
1318 VALUES
1319 (
1320
1321 @TipoDoc_CRF
1322 , @TipoEntidade
1323 , @TipoRendimento
1324 , @Activo
1325 )
1326
1327END
1328
1329GO
1330
1331-- ====================================================================================================
1332-- CREATE PROCEDURE dbo.sp_Select_TDU_RF_ConfigDoc_CRF(Usado no formConfig=============================
1333-- Autor: António Muteca =============================================================================
1334-- Data: 2019.05.09 ===================================================================================
1335-- ====================================================================================================
1336IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Select_TDU_RF_ConfigDoc_CRF' AND Type='P')
1337BEGIN
1338 DROP PROCEDURE sp_Select_TDU_RF_ConfigDoc_CRF
1339END
1340GO
1341CREATE PROCEDURE dbo.sp_Select_TDU_RF_ConfigDoc_CRF
1342AS
1343BEGIN
1344 SELECT C.TipoEntidade AS 'E'
1345 , D.Documento AS 'Doc.'
1346 , D.Descricao AS 'Documento'
1347 , T.TipoRendimento AS 'R'
1348 , T.Descricao AS 'Descrição'
1349 , C.Activo
1350 , C.Id
1351
1352 FROM TDU_RF_ConfigDoc_CRF C
1353 INNER JOIN DocumentosCCT D ON C.TipoDoc_RF = D.Documento
1354 INNER JOIN TiposRendimento T ON C.TipoRendimento = T.TipoRendimento
1355END
1356
1357GO
1358
1359-- =====================================================================================================
1360-- CREATE PROCEDURE dbo.sp_Select_TDU_RF_ConfigDoc_CRF_OutrasRetencoes(Usado no VS fn_DaObjDocEstado) ==
1361-- Autor: António Muteca ==============================================================================
1362-- Data: 2019.05.09 ====================================================================================
1363-- =====================================================================================================
1364IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Select_TDU_RF_ConfigDoc_CRF_OutrasRetencoes' AND Type='P')
1365BEGIN
1366 DROP PROCEDURE sp_Select_TDU_RF_ConfigDoc_CRF_OutrasRetencoes
1367END
1368GO
1369CREATE PROCEDURE dbo.sp_Select_TDU_RF_ConfigDoc_CRF_OutrasRetencoes
1370 (
1371 @TipoEntidade NVARCHAR(5)
1372 , @Entidade NVARCHAR(12)
1373 , @TipoDoc_RF NVARCHAR(5)
1374
1375 )
1376AS
1377BEGIN
1378 SELECT R.TipoEntidadeRetencao
1379 , R.EntidadeRetencao
1380 , R.PendenteAGerar
1381 , R.PendenteAGerarEstorno
1382
1383 FROM TDU_RF_ConfigDoc_CRF T
1384 INNER JOIN OutrasRetencoes R ON (T.TipoRendimento= R.TipoRendimento AND T.TipoEntidade= R.TipoEntidade)
1385 WHERE T.TipoEntidade=@TipoEntidade
1386 AND R.Entidade=@Entidade
1387 AND T.TipoDoc_RF=@TipoDoc_RF
1388
1389END
1390
1391GO
1392
1393-- ====================================================================================================
1394-- CREATE PROCEDURE dbo.sp_Update_TDU_RF_ConfigDoc_CRF ================================================
1395-- Autor: António Muteca =============================================================================
1396-- Data: 2019.05.09 ===================================================================================
1397-- ====================================================================================================
1398IF EXISTS (SELECT 1 FROM sys.objects WHERE Name ='sp_Update_TDU_RF_ConfigDoc_CRF' AND Type='P')
1399BEGIN
1400 DROP PROCEDURE sp_Update_TDU_RF_ConfigDoc_CRF
1401END
1402GO
1403CREATE PROCEDURE dbo.sp_Update_TDU_RF_ConfigDoc_CRF
1404 (
1405 @Id NVARCHAR(100)
1406 , @TipoDoc_CRF NVARCHAR(5)
1407 , @TipoEntidade NVARCHAR(1)
1408 , @TipoRendimento NVARCHAR(5)
1409 , @Activo BIT
1410 )
1411AS
1412BEGIN
1413
1414 UPDATE T SET
1415 TipoDoc_RF=@TipoDoc_CRF
1416 , TipoEntidade=@TipoEntidade
1417 , TipoRendimento=@TipoRendimento
1418 , Activo=@Activo
1419
1420 FROM TDU_RF_ConfigDoc_CRF T
1421 WHERE Id = @Id
1422
1423END
1424
1425GO
1426
1427-- ## Functions ## ---- ## Functions ## ---- ## Functions ## ---- ## Functions ## ---- ## Functions ## ---- ## Functions ## ---- ## Functions ## ---- ## Functions ## ---- ## Functions ## ---- ## Functions ## --
1428-- ==========================================================================================================
1429-- Create Function fn_Select_Pendentes_Estado ---------------------------------------------------------------
1430-- Autor: Miguel Ferreira -----------------------------------------------------------------------------------
1431-- Data: 2018.11.15 -----------------------------------------------------------------------------------------
1432-- ==========================================================================================================
1433
1434IF EXISTS(SELECT 1 FROM sys.objects WHERE name ='fn_Select_Pendentes_Estado' AND type='IF')
1435BEGIN
1436 DROP Function fn_Select_Pendentes_Estado
1437END
1438GO
1439
1440CREATE FUNCTION fn_Select_Pendentes_Estado() RETURNS Table
1441
1442AS
1443
1444RETURN
1445 (
1446
1447 SELECT CL.TipoEntidade AS TipoEntidade_Liq, CL.Entidade AS Entidade_Liq, LL.TipoDoc + ' ' + LL.Serie + '/' + RIGHT('00000' + CAST(LL.NumDoc AS VARCHAR),5) AS Doc_Liq, ABS(CL.ValorRec) AS ValorRec,
1448 LL_Ret.TipoDocOrig + ' ' + LL_Ret.SerieOrig + '/' + RIGHT('00000' + CAST(LL_Ret.NumDocOrigInt AS VARCHAR),5) AS Doc_Orig, LL_Ret.NumDocOrig,
1449 P.Entidade, P.TipoDoc + ' ' + P.Serie + '/' + RIGHT('00000' + CAST(P.NumDocInt AS VARCHAR),5) AS Doc_Estado, P.DataDoc, P.DataVenc, ABS(P.ValorTotal) AS Valor,
1450 P.Moeda, P.Cambio, P.CambioMBase, P.CambioMAlt, P.IdHistorico, CL.Id AS IdCabLiq, P.TipoDoc
1451
1452 FROM Pendentes P
1453 INNER JOIN LinhasLiq LL ON P.TipoDoc = LL.TipoDocOrig AND P.Serie = LL.SerieOrig AND P.NumDocInt = LL.NumDocOrigInt
1454 INNER JOIN LinhasLiq LL_Ret ON LL.TipoDoc = LL_Ret.TipoDoc AND LL.NumDoc = LL_Ret.NumDoc AND LL.Serie = LL_Ret.Serie AND LL_Ret.ValorRetencao = LL.ValorRec
1455 INNER JOIN CabLiq CL ON CL.Id = LL.IdCabLiq
1456 WHERE P.TipoConta = 'CCE'
1457 AND P.TipoEntidade = 'E'
1458 AND P.ValorPendente = P.ValorTotal
1459 AND LL.TipoDoc NOT IN ('CPRF','CRRF')
1460 AND P.TipoDoc IN('VRE','RET')
1461
1462 )
1463GO
1464
1465
1466-- =========================================================================================================
1467-- Create Function fn_Select_Liquidacoes_RF ----------------------------------------------------------------
1468-- Autor: Miguel Ferreira ----------------------------------------------------------------------------------
1469-- Data: 2018.11.15 ----------------------------------------------------------------------------------------
1470-- =========================================================================================================
1471
1472IF EXISTS(SELECT 1 FROM sys.objects WHERE name ='fn_Select_Liquidacoes_RF' AND type='IF')
1473BEGIN
1474 DROP Function fn_Select_Liquidacoes_RF
1475END
1476GO
1477
1478CREATE FUNCTION fn_Select_Liquidacoes_RF
1479 (
1480 @TipoConta NVARCHAR(3)
1481 ) RETURNS Table
1482
1483AS
1484
1485RETURN
1486 (
1487 SELECT H.TipoEntidade, H.Entidade, H.TipoDoc + ' ' + H.Serie +'/' + RIGHT('00000' + CAST(H.NumDoc AS VARCHAR),5) AS Doc_Liq, H.DataDoc, ABS(H.ValorTotal) AS Valor,
1488 --ABS(LL_Ret.ValorRetencao) AS ValorRet,
1489 ABS(H.ValorRetencao) AS ValorRet, H.Moeda,
1490 --LL_Ret.TipoDocOrig + ' ' + LL_Ret.SerieOrig + '/' + RIGHT('00000' + CAST(LL_Ret.NumDocOrig AS VARCHAR),5) AS Doc_Orig,
1491 LL.TipoDocOrig + ' ' + LL.SerieOrig +'/' + RIGHT('00000' + CAST(LL.NumDocOrig AS VARCHAR),5) AS Doc_RF, ABS(LL.ValorOrig) AS ValorRF, CL.Id, H.TipoDoc
1492 FROM Historico H
1493 LEFT JOIN CabLiq CL ON H.TipoDoc = CL.TipoDoc AND H.Serie = CL.Serie AND H.NumDocint = CL.NumDoc
1494 LEFT JOIN LinhasLiq LL ON CL.Id = LL.IdCabLiq AND LL.TipoConta = @TipoConta
1495 --INNER JOIN LinhasLiq LL_Ret ON H.TipoDoc = LL_Ret.TipoDoc AND H.NumDocint = LL_Ret.NumDoc AND H.Serie = LL_Ret.Serie
1496 WHERE H.TipoDoc IN
1497 (
1498 SELECT Documento FROM DocumentosCCT WHERE TipoDocumento IN(2, 3, 4) AND (Clientes = 1 OR Fornecedores = 1)
1499 )
1500 AND H.ValorRetencao <> 0
1501 --AND LL.ValorRetencao <> 0
1502 AND CL.Id NOT IN (SELECT IdCabLiq FROM fn_Select_Pendentes_Estado())
1503 --AND (LL_Ret.ValorRetencao = LL.ValorRec OR ISNULL(LL.ValorRec,0)=0) AND LL_Ret.ValorRetencao <> 0
1504 )
1505GO
1506
1507
1508-- =======================================================================================================
1509-- Create Function fn_Select_Pendentes_Estado ------------------------------------------------------------
1510-- Autor: Miguel Ferreira --------------------------------------------------------------------------------
1511-- Data: 2018.11.15 --------------------------------------------------------------------------------------
1512-- =======================================================================================================
1513
1514IF EXISTS(SELECT 1 FROM sys.objects WHERE name ='fn_Select_Pendentes_Estado' AND type='IF')
1515BEGIN
1516 DROP Function fn_Select_Pendentes_Estado
1517END
1518GO
1519
1520CREATE FUNCTION fn_Select_Pendentes_Estado() RETURNS Table
1521
1522AS
1523
1524RETURN
1525 (
1526
1527 SELECT CL.TipoEntidade AS TipoEntidade_Liq, CL.Entidade AS Entidade_Liq, LL.TipoDoc + ' ' + LL.Serie + '/' + RIGHT('00000' + CAST(LL.NumDoc AS VARCHAR),5) AS Doc_Liq, ABS(CL.ValorRec) AS ValorRec,
1528 LL_Ret.TipoDocOrig + ' ' + LL_Ret.SerieOrig + '/' + RIGHT('00000' + CAST(LL_Ret.NumDocOrigInt AS VARCHAR),5) AS Doc_Orig, LL_Ret.NumDocOrig,
1529 P.Entidade, P.TipoDoc + ' ' + P.Serie + '/' + RIGHT('00000' + CAST(P.NumDocInt AS VARCHAR),5) AS Doc_Estado, P.DataDoc, P.DataVenc, ABS(P.ValorTotal) AS Valor,
1530 P.Moeda, P.Cambio, P.CambioMBase, P.CambioMAlt, P.IdHistorico, CL.Id AS IdCabLiq, P.TipoDoc
1531 FROM Pendentes P
1532 INNER JOIN LinhasLiq LL ON P.TipoDoc = LL.TipoDocOrig AND P.Serie = LL.SerieOrig AND P.NumDocInt = LL.NumDocOrigInt
1533 INNER JOIN LinhasLiq LL_Ret ON LL.TipoDoc = LL_Ret.TipoDoc AND LL.NumDoc = LL_Ret.NumDoc AND LL.Serie = LL_Ret.Serie AND LL_Ret.ValorRetencao = LL.ValorRec
1534 INNER JOIN CabLiq CL ON CL.Id = LL.IdCabLiq
1535 WHERE P.TipoConta = 'CCE'
1536 AND P.TipoEntidade = 'E'
1537 AND P.ValorPendente = P.ValorTotal
1538 AND LL.TipoDoc NOT IN ('CPRF','CRRF')
1539 AND P.TipoDoc IN('VRE','RET')
1540
1541 )
1542GO
1543
1544-- =====================================================================================================
1545-- Create Function fn_Select_RF_Sem_Rastreabilidade ----------------------------------------------------
1546-- Autor: Miguel Ferreira ------------------------------------------------------------------------------
1547-- Data: 2018.11.15 ------------------------------------------------------------------------------------
1548-- =====================================================================================================
1549
1550IF EXISTS(SELECT 1 FROM sys.objects WHERE name ='fn_Select_RF_Sem_Rastreabilidade' AND type='IF')
1551BEGIN
1552 DROP Function fn_Select_RF_Sem_Rastreabilidade
1553END
1554GO
1555
1556CREATE FUNCTION fn_Select_RF_Sem_Rastreabilidade () RETURNS Table
1557
1558AS
1559
1560RETURN
1561 (
1562 SELECT H.TipoEntidade, H.Entidade, H.TipoDoc + ' ' + H.Serie +'/' + RIGHT('00000' + CAST(H.NumDocint AS VARCHAR),5) AS Documento, ISNULL(LP.Descricao, H.NumDoc) AS Orig,
1563 H.DataDoc, ABS(H.ValorTotal) AS Valor, H.Moeda, H.Id
1564 FROM Historico H
1565 LEFT JOIN LinhasPendentes LP ON H.Id=LP.IdHistorico
1566 WHERE H.TipoDoc IN('RFC','RFF')
1567 AND H.Id NOT IN
1568 (SELECT H.Id FROM Historico H INNER JOIN LinhasLiq LL ON H.IdDoc = LL.IdHistorico WHERE H.TipoDoc IN('RFC', 'RFF'))
1569 )
1570
1571GO
1572
1573-- ==========================================================
1574-- Create Function fn_Select_TDU_RF_Historico ---------------
1575-- Autor: Miguel Ferreira -----------------------------------
1576-- Data: 2018.11.19 -----------------------------------------
1577-- ==========================================================
1578
1579IF EXISTS(SELECT 1 FROM sys.objects WHERE name ='fn_Select_TDU_RF_Historico' AND type='IF')
1580BEGIN
1581 DROP Function fn_Select_TDU_RF_Historico
1582END
1583GO
1584
1585CREATE FUNCTION fn_Select_TDU_RF_Historico
1586 (
1587
1588 @Serie_RF NVARCHAR(5)
1589
1590 ) RETURNS Table
1591
1592AS
1593
1594RETURN
1595 (
1596 SELECT Id, TipoDoc_RF, Serie_RF, NumDoc_RF, Utilizador_RF, DataCriacao_RF, TipoDoc_Ret, Serie_Ret, NumDoc_Ret, Utilizador_Ret, DataCriacao_Ret, Anulado
1597 FROM TDU_RF_Historico
1598 WHERE Serie_RF = @Serie_RF
1599 )
1600
1601GO
1602
1603-- =====================================================================================
1604-- Create FUNCTION dbo.fn_DaRastreabilidade_RFC ========================================
1605-- Autor: Miguel Ferreira ==============================================================
1606-- Data: 2019.05.06 ====================================================================
1607-- =====================================================================================
1608IF EXISTS(SELECT 1 FROM sys.objects WHERE name ='fn_DaRastreabilidade_RFC' AND type='IF')
1609BEGIN
1610 DROP FUNCTION fn_DaRastreabilidade_RFC
1611END
1612GO
1613
1614CREATE FUNCTION fn_DaRastreabilidade_RFC () RETURNS TABLE
1615AS
1616RETURN
1617(
1618 SELECT H.Modulo AS Modulo_Orig
1619 , H.TipoEntidade AS TipoEntidade_Orig
1620 , H.Entidade AS Entidade_Orig
1621 , H.TipoDoc + ' ' + H.Serie + '/' + RIGHT('00000' + CAST(H.NumDocint AS VARCHAR(5)),5) AS Documento_Orig
1622 , H.NumDoc AS NumDoc_Orig
1623 , H.DataDoc AS DataDoc_Orig
1624 , H.Moeda AS Moeda_Orig
1625 , H.ValorTotal AS ValorTotal_Orig
1626 , H.TotalIva AS ValorIva_Orig
1627 , H.ValorRetencao AS ValorRet_Orig
1628 , RR.Percentagem AS Perc_Orig
1629 , RR.Incidencia AS Incidencia_Orig
1630 , LL_Liq.TipoDoc + ' ' + LL_Liq.Serie + '/' + RIGHT('00000' + CAST(LL_Liq.NumDoc AS VARCHAR(5)),5) AS Documento_Liq
1631 , LL_Liq.DataDoc AS DataDoc_Liq
1632 , LL_Liq.ValorRec AS ValorRec_Liq
1633 , LL_RF.TipoDocOrig + ' ' + LL_RF.SerieOrig + '/' + RIGHT('00000' + CAST(LL_RF.NumDocOrigInt AS VARCHAR(5)),5) AS Documento_RF
1634 , LL_RF.NumDocOrig AS NumDoc_RF
1635 , LL_RF.DataDoc AS DataDoc_RF
1636 , LL_RF.ValorRec AS Valor_RF
1637 FROM Historico H
1638 INNER JOIN ResumoRetencao RR ON H.Id=RR.IdHistorico
1639 LEFT JOIN CabecCompras CC ON H.IdDoc = CC.Id
1640 LEFT JOIN CabecDoc CD ON H.IdDoc = CD.Id
1641 LEFT JOIN LinhasLiq LL_Liq ON H.Modulo = LL_Liq.ModuloOrig
1642 AND H.TipoDoc=LL_Liq.TipoDocOrig
1643 AND H.NumDocint=LL_Liq.NumDocOrigInt
1644 AND H.Serie = LL_Liq.SerieOrig
1645 LEFT JOIN LinhasLiq LL_RF ON LL_Liq.TipoDoc=LL_RF.TipoDoc
1646 AND LL_Liq.NumDoc=LL_RF.NumDoc
1647 AND LL_Liq.Serie=LL_RF.Serie
1648 AND LL_RF.TipoDocOrig IN ('RFC')
1649 INNER JOIN DocumentosCCT DC ON LL_Liq.TipoDoc=DC.Documento AND DC.TipoDocumento <> 5
1650 WHERE H.TipoEntidade = 'C'
1651
1652)
1653GO
1654
1655
1656
1657-- =====================================================================================
1658-- Create FUNCTION dbo.fn_DaRastreabilidade_RFF ========================================
1659-- Autor: Miguel Ferreira ==============================================================
1660-- Data: 2019.05.06 ====================================================================
1661-- =====================================================================================
1662IF EXISTS(SELECT 1 FROM sys.objects WHERE name ='fn_DaRastreabilidade_RFF' AND type='IF')
1663BEGIN
1664 DROP FUNCTION fn_DaRastreabilidade_RFF
1665END
1666GO
1667
1668CREATE FUNCTION fn_DaRastreabilidade_RFF () RETURNS TABLE
1669AS
1670RETURN
1671(
1672 SELECT H.Modulo AS Modulo_Orig
1673 , H.TipoEntidade AS TipoEntidade_Orig
1674 , H.Entidade AS Entidade_Orig
1675 , H.TipoDoc + ' ' + H.Serie + '/' + RIGHT('00000' + CAST(H.NumDocint AS VARCHAR(5)),5) AS Documento_Orig
1676 , H.NumDoc AS NumDoc_Orig
1677 , H.DataDoc AS DataDoc_Orig
1678 , H.Moeda AS Moeda_Orig
1679 , H.ValorTotal AS ValorTotal_Orig
1680 , H.TotalIva AS ValorIva_Orig
1681 , H.ValorRetencao AS ValorRet_Orig
1682 , RR.Percentagem AS Perc_Orig
1683 , RR.Incidencia AS Incidencia_Orig
1684 , LL_Liq.TipoDoc + ' ' + LL_Liq.Serie + '/' + RIGHT('00000' + CAST(LL_Liq.NumDoc AS VARCHAR(5)),5) AS Documento_Liq
1685 , LL_Liq.DataDoc AS DataDoc_Liq
1686 , LL_Liq.ValorRec AS ValorRec_Liq
1687 , LL_RF.TipoDocOrig + ' ' + LL_RF.SerieOrig + '/' + RIGHT('00000' + CAST(LL_RF.NumDocOrigInt AS VARCHAR(5)),5) AS Documento_RF
1688 , LL_RF.NumDocOrig AS NumDoc_RF
1689 , LL_RF.DataDoc AS DataDoc_RF
1690 , LL_RF.ValorRec AS Valor_RF
1691 FROM Historico H
1692 INNER JOIN ResumoRetencao RR ON H.Id=RR.IdHistorico
1693 LEFT JOIN CabecCompras CC ON H.IdDoc = CC.Id
1694 LEFT JOIN CabecDoc CD ON H.IdDoc = CD.Id
1695 LEFT JOIN LinhasLiq LL_Liq ON H.Modulo = LL_Liq.ModuloOrig
1696 AND H.TipoDoc=LL_Liq.TipoDocOrig
1697 AND H.NumDocint=LL_Liq.NumDocOrigInt
1698 AND H.Serie = LL_Liq.SerieOrig
1699 LEFT JOIN LinhasLiq LL_RF ON LL_Liq.TipoDoc=LL_RF.TipoDoc
1700 AND LL_Liq.NumDoc=LL_RF.NumDoc
1701 AND LL_Liq.Serie=LL_RF.Serie
1702 AND LL_RF.TipoDocOrig IN ('RFF')
1703 INNER JOIN DocumentosCCT DC ON LL_Liq.TipoDoc=DC.Documento AND DC.TipoDocumento <> 5
1704 WHERE H.TipoEntidade = 'F'
1705
1706)
1707GO
1708
1709-- ## Tipos de Conta ## ----## Tipos de Conta ## ----## Tipos de Conta ## ----## Tipos de Conta ## ----## Tipos de Conta ## ----## Tipos de Conta ## ----## Tipos de Conta ## ----## Tipos de Conta ## ----
1710
1711-- ============================================================================================
1712-- Cria Tipo Conta Retenção Clientes-----------------------------------------------------------
1713-- TipoConta C - Conta Corrente ---------------------------------------------------------------
1714-- Autor: Miguel Ferreira ---------------------------------------------------------------------
1715-- Data: 2019.09.29 ---------------------------------------------------------------------------
1716-- ============================================================================================
1717IF NOT EXISTS(SELECT 1 FROM TiposConta WHERE Conta='CRC' AND TipoConta = 'C')
1718BEGIN
1719 INSERT INTO TiposConta([Conta],[Descricao],[TipoConta],[Independentes],[Socios],[EntidadesPublicas],[FornecedoresImobilizado],[Funcionarios],[Sindicatos],[SubscritoresCapital],[CredoresSubscricoesNaoLiberadas],[Obrigacionistas],[Consultores],[Clientes],[Fornecedores],[OutrosDevedores],[OutrosCredores],[Bancos],[TipoTitulo],[DataUltimaActualizacao])
1720 VALUES ('CRC','Contas Retenção Clientes','C',0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,NULL,GETDATE())
1721
1722
1723 INSERT INTO EstadosConta([TipoConta],[Estado],[Descricao],[Obs],[Responsabilidade],[SugeridoConsultas],[LimiteCredito],[Cobrancas],[RetencaoGarantia],[Adiantamento])
1724 VALUES ('CRC','PEN','Retenção Pendente de Clientes',NULL,0,0,1,0,0,0)
1725END
1726ELSE
1727BEGIN
1728 PRINT 'Tipo de Conta CRC já existe na base de dados'
1729END
1730
1731-- ============================================================================================
1732-- Cria Tipo Conta Retenção Fornecedores-------------------------------------------------------
1733-- TipoConta C - Conta Corrente ---------------------------------------------------------------
1734-- Autor: Miguel Ferreira ---------------------------------------------------------------------
1735-- Data: 2019.09.29 ---------------------------------------------------------------------------
1736-- ============================================================================================
1737IF NOT EXISTS(SELECT 1 FROM TiposConta WHERE Conta='CRF' AND TipoConta = 'C')
1738BEGIN
1739 INSERT INTO TiposConta([Conta],[Descricao],[TipoConta],[Independentes],[Socios],[EntidadesPublicas],[FornecedoresImobilizado],[Funcionarios],[Sindicatos],[SubscritoresCapital],[CredoresSubscricoesNaoLiberadas],[Obrigacionistas],[Consultores],[Clientes],[Fornecedores],[OutrosDevedores],[OutrosCredores],[Bancos],[TipoTitulo],[DataUltimaActualizacao])
1740 VALUES ('CRF','Conta Retenção Fornecedores','C',0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,NULL, GETDATE())
1741
1742 INSERT INTO EstadosConta([TipoConta],[Estado],[Descricao],[Obs],[Responsabilidade],[SugeridoConsultas],[LimiteCredito],[Cobrancas],[RetencaoGarantia],[Adiantamento])
1743 VALUES ('CRF','PEN','Retenção Pendente de Fornecedor',NULL,0,0,1,0,0,0)
1744END
1745ELSE
1746BEGIN
1747 PRINT 'Tipo de Conta CRF já existe na base de dados'
1748END
1749
1750-- ## Documentos CCT ## ----## Documentos CCT ## ----## Documentos CCT ## ----## Documentos CCT ## ----## Documentos CCT ## ----## Documentos CCT ## ----## Documentos CCT ## ----## Documentos CCT ## ----## Documentos CCT ## ----## Documentos CCT ## ----
1751
1752-- ============================================================================================
1753-- Cria Documento RFC -------------------------------------------------------------------------
1754-- Autor: Miguel Ferreira ---------------------------------------------------------------------
1755-- Data: 2019.09.29 ---------------------------------------------------------------------------
1756-- ============================================================================================
1757IF NOT EXISTS(SELECT 1 FROM DocumentosCCT WHERE Documento='RFC')
1758BEGIN
1759 INSERT INTO DocumentosCCT([Documento],[DocTesAGerar],[Descricao],[Recapitulativos],[Natureza],[TipoDocumento],[CalculaComissoes],[TipoConta],[Estado],[Independentes],[Socios],[EntidadesPublicas],[FornecedoresImobilizado],[Funcionarios],[Sindicatos],[SubscritoresCapital],[CredoresSubscricoesNaoLiberadas],[Obrigacionistas],[Consultores],[Clientes],[Fornecedores],[OutrosCredores],[OutrosDevedores],[DocumentoAGerar],[NumeracaoAutomaticaAGerar],[TransfereParaOutraEntidade],[TipoEntidade],[LigaBNC],[TipoLigacaoBNC],[Bancos],[LimiteCredito],[SujeitoAProvisoes],[SujeitoRetencao],[EnviaEmail],[EmailTo],[EmailFixo],[EMailBCC],[EMailCC],[EMailConfirmar],[EMailVisualizar],[EMailTexto],[LigaProcessos],[MovimentaEstados],[SugereCodProcesso],[EstadoProcesso],[ControlaCustosPorObra],[PermiteAltAposExp],[RecolhaDE_IL],[LiqRetIntroducao],[DocLiqRetencao],[SujeitoRetencaoGarantia],[LiqRetGarantiaIntroducao],[DocLiqRetencaoGarantia],[DisponivelPMS],[RemessaBancaria],[ClasseAnalitica],[TransitaEstado],[EstadoTransitar],[PermiteDocNegativo],[PermiteLinhasNegativas],[PermiteEstorno],[DocumentoEstorno],[SerieDocEstorno],[Formato],[SAFTTipoDocumento],[BalAnalitica],[BalFinanceira],[DataUltimaActualizacao],[DeduzLiquidaIVA])
1760 VALUES ('RFC','MOV','Retenção na Fonte de Clientes',0,'C','1',0,NULL,NULL,0,0,0,0,0,0,0,0,0,0,1,0,0,1,NULL,0,0,NULL,0,1,0,0,0,0,0,NULL,1,NULL,NULL,0,0,NULL,0,0,0,NULL,0,0,0,0,NULL,0,0,NULL,0,0,0,0,NULL,1,1,0,NULL,NULL,NULL,NULL,0,0,GETDATE(),0)
1761
1762 INSERT INTO DocumentosCCContaEstado([Documento],[TipoConta],[Estado])
1763 VALUES ('RFC','CRC','PEN')
1764
1765 INSERT INTO SeriesCCT([TipoDoc],[Serie],[Ordem],[Descricao],[SerieInactiva],[SeriePorDefeito],[LimiteInferior],[LimiteSuperior],[Numerador],[DataUltimoDocumento],[DataInicial],[DataFinal],[AlterarData],[IvaIncluido],[SugereDataSistema],[UtilizadoEmPOS],[NumeracaoAutomatica],[UtilizaDescAbreviada],[AbreGaveta],[ModeloPOS],[ImprimirDirectamente],[Config],[NumVias],[Previsao],[DescricaoVia01],[DescricaoVia02],[DescricaoVia03],[DescricaoVia04],[DescricaoVia05],[DescricaoVia06],[ArmazemSugestao],[LocalSugestao],[UtilizadoEmPMS],[TipoLancamento],[TipoComunicacao],[Origem])
1766 VALUES ('RFC','2019',1,'Série 2019',0,0, 0, 999999999, 0,GETDATE(),'1/1/2019','12/31/2019',0,0,0,0,0,0,0,NULL,0,'GCPPLS01',1,0,'Original','Duplicado','Triplicado','Quadruplicado','Quintuplicado','Sextuplicado',NULL,NULL,0,'000',0,0)
1767
1768END
1769ELSE
1770BEGIN
1771 PRINT 'Documento RFC já existe na base de dados'
1772END
1773
1774-- ============================================================================================
1775-- Cria Documento RFF -------------------------------------------------------------------------
1776-- Autor: Miguel Ferreira ---------------------------------------------------------------------
1777-- Data: 2019.09.29 ---------------------------------------------------------------------------
1778-- ============================================================================================
1779IF NOT EXISTS(SELECT 1 FROM DocumentosCCT WHERE Documento='RFF')
1780BEGIN
1781 INSERT INTO DocumentosCCT([Documento],[DocTesAGerar],[Descricao],[Recapitulativos],[Natureza],[TipoDocumento],[CalculaComissoes],[TipoConta],[Estado],[Independentes],[Socios],[EntidadesPublicas],[FornecedoresImobilizado],[Funcionarios],[Sindicatos],[SubscritoresCapital],[CredoresSubscricoesNaoLiberadas],[Obrigacionistas],[Consultores],[Clientes],[Fornecedores],[OutrosCredores],[OutrosDevedores],[DocumentoAGerar],[NumeracaoAutomaticaAGerar],[TransfereParaOutraEntidade],[TipoEntidade],[LigaBNC],[TipoLigacaoBNC],[Bancos],[LimiteCredito],[SujeitoAProvisoes],[SujeitoRetencao],[EnviaEmail],[EmailTo],[EmailFixo],[EMailBCC],[EMailCC],[EMailConfirmar],[EMailVisualizar],[EMailTexto],[LigaProcessos],[MovimentaEstados],[SugereCodProcesso],[EstadoProcesso],[ControlaCustosPorObra],[PermiteAltAposExp],[RecolhaDE_IL],[LiqRetIntroducao],[DocLiqRetencao],[SujeitoRetencaoGarantia],[LiqRetGarantiaIntroducao],[DocLiqRetencaoGarantia],[DisponivelPMS],[RemessaBancaria],[ClasseAnalitica],[TransitaEstado],[EstadoTransitar],[PermiteDocNegativo],[PermiteLinhasNegativas],[PermiteEstorno],[DocumentoEstorno],[SerieDocEstorno],[Formato],[SAFTTipoDocumento],[BalAnalitica],[BalFinanceira],[DataUltimaActualizacao],[DeduzLiquidaIVA])
1782 VALUES ('RFF','MOV','Retenção na Fonte de Fornecedores',0,'D','1',0,NULL,NULL,0,0,0,0,0,0,0,0,0,0,0,1,1,0,NULL,0,0,NULL,0,1,0,0,0,0,0,NULL,1,NULL,NULL,0,0,NULL,0,0,0,NULL,0,0,0,0,NULL,0,0,NULL,0,0,0,0,NULL,1,1,0,NULL,NULL,NULL,NULL,0,0,GETDATE(),0)
1783
1784
1785 INSERT INTO DocumentosCCContaEstado([Documento],[TipoConta],[Estado])
1786 VALUES ('RFF','CRF','PEN')
1787
1788 INSERT INTO SeriesCCT([TipoDoc],[Serie],[Ordem],[Descricao],[SerieInactiva],[SeriePorDefeito],[LimiteInferior],[LimiteSuperior],[Numerador],[DataUltimoDocumento],[DataInicial],[DataFinal],[AlterarData],[IvaIncluido],[SugereDataSistema],[UtilizadoEmPOS],[NumeracaoAutomatica],[UtilizaDescAbreviada],[AbreGaveta],[ModeloPOS],[ImprimirDirectamente],[Config],[NumVias],[Previsao],[DescricaoVia01],[DescricaoVia02],[DescricaoVia03],[DescricaoVia04],[DescricaoVia05],[DescricaoVia06],[ArmazemSugestao],[LocalSugestao],[UtilizadoEmPMS],[TipoLancamento],[TipoComunicacao],[Origem])
1789 VALUES ('RFF','2019',1,'Série 2019',0,0, 0, 999999999, 0,GETDATE(),'1/1/2019','12/31/2019',0,0,0,0,0,0,0,NULL,0,'GCPPLS01',1,0,'Original','Duplicado','Triplicado','Quadruplicado','Quintuplicado','Sextuplicado',NULL,NULL,0,'000',0,0)
1790
1791END
1792ELSE
1793BEGIN
1794 PRINT 'Documento RFF já existe na base de dados'
1795END
1796
1797-- ============================================================================================
1798-- Cria Documento CRRF ------------------------------------------------------------------------
1799-- Autor: Miguel Ferreira ---------------------------------------------------------------------
1800-- Data: 2019.09.29 ---------------------------------------------------------------------------
1801-- ============================================================================================
1802IF NOT EXISTS(SELECT 1 FROM DocumentosCCT WHERE Documento='CRRF')
1803BEGIN
1804 INSERT INTO DocumentosCCT([Documento],[DocTesAGerar],[Descricao],[Recapitulativos],[Natureza],[TipoDocumento],[CalculaComissoes],[TipoConta],[Estado],[Independentes],[Socios],[EntidadesPublicas],[FornecedoresImobilizado],[Funcionarios],[Sindicatos],[SubscritoresCapital],[CredoresSubscricoesNaoLiberadas],[Obrigacionistas],[Consultores],[Clientes],[Fornecedores],[OutrosCredores],[OutrosDevedores],[DocumentoAGerar],[NumeracaoAutomaticaAGerar],[TransfereParaOutraEntidade],[TipoEntidade],[LigaBNC],[TipoLigacaoBNC],[Bancos],[LimiteCredito],[SujeitoAProvisoes],[SujeitoRetencao],[EnviaEmail],[EmailTo],[EmailFixo],[EMailBCC],[EMailCC],[EMailConfirmar],[EMailVisualizar],[EMailTexto],[LigaProcessos],[MovimentaEstados],[SugereCodProcesso],[EstadoProcesso],[ControlaCustosPorObra],[PermiteAltAposExp],[RecolhaDE_IL],[LiqRetIntroducao],[DocLiqRetencao],[SujeitoRetencaoGarantia],[LiqRetGarantiaIntroducao],[DocLiqRetencaoGarantia],[DisponivelPMS],[RemessaBancaria],[ClasseAnalitica],[TransitaEstado],[EstadoTransitar],[PermiteDocNegativo],[PermiteLinhasNegativas],[PermiteEstorno],[DocumentoEstorno],[SerieDocEstorno],[Formato],[SAFTTipoDocumento],[BalAnalitica],[BalFinanceira],[DataUltimaActualizacao],[DeduzLiquidaIVA])
1805 VALUES ('CRRF','MOV','Comprovativo de Receb. Ret. Fonte ',0,'D','3',0,NULL,NULL,0,0,0,0,0,0,0,0,0,0,1,0,0,1,NULL,0,0,NULL,0,1,0,0,0,0,0,NULL,1,NULL,NULL,0,0,NULL,0,0,0,NULL,0,0,0,0,NULL,0,0,NULL,0,0,0,0,NULL,1,1,0,NULL,NULL,NULL,NULL,0,0,GETDATE(),0)
1806
1807 INSERT INTO DocumentosCCContaEstado([Documento],[TipoConta],[Estado])
1808 VALUES ('CRRF','CRC','PEN')
1809
1810 INSERT INTO SeriesCCT([TipoDoc],[Serie],[Ordem],[Descricao],[SerieInactiva],[SeriePorDefeito],[LimiteInferior],[LimiteSuperior],[Numerador],[DataUltimoDocumento],[DataInicial],[DataFinal],[AlterarData],[IvaIncluido],[SugereDataSistema],[UtilizadoEmPOS],[NumeracaoAutomatica],[UtilizaDescAbreviada],[AbreGaveta],[ModeloPOS],[ImprimirDirectamente],[Config],[NumVias],[Previsao],[DescricaoVia01],[DescricaoVia02],[DescricaoVia03],[DescricaoVia04],[DescricaoVia05],[DescricaoVia06],[ArmazemSugestao],[LocalSugestao],[UtilizadoEmPMS],[TipoLancamento],[TipoComunicacao],[Origem])
1811 VALUES ('CRRF','2019',1,'Série 2019',0,0, 0, 999999999, 0,GETDATE(),'1/1/2019','12/31/2019',0,0,0,0,0,0,0,NULL,0,'GCPLLS01',1,0,'Original','Duplicado','Triplicado','Quadruplicado','Quintuplicado','Sextuplicado',NULL,NULL,0,'000',0,0)
1812END
1813ELSE
1814BEGIN
1815 PRINT 'Documento CRRF já existe na base de dados'
1816END
1817
1818-- ============================================================================================
1819-- Cria Documento CPRF ------------------------------------------------------------------------
1820-- Autor: Miguel Ferreira ---------------------------------------------------------------------
1821-- Data: 2019.09.29 ---------------------------------------------------------------------------
1822-- ============================================================================================
1823IF NOT EXISTS(SELECT 1 FROM DocumentosCCT WHERE Documento='CPRF')
1824BEGIN
1825 INSERT INTO DocumentosCCT([Documento],[DocTesAGerar],[Descricao],[Recapitulativos],[Natureza],[TipoDocumento],[CalculaComissoes],[TipoConta],[Estado],[Independentes],[Socios],[EntidadesPublicas],[FornecedoresImobilizado],[Funcionarios],[Sindicatos],[SubscritoresCapital],[CredoresSubscricoesNaoLiberadas],[Obrigacionistas],[Consultores],[Clientes],[Fornecedores],[OutrosCredores],[OutrosDevedores],[DocumentoAGerar],[NumeracaoAutomaticaAGerar],[TransfereParaOutraEntidade],[TipoEntidade],[LigaBNC],[TipoLigacaoBNC],[Bancos],[LimiteCredito],[SujeitoAProvisoes],[SujeitoRetencao],[EnviaEmail],[EmailTo],[EmailFixo],[EMailBCC],[EMailCC],[EMailConfirmar],[EMailVisualizar],[EMailTexto],[LigaProcessos],[MovimentaEstados],[SugereCodProcesso],[EstadoProcesso],[ControlaCustosPorObra],[PermiteAltAposExp],[RecolhaDE_IL],[LiqRetIntroducao],[DocLiqRetencao],[SujeitoRetencaoGarantia],[LiqRetGarantiaIntroducao],[DocLiqRetencaoGarantia],[DisponivelPMS],[RemessaBancaria],[ClasseAnalitica],[TransitaEstado],[EstadoTransitar],[PermiteDocNegativo],[PermiteLinhasNegativas],[PermiteEstorno],[DocumentoEstorno],[SerieDocEstorno],[Formato],[SAFTTipoDocumento],[BalAnalitica],[BalFinanceira],[DataUltimaActualizacao],[DeduzLiquidaIVA])
1826 VALUES ('CPRF','MOV','Comprovativo de Pag. Ret. Fonte ',0,'C','3',0,NULL,NULL,0,0,0,0,0,0,0,0,0,1,0,1,1,0,NULL,0,0,NULL,0,1,0,0,0,0,0,NULL,1,NULL,NULL,0,0,NULL,0,0,0,NULL,0,0,0,0,NULL,0,0,NULL,0,0,0,0,NULL,1,1,0,NULL,NULL,NULL,NULL,0,0,GETDATE(),0)
1827
1828 INSERT INTO DocumentosCCContaEstado([Documento],[TipoConta],[Estado])
1829 VALUES ('CPRF','CRF','PEN')
1830
1831 INSERT INTO SeriesCCT([TipoDoc],[Serie],[Ordem],[Descricao],[SerieInactiva],[SeriePorDefeito],[LimiteInferior],[LimiteSuperior],[Numerador],[DataUltimoDocumento],[DataInicial],[DataFinal],[AlterarData],[IvaIncluido],[SugereDataSistema],[UtilizadoEmPOS],[NumeracaoAutomatica],[UtilizaDescAbreviada],[AbreGaveta],[ModeloPOS],[ImprimirDirectamente],[Config],[NumVias],[Previsao],[DescricaoVia01],[DescricaoVia02],[DescricaoVia03],[DescricaoVia04],[DescricaoVia05],[DescricaoVia06],[ArmazemSugestao],[LocalSugestao],[UtilizadoEmPMS],[TipoLancamento],[TipoComunicacao],[Origem])
1832 VALUES ('CPRF','2019',1,'Série 2019',0,0, 0, 999999999, 0,GETDATE(),'1/1/2019','12/31/2019',0,0,0,0,0,0,0,NULL,0,'GCPLLS01',1,0,'Original','Duplicado','Triplicado','Quadruplicado','Quintuplicado','Sextuplicado',NULL,NULL,0,'000',0,0)
1833END
1834ELSE
1835BEGIN
1836 PRINT 'Documento CPRF já existe na base de dados'
1837END
1838
1839-- ============================================================================================
1840-- Cria Documento TRFC ------------------------------------------------------------------------
1841-- Autor: Miguel Ferreira ---------------------------------------------------------------------
1842-- Data: 2019.09.29 ---------------------------------------------------------------------------
1843-- ============================================================================================
1844IF NOT EXISTS(SELECT 1 FROM DocumentosCCT WHERE Documento='TRFC')
1845BEGIN
1846INSERT INTO DocumentosCCT([Documento],[DocTesAGerar],[Descricao],[Recapitulativos],[Natureza],[TipoDocumento],[CalculaComissoes],[TipoConta],[Estado],[Independentes],[Socios],[EntidadesPublicas],[FornecedoresImobilizado],[Funcionarios],[Sindicatos],[SubscritoresCapital],[CredoresSubscricoesNaoLiberadas],[Obrigacionistas],[Consultores],[Clientes],[Fornecedores],[OutrosCredores],[OutrosDevedores],[DocumentoAGerar],[NumeracaoAutomaticaAGerar],[TransfereParaOutraEntidade],[TipoEntidade],[LigaBNC],[TipoLigacaoBNC],[Bancos],[LimiteCredito],[SujeitoAProvisoes],[SujeitoRetencao],[EnviaEmail],[EmailTo],[EmailFixo],[EMailBCC],[EMailCC],[EMailConfirmar],[EMailVisualizar],[EMailTexto],[LigaProcessos],[MovimentaEstados],[SugereCodProcesso],[EstadoProcesso],[ControlaCustosPorObra],[PermiteAltAposExp],[RecolhaDE_IL],[LiqRetIntroducao],[DocLiqRetencao],[SujeitoRetencaoGarantia],[LiqRetGarantiaIntroducao],[DocLiqRetencaoGarantia],[DisponivelPMS],[RemessaBancaria],[ClasseAnalitica],[TransitaEstado],[EstadoTransitar],[PermiteDocNegativo],[PermiteLinhasNegativas],[PermiteEstorno],[DocumentoEstorno],[SerieDocEstorno],[Formato],[SAFTTipoDocumento],[BalAnalitica],[BalFinanceira],[DataUltimaActualizacao],[DeduzLiquidaIVA])
1847 VALUES ('TRFC','MOV','Transf. Ret. Fonte Clientes',0,'C','5',0,'CCC','PEN',0,0,0,0,0,0,0,0,0,0,1,0,0,1,NULL,0,0,NULL,0,1,0,0,0,0,0,NULL,1,NULL,NULL,0,0,NULL,0,0,0,NULL,0,0,0,0,NULL,0,0,NULL,0,0,0,0,NULL,0,0,0,NULL,NULL,NULL,NULL,0,0,GETDATE(),0)
1848
1849 INSERT INTO DocumentosCCContaEstado([Documento],[TipoConta],[Estado])
1850 VALUES ('TRFC','CRC','PEN')
1851
1852 INSERT INTO SeriesCCT([TipoDoc],[Serie],[Ordem],[Descricao],[SerieInactiva],[SeriePorDefeito],[LimiteInferior],[LimiteSuperior],[Numerador],[DataUltimoDocumento],[DataInicial],[DataFinal],[AlterarData],[IvaIncluido],[SugereDataSistema],[UtilizadoEmPOS],[NumeracaoAutomatica],[UtilizaDescAbreviada],[AbreGaveta],[ModeloPOS],[ImprimirDirectamente],[Config],[NumVias],[Previsao],[DescricaoVia01],[DescricaoVia02],[DescricaoVia03],[DescricaoVia04],[DescricaoVia05],[DescricaoVia06],[ArmazemSugestao],[LocalSugestao],[UtilizadoEmPMS],[TipoLancamento],[TipoComunicacao],[Origem])
1853 VALUES ('TRFC','2019',1,'Série 2019',0,0, 0, 999999999, 0,GETDATE(),'1/1/2019','12/31/2019',0,0,0,0,0,0,0,NULL,0,'GCPLLS01',1,0,'Original','Duplicado','Triplicado','Quadruplicado','Quintuplicado','Sextuplicado',NULL,NULL,0,'000',0,0)
1854END
1855ELSE
1856BEGIN
1857 PRINT 'Documento TRFC já existe na base de dados'
1858END
1859
1860-- ============================================================================================
1861-- Cria Documento TRFF ------------------------------------------------------------------------
1862-- Autor: Miguel Ferreira ---------------------------------------------------------------------
1863-- Data: 2019.09.29 ---------------------------------------------------------------------------
1864-- ============================================================================================
1865IF NOT EXISTS(SELECT 1 FROM DocumentosCCT WHERE Documento='TRFF')
1866BEGIN
1867 INSERT INTO DocumentosCCT([Documento],[DocTesAGerar],[Descricao],[Recapitulativos],[Natureza],[TipoDocumento],[CalculaComissoes],[TipoConta],[Estado],[Independentes],[Socios],[EntidadesPublicas],[FornecedoresImobilizado],[Funcionarios],[Sindicatos],[SubscritoresCapital],[CredoresSubscricoesNaoLiberadas],[Obrigacionistas],[Consultores],[Clientes],[Fornecedores],[OutrosCredores],[OutrosDevedores],[DocumentoAGerar],[NumeracaoAutomaticaAGerar],[TransfereParaOutraEntidade],[TipoEntidade],[LigaBNC],[TipoLigacaoBNC],[Bancos],[LimiteCredito],[SujeitoAProvisoes],[SujeitoRetencao],[EnviaEmail],[EmailTo],[EmailFixo],[EMailBCC],[EMailCC],[EMailConfirmar],[EMailVisualizar],[EMailTexto],[LigaProcessos],[MovimentaEstados],[SugereCodProcesso],[EstadoProcesso],[ControlaCustosPorObra],[PermiteAltAposExp],[RecolhaDE_IL],[LiqRetIntroducao],[DocLiqRetencao],[SujeitoRetencaoGarantia],[LiqRetGarantiaIntroducao],[DocLiqRetencaoGarantia],[DisponivelPMS],[RemessaBancaria],[ClasseAnalitica],[TransitaEstado],[EstadoTransitar],[PermiteDocNegativo],[PermiteLinhasNegativas],[PermiteEstorno],[DocumentoEstorno],[SerieDocEstorno],[Formato],[SAFTTipoDocumento],[BalAnalitica],[BalFinanceira],[DataUltimaActualizacao],[DeduzLiquidaIVA])
1868 VALUES ('TRFF','MOV','Transf. de Ret. Fonte Fornecedores',0,'D','5',0,'CCF','PEN',0,0,0,0,0,0,0,0,0,0,0,1,1,0,NULL,0,0,NULL,0,1,0,0,0,0,0,NULL,1,NULL,NULL,0,0,NULL,0,0,0,NULL,0,0,0,0,NULL,0,0,NULL,0,0,0,0,NULL,0,0,0,NULL,NULL,NULL,NULL,0,0,GETDATE(),0)
1869
1870 INSERT INTO DocumentosCCContaEstado([Documento],[TipoConta],[Estado])
1871 VALUES ('TRFF','CRF','PEN')
1872
1873 INSERT INTO SeriesCCT([TipoDoc],[Serie],[Ordem],[Descricao],[SerieInactiva],[SeriePorDefeito],[LimiteInferior],[LimiteSuperior],[Numerador],[DataUltimoDocumento],[DataInicial],[DataFinal],[AlterarData],[IvaIncluido],[SugereDataSistema],[UtilizadoEmPOS],[NumeracaoAutomatica],[UtilizaDescAbreviada],[AbreGaveta],[ModeloPOS],[ImprimirDirectamente],[Config],[NumVias],[Previsao],[DescricaoVia01],[DescricaoVia02],[DescricaoVia03],[DescricaoVia04],[DescricaoVia05],[DescricaoVia06],[ArmazemSugestao],[LocalSugestao],[UtilizadoEmPMS],[TipoLancamento],[TipoComunicacao],[Origem])
1874 VALUES ('TRFF','2019',1,'Série 2019',0,0, 0, 999999999, 0,GETDATE(),'1/1/2019','12/31/2019',0,0,0,0,0,0,0,NULL,0,'GCPLLS01',1,0,'Original','Duplicado','Triplicado','Quadruplicado','Quintuplicado','Sextuplicado',NULL,NULL,0,'000',0,0)
1875
1876END
1877ELSE
1878BEGIN
1879 PRINT 'Documento TRFF já existe na base de dados'
1880END
1881
1882-- ============================================================================================
1883-- Cria Documento RGR -------------------------------------------------------------------------
1884-- Autor: Miguel Ferreira ---------------------------------------------------------------------
1885-- Data: 2019.09.29 ---------------------------------------------------------------------------
1886-- ============================================================================================
1887IF NOT EXISTS(SELECT 1 FROM DocumentosCCT WHERE Documento='RGR')
1888BEGIN
1889 INSERT INTO DocumentosCCT([Documento],[DocTesAGerar],[Descricao],[Recapitulativos],[Natureza],[TipoDocumento],[CalculaComissoes],[TipoConta],[Estado],[Independentes],[Socios],[EntidadesPublicas],[FornecedoresImobilizado],[Funcionarios],[Sindicatos],[SubscritoresCapital],[CredoresSubscricoesNaoLiberadas],[Obrigacionistas],[Consultores],[Clientes],[Fornecedores],[OutrosCredores],[OutrosDevedores],[DocumentoAGerar],[NumeracaoAutomaticaAGerar],[TransfereParaOutraEntidade],[TipoEntidade],[LigaBNC],[TipoLigacaoBNC],[Bancos],[LimiteCredito],[SujeitoAProvisoes],[SujeitoRetencao],[EnviaEmail],[EmailTo],[EmailFixo],[EMailBCC],[EMailCC],[EMailConfirmar],[EMailVisualizar],[EMailTexto],[LigaProcessos],[MovimentaEstados],[SugereCodProcesso],[EstadoProcesso],[ControlaCustosPorObra],[PermiteAltAposExp],[RecolhaDE_IL],[LiqRetIntroducao],[DocLiqRetencao],[SujeitoRetencaoGarantia],[LiqRetGarantiaIntroducao],[DocLiqRetencaoGarantia],[DisponivelPMS],[RemessaBancaria],[ClasseAnalitica],[TransitaEstado],[EstadoTransitar],[PermiteDocNegativo],[PermiteLinhasNegativas],[PermiteEstorno],[DocumentoEstorno],[SerieDocEstorno],[Formato],[SAFTTipoDocumento],[BalAnalitica],[BalFinanceira],[DataUltimaActualizacao],[DeduzLiquidaIVA])
1890 VALUES ('RGR','MOV','Regularização de Retenção',0,'D','4',0,NULL,NULL,0,0,0,0,0,0,0,0,0,0,1,1,1,1,NULL,0,0,NULL,0,1,0,0,0,0,0,NULL,0,NULL,NULL,0,0,NULL,0,0,0,NULL,0,0,0,0,NULL,0,0,NULL,0,0,0,0,NULL,0,0,0,NULL,NULL,NULL,NULL,0,0,GETDATE(),0)
1891
1892 INSERT INTO DocumentosCCContaEstado([Documento],[TipoConta],[Estado]) VALUES ('RGR','CRC','PEN')
1893 INSERT INTO DocumentosCCContaEstado([Documento],[TipoConta],[Estado]) VALUES ('RGR','CRF','PEN')
1894
1895
1896 INSERT INTO SeriesCCT([TipoDoc],[Serie],[Ordem],[Descricao],[SerieInactiva],[SeriePorDefeito],[LimiteInferior],[LimiteSuperior],[Numerador],[DataUltimoDocumento],[DataInicial],[DataFinal],[AlterarData],[IvaIncluido],[SugereDataSistema],[UtilizadoEmPOS],[NumeracaoAutomatica],[UtilizaDescAbreviada],[AbreGaveta],[ModeloPOS],[ImprimirDirectamente],[Config],[NumVias],[Previsao],[DescricaoVia01],[DescricaoVia02],[DescricaoVia03],[DescricaoVia04],[DescricaoVia05],[DescricaoVia06],[ArmazemSugestao],[LocalSugestao],[UtilizadoEmPMS],[TipoLancamento],[TipoComunicacao],[Origem])
1897 VALUES ('RGR','2019',1,'Série 2019',0,0, 0, 999999999, 0,GETDATE(),'1/1/2019','12/31/2019',0,0,0,0,0,0,0,NULL,0,'GCPLLS14',1,0,'Original','Duplicado','Triplicado','Quadruplicado','Quintuplicado','Sextuplicado',NULL,NULL,0,'000',0,0)
1898
1899END
1900ELSE
1901BEGIN
1902 PRINT 'Documento RGR já existe na base de dados'
1903END
1904
1905-- =======================================================================================================================
1906-- Insert TDU_RF_Utilizadores - Compti -----------------------------------------------------------------------------------
1907-- Autor: iguel Ferreira -------------------------------------------------------------------------------------------------
1908-- Data: 2019.09.29 ------------------------------------------------------------------------------------------------------
1909-- =======================================================================================================================
1910
1911IF EXISTS(SELECT 1 FROM PRIEMPRE.dbo.Utilizadores WHERE Codigo='Compti')
1912BEGIN
1913 IF NOT EXISTS(SELECT 1 FROM TDU_RF_Utilizadores WHERE Codigo='Compti')
1914 BEGIN
1915 EXEC sp_Insert_TDU_RF_Utilizadores @Codigo='Compti', @Nome='Compti',@Activo=1
1916 END
1917END
1918GO
1919
1920--========================================================================================================================
1921-- Update Cond.Pag EntidadesPublicas-Pronto Pagamento ===================================================================
1922-- Autor: António Muteca =================================================================================================
1923-- Data: 2019.04.15 ======================================================================================================
1924-- =======================================================================================================================
1925
1926UPDATE E
1927SET E.CondPag = (SELECT TOP 1 CondPag FROM CondPag WHERE Dias=0)
1928FROM EntidadesPublicas E
1929WHERE ISNULL(CondPag ,'') = ''