Sono finalmente riuscito a risolvere il problema. Posto la soluzione così magari torna utile a qualcun altro.
Ho modificato nel file
addons\base\res\res_partner.py la funzione
_display_address aggiungendo le righe evidenziate:
def _display_address(self, cr, uid, address, without_company=False, context=None):
# get the information that will be injected into the display format
# get the address format
address_format = address.country_id and address.country_id.address_format or \
"%(street)s\n%(street2)s\n%(city)s %(state_code)s %(zip)s\n%(country_name)s"
args = {
'state_code': address.state_id and address.state_id.code or '',
'state_name': address.state_id and address.state_id.name or '',
'country_code': address.country_id and address.country_id.code or '',
'country_name': address.country_id and address.country_id.name or '',
'company_name': address.parent_id and address.parent_id.name or '',
'province_code': address.province and address.province.code or address.parent_id and address.parent_id.province and address.parent_id.province.code or '',
'province_name': address.province and address.province.name or address.parent_id and address.parent_id.province and address.parent_id.province.name or '',
}
for field in self._address_fields(cr, uid, context=context):
args[field] = getattr(address, field) or ''
if without_company:
args = ''
elif address.parent_id:
address_format = '%(company_name)s\n' + address_format
return address_format % args
A questo punto è possibile inserire nel template dell'indirizzo i tag
%(province_code)s e
%(province_name)s
Questa non è sicuramente la soluzione migliore perché in caso di aggiornamento viene persa la modifica. Andrebbe sviluppato un modulo per fare l'override della funzione... ma funziona