20.3.09
Rotínas no RM de manipulação de material no estoque.
/*
VALOR DO ESTOQUE NO ULTIMO DIA DO MÊS
*/
SELECT SUM (ISNULL(R.TOTALMOV,0)) as VALORESTOQUE
from TPRD as P
left outer join TPRDLOC as L ON (P.IDPRD = L.IDPRD)
left outer join TRELSLD as R ON (R.IDPRD = P.IDPRD)
AND R.SALDO = 2 AND R.CODLOC in ('1.001','1.017')
AND R.CODFILIAL = 18 AND R.CODLOC = L.CODLOC
AND R.CODFILIAL = L.CODFILIAL
AND R.DATAMOVIMENTO = (SELECT MAX(DATAMOVIMENTO) FROM TRELSLD A WHERE A.CODFILIAL = R.CODFILIAL
AND A.CODLOC = R.CODLOC AND A.IDPRD = R.IDPRD AND A.DATAMOVIMENTO <= '02/28/2008'
AND R.SALDO = A.SALDO)AND R.SEQUENCIAL = (SELECT MAX(SEQUENCIAL) FROM TRELSLD B
WHERE B.CODFILIAL = R.CODFILIAL AND B.CODLOC = R.CODLOC AND B.IDPRD = R.IDPRD
AND B.DATAMOVIMENTO = R.DATAMOVIMENTO)
WHERE P.CODTB1FAT = '0001'
AND P.CODCOLIGADA = 2
AND P.IDPRD = L.IDPRD
AND L.CODLOC in ('1.001','1.017')
AND L.CODFILIAL = 18
/*
VALOR DO MATERIAL MOVIMENTADO NO MES
*/
SELECT A.CODTMV, A.STATUS, A.SERIE, A.CODFILIAL, SUM(ISNULL(D.QUANTIDADE,0) * ISNULL(D.PRECOUNITARIO,0)) TOTAL
FROM TMOV A, TITMMOV D, TPRD B
WHERE A.CODCOLIGADA = 2 AND A.DATACANCELAMENTOMOV IS NULL
AND A.CODTMV IN ('2.1.05', '4.1.09')
AND A.DATAEMISSAO >= '02/01/2009' AND A.DATAEMISSAO <= '02/28/2009'
AND D.CODCOLIGADA = A.CODCOLIGADA
AND A.CODLOC in ('1.001','1.017')
AND D.IDMOV = A.IDMOV
AND D.CODCOLIGADA = B.CODCOLIGADA
AND D.IDPRD = B.IDPRD
--AND A.STATUS = 'A'
AND B.TIPO = 'P'
AND A.CODFILIAL = 18
GROUP BY A.CODTMV, A.STATUS, A.SERIE,A.CODFILIAL
/*
QUANTIDADE DE MATERIAIS ENTREGUES NO MES
*/
SELECT SUM(I.QUANTIDADE) AS MATERIAISENTREGUESNOMES
FROM TMOV M
LEFT OUTER JOIN TITMMOV I ON I.IDMOV = M.IDMOV
LEFT OUTER JOIN TITMMOVRELAC R ON R.IDMOVDESTINO = I.IDMOV AND R.NSEQITMMOVDESTINO = I.NSEQITMMOV
LEFT OUTER JOIN TITMMOV I1 ON I1.IDMOV = R.IDMOVORIGEM AND I1.NSEQITMMOV = R.NSEQITMMOVORIGEM
LEFT OUTER JOIN TMOV O ON O.IDMOV = I1.IDMOV
WHERE M.CODFILIAL = 18 AND M.CODTMV = '1.2.01'
AND M.DATASAIDA >= '2009/03/01'
AND M.DATASAIDA <= '2009/03/30'
/*
QUANTIDADE DE MATERIAIS ENTREGUES NO PRAZO MES
*/
SELECT SUM(I.QUANTIDADE) AS MATERIAISENTREGUESNOPRAZONOMES
FROM TMOV M
LEFT OUTER JOIN TITMMOV I ON I.IDMOV = M.IDMOV
LEFT OUTER JOIN TITMMOVRELAC R ON R.IDMOVDESTINO = I.IDMOV AND R.NSEQITMMOVDESTINO = I.NSEQITMMOV
LEFT OUTER JOIN TITMMOV I1 ON I1.IDMOV = R.IDMOVORIGEM AND I1.NSEQITMMOV = R.NSEQITMMOVORIGEM
LEFT OUTER JOIN TMOV O ON O.IDMOV = I1.IDMOV
WHERE M.CODFILIAL = 18 AND M.CODTMV = '1.2.01'
AND M.DATASAIDA >= I1.DATAENTREGA
AND I1.DATAENTREGA BETWEEN '06/01/2008' AND '06/30/2008'
/*
QUANTIDADE DE MATERIAIS EM ATRAZO
*/
SELECT SUM(I.QUANTIDADE) AS MATERIAISENTREGUESEMATRAZO
FROM TMOV M
LEFT OUTER JOIN TITMMOV I ON I.IDMOV = M.IDMOV
LEFT OUTER JOIN TITMMOVRELAC R ON R.IDMOVDESTINO = I.IDMOV AND R.NSEQITMMOVDESTINO = I.NSEQITMMOV
LEFT OUTER JOIN TITMMOV I1 ON I1.IDMOV = R.IDMOVORIGEM AND I1.NSEQITMMOV = R.NSEQITMMOVORIGEM
LEFT OUTER JOIN TMOV O ON O.IDMOV = I1.IDMOV
WHERE M.CODFILIAL = 18 AND M.CODTMV = '1.2.01'
AND M.DATASAIDA >= I1.DATAENTREGA
AND I1.DATAENTREGA BETWEEN '07/01/2008' AND '07/31/2008'
Breve voltarei...
24.3.08
Inserindo campos de tabelas customizadas no gerador de relatórios do RM

