[QGIS-pt] QFIELD sincronizado com POSTGIS - Problema com campos do tipo numero inteiro

Bom dia,

Estou a preparar um projeto de QFIELD que se sincroniza com uma base de dados POSTGIS e encontrei um problema de sincronização com o qual alguém já se deve ter deparado.

Quando um utilizador apaga o conteudo de um campo do tipo numero inteiro no QFIELD ele dá o seguinte erro de sincronização:

2021-08-06T09:36:43 CRITICAL Layer Comércio/Serviços : PostGIS error while changing attributes: ERROR: invalid input syntax for integer: “”

LINE 1: …ipamentos".“g_comercio_servicos” SET “idnpolicia”=‘’ WHERE "…

Pelo que compreendi da mensagem de erro, o QFIELD tenta sincronizar o campo idnpolicia com o valor ‘’ (vazio entre pelicas), “idnpolicia”=‘’, o que o POSTGIS interpreta como texto e dá erro. O correto seria o QFIELD atualizar campo com nulo, ou seja “idnpolicia”=null.

Alguém sabe como contornar este erro de sincronização?

Eu já defini este campo como range (para tentar que fosse o QFIELD o considerasse como numero), e tenho um constraint para garantir que o numero de policia inserido existe, mas gostava de poder limpar o conteudo do campo caso o comercio exista num estabelecimento sem numero de policia (existem muitos).

Constraint:

if(

idnpolicia is null,
true,
aggregate(

layer:=‘Números de Polícia’,
aggregate:=‘max’,
expression:=“gid”,
filter:=“gid” = attribute(@parent,‘idnpolicia’))>0

)

Nota: eu estou a fazer este constraint porque inicialmente usei um campo do tipo value relation mas o QFIELD rebentava porque a tabela de dominio era demasiado grande. Penso que estou a explorar os limites do QFIELD!

Desde já agradeço qualquer ajuda.

Melhores cumprimentos,

Pedro Fernandes
T. +351 962 253 300

Pelo que compreendi da mensagem de erro, o QFIELD tenta sincronizar o campo idnpolicia com o valor '' (vazio entre pelicas), "idnpolicia"='', o que o POSTGIS interpreta como texto e dá erro. O correto seria o QFIELD atualizar campo com nulo, ou seja "idnpolicia"=null.

Confirmado e reportado:

https://github.com/opengisch/qfieldsync/issues/292

Cumps

-- G --

Bom dia,

Muito obrigado pelo seu apoio.

Fico a aguardar um update e entretanto deixo um constraint para não causar o erro.

Melhores cumprimentos,

Pedro Fernandes
T. +351 962 253 300

···

From: QGIS-pt qgis-pt-bounces@lists.osgeo.org on behalf of Giovanni Manghi giovanni.manghi@gmail.com
Sent: 06 August 2021 19:05
To: QGIS PT - lista de utilizadores QGIS, em português. qgis-pt@lists.osgeo.org
Subject: Re: [QGIS-pt] QFIELD sincronizado com POSTGIS - Problema com campos do tipo numero inteiro

Pelo que compreendi da mensagem de erro, o QFIELD tenta sincronizar o campo idnpolicia com o valor ‘’ (vazio entre pelicas), “idnpolicia”=‘’, o que o POSTGIS interpreta como texto e dá erro. O correto seria o QFIELD atualizar campo com nulo, ou seja “idnpolicia”=null.

Confirmado e reportado:

https://github.com/opengisch/qfieldsync/issues/292

Cumps

– G –


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-pt