Mensagem: Cannot insert duplicate key row in object 'dbo.CTCONTRA' with unique index 'KCTCONTRA1'. The duplicate key value is (xxx )

De CIGAM WIKI

FAQ_CIGAM > FAQ_Finanças > Contratos > Mensagem: Cannot insert duplicate key row in object 'dbo.CTCONTRA' with unique index 'KCTCONTRA1'. The duplicate key value is (xxx )

Esta mensagem indica que está ocorrendo a tentativa de criação de um contrato com um número sequencial já existente. Neste exemplo, estamos tentando criar o contrato de número 3334 e ele já existe na base:


Sequencialcontrato1.png


Consulte o contrato indicado na mensagem, através do menu Finanças > Contratos > Movimentos > Contratos. No exemplo, já existe um contrato de numeração 3334, conforme demonstra a pesquisa:


Sequencialcontrato2.png


Para localizar o último contrato criado na base, pesquise os contratos pelo programa Contratos (mesma tela do parágrafo anterior), ou através do menu Finanças > Contratos > Pesquisas > Movimentos > Contratos.

Identificado o último contrato criado na base, revise o programa Último Contrato, disponível no menu Finanças > Contratos > Parâmetros > Último Contrato:


Sequencialcontrato3.png


Seguindo o exemplo, é possível observar que o último contrato criado na base é o 3334, porém no programa Último Contrato o número sequencial informado é o 3333. Sendo necessário, ajuste este número, que neste caso será alterado para 3334, para que o próximo a ser criado seja o 3335:


Sequencialcontrato4.png


Feito esta alteração, ao criar um novo contrato, o sequencial consumido para ele será o 3335. Será o número informado na rotina Último Contrato + 1.


E porque isto pode acontecer?


O campo número do contrato, na tela do contrato, é liberado para digitação, logo se ao invés deixar consumir do sequencial do programa Último Contrato, o usuário digitar um número, ele será aceito desde que não haja nenhum outro criado com este mesmo número. O programa último contrato é atualizado quando o sequencial é gerado pelo sistema e não pelo usuário.