O Gerador de relatórios do RM, é proprio. Um de seus recursos é você adicionar campos diretamente no relatório no método Arrastar e soltar.
Os campos das tabelas do RM já estão disponiveis por padrão, mas para inserir tabelas customizadas, não há um local no RM aonde você possa fazer isto. Sendo assim, teremos que fazer tal processo manualmente via sentença SQL. A tabela aonde iremos inserir os dados é a GCAMPOS do RM. e seus campos são os seguintes:
TABELA
COLUNA
DESCRICAO
RELATORIO
APLICACOES
O Campo TABELA, o proprio nome já diz tudo: Recebe o nome da tabela que você deseja cadastrar
COLUNA: É o nome da coluna, caso você coloque um sinal "#" neste campo, o RM interpreta que você quer informar na listagem
dos campos dispóníveis, o nome da tabela
DESCRICAO: É a descrição do campo. O texto que você colocar aí, vai ser o texto que vai ser exibido lá. Então seja criterioso neste campo
RELATORIO: Se vai ou não estar disponível para o gerador de relatórios
APLICACOES: Para quais programas do RM este campo estará disponível para uso. Use as letras referentes a cada programa separadas por ";"
Agora vamos supor que você tenha uma tabela criada para uma customização sua chamada ZFTLMPARAM que são parametros de uma customização no RM
Fluxus:
Execute a seguinte sentença:
insert into GCAMPOS values ('ZFTLMPARAM','SELENCARGO','Seleção de encargos',1,'G;F;T;')
esta sentença, você insere o campo SELENCARGO da tabela ZFTLMPARAM diponível para relatórios nas aplicações Bis (G) Labore (F), Nucleus (T)
13.1.08
Alterando uma nota fiscal com lançamentos no Fluxus e no Saldus
DECLARE @iIDMOV INT;
DECLARE @fVALOR FLOAT;
DECLARE @iCODFILIAL INT;
DECLARE @iALIQUOTA FLOAT;
DECLARE @dDATAEMISSAO DATETIME;
DECLARE @iPRECOUNITARIO FLOAT;
SET @fVALOR = 580.3900
SET @iCODFILIAL = 17;
SET @dDATAEMISSAO = '05/18/2007'
SET @iIDMOV = (select IDMOV from TMOV where numeromov = '027856' and codfilial = @iCODFILIAL and codtmv = '2.1.16');
SET @iALIQUOTA = 2;
SET @iPRECOUNITARIO = 22.2568;
update TMOV set VALORBRUTO = @fVALOR, VALORLIQUIDO = @fVALOR, VALOROUTROS = @fVALOR, VALORBRUTOINTERNO = @fVALOR where codfilial = @iCODFILIAL and idmov = @iIDMOV
update TMOV set CAMPOLIVRE1 = substring(campolivre1, 1, 13) + substring(replace(convert(varchar(10), @iALIQUOTA), '.', ','), 1, 4) + '%' + substring(campolivre1, 17, 20) where IDMOV = @iIDMOV and campolivre1 like '%ISS%'
update TTRBMOV set BASEDECALCULO = @fVALOR, BASEDECALCULOCALCULADA = @fVALOR, ALIQUOTA = @iALIQUOTA, VALOR = (@fVALOR * (ALIQUOTA / 100)) where IDMOV = @iIDMOV
update TITMMOV set VALORTOTALITEM = @fVALOR, PRECOUNITARIO = @iPRECOUNITARIO where IDMOV = @iIDMOV AND NSEQITMMOV = 1
update TMOVRATDEP set VALOR = @fVALOR where CODFILIAL = @iCODFILIAL and IDMOV = @iIDMOV
update TMOVRESUMOTRBIT set VALOR = @fVALOR WHERE IDMOV = @iIDMOV
update FLAN set VALORORIGINAL = @fVALOR, VALORCHEQUE = @fVALOR, VALOROP3 = (@fVALOR * (ALIQUOTA / 100)) where IDMOV = @iIDMOV
update FLAN set VALOROP2 = (@fVALOR * .055) Where IDMOV = @iIDMOV
update FLANCONT set VALOR = @fVALOR where IDLAN in (Select IDLAN from FLAN where IDMOV = @iIDMOV)
update FLANRATCCU set VALOR = @fVALOR where IDLAN in (Select 7DLAN from FLAN where IDMOV = @iIDMOV)
update FLANRATDEP set VALOR = @fVALOR where IDLAN in (Select IDLAN from FLAN where IDMOV = @iIDMOV)
update CLCTLOTE set VALOR = @fVALOR WHERE LCTREF IN (SELECT LCTREF FROM TMOVCONT WHERE IDMOV = @iIDMOV)
Nota: Para alterar um valor de um ítem de uma nota com vários itens, modifique a sentença do Update Titmmov.
4.1.08
Entendendo as Tabelas do RM
TMOV -> T de Tabela do Núcleus + MOV que significa Movimentos.
FLAN -> F de Tabela do Fluxus + LAN que significa Lançamentos Contábeis.
PFUNC -> P de Tabela do Labore + FUNC que significa Funcionarios.
MPRJ -> M de Tablea do Solum + PRJ que significa Projetos.
Como o Z não é utilizado como código de sistema, você pode usá-lo como um código de customização. Então ficaria assim:
ZTB2PRD -> Z de Tabela de uma customização + TB2PRD que significa um vínculo entre a tabela de localidades (TTB2) com a de Produtos (TPRD).
Relação de código dos sistemas que componhem o Corpore RM:
RM Chronus A
RM Testis B
RM Saldus C
RM Liber D
RM Classis - E E
RM Fluxus F
RM Bis G
RM AGILIS H
RM Bonum I
RM PLANOS J
RM Factor K
RM Biblios L
RM Solum M
RM Officina N
RM SAÚDE/JANUS O
RM Labore P
RM Classis Net S
RM Nucleus T
RM Classis - U U
RM Vitae V
RM PORTAL W
RM SGI X
RM Acesso Y
21.12.07
Criando uma rotina customizada de autoincremento de ID´s no RM
Uma vamos chamar de qUpdAutoInc e a outra de qGetAutoInc. Estas queries, uma vai obter o valor da chave na tabela GAUTOINC e a outra gravar o novo valor lá.
Na query qGetAutoInc, vamos colocar a seguinte senteça:
SELECT VALAUTOINC FROM GAUTOINC
WHERE CODCOLIGADA = :CODCOLIGADA AND
CODSISTEMA = :CODSISTEMA AND CODAUTOINC = :CODAUTOINC
Esta sentença traz o valor atual do campo informado em CODAUTOINC (que na verdade é o nome do campo chave de uma tabela)
Na qUpdAutoInc, vamos colocar a sentença:
UPDATE GAUTOINC SET VALAUTOINC = :VALAUTOINC
WHERE CODCOLIGADA = :CODCOLIGADA AND
CODSISTEMA = :CODSISTEMA AND CODAUTOINC = :CODAUTOINC
Agora para você fazer o autoincremento, basta fazer:
function TDMFat.GenIDMov: integer;
begin
qGetAutoInc.ParamByName('CODCOLIGADA').AsInteger := CorporeRM.Coligada;
qGetAutoInc.ParamByName('CODSISTEMA').AsString := 'T';
qGetAutoInc.ParamByName('CODAUTOINC').AsString := 'IDMOV';
qGetAutoInc.Open;
Result := qGetAutoInc.fieldbyname('VALAUTOINC').AsInteger + 1;
qGetAutoInc.Close;
qUpdAutoInc.ParamByName('CODCOLIGADA').AsInteger := CorporeRM.Coligada;
qUpdAutoInc.ParamByName('CODSISTEMA').AsString := 'T';
qUpdAutoInc.ParamByName('CODAUTOINC').AsString := 'IDMOV';
qUpdAutoInc.ParamByName('VALAUTOINC').AsInteger := Result;
qUpdAutoInc.ExecSQL;
end;
No caso acima, esta rotina incrementa o campo IDMOV da Tabela TMOV do RM Nucleus. Muitos aqui vão me questionar porque eu não uso o Succ para incrementar o valor do campo. Eu explico: O uso de funções e procedimentos, só se torna conveniente quando a rotina é de complexidade considerável e que não é viável codificar diretamente na estrutura do programa. Para quem não sabe o que acontece com seu programa, quando ele esta sendo executado e encontra uma função o procedimento, ele para de executar, vai ser empilhado e então será executada a rotina (procedimento ou função) em questão. Então ficar usando em demasia, funções como Inc, Succ, dentre outras, irá promover uma relativa lentidão no seu sistema. Eu, particularmente, evito estas funções. Ao invés de usar Inc(i), eu prefiro usar i := i + 1
19.12.07
Parametrizando um projeto no RM Solum
Para resolvermos isto, eu criei um metodo baseado em um arquivo XML que pode ser perfeitamente importado para dentro de um ClientDataset e, de lá, lermos cada campo e inserir os dados conforme o valor do campo.
Passo 1) Crie o arquivo .XML com base no modelo abaixo:
sXMLHead := TempDir +
format('%d.xml',[iIDPrj]);
AssignFile(fXmlDataPacket, sXMLHead);
Rewrite(fXmlDataPacket);
WriteLn(fXmlDataPacket, '<?xml version="1.0" standalone="yes"?>');
WriteLn(fXmlDataPacket, '<DATAPACKET Version="2.0"><METADATA><FIELDS>');
WriteLn(fXmlDataPacket, '<FIELD attrname="BDIPRJSOBRETOTAL" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="BDIPRJATIVO" fieldtype="i2"/><FIELD attrname="BDITRFATIVO" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="BDIGRPISMATIVO" fieldtype="i2"/><FIELD
attrname="CONSIDERARQUANTOBRAS" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CONSIDERARCASASDEC" fieldtype="i2"/><FIELD
attrname="CASASDECQUANTIDADES" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CASASDECTAXAS" fieldtype="i2"/><FIELD
attrname="CASASDECMONETARIOS" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CASASDECPERCENTUAIS" fieldtype="i2"/><FIELD
attrname="CASASDECCOEFICIENTES" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CALCULARAOABRIRPRJ" fieldtype="i2"/><FIELD
attrname="EXIBIRVALORTRF" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="EXIBIRVALORCMP" fieldtype="i2"/><FIELD
attrname="ACUMSERVMESMOCODCMP" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="LEISOBRECUSTOUNITISM" fieldtype="i2"/><FIELD
attrname="DATAINICIOPDOS" fieldtype="dateTime"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="TIPOPDO" fieldtype="i2"/><FIELD attrname="NUMDIASPDO" fieldtype="i4"/><FIELD attrname="NUMPDOSCRONOG"
fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CAMPOLIVRE1CNT" fieldtype="string" WIDTH="20"/><FIELD attrname="CAMPOLIVRE2CNT" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="MASCARATAREFA" fieldtype="string" WIDTH="60"/><FIELD attrname="MOEDASECUNDARIA" fieldtype="string" WIDTH="4"/><FIELD
attrname="NUCLEUSTIPOMOVREQ" fieldtype="string" WIDTH="10"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="DESCTAREFA" fieldtype="i2"/><FIELD attrname="CLIVRE1OBRA" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVRE2OBRA" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVRE3OBRA" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVRE4OBRA" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR1OBRA" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR2OBRA" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="BDIPRJ" fieldtype="fixed" DECIMALS="4" WIDTH="32"/><FIELD attrname="FATORLEISOCIAL1" fieldtype="fixed" DECIMALS="4"
WIDTH="32"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="FATORLEISOCIAL2" fieldtype="fixed" DECIMALS="4"
WIDTH="32"/><FIELD attrname="CLIVREVALOR1PAR" fieldtype="fixed" DECIMALS="4" WIDTH="13"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR2PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="13"/><FIELD attrname="CLIVREVALOR3PAR" fieldtype="fixed" DECIMALS="4" WIDTH="13"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR4PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="13"/><FIELD attrname="CLIVREVALOR5PAR" fieldtype="fixed" DECIMALS="4" WIDTH="13"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR6PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="13"/><FIELD attrname="CLIVREVALOR7PAR" fieldtype="fixed" DECIMALS="4" WIDTH="13"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR8PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="13"/><FIELD attrname="CLIVREVALOR9PAR" fieldtype="fixed" DECIMALS="4" WIDTH="13"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR1PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR2PARDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR3PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR4PARDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR5PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR6PARDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR7PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR8PARDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR9PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR1ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR2ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR3ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR4ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR5ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR6ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR7ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR8ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR9ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CASASDECESPECIAIS" fieldtype="i4"/><FIELD
attrname="MASCARAINSUMO" fieldtype="string" WIDTH="25"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="MASCARACOMPOSICAO" fieldtype="string" WIDTH="20"/><FIELD attrname="USARFILTROINSUMO" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="USARFILTROCOMPOSICAO" fieldtype="i2"/><FIELD
attrname="ATUALIZARVISAOINSUMOS" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="ATUALIZARVISAOCOMPOSICOES" fieldtype="i2"/><FIELD attrname="VTRFCOROBRA" fieldtype="i4"/><FIELD attrname="VTRFCORETAPA" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="VTRFCORSERVICOCOTADO" fieldtype="i4"/><FIELD
attrname="VTRFCORSERVICOCOMCMP" fieldtype="i4"/><FIELD attrname="VTRFCORSERVICOCOMISM" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CMPPRODUCAO" fieldtype="i2"/><FIELD attrname="INTEGRADONUCLEUS" fieldtype="i2"/><FIELD attrname="PERTSABADOS"
fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="PERTFERIADOS" fieldtype="i2"/><FIELD attrname="PERTCALENDARIO" fieldtype="string" WIDTH="16"/><FIELD attrname="DESCINSUMO"
fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="DESCCOMPOSICAO" fieldtype="i2"/><FIELD
attrname="NUCLEUSTIPOCONTROLE" fieldtype="i2"/><FIELD attrname="NUCLEUSTIPOMOVREQ" fieldtype="string" WIDTH="10"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVRE1ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVRE2ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVRE3ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVRE4ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVRE5ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR10ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR11ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR12ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR13ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR14ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVRE1CMP" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVRE2CMP" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVRE3CMP"
fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVRE4CMP" fieldtype="string" WIDTH="20"/><FIELD
attrname="CLIVRE5CMP" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR1CMP" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR2CMP" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR3CMP" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR4CMP" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR5CMP" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVRE1TRF" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVRE2TRF" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVRE3TRF" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVRE4TRF" fieldtype="string" WIDTH="20"/><FIELD
attrname="CLIVRE5TRF" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR1TRF" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR2TRF" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR3TRF" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR4TRF" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR5TRF" fieldtype="string" WIDTH="20"/><FIELD attrname="PERTDOMINGOS" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="INTEGRADOFLUXUS" fieldtype="i2"/><FIELD
attrname="FLUXUSTIPODOCLAN" fieldtype="string" WIDTH="10"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="USARFATORK" fieldtype="i2"/><FIELD attrname="REPETIRCODAUXPLAN" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="IGUALARRECURSOTAREFA" fieldtype="i2"/><FIELD
attrname="INTEGRADOOFICINA" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR15ISMDESC" fieldtype="string"
WIDTH="20"/><FIELD attrname="CLIVREVALOR16ISMDESC" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR17ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR18ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR19ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR20ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR21ISMDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR22ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR23ISMDESC" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR24ISMDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR25ISMDESC" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR10PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR11PARDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR12PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR13PARDESC" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR14PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR15PARDESC" fieldtype="string"
WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR16PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR17PARDESC" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR18PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR19PARDESC" fieldtype="string" WIDTH="20"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR20PARDESC" fieldtype="string" WIDTH="20"/><FIELD attrname="CLIVREVALOR10PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="15"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR11PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="15"/><FIELD attrname="CLIVREVALOR12PAR" fieldtype="fixed" DECIMALS="4" WIDTH="15"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR13PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="15"/><FIELD attrname="CLIVREVALOR14PAR" fieldtype="fixed" DECIMALS="4" WIDTH="15"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR15PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="15"/><FIELD attrname="CLIVREVALOR16PAR" fieldtype="fixed" DECIMALS="4" WIDTH="15"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR17PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="15"/><FIELD attrname="CLIVREVALOR18PAR" fieldtype="fixed" DECIMALS="4" WIDTH="15"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CLIVREVALOR19PAR" fieldtype="fixed" DECIMALS="4"
WIDTH="15"/><FIELD attrname="CLIVREVALOR20PAR" fieldtype="fixed" DECIMALS="4" WIDTH="15"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="LOGUSRMENU" fieldtype="i2"/><FIELD attrname="LOGUSRISM" fieldtype="i2"/><FIELD attrname="LOGUSRISMPRC" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="LOGUSRISMAPROP" fieldtype="i2"/><FIELD attrname="LOGUSRCMP" fieldtype="i2"/><FIELD attrname="LOGUSRTRF" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="LOGUSRCRON" fieldtype="i2"/><FIELD attrname="ENTERASTAB" fieldtype="i2"/><FIELD attrname="VERPROJECT" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CASASDECCALC" fieldtype="i2"/><FIELD attrname="INTEGRALABORE" fieldtype="i2"/><FIELD attrname="INTEGRAVITAE" fieldtype="i2"/>'); WriteLn(fXmlDataPacket, '<FIELD attrname="CELCALCBDI" fieldtype="string" WIDTH="4"/><FIELD
attrname="CELCALCLEISOCIAL" fieldtype="string" WIDTH="4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="FLUXUSTIPODOCLANCCRONOG" fieldtype="string" WIDTH="10"/><FIELD attrname="COEFIMPRODZERO" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="IDPLANLEI" fieldtype="i4"/><FIELD
attrname="IDPLANBDI" fieldtype="i4"/><FIELD attrname="IDPLANLEI2" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="UTILIZAFATORKCMP" fieldtype="i4"/><FIELD
attrname="CELCALCLEISOCIAL2" fieldtype="string" WIDTH="4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CODCPG" fieldtype="string" WIDTH="5"/><FIELD attrname="INTEGRADOBONUM" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="JORNADA" fieldtype="fixed" DECIMALS="2" WIDTH="15"/><FIELD attrname="MOEDASECUNDARIA" fieldtype="string" WIDTH="10"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="VINCPROJECT" fieldtype="i4"/><FIELD attrname="ARQPROJECT" fieldtype="string" WIDTH="250"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="NUCLEUSTIPOMOVAPROP" fieldtype="string" WIDTH="10"/><FIELD attrname="CNTPERMITASSOCSUPCEM" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="ARREDONDAISM" fieldtype="i2"/><FIELD
attrname="ARREDONDAQTDECASASDECNUCLEUS" fieldtype="i2"/><FIELD attrname="AUTODIMISMASSOC" fieldtype="i2"/><FIELD attrname="CORINDIRETA" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="UTILIZARATEIOCC" fieldtype="i2"/><FIELD
attrname="DATABASECONVERSAO" fieldtype="dateTime"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="UTILIZAVIGENCIA" fieldtype="i4"/><FIELD
attrname="TIPOMOVNUCLEUSCOTACAO" fieldtype="string" WIDTH="10"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CNTMEDICAOACIMADECEM" fieldtype="i2"/><FIELD
attrname="PERMITEASSOCTRFCNTSUPVLRORCADO" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="LOGUSRMEDICAO" fieldtype="i2"/><FIELD
attrname="AVISARCRONPREVMENOR100" fieldtype="i4"/><FIELD attrname="DIVIDECOEFPELAPRODUCAO" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="TIPOTRATAMENTOVALOR" fieldtype="i2"/><FIELD
attrname="EDITAPRCUNITARIOLABOREAPROP" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="APLICALEISPRCUNITLABOREAPROP" fieldtype="i2"/><FIELD attrname="INDEXAR" fieldtype="i4"/><FIELD attrname="DATABASEINDEXACAO" fieldtype="dateTime"/><FIELD attrname="UTILIZARATEIODEPTO"
fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CRONOGDESTINOAPROPRIACAO" fieldtype="string" WIDTH="1"/><FIELD attrname="PERMALTERACAOREQMAT" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="LOGUSRREQMAT" fieldtype="i4"/><FIELD
attrname="ORIGEMPRECOMAOOBRAAPROPRIADA" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="CAMPOAPROPRIACAONUCLEUS" fieldtype="string" WIDTH="30"/><FIELD attrname="UTILIZATRAVAMENTOCRONOGPLAN"
fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="PDOINICIALALTERCRONPLAN" fieldtype="i4"/><FIELD attrname="PDOFINALALTERCRONPLAN" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="UTILIZATRAVAMENTOCRONOGREAL" fieldtype="i2"/><FIELD attrname="PDOINICIALALTERCRONREAL" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="PDOFINALALTERCRONREAL" fieldtype="i4"/><FIELD
attrname="UTILIZATRAVAMENTOCRONOGMED" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="PDOINICIALALTERCRONMED" fieldtype="i4"/><FIELD
attrname="PDOFINALALTERCRONMED" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="TIPOMOVESTOQUE" fieldtype="string" WIDTH="10"/><FIELD attrname="HABILITAMOVESTOQUE" fieldtype="i2"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="AUTOINCCOMPOSICAO" fieldtype="i4"/><FIELD
attrname="VALINITAUTOINCCOMPOSICAO" fieldtype="i4"/>');
WriteLn(fXmlDataPacket, '<FIELD attrname="APLICAFATORKINSUMOCURVAABC"
fieldtype="i2"/></FIELDS><PARAMS CHANGE_LOG="1 0 4"/></METADATA>');
WriteLn(fXmlDataPacket, '<ROWDATA><ROW RowState="4" CBDIPRJSOBRETOTAL="1" BDIPRJATIVO="1" BDITRFATIVO="1"');
WriteLn(fXmlDataPacket, 'BDIGRPISMATIVO="1"
CONSIDERARQUANTOBRAS="1" CONSIDERARCASASDEC="1" CASASDECQUANTIDADES="2"
CASASDECTAXAS="4" CASASDECMONETARIOS="4" CASASDECPERCENTUAIS="3"');
WriteLn(fXmlDataPacket, 'CASASDECCOEFICIENTES="2" CALCULARAOABRIRPRJ="0" EXIBIRVALORTRF="1" EXIBIRVALORCMP="1" ACUMSERVMESMOCODCMP="1" LEISOBRECUSTOUNITISM="1" DATAINICIOPDOS ="' + sDataInicio + '" TIPOPDO="30" NUMDIASPDO="30"');
WriteLn(fXmlDataPacket, 'NUMPDOSCRONOG="' + IntToStr(iNumPeriodos)+ '" ASCARATAREFA="###.####" MOEDASECUNDARIA="'+ sMoedaCotada + '" NUCLEUSTIPOMOVREQ="2.1.08" DESCTAREFA="1"
BDIPRJ="1.0000" FATORLEISOCIAL1="1.0000" FATORLEISOCIAL2="1.0000" CASASDECESPECIAIS="2"');
WriteLn(fXmlDataPacket, 'MASCARACOMPOSICAO="##.####" USARFILTROINSUMO="0" USARFILTROCOMPOSICAO="0" ATUALIZARVISAOINSUMOS="1" ATUALIZARVISAOCOMPOSICOES="1" VTRFCOROBRA="0" VTRFCORETAPA="0" VTRFCORSERVICOCOTADO=""');
WriteLn(fXmlDataPacket, 'VTRFCORSERVICOCOMCMP="0" VTRFCORSERVICOCOMISM="0" CMPPRODUCAO="1" INTEGRADONUCLEUS="1" PERTSABADOS="0" PERTFERIADOS="1" DESCINSUMO="1" DESCCOMPOSICAO="1" NUCLEUSTIPOMOVREC="2.1.08"');
WriteLn(fXmlDataPacket, 'NUCLEUSTIPOCONTROLE="0" PERTDOMINGOS="0" INTEGRADOFLUXUS="0" USARFATORK="0" REPETIRCODAUXPLAN="0" IGUALARRECURSOTAREFA="1" INTEGRADOOFICINA="0"
LOGUSRMENU="0" LOGUSRISM="0"');
WriteLn(fXmlDataPacket, 'LOGUSRISMPRC="0" LOGUSRISMAPROP="0" LOGUSRCMP="0" LOGUSRTRF="0" LOGUSRCRON="0" ENTERASTAB="0" VERPROJECT="0" CASASDECCALC="0" INTEGRALABORE="0"
INTEGRAVITAE="0"');
WriteLn(fXmlDataPacket, 'CELCALCBDI="0" CELCALCLEISOCIAL="0" COEFIMPRODZERO="0" UTILIZAFATORKCMP="0" INTEGRADOBONUM="0" CNTPERMITASSOCSUPCEM="0" ARREDONDAISM="0" AUTODIMISMASSOC="0" UTILIZARATEIOCC="0"');
WriteLn(fXmlDataPacket, 'UTILIZAVIGENCIA="0" CNTMEDICAOACIMADECEM="0" PERMITEASSOCTRFCNTSUPVLRORCADO="0" LOGUSRMEDICAO="0" AVISARCRONPREVMENOR100="1" DIVIDECOEFPELAPRODUCAO="0" TIPOTRATAMENTOVALOR="1"');
WriteLn(fXmlDataPacket, 'EDITAPRCUNITARIOLABOREAPROP="0" PLICALEISPRCUNITLABOREAPROP="0" INDEXAR="1" UTILIZARATEIODEPTO="0" ARREDONDAQTDECASASDECNUCLEUS="4"
CRONOGDESTINOAPROPRIACAO="R"');
WriteLn(fXmlDataPacket, 'PERMALTERACAOREQMAT="2" LOGUSRREQMAT="0" ORIGEMPRECOMAOOBRAAPROPRIADA="0" CAMPOAPROPRIACAONUCLEUS="DATAEMISSAO" UTILIZATRAVAMENTOCRONOGPLAN="0" UTILIZATRAVAMENTOCRONOGREAL="0"');
WriteLn(fXmlDataPacket, 'UTILIZATRAVAMENTOCRONOGMED="0" TIPOMOVESTOQUE="2.1.08" HABILITAMOVESTOQUE="1" AUTOINCCOMPOSICAO="0" VALINITAUTOINCCOMPOSICAO="1"
APLICAFATORKINSUMOCURVAABC="0"/></ROWDATA></DATAPACKET>');
CloseFile(fXmlDataPacket);
Passo 2) Em seguida, vamos abrir e atribuir este XML a um ClientDataset:
cdsParamProjeto.FileName := sXMLHead;
cdsParamProjeto.Open;
Caso tudo dê certo, o CDS será aberto. Caso ele não consiga ser aberto e gere uma exception, verifique qual a rezão do erro ocorrido. Muito provavelmente há um erro no .xml
Passo 3) Bom, com o CDS aberto, bastará então criarmos uma rotina de loop que irá ler cada coluna do CDS e dar um insert na tabela MPARAMETRO:
for i := 0 to DMProj.cdsParamProjeto.fields.Count-1 do begin
qParamsProjeto.Close;
qParamsProjeto.ParamByName('CODCOLIGADA').AsInteger := CorporeRM.Coligada;
qParamsProjeto.ParamByName('IDPRJ').AsInteger := iIDPrj;
qParamsProjeto.ParamByname('PARAMETRO').AsString := DMProj.cdsParamProjeto.Fields[i].FieldName;
qParamsProjeto.Open;
if qParamsProjeto.Eof then
begin
qParamsProjeto.Insert;
qParamsProjeto.FieldByName('CODCOLIGADA').AsInteger := CorporeRM.Coligada;
qParamsProjeto.FieldByName('IDPRJ').AsInteger := iIDPrj;
qParamsProjeto.FieldByname('PARAMETRO').AsString := DMProj.cdsParamProjeto.Fields[i].FieldName;
case DMProj.cdsParamProjeto.Fields[i].DataType of
ftInteger: qParamsProjeto.FieldByname('VALORINT').AsInteger := cdsParamProjeto.FieldByName(DMProj.cdsParamProjeto.Fields[i].FieldName).AsInteger;
ftSmallint: qParamsProjeto.FieldByname('VALORINT').AsInteger := cdsParamProjeto.FieldByName(DMProj.cdsParamProjeto.Fields[i].FieldName).AsInteger;
ftFloat: qParamsProjeto.FieldByname('VALORFLOAT').AsFloat := cdsParamProjeto.FieldByName(DMProj.cdsParamProjeto.Fields[i].FieldName).AsFloat;
ftDateTime: qParamsProjeto.FieldByname('VALORDATA').AsDateTime := cdsParamProjeto.FieldByName(DMProj.cdsParamProjeto.Fields[i].FieldName).AsDateTime;
ftString: qParamsProjeto.FieldByname('VALORSTR').AsString := cdsParamProjeto.FieldByName(DMProj.cdsParamProjeto.Fields[i].FieldName).AsString;
end;
//
qParamsProjeto.Post;
end;
end;
DMProj.cdsParamProjeto.Close;
DeleteFile(sXMLHead);
//
A sentença que irá alimentar a query qParamsProjeto deverá ser:
select CODCOLIGADA, IDPRJ, PARAMETRO, VALORINT, VALORFLOAT, VALORDATA, VALORSTR from MPARAMETRO where CODCOLIGADA = :CODCOLIGADA and IDPRJ = :IDPRJ AND PARAMETRO = :PARAMETRO
Dar um insert diretamente, irá acarretar erros ao você tentar passar um valor NULL para os valores de parametros que não serão preenchidos. Melhor deixar isto por conta do BDE.
Você pode criar a query em Run-Time mesmo. Depois de gravados os dados na tabela MPARAMETRO, ela não será mais necesária.]
qParamsProjeto := TQuery.Create(nil);
qParamsProjeto.DatabaseName := CorporeRM.DatabaseName;
qParamsProjeto.RequestLive := True;
qParamsProjeto.SQL.Add('select CODCOLIGADA, IDPRJ, PARAMETRO, VALORINT, VALORFLOAT, VALORDATA, VALORSTR from MPARAMETRO');
qParamsProjeto.SQL.Add('where CODCOLIGADA = :CODCOLIGADA and IDPRJ = :IDPRJ AND PARAMETRO = :PARAMETRO');
qParamsProjeto.Prepare;
//
18.12.07
RM 10
1) A tabela FCFO (De fornecedores) agora tem um campo que é obrigatório: PESSOAFISOUJUR. Se o fornecedor for pessoa física, coloque "F" e se jurídica "J"
2) O RM Solum mudou um monte de coisa. Agora, caso você faça o projeto via customização e não cadastrando-o diretamente, você não precisa mais criar o datapacket para que o Solum importe-o para dentro da tabela MPARAMETRO. Você terá que preenchê-la automáticamente.
Tabelas/Campos EXCLUÍDOS da base de dados:
DFILIAL.OPTANTEREGSIMPLIFICADOFEDERAL
DFILIAL.RAMOATIVIDADE
DFILIAL.CAIXAPOSTAL
DFILIAL.CEPCAIXAPOSTAL
DFILIAL.CODATIVFED
DFILIAL.CODATIVIDPRINC
DFILIAL.CODMUNICIPIO
DFILIAL.CONTABIL
DFILIAL.DATAREGJUNTA
DFILIAL.DESCATIVIDPRINC
DFILIAL.FILIALSALDUS
DFILIAL.INSCMUN
DFILIAL.NUMREGJUNTA
DFILIAL.SUFRAMA
DLAF.CLASSECONSUMO
DLAF.CODETDPLACA02
DLAF.CODETDPLACA03
DLAF.FASE
DLAF.GRUPOTENSAO
DLAF.PLACA02
DLAF.PLACA03
DLAF.TIPOUTILIZACAO
DPARAMETROS.AGRUPALANCPARC
DPARAMETROS.CONSISTEPERIODO
DPARAMETROS.CONTABILIZACAOONLINE
DPARAMETROS.CONTROLAATIVO
DPARAMETROS.CONTROLADISPOSITIVOSEGURANCA
DPARAMETROS.DATAINICIOCIAP
DPARAMETROS.DEDUZMATERIAIS
DPARAMETROS.DEDUZSUBEMPREITADA
DPARAMETROS.EDITACGCCF
DPARAMETROS.EDITASOMENTESECFAZ
DPARAMETROS.EMITELIVROCONSTCIVIL
DPARAMETROS.EXPORTARSERIE
DPARAMETROS.INTEGRADOFLUXUS
DPARAMETROS.INTEGRADONUCLEUS
DPARAMETROS.MODELOCIAP
DPARAMETROS.TIPOLIVRO
DPARAMETROS.USAALIQDAPILFOUPRODUTO
DPARAMETROSFILIAL
EPARAMWEB.MOSTRARENDERECOCORRESPONDENCIA
FCFO.CODREDE
FCFO.IDENDENTREGA
FCFO.IDENDERECO
FCFO.IDENDPGTO
FCFO.PAGCAMARACOMPENSACAO
FCFO.PAGCEPAGENCIA
FCFO.PAGCODIGOAGENCIA
FCFO.PAGCONTACORRENTE
FCFO.PAGDIGITOAGENCIA
FCFO.PAGDIGITOAGENCIACONTA
FCFO.PAGFORMAPAGAMENTO
FCFO.PAGNOMEAGENCIA
FCFO.PAGNUMEROBANCO
FCFO.PAGTPCONTA
FCFO.RAMOATIVIDADE
FCFO.SENHA
FCFO.VALOREMABERTO
FPIMPRESSO.IDREL
FPIMPRESSO.ULTNUMGERADO
FPREGIMPRESSAO
GHELP
LEMPRESTIMOS.MULTAPAGA
MPARPRJ
NAGENDA.CODCOLIGADA
NALBUMVERSAO.CODCOLIGADA
NARQUIVONOTICIA.CODCOLIGADA
NCLASSIFICADOS.CODCOLIGADA
NCLASSIFICADOSLOCALIDADE.CODCOLIGADA
NCONTROLEVERSAO.CODCOLIGADA
NEMPREGO.CODCOLIGADA
NEMPREGOFILIAL
NENQUETE.CODCOLIGADA
NENQUETELOCALIDADE.CODCOLIGADA
NENQUETEPERFILPERMIS.CODCOLIGADA
NENQUETEETURMA
NENQUETEUCURSO
NENQUETEUSUARIO.CODCOLIGADA
NENQUETEUSUARIOPERMIS.CODCOLIGADA
NEVENTOLOGIN
NFORUM.CODCOLIGADA
NFORUMDEPARTAMENTO
NFORUMRESPOSTA.CODCOLIGADA
NLOCALIDADE.CODCOLIGADA
NLOGLOGIN
NLOGNOTICIA
NLOGPORTAL.CODCOLIGADA
NMENU.CODCOLIGADA
NNOTICIA.CODCOLIGADA
NNOTICIALOCALIDADE.CODCOLIGADA
NOPCAOENQT.CODCOLIGADA
NPARAMETROS.CODCOLIGADA
NPARAMETROS.IDPARAM
NPARAMETROS.NOMEPARAM
NPARAMETROS.TIPOPARAM
NPARAMSERVEMAIL
NPARAMSERVICOS
NPERFIL.CODCOLIGADA
NPERFILMENU.CODCOLIGADA
NPERFILUSUARIO.CODCOLIGADA
NPERGUNTAENQT.CODCOLIGADA
NPERMISMENUCONTEUDO.CODCOLIGADA
NRESPOSTAENQT.CODCOLIGADA
NUSUARIOLOCALIDADE.CODCOLIGADA
NUSUARIOMENU.CODCOLIGADA
NUSUARIOOPCAOENQT.CODCOLIGADA
NVERSAOCONTEUDO.CODCOLIGADA
NWEBPARTCONFIG.CODCOLIGADA
OFINDICE.PERIODOAVALIACAO
PFUNCPT.REFORMADO
SZAMOSTRAS.CODATENDIMENTO
SZAMOSTRAS.CODPACIENTE
SZAMOSTRAS.DESCEXAMES
SZAMOSTRAS.QTDEXAMES
SZAPRPAESTOQUE.CODESTOQUE
SZAPRPAESTOQUE.GRPESTOQUE
SZATENDIMENTOREC.BAIRRORESPATEND
SZATENDIMENTOREC.CEPRESPATEND
SZATENDIMENTOREC.CIDADERESPATEND
SZATENDIMENTOREC.COMPLRESPATEND
SZATENDIMENTOREC.CPFCGCNF
SZATENDIMENTOREC.DDDTELEFONECOM
SZATENDIMENTOREC.DDDTELEFONERES
SZATENDIMENTOREC.ENDERECORESPATEND
SZATENDIMENTOREC.NOMEACOMPANHANTE
SZATENDIMENTOREC.NOMERESPATEND
SZATENDIMENTOREC.NUMERORESPATEND
SZATENDIMENTOREC.RAMAL
SZATENDIMENTOREC.TELEFONECOM
SZATENDIMENTOREC.TELEFONERES
SZATENDIMENTOREC.TIPORESPONSAVEL
SZATENDIMENTOREC.UFRESPATEND
SZINDICADORPROHOSP
SZITEMPRESCRICAO.CODESTOQUE
SZITEMPRESCRICAO.GRPESTOQUE
SZMAPAAMOSTRA.QTDEAMOSTRA
SZPERFILCCUSTO
SZPRESCRICAO.CODALMOXARIFADO
TMOV.CODETDPLACA02
TMOV.CODETDPLACA03
TMOV.PLACA02
TMOV.PLACA03
TMOVCFO.TIPOLOGRADOURO
TPAR.CAMPOCOMPLEMENTARVISAOPRODUTO
TPARAM
TTMV.CODNAT
TTMV.CODNAT2
TTMVCABECALHO
TTMVEXT.CODNATFORAESTADO
TTMVEXT.CODNATFORAESTADO2
TTMVPARAM
VCONTROLESISTEMA.GERARHABTREINFECHTURMAITEMCURR
VREQUISICAOADMISSAOCOMPL
VREQUISICAOPESSOALCOMPL
VREQUISICAOTREINAMENTOCOMPL
XPARAMETROSCOLIGADA.UTILIZAINTEGRACAOFLPAGTOCOMIS
XTIPORECEITA.CODCOLIGADA
XTIPORECEITA.CODTBFLX