diff --git a/django/contatti_app/admin.py b/django/contatti_app/admin.py
index 66f1e39..59dd084 100644
--- a/django/contatti_app/admin.py
+++ b/django/contatti_app/admin.py
@@ -8,13 +8,16 @@ from dati_geo_app.admin import RicercaOrdinataMixin, AjaxAutocompleteListFilterM
# Modified version of a GIST I found in a SO thread
# cfr. http://masnun.rocks/2017/03/20/django-admin-expensive-count-all-queries/
+
+
class CachingPaginator(Paginator):
def _get_count(self):
if not hasattr(self, "_count"):
self._count = None
if self._count is None:
try:
- key = "adm:{0}:count".format(hash(self.object_list.query.__str__()))
+ key = "adm:{0}:count".format(
+ hash(self.object_list.query.__str__()))
self._count = cache.get(key, -1)
if self._count == -1:
self._count = super().count
@@ -47,6 +50,15 @@ class PersonaContattoAziendaAdmin(ImportExportModelAdmin):
pass
+@admin.register(models.VoceContattoRubrica)
+class VoceContattoRubricaAdmin(ImportExportModelAdmin):
+ # resource = resources.VoceContattoRubricaResource
+ # list_per_page = 15
+ # paginator = CachingPaginator
+ # show_full_result_count = False
+ pass
+
+
@admin.register(models.Telefono)
class TelefonoAdmin(ImportExportModelAdmin):
# resource = resources.TelefonoResource
@@ -110,34 +122,28 @@ class PecAdmin(ImportExportModelAdmin):
pass
+@admin.register(models.SoggettoContattabile)
+class SoggettoContattabileAdmin(ImportExportModelAdmin):
+ # resource = resources.SoggettoContattabileResource
+ # list_per_page = 15
+ # paginator = CachingPaginator
+ # show_full_result_count = False
+ pass
+
+
@admin.register(models.Indirizzo)
-class IndirizzoAdmin(RicercaOrdinataMixin, AjaxAutocompleteListFilterModelAdmin):
- list_per_page = 15
- paginator = CachingPaginator
- show_full_result_count = False
- fields=('dug','duf','civico','cap','comune','altro',)
- search_fields = ('indirizzo','cap_id__exact',)
- autocomplete_fields = ('dug','cap','comune',)
- list_display = ('indirizzo', 'cap','comune','provincia','regione',)
- ordering = ('comune_id','duf','civico',)
- autocomplete_list_filter = ('comune',)
- list_filter = ('comune__provincia__regione_id',)
+class IndirizzoAdmin(ImportExportModelAdmin):
+ # resource = resources.IndirizzoResource
+ # list_per_page = 15
+ # paginator = CachingPaginator
+ # show_full_result_count = False
+ pass
- def get_queryset(self, request):
- queryset = super().get_queryset(request).select_related('comune__provincia__regione').annotate(indirizzo=Concat('dug_id',Value(' '),'duf',Value(' '),'civico'))
- return queryset
- def provincia(self, obj):
- return obj.comune.provincia
- provincia.short_description = 'Provincia'
- provincia.admin_order_field = 'comune__provincia_id'
-
- def regione(self, obj):
- return obj.comune.provincia.regione_id
- regione.short_description = 'Regione'
- regione.admin_order_field = 'comune__provincia__regione_id'
-
- def indirizzo(self, obj):
- return obj.indirizzo
- indirizzo.short_description = 'Indirizzo'
- indirizzo.admin_order_field = ('comune_id','duf','civico',)
+@admin.register(models.Societa)
+class SocietaAdmin(ImportExportModelAdmin):
+ # resource = resources.SocietaResource
+ # list_per_page = 15
+ # paginator = CachingPaginator
+ # show_full_result_count = False
+ pass
diff --git a/django/contatti_app/migrations/0001_initial.py b/django/contatti_app/migrations/0001_initial.py
index aa9b4f0..38b99ec 100644
--- a/django/contatti_app/migrations/0001_initial.py
+++ b/django/contatti_app/migrations/0001_initial.py
@@ -1,4 +1,4 @@
-# Generated by Django 4.1.7 on 2023-05-14 15:43
+# Generated by Django 4.1.7 on 2023-05-14 22:57
from django.db import migrations, models
import django.db.models.deletion
@@ -25,7 +25,6 @@ class Migration(migrations.Migration):
verbose_name="ID",
),
),
- ("rimosso", models.BooleanField(blank=True, null=True)),
(
"polymorphic_ctype",
models.ForeignKey(
@@ -93,7 +92,7 @@ class Migration(migrations.Migration):
),
),
("indirizzo_email", models.CharField(max_length=30)),
- ("note", models.CharField(max_length=64, null=True)),
+ ("note", models.CharField(blank=True, default="", max_length=64)),
],
options={
"verbose_name": "email",
@@ -115,8 +114,8 @@ class Migration(migrations.Migration):
to="contatti_app.vocecontattorubrica",
),
),
- ("numero", models.CharField(max_length=20, null=True)),
- ("note", models.CharField(max_length=64, null=True)),
+ ("numero", models.CharField(max_length=20)),
+ ("note", models.CharField(blank=True, default="", max_length=64)),
],
options={
"verbose_name": "fax",
@@ -209,9 +208,10 @@ class Migration(migrations.Migration):
to="contatti_app.soggettocontattabile",
),
),
- ("titolo", models.CharField(max_length=10, null=True)),
- ("nome", models.CharField(max_length=60, null=True)),
- ("cognome", models.CharField(max_length=60, null=True)),
+ ("titolo", models.CharField(blank=True, default="", max_length=10)),
+ ("nome", models.CharField(max_length=60)),
+ ("cognome", models.CharField(max_length=60)),
+ ("is_privato", models.BooleanField(default=True)),
],
options={
"verbose_name": "persona fisica",
@@ -233,7 +233,7 @@ class Migration(migrations.Migration):
to="contatti_app.soggettocontattabile",
),
),
- ("denominazione", models.CharField(max_length=80, null=True)),
+ ("denominazione", models.CharField(max_length=80)),
],
options={
"verbose_name": "persona giuridica",
@@ -256,8 +256,8 @@ class Migration(migrations.Migration):
),
),
("numero", models.CharField(max_length=20)),
- ("interno", models.CharField(max_length=20, null=True)),
- ("note", models.CharField(max_length=64, null=True)),
+ ("interno", models.CharField(blank=True, default="", max_length=20)),
+ ("note", models.CharField(blank=True, default="", max_length=64)),
],
options={
"verbose_name": "telefono",
@@ -337,12 +337,10 @@ class Migration(migrations.Migration):
to="contatti_app.indirizzo",
),
),
- ("is_legale", models.BooleanField(blank=True, null=True)),
+ ("is_legale", models.BooleanField(default=False)),
(
"societa",
models.ForeignKey(
- blank=True,
- null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="sedi",
to="contatti_app.societa",
@@ -369,12 +367,10 @@ class Migration(migrations.Migration):
to="contatti_app.personafisica",
),
),
- ("is_personale", models.BooleanField(blank=True, null=True)),
+ ("is_personale", models.BooleanField(default=True)),
(
"azienda",
models.ForeignKey(
- blank=True,
- null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="persone",
to="contatti_app.societa",
diff --git a/django/contatti_app/migrations/0002_personafisica_is_privato.py b/django/contatti_app/migrations/0002_personafisica_is_privato.py
deleted file mode 100644
index 680d83b..0000000
--- a/django/contatti_app/migrations/0002_personafisica_is_privato.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# Generated by Django 4.1.7 on 2023-05-14 16:19
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
- dependencies = [
- ("contatti_app", "0001_initial"),
- ]
-
- operations = [
- migrations.AddField(
- model_name="personafisica",
- name="is_privato",
- field=models.BooleanField(default=True),
- ),
- ]
diff --git a/django/contatti_app/modello_database.xml b/django/contatti_app/modello_database.xml
index 605a295..75b33a2 100644
--- a/django/contatti_app/modello_database.xml
+++ b/django/contatti_app/modello_database.xml
@@ -42,32 +42,21 @@
INTEGER
NULL
-
+
INTEGER
NULL
+
+bit
+True
personafisica_ptr
-
-
-INTEGER
-NULL
-
-CHAR(2)
-'NULL'
-
-VARCHAR(250)
-NULL
-
-id
-
-
INTEGER
NULL
-
+
INTEGER
NULL
@@ -84,7 +73,7 @@
VARCHAR(20)
'NULL'
-INTEGER
+VARCHAR(20)
NULL
VARCHAR(64)
@@ -98,7 +87,7 @@
INTEGER
NULL
-
+
VARCHAR(30)
'NULL'
@@ -116,15 +105,15 @@
VARCHAR(10)
NULL
-
+
VARCHAR(60)
-NULL
-
+'NULL'
+
VARCHAR(60)
-NULL
-
+'NULL'
+
bit
-NULL
+True
soggettocontattabile_ptr
@@ -134,9 +123,9 @@
INTEGER
NULL
-
+
VARCHAR(80)
-NULL
+'NULL'
soggettocontattabile_ptr
@@ -181,36 +170,6 @@
email_ptr
-
-
-INTEGER
-None
-
-VARCHAR(256)
-'None'
-
-VARCHAR(256)
-'None'
-
-VARCHAR(2048)
-'None'
-
-VARCHAR(5)
-'None'
-
-INTEGER
-None
-
-VARCHAR(40)
-'None'
-
-INTEGER
-NULL
-
-
-id
-
-
INTEGER
@@ -222,8 +181,7 @@
INTEGER
-NULL
-
+NULL
contattorubrica_ptr
@@ -236,9 +194,8 @@
NULL
INTEGER
-NULL
-
-
+NULL
+
INTEGER
NULL
diff --git a/django/contatti_app/models.py b/django/contatti_app/models.py
index 4532bb3..582d219 100644
--- a/django/contatti_app/models.py
+++ b/django/contatti_app/models.py
@@ -9,7 +9,6 @@ class SoggettoContattabile(PolymorphicModel):
verbose_name = 'soggetto contattabile'
verbose_name_plural = 'soggetti contattabili'
- rimosso = models.BooleanField(null=True, blank=True)
class VoceContattoRubrica(PolymorphicModel):
class Meta:
@@ -39,11 +38,12 @@ class PersonaFisica(SoggettoContattabile):
out=f'{self.titolo} {out}'
return out
- titolo = models.CharField(null=True, max_length=10)
- nome = models.CharField(null=True, max_length=60)
- cognome = models.CharField(null=True, max_length=60)
+ titolo = models.CharField(null=False,blank=True,default='', max_length=10)
+ nome = models.CharField(null=False,blank=False, max_length=60)
+ cognome = models.CharField(null=False,blank=False, max_length=60)
is_privato = models.BooleanField(null=False, blank=False, default=True)
+
class PersonaGiuridica(SoggettoContattabile):
class Meta:
verbose_name = 'persona giuridica'
@@ -58,7 +58,7 @@ class PersonaGiuridica(SoggettoContattabile):
out = 'Persona giuridica senza nome #{self.id}'
return out
- denominazione = models.CharField(null=True, max_length=80)
+ denominazione = models.CharField(null=False,blank=False, max_length=80)
class Telefono(VoceContattoRubrica):
@@ -75,9 +75,9 @@ class Telefono(VoceContattoRubrica):
tel += ' (!)'
return tel
- numero = models.CharField(max_length=20)
- interno = models.CharField(null=True, max_length=20)
- note = models.CharField(null=True, max_length=64)
+ numero = models.CharField(null=False,blank=False,max_length=20)
+ interno = models.CharField(null=False,blank=True,default='', max_length=20)
+ note = models.CharField(null=False,blank=True,default='', max_length=64)
class Email(VoceContattoRubrica):
@@ -91,8 +91,8 @@ class Email(VoceContattoRubrica):
eml += ' (!)'
return eml
- indirizzo_email = models.CharField(max_length=30)
- note = models.CharField(null=True, max_length=64)
+ indirizzo_email = models.CharField(null=False,blank=False,max_length=30)
+ note = models.CharField(null=False,blank=True,default='', max_length=64)
class Pec(Email):
@@ -115,8 +115,8 @@ class Fax(VoceContattoRubrica):
out += ' (!)'
return out.strip()
- numero = models.CharField(null=True, max_length=20)
- note = models.CharField(null=True, max_length=64)
+ numero = models.CharField(null=False,blank=False, max_length=20)
+ note = models.CharField(null=False,blank=True,default='', max_length=64)
class Indirizzo(VoceContattoRubrica, AbstractIndirizzo):
class Meta(AbstractIndirizzo.Meta):
@@ -132,8 +132,8 @@ class Sede(Indirizzo):
return f"Sede (id: {self.id})"
societa = models.ForeignKey('Societa', on_delete=models.CASCADE,
- null=True, blank=True, related_name="sedi")
- is_legale = models.BooleanField(null=True, blank=True)
+ null=False, blank=False, related_name="sedi")
+ is_legale = models.BooleanField(null=False, blank=False, default=False)
class Societa(models.Model):
@@ -163,6 +163,6 @@ class PersonaContattoAzienda(PersonaFisica):
def __str__(self):
return f"PersonaContattoAzienda (id: {self.id})"
- azienda = models.ForeignKey(Societa, on_delete=models.CASCADE, null=True,
- blank=True, related_name='persone')
- is_personale = models.BooleanField(null=True, blank=True)
+ azienda = models.ForeignKey(Societa, on_delete=models.CASCADE, null=False,
+ blank=False, related_name='persone')
+ is_personale = models.BooleanField(null=False, blank=False, default=True)
diff --git a/django/contatti_app/resources.py b/django/contatti_app/resources.py
index b44a723..e8c1500 100644
--- a/django/contatti_app/resources.py
+++ b/django/contatti_app/resources.py
@@ -9,6 +9,11 @@ class PersonaContattoAziendaResource(resources.ModelResource):
model = models.PersonaContattoAzienda
+class VoceContattoRubricaResource(resources.ModelResource):
+ class Meta:
+ model = models.VoceContattoRubrica
+
+
class TelefonoResource(resources.ModelResource):
class Meta:
model = models.Telefono
@@ -42,3 +47,18 @@ class FaxResource(resources.ModelResource):
class PecResource(resources.ModelResource):
class Meta:
model = models.Pec
+
+
+class SoggettoContattabileResource(resources.ModelResource):
+ class Meta:
+ model = models.SoggettoContattabile
+
+
+class IndirizzoResource(resources.ModelResource):
+ class Meta:
+ model = models.Indirizzo
+
+
+class SocietaResource(resources.ModelResource):
+ class Meta:
+ model = models.Societa
diff --git a/django/contatti_app/serializers.py b/django/contatti_app/serializers.py
index bb74b05..06cd4c0 100644
--- a/django/contatti_app/serializers.py
+++ b/django/contatti_app/serializers.py
@@ -7,38 +7,31 @@ from . import models
class PersonaContattoAziendaSerializer(serializers.ModelSerializer):
class Meta:
model = models.PersonaContattoAzienda
- fields = ('azienda')
+ fields = ('azienda', 'is_personale')
-class SoggettoFiscaleSerializer(serializers.ModelSerializer):
+class VoceContattoRubricaSerializer(serializers.ModelSerializer):
class Meta:
- model = models.SoggettoFiscale
- fields = ('indirizzo_pec', 'sede_legale', 'stabile_organizzazione',
- 'nazione', 'revisione_principale', 'rimosso')
-
-
-class DatoDiContattoSerializer(serializers.ModelSerializer):
- class Meta:
- model = models.DatoDiContatto
- fields = ('soggetto_fiscale')
+ model = models.VoceContattoRubrica
+ fields = ('soggetto')
class TelefonoSerializer(serializers.ModelSerializer):
class Meta:
model = models.Telefono
- fields = ('numero', 'note')
+ fields = ('numero', 'interno', 'note')
class EmailSerializer(serializers.ModelSerializer):
class Meta:
model = models.Email
- fields = ('indirizzo', 'note')
+ fields = ('indirizzo_email', 'note')
class PersonaFisicaSerializer(serializers.ModelSerializer):
class Meta:
model = models.PersonaFisica
- fields = ('titolo', 'nome', 'cognome')
+ fields = ('titolo', 'nome', 'cognome', 'is_privato')
class PersonaGiuridicaSerializer(serializers.ModelSerializer):
@@ -50,7 +43,7 @@ class PersonaGiuridicaSerializer(serializers.ModelSerializer):
class SedeSerializer(serializers.ModelSerializer):
class Meta:
model = models.Sede
- fields = ('inquilino', 'is_legale')
+ fields = ('societa', 'is_legale')
class FaxSerializer(serializers.ModelSerializer):
@@ -63,3 +56,21 @@ class PecSerializer(serializers.ModelSerializer):
class Meta:
model = models.Pec
fields = ('')
+
+
+class SoggettoContattabileSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = models.SoggettoContattabile
+ fields = ('')
+
+
+class IndirizzoSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = models.Indirizzo
+ fields = ('')
+
+
+class SocietaSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = models.Societa
+ fields = ('nazione', 'soggetto', 'ragione_sociale')
diff --git a/django/contatti_app/urls.py b/django/contatti_app/urls.py
index 00de52c..dc8635e 100644
--- a/django/contatti_app/urls.py
+++ b/django/contatti_app/urls.py
@@ -12,8 +12,7 @@ router = routers.DefaultRouter()
# --------------- FINE PREFISSO TEMPLATE ---------------
router.register(r'personacontattoazienda', views.PersonaContattoAzienda_View)
-router.register(r'soggettofiscale', views.SoggettoFiscale_View)
-router.register(r'datodicontatto', views.DatoDiContatto_View)
+router.register(r'vocecontattorubrica', views.VoceContattoRubrica_View)
router.register(r'telefono', views.Telefono_View)
router.register(r'email', views.Email_View)
router.register(r'personafisica', views.PersonaFisica_View)
@@ -21,5 +20,8 @@ router.register(r'personagiuridica', views.PersonaGiuridica_View)
router.register(r'sede', views.Sede_View)
router.register(r'fax', views.Fax_View)
router.register(r'pec', views.Pec_View)
+router.register(r'soggettocontattabile', views.SoggettoContattabile_View)
+router.register(r'indirizzo', views.Indirizzo_View)
+router.register(r'societa', views.Societa_View)
urlpatterns += router.urls
diff --git a/django/contatti_app/views.py b/django/contatti_app/views.py
index 5deb91a..3d10eea 100644
--- a/django/contatti_app/views.py
+++ b/django/contatti_app/views.py
@@ -27,20 +27,12 @@ class PersonaContattoAzienda_View(viewsets.ModelViewSet):
serializer_class = serializers.PersonaContattoAziendaSerializer
-class SoggettoFiscale_View(viewsets.ModelViewSet):
+class VoceContattoRubrica_View(viewsets.ModelViewSet):
# authentication_classes = [BasicAuthentication, SessionAuthentication, TokenAuthentication]
# permission_classes = [DjangoModelPermissions]
- queryset = models.SoggettoFiscale.objects.all()
- serializer_class = serializers.SoggettoFiscaleSerializer
-
-
-class DatoDiContatto_View(viewsets.ModelViewSet):
- # authentication_classes = [BasicAuthentication, SessionAuthentication, TokenAuthentication]
- # permission_classes = [DjangoModelPermissions]
-
- queryset = models.DatoDiContatto.objects.all()
- serializer_class = serializers.DatoDiContattoSerializer
+ queryset = models.VoceContattoRubrica.objects.all()
+ serializer_class = serializers.VoceContattoRubricaSerializer
class Telefono_View(viewsets.ModelViewSet):
@@ -97,3 +89,27 @@ class Pec_View(viewsets.ModelViewSet):
queryset = models.Pec.objects.all()
serializer_class = serializers.PecSerializer
+
+
+class SoggettoContattabile_View(viewsets.ModelViewSet):
+ # authentication_classes = [BasicAuthentication, SessionAuthentication, TokenAuthentication]
+ # permission_classes = [DjangoModelPermissions]
+
+ queryset = models.SoggettoContattabile.objects.all()
+ serializer_class = serializers.SoggettoContattabileSerializer
+
+
+class Indirizzo_View(viewsets.ModelViewSet):
+ # authentication_classes = [BasicAuthentication, SessionAuthentication, TokenAuthentication]
+ # permission_classes = [DjangoModelPermissions]
+
+ queryset = models.Indirizzo.objects.all()
+ serializer_class = serializers.IndirizzoSerializer
+
+
+class Societa_View(viewsets.ModelViewSet):
+ # authentication_classes = [BasicAuthentication, SessionAuthentication, TokenAuthentication]
+ # permission_classes = [DjangoModelPermissions]
+
+ queryset = models.Societa.objects.all()
+ serializer_class = serializers.SocietaSerializer
diff --git a/django/fattura_elettronica_app/migrations/0001_initial.py b/django/fattura_elettronica_app/migrations/0001_initial.py
index 8c57fc2..e0cc2f7 100644
--- a/django/fattura_elettronica_app/migrations/0001_initial.py
+++ b/django/fattura_elettronica_app/migrations/0001_initial.py
@@ -1,4 +1,4 @@
-# Generated by Django 4.1.7 on 2023-05-14 15:43
+# Generated by Django 4.1.7 on 2023-05-14 22:58
from django.db import migrations, models
import django.db.models.deletion
@@ -689,7 +689,7 @@ class Migration(migrations.Migration):
),
),
(
- "sede_legale",
+ "sede",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="SoggettoFiscale_da_Indirizzo",
diff --git a/django/fattura_elettronica_app/migrations/0002_rename_sede_legale_soggettofiscale_sede.py b/django/fattura_elettronica_app/migrations/0002_rename_sede_legale_soggettofiscale_sede.py
deleted file mode 100644
index 48aeef9..0000000
--- a/django/fattura_elettronica_app/migrations/0002_rename_sede_legale_soggettofiscale_sede.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# Generated by Django 4.1.7 on 2023-05-14 16:17
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
- dependencies = [
- ("fattura_elettronica_app", "0001_initial"),
- ]
-
- operations = [
- migrations.RenameField(
- model_name="soggettofiscale",
- old_name="sede_legale",
- new_name="sede",
- ),
- ]
diff --git a/django/offerte_app/migrations/0001_initial.py b/django/offerte_app/migrations/0001_initial.py
index c153dac..197c02f 100644
--- a/django/offerte_app/migrations/0001_initial.py
+++ b/django/offerte_app/migrations/0001_initial.py
@@ -1,4 +1,4 @@
-# Generated by Django 4.1.7 on 2023-05-14 15:43
+# Generated by Django 4.1.7 on 2023-05-14 22:58
from django.db import migrations, models
import django.db.models.deletion
@@ -8,8 +8,8 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
- ("fattura_elettronica_app", "0001_initial"),
("contatti_app", "0001_initial"),
+ ("fattura_elettronica_app", "__first__"),
]
operations = [
diff --git a/django/sangue_app/migrations/0001_initial.py b/django/sangue_app/migrations/0001_initial.py
index d7f5d08..8403f6f 100644
--- a/django/sangue_app/migrations/0001_initial.py
+++ b/django/sangue_app/migrations/0001_initial.py
@@ -1,4 +1,4 @@
-# Generated by Django 4.1.7 on 2023-05-14 15:43
+# Generated by Django 4.1.7 on 2023-05-14 22:58
from django.db import migrations, models
import django.db.models.deletion
@@ -8,8 +8,8 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
- ("offerte_app", "0001_initial"),
("fattura_elettronica_app", "0001_initial"),
+ ("offerte_app", "0001_initial"),
]
operations = [
diff --git a/django/sangue_django/modello_dati.xml b/django/sangue_django/modello_dati.xml
index 71d164b..eea96fa 100644
--- a/django/sangue_django/modello_dati.xml
+++ b/django/sangue_django/modello_dati.xml
@@ -217,9 +217,12 @@
INTEGER
NULL
-
+
INTEGER
NULL
+
+bit
+True
personafisica_ptr
@@ -1034,7 +1037,7 @@
INTEGER
NULL
-
+
INTEGER
NULL
@@ -1051,7 +1054,7 @@
VARCHAR(20)
'NULL'
-INTEGER
+VARCHAR(20)
NULL
VARCHAR(64)
@@ -1065,7 +1068,7 @@
INTEGER
NULL
-
+
VARCHAR(30)
'NULL'
@@ -1189,15 +1192,15 @@
VARCHAR(10)
NULL
-
+
VARCHAR(60)
-NULL
-
+'NULL'
+
VARCHAR(60)
-NULL
-
+'NULL'
+
bit
-NULL
+True
soggettocontattabile_ptr
@@ -1207,9 +1210,9 @@
INTEGER
NULL
-
+
VARCHAR(80)
-NULL
+'NULL'
soggettocontattabile_ptr
@@ -2092,7 +2095,7 @@
INTEGER
NULL
-
+
INTEGER
NULL