<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Di Cesare</title>
	<atom:link href="http://www.dicesare.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dicesare.com</link>
	<description></description>
	<lastBuildDate>Wed, 10 Mar 2010 19:13:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Come recuperare una pratica archiviata per errore</title>
		<link>http://www.dicesare.com/applicativi/elite/come-recuperare-una-pratica-archiviata-per-errore/</link>
		<comments>http://www.dicesare.com/applicativi/elite/come-recuperare-una-pratica-archiviata-per-errore/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 10:20:56 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Élite]]></category>
		<category><![CDATA[archivio]]></category>
		<category><![CDATA[avvocati]]></category>
		<category><![CDATA[avvocato]]></category>
		<category><![CDATA[blugeco]]></category>
		<category><![CDATA[pratica]]></category>
		<category><![CDATA[pratiche]]></category>
		<category><![CDATA[software studi legali]]></category>
		<category><![CDATA[studio legale]]></category>
		<category><![CDATA[studio legale associato]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/applicativi/elite/come-recuperare-una-pratica-archiviata-per-errore/</guid>
		<description><![CDATA[Avete archiviato una pratica per errore e volete recuperarla e riportarla nell&#8217;archivio corrente. Come fare?
Come recuperare una pratica archiviata per errore
Élite dispone di una comoda funzione che permette di archiviare una o più pratiche; in effetti, l&#8217;archiviazione è semplicemente uno spostamento di una pratica (con le informazioni ad essa collegate, quali scadenze, prestazioni, ecc.) da [...]]]></description>
			<content:encoded><![CDATA[<p>Avete archiviato una pratica per errore e volete recuperarla e riportarla nell&#8217;archivio corrente. Come fare?<span id="more-1006"></span></p>
<p><strong>Come recuperare una pratica archiviata per errore</strong></p>
<hr />Élite dispone di una comoda funzione che permette di archiviare una o più pratiche; in effetti, l&#8217;archiviazione è semplicemente uno spostamento di una pratica (con le informazioni ad essa collegate, quali scadenze, prestazioni, ecc.) da un archivio all&#8217;altro; nel caso classico di archiviazione, lo spostamento è dall&#8217;archivio corrente (quello cioè delle pratiche correntemente aperte e in lavorazione) a quello storico (cioè l&#8217;archivio delle pratiche chiuse ed archiviate).</p>
<p>Come abbiamo detto, è possibile effettuare l&#8217;archiviazione di più pratiche; può quindi capitare di includere nel blocco di pratiche anche una pratica che non andrebbe in effetti archiviata.</p>
<p>Come fare per recuperarla, e riportarla quindi dall&#8217;archivio storico all&#8217;archivio corrente?</p>
<p>Dato che l&#8217;operazione di archiviazione altro non è che un semplice spostamento di archivio, sarà sufficiente effettuare l&#8217;operazione inversa.</p>
<ul>
<li>portatevi nell&#8217;archivio Storico</li>
<li>rintracciate e selezionate la pratica che volete recuperare</li>
<li>chiedetene nuovamente l&#8217;archiviazione (dallo Storico verrà riportata nel Corrente)</li>
<li>nella finestra di archiviazione selezionate tutte le informazioni e chiedete di <strong><span style="text-decoration: underline;">NON</span></strong>  &#8217;Mantenere le informazioni originali nell&#8217;archivio&#8217;</li>
<li>date quindi conferma</li>
<li>Élite riporterà la pratica nell&#8217;archivio di destinazione (cioè quello corrente)</li>
<li>al termine, riportatevi nell&#8217;archivio corrente</li>
</ul>
<p>Avrete così recuperato la pratica archiviata per errore.</p>
<hr />
<table border="0">
<tbody>
<tr>
<td><a href="http://elite.blugeco.com"><img class="alignnone size-medium wp-image-89" title="eli40logo" src="http://lnx.dicesare.com/wp-content/uploads/2008/09/eli40logo1.gif" alt="" width="109" height="41" /></a></td>
<td>
<h5>Élite è la procedura ideale per la gestione dello studio legale. Informazioni, prezzi e dimostrativo sul sito <a href="http://elite.blugeco.com" target="_blank">Blugeco</a>.</h5>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/applicativi/elite/come-recuperare-una-pratica-archiviata-per-errore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come inserire una prestazione con una descrizione molto lunga</title>
		<link>http://www.dicesare.com/applicativi/elite/come-inserire-una-prestazione-con-una-descrizione-molto-lunga/</link>
		<comments>http://www.dicesare.com/applicativi/elite/come-inserire-una-prestazione-con-una-descrizione-molto-lunga/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 18:22:54 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Élite]]></category>
		<category><![CDATA[avvocati]]></category>
		<category><![CDATA[avvocato]]></category>
		<category><![CDATA[blugeco]]></category>
		<category><![CDATA[parcella]]></category>
		<category><![CDATA[prestazioni]]></category>
		<category><![CDATA[software studi legali]]></category>
		<category><![CDATA[studio legale]]></category>
		<category><![CDATA[studio legale associato]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/applicativi/elite/come-inserire-una-prestazione-con-una-descrizione-molto-lunga/</guid>
		<description><![CDATA[Avete bisogno di inserire una prestazione la cui descrizione supera i 120 caratteri. Come fare?
Come inserire una prestazione con una descrizione molto lunga
Élite, per la registrazione delle prestazioni, mette a disposizione 120 caratteri per inserire la descrizione; essi sono normalmente sufficienti, ma potrebbe presentarsi la necessità di inserire una descrizione ben più lunga.
Per poterlo fare [...]]]></description>
			<content:encoded><![CDATA[<p>Avete bisogno di inserire una prestazione la cui descrizione supera i 120 caratteri. Come fare?<span id="more-986"></span><strong></strong></p>
<p><strong>Come inserire una prestazione con una descrizione molto lunga</strong></p>
<hr />Élite, per la registrazione delle prestazioni, mette a disposizione 120 caratteri per inserire la descrizione; essi sono normalmente sufficienti, ma potrebbe presentarsi la necessità di inserire una descrizione ben più lunga.</p>
<p>Per poterlo fare basterà inserire nelle note della prestazione ciò che si scriverebbe normalmente nella descrizione; le note non hanno limiti di capienza, quindi potrete scrivere tutto quello che vi serve; nella descrizione invece metteremo <em><strong>come primo carattere</strong></em> un asterisco (*) o il simbolo # (cancelletto). </p>
<p>Ecco un esempio:</p>
<p><a href="http://www.dicesare.com/wp-content/uploads/note_parcella_1.PNG"><img src="http://www.dicesare.com/wp-content/uploads/note_parcella_1-292x300.PNG" alt="note_parcella_1" title="note_parcella_1" width="292" height="300" class="aligncenter size-medium wp-image-992" /></a></p>
<p>In fase di stampa parcella, Élite userà il contenuto delle note al posto della descrizione; la parcella apparirà pertanto così:<br />
<a href="http://www.dicesare.com/wp-content/uploads/note_parcella_2.PNG"><img src="http://www.dicesare.com/wp-content/uploads/note_parcella_2-300x298.PNG" alt="note_parcella_2" title="note_parcella_2" width="300" height="298" class="aligncenter size-medium wp-image-996" /></a><br />
In questo modo potrete inserire in parcella delle descrizioni lunghe quanto volete.</p>
<hr />
<table border="0">
<tbody>
<tr>
<td><a href="http://elite.blugeco.com"><img class="alignnone size-medium wp-image-89" title="eli40logo" src="http://lnx.dicesare.com/wp-content/uploads/2008/09/eli40logo1.gif" alt="" width="109" height="41" /></a></td>
<td>
<h5>Élite è la procedura ideale per la gestione dello studio legale. Informazioni, prezzi e dimostrativo sul sito <a href="http://elite.blugeco.com" target="_blank">Blugeco</a>.</h5>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/applicativi/elite/come-inserire-una-prestazione-con-una-descrizione-molto-lunga/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL: uso di una lista di valori in una SELECT&#8230;WHERE</title>
		<link>http://www.dicesare.com/programmazione/sql/sql-uso-di-una-lista-di-valori-in-una-select-where/</link>
		<comments>http://www.dicesare.com/programmazione/sql/sql-uso-di-una-lista-di-valori-in-una-select-where/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 12:38:59 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[2005]]></category>
		<category><![CDATA[ARRAY]]></category>
		<category><![CDATA[IN]]></category>
		<category><![CDATA[JOIN]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[WHERE]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/programmazione/sql/sql-server-2005-uso-di-una-lista-di-valori-in-una-select-where/</guid>
		<description><![CDATA[In questo articolo spiegherò come effettuare una query SELECT&#8230;WHERE usando una lista di valori.

E&#8217; abbastanza comune dover effettuare delle query SQL usando una lista di valori anziché un valore singolo.
L&#8217;operatore OR
Questa operazione viene effettuata normalmente usando l&#8217;operatore OR.
Se ad esempio vogliamo selezionare i clienti che si trovano nelle provincie di Milano e Como, basterà scrivere [...]]]></description>
			<content:encoded><![CDATA[<p>In questo articolo spiegherò come effettuare una query SELECT&#8230;WHERE usando una lista di valori.<br />
<span id="more-934"></span><br />
E&#8217; abbastanza comune dover effettuare delle query SQL usando una lista di valori anziché un valore singolo.</p>
<h4>L&#8217;operatore <strong>OR</strong></h4>
<p>Questa operazione viene effettuata normalmente usando l&#8217;operatore OR.</p>
<p>Se ad esempio vogliamo selezionare i clienti che si trovano nelle provincie di Milano e Como, basterà scrivere una query così:</p>
<pre class="brush: sql">
SELECT
   Denominazione, Indirizzo, Localita
FROM
   Clienti
WHERE
   Provincia=&#039;MI&#039; OR Provincia=&#039;CO&#039;
</pre>
<p>L&#8217;operazione però diventa lunga e tediosa se la lista contiene molti valori: pensate infatti a cosa diventerebbe la query riportata sopra per dieci o più provincie.</p>
<h4>L&#8217;operatore <strong>IN</strong></h4>
<p>L&#8217;operatore IN dell&#8217;istruzione SELECT di SQL Server permette di semplificare notevolmente la scrittura della query.</p>
<p>Tornando al nostro esempio, per selezionare i clienti che si trovano nelle provincie di Milano e Como, basterà riscrivere la query così:</p>
<pre class="brush: sql">
SELECT
   Denominazione, Indirizzo, Localita
FROM
   Clienti
WHERE
   Provincia IN (&#039;MI&#039;,&#039;CO&#039;)
</pre>
<p>Il motore SQL elaborerà il contenuto della lista inserita tra parentesi e ri-trasformerà la query espandendo la IN in una serie di OR, per poi eseguirla normalmente.</p>
<p>Già da questo breve esempio è facile intuire quanto la stesura della query venga semplificata; e il livello di semplificazione aumenta all&#8217;aumentare degli elementi contenuti nella IN.</p>
<p>Ovviamente la stessa sintassi può essere usata anche per valori numerici.</p>
<pre class="brush: sql">
SELECT
   Denominazione, Indirizzo, Localita
FROM
   Clienti
WHERE
   Tipo IN (2,7,12,14,35,36,37)
</pre>
<h4>Uso con Stored Procedures</h4>
<p>Nascerà sicuramente la necessità di usare questa sintassi con una Stored Procedure (SP), passando i valori con un parametro.</p>
<p>Immaginiamo allora una SP così:</p>
<pre class="brush: sql">
Create Procedure usp_Cerca_Clienti (@pLista AS VARCHAR(MAX))
AS
BEGIN

   SELECT
      Denominazione, Indirizzo, Localita
   FROM
      Clienti
   WHERE
      Provincia IN (@pLista)

END
</pre>
<p>Qui iniziano subito le difficoltà, già all&#8217;atto del richiamo della SP. Avremo infatti delle difficoltà a passare il parametro; se proviamo così:</p>
<pre class="brush: sql">
EXEC usp_Cerca_Clienti @pLista=&#039;MI,CO&#039;
</pre>
<p>la SP svolta diventerà:</p>
<pre class="brush: sql">
SELECT
   Denominazione, Indirizzo, Localita
FROM
   Clienti
WHERE
   Provincia IN (&#039;MI,CO&#039;)
</pre>
<p>che ovviamente non ci darà alcun risultato (non esiste infatti la provincia &#8216;MI,CO&#8217;)</p>
<p>Se invece proviamo così:</p>
<pre class="brush: sql">
EXEC usp_Cerca_Clienti @pLista=&#039;&#039;MI&#039;,&#039;CO&#039;&#039;
</pre>
<p>riceveremo un errore di sintassi.</p>
<p>Anche con valori numerici avremo un errore; infatti se proviamo così:</p>
<pre class="brush: sql">
EXEC usp_Cerca_Clienti_per_Tipo @pLista=&#039;1,4&#039;
</pre>
<p>la SP svolta diventerà:</p>
<pre class="brush: sql">
SELECT
   Denominazione, Indirizzo, Localita
FROM
   Clienti
WHERE
   Tipo IN (&#039;1,4&#039;)
</pre>
<p>restituendoci un errore perché Tipo è una colonna numerica che non può essere raffrontata con un valore stringa.</p>
<h4>Emulare un array</h4>
<p>Certo, se SQL supportasse gli <em>array</em>, tutto sarebbe più semplice: basterebbe passare un array con i valori da usare nella IN e il gioco sarebbe fatto.</p>
<p>Per emulare il funzionamento di un array possiamo usare una variabile di tipo <em>table</em>: se la prepariamo con una sola colonna avremo emulato un array (monodimensionale).<br />
Però non possiamo usare una variabile table con l&#8217;operatore IN: dobbiamo per forza modificare la nostra SP usando una JOIN.</p>
<p>Il ragionamento diventa quindi il seguente:</p>
<ul>
<li>prepariamo una lista di valori da passare alla SP</li>
<li>i valori saranno separati da un carattere predefinito (in questo esempio useremo una virgola)</li>
<li>passiamo la lista di valori separati da virgola alla SP, in un&#8217;unica variabile</li>
<li>la SP elabora la variabile stringa e la trasforma in una variabile table, inserendo ogni valore in una riga</li>
<li>infine mette in JOIN la tabella da selezionare con la variabile table ottenuta prima ed esegue la query</li>
</ul>
<h4>Trasformazione della lista in una table</h4>
<p>La prima cosa che dovremo fare sarà quindi di trasformare la nostra lista in una variable table. Per fare questo prepareremo una funzione, così da poterla riusare tutte le volte che vogliamo.</p>
<pre class="brush: sql">
USE [master]
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO

--The following is a general purpose UDF to split comma separated lists into individual items.
--Consider an additional input parameter for the delimiter, so that you can use any delimiter you like.

-- edc 01.SEP.05
-- adattamento da http://vyaskn.tripod.com/passing_arrays_to_stored_procedures.htm
-- 

-- edc 20.sep.06
-- adattato per le stringhe

CREATE FUNCTION [dbo].[udf_CodeSplitter]
(
	@CodeList varchar(MAX)
)
RETURNS
@ParsedList table
(
	OneCode varchar(10) -- adjust the single element length to fit your needs
)
AS
BEGIN
	DECLARE @Pos int, @OneCode varchar(10) -- adjust the single element length to fit your needs

	SET @CodeList = LTRIM(RTRIM(@CodeList))+ &#039;,&#039;
	SET @Pos = CHARINDEX(&#039;,&#039;, @CodeList, 1)

	IF REPLACE(@CodeList, &#039;,&#039;, &#039;&#039;) &lt;&gt; &#039;&#039;
	BEGIN
		WHILE @Pos &gt; 0
		BEGIN
			SET @OneCode = LTRIM(RTRIM(LEFT(@CodeList, @Pos - 1)))
			IF @OneCode &lt;&gt; &#039;&#039;
			BEGIN
				INSERT INTO @ParsedList (OneCode) VALUES (@OneCode)
			END
			SET @CodeList = RIGHT(@CodeList, LEN(@CodeList) - @Pos)
			SET @Pos = CHARINDEX(&#039;,&#039;, @CodeList, 1)

		END
	END
	RETURN
END
</pre>
<p>La funzione non fa altro che selezionare i vari elementi ed inserirli in una variabile table; la tabella restituita è formata da una sola colonna (OneCode), e potrà essere messa facilmente in JOIN con la tabella da ricercare.</p>
<p>Per testare il corretto funzionamento della funzione, e per avere un&#8217;idea del risultato, basterà eseguire questa query:</p>
<pre class="brush: sql">
SELECT * FROM master.dbo.udf_CodeSplitter(&#039;MI,CO&#039;)
</pre>
<h4>La Stored Procedure finale</h4>
<p>Andremo quindi a sistemare la nostra SP così:</p>
<pre class="brush: sql">
Create Procedure usp_Cerca_Clienti (@pLista AS VARCHAR(MAX))
AS
BEGIN

   SELECT
      Denominazione, Indirizzo, Localita
   FROM
      Clienti INNER JOIN master.dbo.udf_CodeSplitter(@pLista) TJ
      ON Clienti.Provincia=TJ.OneCode

END
</pre>
<p>mettiamo cioè in JOIN la tabella Clienti con la tabella riportata dalla funzione udf_CodeSplitter, usando come campo di corrispondenza il campo della tabella Cliente dove vogliamo operare la selezione (Clienti.Provincia) e l&#8217;unico campo riportato dalla funzione (TJ.OneCode, dove <em>TJ</em> è l&#8217;alias della tabella restituita dalla funzione).</p>
<p>L&#8217;uso diventa quindi semplicissimo:</p>
<pre class="brush: sql">
exec usp_Cerca_Clienti @pLista=&#039;MI,CO&#039;
</pre>
<h4>Gestione delle liste numeriche</h4>
<p>Il ragionamento da fare per poter utilizzare delle liste numeriche resta fondamentalmente lo stesso, ma bisogna operare qualche piccola variazione per poter gestire numeri, appunto, anziché stringhe.</p>
<p>Prepareremo quindi una nuova ulteriore funzione:</p>
<pre class="brush: sql">
USE [master]
GO
/****** Object:  UserDefinedFunction [dbo].[IDSplitter]    Script Date: 02/12/2010 12:26:50 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO

--The following is a general purpose UDF to split comma separated lists into individual items.
--Consider an additional input parameter for the delimiter, so that you can use any delimiter you like.

-- edc 01.SEP.05
-- adattamento da http://vyaskn.tripod.com/passing_arrays_to_stored_procedures.htm
-- 

ALTER FUNCTION [dbo].[udf_IDSplitter]
(
	@IDList varchar(MAX)
)
RETURNS
@ParsedList table
(
	OneID int
)
AS
BEGIN
	DECLARE @OneID varchar(10), @Pos int

	SET @IDList = LTRIM(RTRIM(@IDList))+ &#039;,&#039;
	SET @Pos = CHARINDEX(&#039;,&#039;, @IDList, 1)

	IF REPLACE(@IDList, &#039;,&#039;, &#039;&#039;) &lt;&gt; &#039;&#039;
	BEGIN
		WHILE @Pos &gt; 0
		BEGIN
			SET @OneID = LTRIM(RTRIM(LEFT(@IDList, @Pos - 1)))
			IF @OneID &lt;&gt; &#039;&#039;
			BEGIN
				INSERT INTO @ParsedList (OneID)
				VALUES (CAST(@OneID AS int)) --Use Appropriate conversion
			END
			SET @IDList = RIGHT(@IDList, LEN(@IDList) - @Pos)
			SET @Pos = CHARINDEX(&#039;,&#039;, @IDList, 1)

		END
	END
	RETURN
END
</pre>
<p>In questo caso la tabella restituita è formata da una colonna (OneID) di tipo numerico (int).</p>
<p>Per testare il corretto funzionamento della funzione, e per avere un&#8217;idea del risultato, basterà eseguire questa query:</p>
<pre class="brush: sql">
SELECT * FROM master.dbo.udf_IdSplitter(&#039;1,2,4,6,15,22&#039;)
</pre>
<p>Ricordatevi che la lista è un valore stringa, quindi va passata tra apici singoli.</p>
<h4>La Stored Procedure finale per i valori numerici</h4>
<p>Andremo quindi a sistemare la nostra SP così:</p>
<pre class="brush: sql">
Create Procedure usp_Cerca_Clienti_Tipo (@pLista AS VARCHAR(MAX))
AS
BEGIN

   SELECT
      Denominazione, Indirizzo, Localita
   FROM
      Clienti INNER JOIN master.dbo.udf_IdSplitter(@pLista) TJ
      ON Clienti.Tipo=TJ.OneId

END
</pre>
<p>In questo caso mettiamo in JOIN la tabella Clienti con la tabella riportata dalla funzione udf_IdSplitter, usando come campo di corrispondenza il campo della tabella Cliente dove vogliamo operare la selezione (Clienti.Tipo, che è di tipo int) e l&#8217;unico campo riportato dalla funzione (TJ.OneId, dove <em>TJ</em> è l&#8217;alias della tabella restituita dalla funzione).</p>
<p>L&#8217;uso diventa quindi semplicissimo:</p>
<pre class="brush: sql">
exec usp_Cerca_Clienti_Tipo @pLista=&#039;2,7,12,14,35,36,37&#039;
</pre>
<h4>Considerazioni finali</h4>
<p>Il metodo esposto semplifica notevolmente la stesura delle query di selezione basate su liste di valori. Dato che però sfrutta una funzione e una variabile table, potrebbe risultare poco performante in presenza di liste molto corpose. In questi casi potrebbe risultare più comodo popolare direttamente una tabella temporanea e metterla in JOIN con la tabella da selezionare (magari indicizzando la tabella temporanea, cosa che non può essere fatta con le variabili table).<br />
Uso il condizionale perché le performance sono influenzate da molti fattori, per cui è consigliabile effettuare delle prove caso per caso.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/programmazione/sql/sql-uso-di-una-lista-di-valori-in-una-select-where/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL: come riparare il database di sistema &#8216;msdb&#8217; danneggiato</title>
		<link>http://www.dicesare.com/programmazione/sql/sql-come-riparare-il-database-di-sistema-msdb-danneggiato/</link>
		<comments>http://www.dicesare.com/programmazione/sql/sql-come-riparare-il-database-di-sistema-msdb-danneggiato/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 12:22:07 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[2005]]></category>
		<category><![CDATA[msdb]]></category>
		<category><![CDATA[recover]]></category>
		<category><![CDATA[repair]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[system databse]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/programmazione/sql/sql-server-2005-come-riparare-il-database-di-sistema-msdb-danneggiato/</guid>
		<description><![CDATA[Il database di sistema &#8216;msdb&#8217; di SQL Server 2005 può danneggiarsi: ecco come ripararlo.

Tra i database di sistema di Microsoft SQL Server 2005, ve ne è uno denominato &#8216;msdb&#8217; che viene usato normalmente come supporto per le pianificazioni ed altre operazioni di manutenzione o di backup.
Può accadere che si danneggi, e che di conseguenza molte [...]]]></description>
			<content:encoded><![CDATA[<p>Il database di sistema &#8216;msdb&#8217; di SQL Server 2005 può danneggiarsi: ecco come ripararlo.<br />
<span id="more-906"></span><br />
Tra i database di sistema di Microsoft SQL Server 2005, ve ne è uno denominato &#8216;msdb&#8217; che viene usato normalmente come supporto per le pianificazioni ed altre operazioni di manutenzione o di backup.<br />
Può accadere che si danneggi, e che di conseguenza molte operazioni diventino impossibili.<br />
Dato che non si tratta di un normale database, non può essere oggetto di normali operazioni quali <em>attach </em>e <em>detach</em>, ma bisogna seguire una procedura diversa.</p>
<table border='0'>
<tr>
<td>
<a href="http://www.dicesare.com/wp-content/uploads/important.jpg"><img src="http://www.dicesare.com/wp-content/uploads/important.jpg" alt="important" title="important" width="45" height="45" class="aligncenter size-full wp-image-918" /></a>
</td>
<td>
<blockquote><p><strong>Importante!</strong> La procedura che descriverò di seguito rigenererà il database di sistema &#8216;msdb&#8217; come appena installato, quindi tutto il suo contenuto andrà perso. Vi raccomando inoltre di effettuare il backup di tutti i dati di tutti i database dell&#8217;istanza. La procedura è riservata ad utenti esperti, e non mi assumo nessuna responsabilità; eventualmente provatelo prima su un database di test.</p></blockquote>
</td>
</tr>
</table>
<h4>1. Spegnere SQL Server</h4>
<p>Innanzitutto dovrete spegnere il servizio di SQL Server. Esistono diversi metodi; uno dei più veloci è di aprire SQL Server Management Console ed eseguire il seguente comando:</p>
<pre class="brush: sql">
SHUTDOWN
</pre>
<p>Attendete il completamento del comando ed uscite dalla console.</p>
<h4>2. Lanciare SQL Server in modalità master</h4>
<p>Per poter eseguire i comandi successivi (specificatamente per poter fare un <em>detach </em>del database &#8216;msdb&#8217;), dovrete lanciare SQL Server col trace flag 3608.<br />
Dovrete portarvi nella cartella dei programmi di SQL Server (&#8216;C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Binn&#8217; per le installazioni in italiano o &#8216;C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn&#8217; per le installazioni in inglese) e lanciare il seguente comando:</p>
<pre class="brush: sql">
sqlservr.exe -c -T3608 -s &lt;NOMEISTANZA&gt;
</pre>
<p>Il comando non restituisce subito il prompt di DOS (C:>), che verrà restuituito quando SQL Server verrà nuovamente spento.</p>
<h4>3. Detach-are il database di sistema &#8216;msdb&#8217;</h4>
<p>Per detach-are il database di sistema &#8216;msdb&#8217; dovrete riaprire SQL Server Management Console, che potrebbe mostrare alcuni messaggi di avvertimento, visto che ci si trova in una modalità master.<br />
La console comunque è pronta per accettare comandi; lanciate il seguente:</p>
<pre class="brush: sql">
sp_detach_db &#039;msdb&#039;
</pre>
<p>Attendete il completamento del comando ed uscite dalla console.</p>
<h4>4. Rinominare i files del database &#8216;msdb&#8217;</h4>
<p>Ora che il database &#8216;msdb&#8217; è disconnesso, potete rinominare i files che lo costituiscono (.mdf e .ldf), che si trovano in &#8216;C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Data&#8217; per le installazioni in italiano o in &#8216;C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data&#8217; per le installazioni in inglese.</p>
<h4>5. Lanciare lo script di ricostruzione</h4>
<p>Lo script di rigenerazione si trova nella cartella di installazione di SQL Server (&#8216;C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Install&#8217; per le installazioni in italiano o &#8216;C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Install&#8217; per le installazioni in inglese); dopo che vi sarete portati nella cartella, lanciate il seguente comando:</p>
<pre class="brush: sql">
osql -E -S &lt;NOMESERVER&gt;\&lt;NOMEISTANZA&gt; -i instmsdb.sql
</pre>
<p>e attendete il termine delle operazioni.</p>
<h4>6. Operazioni finali</h4>
<p>La procedura è terminata. Spegnete e riaccendete normalmente SQL Server, e reinserite, se del caso, le informazioni memorizzate nel database di sistema &#8216;msdb&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/programmazione/sql/sql-come-riparare-il-database-di-sistema-msdb-danneggiato/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outlook: condivisione dati con WorkgroupShare</title>
		<link>http://www.dicesare.com/varie/outlook-condivisione-dati-con-workgroupshare/</link>
		<comments>http://www.dicesare.com/varie/outlook-condivisione-dati-con-workgroupshare/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 18:54:16 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[blugeco]]></category>
		<category><![CDATA[condivisione dati]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[posta elettronica]]></category>
		<category><![CDATA[sincronizzazione]]></category>
		<category><![CDATA[workgroupshare]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/varie/condividere-outlook-con-workgroupshare/</guid>
		<description><![CDATA[Per un uso efficace di Outlook in rete: condividere i dati con i vostri colleghi con WorkgroupShare.

Outlook per molti è sinonimo di posta elettronica, ma potete usarlo per molte altre cose: contatti, attività, calendario e note; se iniziate ad adoperarlo sul serio, finirà che conterrà moltissimi dati; se poi non lavorate da soli, avrete necessità [...]]]></description>
			<content:encoded><![CDATA[<p>Per un uso efficace di Outlook in rete: condividere i dati con i vostri colleghi con WorkgroupShare.<br />
<span id="more-901"></span></p>
<p>Outlook per molti è sinonimo di posta elettronica, ma potete usarlo per molte altre cose: contatti, attività, calendario e note; se iniziate ad adoperarlo sul serio, finirà che conterrà moltissimi dati; se poi non lavorate da soli, avrete necessità di condividere questi dati con i vostri colleghi, o di costituire degli archivi comuni a cui tutti possono attingere.</p>
<p>Pensate ad esempio ad un unico archivio di indirizzi, o alla possibilità di vedere in tempo reale se un vostro collega è libero in una certa data per fissare un appuntamento comune. Normalmente la soluzione è l&#8217;installazione di Exchange Server, che però ha un costo elevato, necessita di un server e di installazione e manutenzione da parte di tecnici qualificati; scelta senz&#8217;altro giusta in ambienti complessi, ma per piccole realtà la spesa normalmente risulta eccessiva.</p>
<p>Nel nostro ufficio abbiamo scelto <a href="http://workgroupshare.blugeco.com">Workgroupshare</a>, con cui condividiamo i nostri archivi.</p>
<p>Ovviamente il programma permette di scegliere quali cartelle condividere, in modo tale da poter comunque avere delle cartelle private.<br />
In più (e forse è la cosa più interessante) si possono creare delle cartelle &#8216;pubbliche&#8217;, che risiedono sul server, a cui tutti gli utenti abilitati potranno accedere sia in lettura che in scrittura; si possono ovviamente gestire tutti i diritti, per cui si potrà decidere chi può scrivere, chi può solo leggere, ecc.</p>
<p>Il programma è smolto semplice da configurare, e non necessita di un server; quindi potete utilizzarlo anche se avete solo due o tre pc collegati in rete.<br />
E se usate dei portatili, nessun problema: quando vi staccate dalla rete i dati comuni restano sul vostro portatile e potrete consultarli e variarli anche mentre siete via; quando poi vi riconnetterete alla rete, partirà la sincronizzazione per aggiornare i dati, da e verso l&#8217;archivio principale.</p>
<p>E se avete un BlackBerry? In un prossimo articolo vi spiegherò come fare per sincronizzare Outlook / WorkgroupShare / BlackBerry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/varie/outlook-condivisione-dati-con-workgroupshare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come modificare o azzerare l’aliquota del contributo integrativo C.P.A. (Cassa Previdenza Avvocati)</title>
		<link>http://www.dicesare.com/applicativi/elite/come-modificare-o-azzerare-l-aliquota-del-contributo-integrativo-cpa-cassa-previdenza-avvocati-elite/</link>
		<comments>http://www.dicesare.com/applicativi/elite/come-modificare-o-azzerare-l-aliquota-del-contributo-integrativo-cpa-cassa-previdenza-avvocati-elite/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 09:33:36 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Élite]]></category>
		<category><![CDATA[aliquota contributo integrativo]]></category>
		<category><![CDATA[avvocati]]></category>
		<category><![CDATA[avvocato]]></category>
		<category><![CDATA[blugeco]]></category>
		<category><![CDATA[cassa previdenza]]></category>
		<category><![CDATA[cassa previdenza avvocati]]></category>
		<category><![CDATA[cpa]]></category>
		<category><![CDATA[parcella]]></category>
		<category><![CDATA[software studi legali]]></category>
		<category><![CDATA[studio legale]]></category>
		<category><![CDATA[studio legale associato]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/applicativi/elite/come-modificare-o-azzerare-l%e2%80%99aliquota-del-contributo-integrativoa-c-p-a-cassa-previdenza-avvocati/</guid>
		<description><![CDATA[Élite vi permette di cambiare secondo necessità l&#8217;aliquota usata per il calcolo del contributo integrativo C.P.A. nel riepilogo finale della stampa parcella. Potrete cambiarla in modo temporaneo (per esempio se state predisponendo una parcella per un cliente con cui avete stipulato una convenzione) o in maniera definitiva, per un&#8217;eventuale variazione di legge.

Come modificare l&#8217;aliquota del [...]]]></description>
			<content:encoded><![CDATA[<p>Élite vi permette di cambiare secondo necessità l&#8217;aliquota usata per il calcolo del contributo integrativo C.P.A. nel riepilogo finale della stampa parcella. Potrete cambiarla in modo temporaneo (per esempio se state predisponendo una parcella per un cliente con cui avete stipulato una convenzione) o in maniera definitiva, per un&#8217;eventuale variazione di legge.</p>
<p><span id="more-853"></span><br />
<strong>Come modificare l&#8217;aliquota del contributo integrativo C.P.A. in modo temporaneo</strong></p>
<hr />In fase di stampa parcella, dopo aver inserito i parametri di stampa, accedete al tab (o linguetta) denominato &#8220;Opzioni di stampa&#8221;; nella sezione &#8220;Opzioni Fiscali&#8221; troverete una casella dove è già indicata l&#8217;aliquota di default; l&#8217;immagine che segue illustra il pannello di stampa relativo:</p>
<div id="attachment_496" class="wp-caption alignnone" style="width: 310px"><a href="http://www.dicesare.com/wp-content/uploads/2008/12/elitestampaparcellaopzionidistampa.jpg" target="_blank"><img class="size-medium wp-image-496 " title="Elite - Stampa parcella - Opzioni di stampa" src="http://www.dicesare.com/wp-content/uploads/2008/12/elitestampaparcellaopzionidistampa-300x223.jpg" alt="Opzioni di stampa - Parcella" width="300" height="223" /></a><p class="wp-caption-text">Opzioni di stampa - Parcella</p></div>
<p>Il valore dell&#8217;aliquota del contributo integrativo C.P.A. potrà essere cambiato a piacimento. Inserite 0 o lasciate la casella vuota per NON applicare il contributo integrativo C.P.A.; se invece volete inserire un&#8217;aliquota decimale, ricordatevi di usare il punto e non la virgola come separatore decimale, come ad esempio</p>
<blockquote><p>2.75</p></blockquote>
<p>Ricordatevi che il cambiamento è temporaneo, per cui la prossima stampa di parcella ripresenterà l&#8217;aliquota di default.</p>
<p><strong>Come modificare l&#8217;aliquota del contributo integrativo C.P.A. in modo permanente</strong></p>
<hr />Il valore da modificare è contenuto nel file di parametri Elite.ini, e pertanto dovrete seguire la procedura illustrata nell&#8217;articolo <a href="http://www.dicesare.com/applicativi/elite/il-file-di-parametri-elite-ini/" title="Il file di parametri Elite.ini">Il file di parametri Elite.ini</a> per modificarlo.</p>
<p>Una volta aperto il file, localizzate la sezione [PARAMETRI PARCELLA], e scorretela sino a trovare una riga così:</p>
<blockquote><p>Al.CPA=2</p></blockquote>
<p>Il valore può essere variato a piacimento; se volete inserire un&#8217;aliquota decimale, ricordatevi di usare il punto e non la virgola come separatore decimale, come ad esempio</p>
<blockquote><p>Al.CPA=2.75</p></blockquote>
<p>Se volete anche variare la dicitura in parcella, ricordatevi di modificare il parametro relativo, e cioè<br />
<blockquote>DICITURA13=&#8230;testo personalizzato&#8230;</p></blockquote>
<p>Una volta terminate le modifiche, salvate il file come descritto nell&#8217;apposito articolo e rientrate in Élite.</p>
<hr />
<table border="0">
<tbody>
<tr>
<td><a href="http://elite.blugeco.com"><img class="alignnone size-medium wp-image-89" title="eli40logo1" src="http://lnx.dicesare.com/wp-content/uploads/2008/09/eli40logo1.gif" alt="" width="109" height="41" /></a></td>
<td>
<h5>Élite è la procedura ideale per la gestione dello studio legale. Informazioni, prezzi e dimostrativo sul sito <a href="http://elite.blugeco.com" target="_blank">Blugeco</a>.</h5>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/applicativi/elite/come-modificare-o-azzerare-l-aliquota-del-contributo-integrativo-cpa-cassa-previdenza-avvocati-elite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Da Eudora ad Outlook: odissea di una migrazione &#8211; i vantaggi</title>
		<link>http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-i-vantaggi/</link>
		<comments>http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-i-vantaggi/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 10:39:38 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[blugeco]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[eudora]]></category>
		<category><![CDATA[migrazione]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[palmare]]></category>
		<category><![CDATA[posta elettronica]]></category>
		<category><![CDATA[pst]]></category>
		<category><![CDATA[sincronizzazione]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-i-vantaggi/</guid>
		<description><![CDATA[Dopo la migrazione da Eudora ad Outlook: ci sono anche dei vantaggi!

Come già raccontato nell&#8217;articolo Da Eudora ad Outlook: odissea di una migrazione &#8211; le premesse, sono passato da Eudora ad Outlook; nell&#8217;articolo successivo Da Eudora ad Outlook: odissea di una migrazione &#8211; le difficoltà ho esposto le difficoltà incontrate. In quest&#8217;articolo, elencherò i vantaggi [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo la migrazione da Eudora ad Outlook: ci sono anche dei vantaggi!<br />
<span id="more-840"></span></p>
<p>Come già raccontato nell&#8217;articolo <a href="http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-premesse/" title="Da Eudora ad Outlook: odissea di una migrazione &#8211; le premesse">Da Eudora ad Outlook: odissea di una migrazione &#8211; le premesse</a>, sono passato da Eudora ad Outlook; nell&#8217;articolo successivo <a href="http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-difficolta/" title="Da Eudora ad Outlook: odissea di una migrazione &#8211; le difficoltà">Da Eudora ad Outlook: odissea di una migrazione &#8211; le difficoltà</a> ho esposto le difficoltà incontrate. In quest&#8217;articolo, elencherò i vantaggi riscontrati.</p>
<h2>PST (Personal Folder Storage) multipli</h2>
<p>Outlook, come la maggior parte dei client di posta elettronica, memorizza tutti i messaggi, gli allegati, gli indirizzi ecc. in un unico file (PST); questo rappresenta una comodità, dal punto di vista del file system, e, se opportunamente progettato, un unico file è più facile da gestire di una serie di cartelle con &#8216;n&#8217; files dentro (come fa Eudora). Sfortunatamente però, dal mio personale punto di vista, Outlook disattende molte di queste premesse, risultando, rispetto ad altri client che usano la stessa metodologia, molto lento nella gestione delle informazioni, soprattutto in presenza di PST corposi; inoltre, almeno fino alla versione 2002, i PST di Outlook tendono un po&#8217; troppo facilmente a corrompersi.</p>
<p>Preso atto di ciò, ho cercato di trarne comunque vantaggio, spezzando il mio archivio di email (più di 10 anni di corrispondenza elettronica) in diversi PST; ad esempio, un PST di lavoro, uno personale, uno per i progetti chiusi e archiviati, ecc. In questo modo ho potuto innanzitutto razionalizzare gli archivi dal punto di vista del contenuto; inoltre:</p>
<ul>
<li><strong>i PST possono essere messi ognuno in una cartella o drive diverso</strong>: quindi quello di lavoro può essere messo su un drive di rete, quello personale su una chiavetta USB, ecc. </li>
<li><strong>i PST possono essere attivati e disattivati a piacimento</strong>: molto comodo per i file di archivio, che normalmente non sono attivi e quindi non danno &#8216;fastidio&#8217;, ma che possono essere riagganciati alla bisogna;</li>
</ul>
<h2>Pluralità di informazioni gestite</h2>
<p>Outlook non è solo un client di posta elettronica, ma permette anche di gestire indirizzi, appuntamenti, note, to-do list&#8230; quindi quello che avevo sparso in giro in mille programmini inizia ad avere una casa comune. In questo caso si apprezza non tanto la bontà delle singole funzioni (di certo in giro ci sono molti programmi che gestiscono meglio chi l&#8217;agenda, chi la rubrica, ecc.), quanto il fatto che siano tutte in un unico contenitore e che siano tra di loro intercorrelate.</p>
<h2>Sincronizzazione col palmare</h2>
<p>Direi che al giorno d&#8217;oggi è indispensabile; e, come al punto precedente, avere un unico punto di sincronizzazione (invece dei tanti di prima) costituisce senz&#8217;altro un vantaggio.</p>
<h2>Disponibilità di add-on (o plug-in)</h2>
<p>Data la diffusione di Outlook, sono presenti sul mercato molti strumenti aggiuntivi (add-on o plug-in) anche se non numerosi come per altri client; uno di questi, in particolare, mi permette di condividere e sincronizzare i dati che mi interessano con i miei colleghi; il prodotto si chiama <a href="http://workgroupshare.blugeco.com">Workgroupshare</a>, e ne parlerò in uno dei prossimi articoli.</p>
<p>continua&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-i-vantaggi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BBLex &#8211; Élite (e non solo!) sul vostro BlackBerry</title>
		<link>http://www.dicesare.com/applicativi/elite/bblex-elite-software-studi-legali-sul-vostro-blackberry/</link>
		<comments>http://www.dicesare.com/applicativi/elite/bblex-elite-software-studi-legali-sul-vostro-blackberry/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 10:45:05 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Élite]]></category>
		<category><![CDATA[avvocati]]></category>
		<category><![CDATA[avvocato]]></category>
		<category><![CDATA[bblex]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[blugeco]]></category>
		<category><![CDATA[mobilita]]></category>
		<category><![CDATA[palmare]]></category>
		<category><![CDATA[rim]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[softec]]></category>
		<category><![CDATA[software studi legali]]></category>
		<category><![CDATA[studio legale]]></category>
		<category><![CDATA[studio legale associato]]></category>
		<category><![CDATA[telefonino]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/applicativi/elite/bblex-elite-e-non-solo-sul-proprio-blackberry/</guid>
		<description><![CDATA[Siete sempre in movimento, fuori ufficio, e non volete (o non potete!) rinunciare ai dati sul vostro server? Qui la soluzione!
BBLex &#8211; Élite (e non solo!) sul vostro BlackBerry

Il 26 ottobre 2009 Blugeco (www.blugeco.com), in partnership con RIM (Research In Motion) e Softec, ha presentato durante un convegno dell’AGAM (Associazione Giovani Avvocati Milano) tenutosi a [...]]]></description>
			<content:encoded><![CDATA[<p>Siete sempre in movimento, fuori ufficio, e non volete (o non potete!) rinunciare ai dati sul vostro server? Qui la soluzione!<span id="more-827"></span><strong></strong></p>
<p><strong>BBLex &#8211; Élite (e non solo!) sul vostro BlackBerry</strong></p>
<hr />
<p>Il 26 ottobre 2009 Blugeco (www.blugeco.com), in partnership con RIM (Research In Motion) e Softec, ha presentato durante un convegno dell’AGAM (Associazione Giovani Avvocati Milano) tenutosi a Milano, la nuova soluzione destinata agli Studi Legali per la mobilità.</p>
<p>BBLex è una soluzione che installata sul proprio BlackBerry consente a tutti gli Avvocati di collegarsi con il proprio programma di gestione dello Studio, consultando e aggiornando sia le pratiche che molti altri dati, ovunque essi si trovino.</p>
<p align="center><a href="http://www.dicesare.com/wp-content/uploads/bblex.jpg" align="center"><img src="http://www.dicesare.com/wp-content/uploads/bblex.jpg" alt="BBLex" title="bblex" width="367" height="174" class="size-full wp-image-828" /></a></p>
<p></p>
<h3>BBLex®: Élite sul vostro BlackBerry.</h3>
<p>BBLex nasce dall’esigenza specifica di fornire agli Avvocati un accesso alle proprie informazioni di Studio anche mentre sono in movimento.<br />
Grazie ad un rapporto di partnership con RIM, la società che produce i famosi BlackBerry, siamo oggi in grado di soddisfare questa necessità, trasmettendo alcune informazioni di Élite direttamente sul terminale BlackBerry, con la possibilità di interagire con l&#8217;applicativo.<br />
BBLex si basa sulla piattaforma tecnologica DesktopMate di Softec, che consente una configurazione personalizzata dei servizi disponibili.</p>
<p>In particolare sarà possibile, in un primo momento, consultare direttamente dal proprio BlackBerry le seguenti informazioni di Élite:</p>
<ul>
<li>Scadenze (Agenda)</li>
<li>Dati Anagrafici (Rubrica)</li>
<li>Dati Riepilogativi Pratiche</li>
</ul>
<p>In questo modo potrete sfruttare tutta la potenza dei terminali BlackBerry non solo per la gestione delle email, ma anche per consultare gli archivi di Élite mentre siete fuori Studio, persino laddove non potete usare un PC portatile né sfruttare una connessione internet.</p>
<p>In un secondo momento sarà possibile consultare anche altre informazioni di Élite, e più in particolare:</p>
<ul>
<li>Prestazioni (Parcelle)</li>
<li>Documenti (Testi, Fogli Elettronici, Immagini, PDF e altro)</li>
</ul>
<p></p>
<h3>BBLex: un uso semplice ed immediato</h3>
<p>Con BBLex, i dati di Élite sono sempre disponibili per la consultazione e l’aggiornamento; l’uso è sempre semplice, immediato e sicuro grazie alla sua accurata progettazione:</p>
<ul>
<li>Navigazione a menu</li>
<li>Funzioni di ricerca</li>
<li>Visualizzazione dettagli</li>
<li>Sicurezza degli accessi</li>
<li>Sicurezza dei dati</li>
</ul>
<p>Alcune funzioni avanzate, come il Click-to-call e click-to-send, per telefonare o inviare una mail partendo direttamente dalla rubrica di Élite, renderanno l’utilizzo di BBLex proficuo e conveniente.</p>
<p></p>
<h3>BBLex: funzioni aggiuntive</h3>
<p>BBLex non è soltanto Élite; infatti vi permetterà anche di consultare le News di settore (in collaborazione con portali dedicati), di condividerle con i vostro colleghi, e di archiviare le news preferite.</p>
<p>Sarà infine possibile, una volta perfezionati gli accordi con i produttori, ottenere l&#8217;accesso alle Banche Dati di Leggi, Sentenze, ecc.</p>
<p></p>
<h3>BBLex: operare in sicurezza</h3>
<p>Con BBLex potrete operare in tutta sicurezza, grazie anche alle caratteristiche intrinseche del dispositivo BlackBerry:</p>
<ul>
<li>in caso di furto o smarrimento del dispositivo, è possibile bloccare il sistema da remoto ed eliminare i dati riservati (blocco del dispositivo a distanza);</li>
<li>dopo 10 tentativi di inserimento password, il dispositivo viene resettato automaticamente;</li>
<li>impostazione/modifica password del dispositivo;</li>
<li>protezione contro applicazioni dannose;</li>
<li>Mobile Security Card (cifratura hw e firma digitale).</li>
</ul>
<p></p>
<h3>BBLex: Altri software per studio legale</h3>
<p>Per la gestione del Vostro Studio non utilizzate Élite ma un altro software? Siete comunque interessati alle funzionalità di BBLex? Contattateci e studieremo una soluzione assieme a Voi.</p>
<hr />
<table border="0">
<tbody>
<tr>
<td><a href="http://elite.blugeco.com"><img class="alignnone size-medium wp-image-89" title="eli40logo" src="http://lnx.dicesare.com/wp-content/uploads/2008/09/eli40logo1.gif" alt="" width="109" height="41" /></a></td>
<td>
<h5>Élite è la procedura ideale per la gestione dello studio legale. Informazioni, prezzi e dimostrativo sul sito <a href="http://elite.blugeco.com" target="_blank">Blugeco</a>.</h5>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/applicativi/elite/bblex-elite-software-studi-legali-sul-vostro-blackberry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aste fallimentari ::: come accedere all&#8217;elenco</title>
		<link>http://www.dicesare.com/varie/aste-fallimentari-come-accedere-all-elenco/</link>
		<comments>http://www.dicesare.com/varie/aste-fallimentari-come-accedere-all-elenco/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 15:07:29 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[asta fallimentare]]></category>
		<category><![CDATA[autoveicoli]]></category>
		<category><![CDATA[fallimento]]></category>
		<category><![CDATA[immobili]]></category>
		<category><![CDATA[tribunale]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/varie/come-accedere-all-elenco-delle-aste-fallimentari/</guid>
		<description><![CDATA[Incantonline, un servizio decennale sulle aste fallimentari.

Girando su internet in cerca di un&#8217;auto usata o di una casa per le vacanze, vi sarà certamente capitato di imbattervi in siti che parlavano di beni provenienti da fallimenti, spesso a cifre interessanti. Ma da dove provengono queste informazioni?
Il primo posto che viene in mente è senz&#8217;altro il [...]]]></description>
			<content:encoded><![CDATA[<p>Incantonline, un servizio decennale sulle aste fallimentari.<br />
<span id="more-822"></span><br />
Girando su internet in cerca di un&#8217;auto usata o di una casa per le vacanze, vi sarà certamente capitato di imbattervi in siti che parlavano di beni provenienti da fallimenti, spesso a cifre interessanti. Ma da dove provengono queste informazioni?</p>
<p>Il primo posto che viene in mente è senz&#8217;altro il tribunale, ma sarebbe impensabile girarsi tutti i tribunali d&#8217;Italia per reperire informazioni, anche on line (ammesso che tutti i tribunali abbiano un sito dove sono elencati i beni). </p>
<p>Torna allora utilissimo il servizio lanciato da oltre 10 anni da Incantonline: si tratta in pratica di un portale che raccoglie tutte le aste fallimentari d&#8217;Italia, suddivise per tipologia e per regione. </p>
<p>Come recita il sito &#8220;Avrai l&#8217;opportunità di visionare in tempo reale tutto ciò che viene posto all&#8217;asta dai Tribunali italiani e dagli organi preposti. All&#8217;interno troverai tutti i riferimenti per partecipare con semplicità, ed in prima persona, alle aste di immobili, autoveicoli e beni di qualsiasi genere. (Oltre 12000 beni in banca dati)&#8221;</p>
<p>Il portale è organizzato in maniera semplice ed intuitiva, e le ricerche portano con celerità al risultato voluto. Il servizio è a pagamento, ma periodicamente vengono lanciate delle campagne per accedere a prezzi scontati.</p>
<p>Questo l&#8217;indirizzo per accedere al servizio: <a href="http://www.incantonline.it/archivio_aste.htm">http://www.incantonline.it/archivio_aste.htm</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/varie/aste-fallimentari-come-accedere-all-elenco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL: come usare l&#8217;output di una Stored Procedure SQL in una nuova Query</title>
		<link>http://www.dicesare.com/programmazione/sql/sql-come-usare-l-output-di-una-stored-procedure-sql-in-una-nuova-query/</link>
		<comments>http://www.dicesare.com/programmazione/sql/sql-come-usare-l-output-di-una-stored-procedure-sql-in-una-nuova-query/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 19:01:18 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[sp]]></category>
		<category><![CDATA[stored procedure]]></category>
		<category><![CDATA[stored procedures]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/programmazione/sql/come-usare-l-output-di-una-stored-procedure-sql-in-una-nuova-query/</guid>
		<description><![CDATA[Avete una Stored Procedure SQL e volete usarne l&#8217;output in un&#8217;altra query (senza modificare la SP originale). Ecco come fare.

Vi sarà capitato di voler usare l&#8217;output di una Stored Procedure in un&#8217;altra query; la prima cosa che viene in mente è di modificare o duplicare la SP originale e inserire dei parametri OUTPUT, per poi [...]]]></description>
			<content:encoded><![CDATA[<p>Avete una Stored Procedure SQL e volete usarne l&#8217;output in un&#8217;altra query (senza modificare la SP originale). Ecco come fare.<br />
<span id="more-814"></span><br />
Vi sarà capitato di voler usare l&#8217;output di una Stored Procedure in un&#8217;altra query; la prima cosa che viene in mente è di modificare o duplicare la SP originale e inserire dei parametri OUTPUT, per poi sfruttarli.</p>
<p>Ma non sempre si <strong><em>può</em></strong>; a volte, infatti, soprattutto in ambienti complessi, certe SP non si possono toccare, perché sono usate da altre procedure o gestite da altri programmatori.</p>
<p>Cosa fare allora?</p>
<p>Supponiamo di avere una SP che mi elenca tutti i clienti di una determinata provincia</p>
<pre class="brush: sql">
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE usp_ClientiProvincia (@p_Provincia VARCHAR(2))

SET NOCOUNT ON

   SELECT CODICE, DESCRIZIONE
   FROM CLIENTI
   WHERE PROVINCIA = @p_PROVINCIA
   ORDER BY 1
</pre>
<p>una SP davvero semplice.</p>
<p>Se la facciamo girare, otteniamo due campi, CODICE e DESCRIZIONE.</p>
<p>Nella nostra nuova query dichiariamo innanzitutto una variabile TABLE che possa contenere il risultato della SP</p>
<pre class="brush: sql">
DECLARE @ClientiTable TABLE (CODICE VARCHAR(20), DESCRIZIONE VARCHAR(100))
</pre>
<p>Ovviamente la struttura della variabile varierà in base al variare dell&#8217;output della SP che volete catturare.<br />
Per memorizzare l&#8217;output della SP usiamo una comune INSERT INTO nella forma breve (INSERT INTO SELECT &#8230;), specificando anche i parameti per la SP da cattuare.</p>
<pre class="brush: sql">
INSERT INTO @ClientiTable EXEC usp_ClientiProvincia @p_PROVINCIA=&#039;MI&#039;
</pre>
<p>A questo punto ci ritroviamo nella variabile @ClientiTable l&#8217;output della SP, pronta per essere utilizzata per i nostri scopi; ad esempio:</p>
<pre class="brush: sql">
SELECT * FROM @ClientiTable WHERE DESCRIZIONE LIKE @p_cerca
</pre>
<p>Questa la query complessiva</p>
<pre class="brush: sql">
DECLARE @ClientiTable TABLE (CODICE VARCHAR(20), DESCRIZIONE VARCHAR(100))
INSERT INTO @ClientiTable EXEC usp_ClientiProvincia @p_PROVINCIA=&#039;MI&#039;
SELECT * FROM @ClientiTable WHERE DESCRIZIONE LIKE @p_cerca
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/programmazione/sql/sql-come-usare-l-output-di-una-stored-procedure-sql-in-una-nuova-query/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Da Eudora ad Outlook: odissea di una migrazione &#8211; le difficoltà</title>
		<link>http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-difficolta/</link>
		<comments>http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-difficolta/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 18:33:51 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[eudora]]></category>
		<category><![CDATA[migrazione]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[palmare]]></category>
		<category><![CDATA[posta elettronica]]></category>
		<category><![CDATA[pst]]></category>
		<category><![CDATA[sincronizzazione]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-difficolta/</guid>
		<description><![CDATA[Dopo la migrazione da Eudora ad Outlook: ecco le difficoltà incontrate.

Come già raccontato nell&#8217;articolo Da Eudora ad Outlook: odissea di una migrazione &#8211; le premesse, sono passato da Eudora ad Outlook; ovviamente, data la diversità dei prodotti (non entro nella discussione &#8220;meglio questo, meglio quello&#8221;) e soprattutto data l&#8217;abitudine acquisita con Eudora, sono iniziate le [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo la migrazione da Eudora ad Outlook: ecco le difficoltà incontrate.<br />
<span id="more-806"></span></p>
<p>Come già raccontato nell&#8217;articolo <a href="http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-premesse/" title="Da Eudora ad Outlook: odissea di una migrazione &#8211; le premesse">Da Eudora ad Outlook: odissea di una migrazione &#8211; le premesse</a>, sono passato da Eudora ad Outlook; ovviamente, data la diversità dei prodotti (non entro nella discussione &#8220;meglio questo, meglio quello&#8221;) e soprattutto data l&#8217;abitudine acquisita con Eudora, sono iniziate le difficoltà.</p>
<h2>I filtri per dominio</h2>
<p>In Eudora era semplice (con un apposito comando) dichiarare un filtro per spostare tutta la posta proveniente da un dominio (ad es. @blugeco.com) in una cartella, senza dover specificare mittente per mittente; in Outlook invece a prima vista pare non si possa fare, almeno non con un comando specifico.<br />
Bisogna infatti iniziare ad impostare la regola, poi cercare la voce &#8220;Con parole specifiche nell&#8217;indirizzo del mittente&#8221;, selezionarla e quindi inserire il dominio. </p>
<p>Ok, non proprio intuitivo, ma è <em>possibile</em>.</p>
<h2>La posta non letta</h2>
<p>Inseriti i filtri, mi accorgo di un comportamento strano (non voglio chiamarlo <em>difetto</em>) di Outlook: quando una cartella contiene un messaggio non letto, il nome della cartella viene evidenziato in grassetto (bene); ma se un messaggio mail &#8211; per effetto dei filtri &#8211; finisce in una sottocartella, la cartella o le cartelle superiori NON vengono anch&#8217;esse evidenziate (come accadeva in Eudora), per cui non si vede <em>al volo</em> quale sono le caselle con nuovi messaggi.</p>
<p>Al solito, il trucco si trova; eccolo:<br />
bisogna aprire cartella di sistema &#8220;Cartelle ricerche&#8221; e cercare la cartella &#8220;Messaggi non letti&#8221; (o &#8220;Unread mail&#8221;); a questo punto, per tenerla bene in evidenza, va spostata in &#8220;Cartelle preferite&#8221;. </p>
<p>Non proprio intuitivo, non proprio efficace, ma <em>funziona</em>.</p>
<p>continua&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-difficolta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Da Eudora ad Outlook: odissea di una migrazione &#8211; le premesse</title>
		<link>http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-premesse/</link>
		<comments>http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-premesse/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 17:04:35 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[eudora]]></category>
		<category><![CDATA[migrazione]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[posta elettronica]]></category>
		<category><![CDATA[pst]]></category>
		<category><![CDATA[sincronizzazione]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/?p=797</guid>
		<description><![CDATA[Migrare da Eudora ad Outlook: ecco le motivazioni della scelta.

Sono di recente dovuto passare da Eudora ad Outlook: una scelta non facile, ma obbigata. Ecco perché.
Ho usato Eudora (uno dei più antichi client di posta elettronica) per una quindicina d&#8217;anni, sin dalla release 3.x.
Ovviamente avevo preso le mie abitudini, e non avevo nessuna intenzione di [...]]]></description>
			<content:encoded><![CDATA[<p>Migrare da Eudora ad Outlook: ecco le motivazioni della scelta.<br />
<span id="more-797"></span></p>
<p>Sono di recente dovuto passare da Eudora ad Outlook: una scelta non facile, ma obbigata. Ecco perché.</p>
<p>Ho usato <a href="http://www.eudora.com">Eudora</a> (uno dei più antichi client di posta elettronica) per una quindicina d&#8217;anni, sin dalla release 3.x.<br />
Ovviamente avevo preso le mie abitudini, e non avevo nessuna intenzione di cambiare, anche se la </a><a href="http://www.qualcomm.com">Qualcomm</a> aveva già da tempo smesso di sviluppare il prodotto.</p>
<p>Da un po&#8217; di tempo però una delle manchevolezze di Eudora, e cioè il fatto che non supporti i caratteri Unicode (quelli per le lettere accentate, per intenderci), iniziava a diventare fastidiosa, dato che i messaggi che mi arrivano sono in gran parte fatti così.</p>
<p>Inoltre, il fatto di non conoscere bene Outlook mi impediva di offrire ai miei clienti un aiuto quando avevano problemi col prodotto.</p>
<p>Decido quindi di passare ad Outlook (non altri client, per il motivo appena detto, del supporto ai clienti).</p>
<p>Mi scontro subito con il primo, enorme problema: gli allegati. Sì, perché Eudora ha un modo tutto suo di gestire gli allegati: essi sono memorizzati come file singoli, staccati dal messaggio, in una cartella predefinita (può sembrar scomodo, ma per alcune esigenze è conveniente); e per via di questo suo modo strano, l&#8217;importatore di Outlook importa tutto da Eudora, <strong>tranne</strong> gli allegati. Anche passando per Outlook Express (come consigliato da Microsoft per preservare alcune informazioni di Eudora) gli allegati non vengono migrati.</p>
<p>Parto quindi alla ricerca di un software che permetta di migrare gli allegati; per fortuna esiste: si chiama <a href="http://www.aid4mail.com/overview.php">Aid4Mail</a>.</p>
<p>continua&#8230; <a href="http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-difficolta/" title="Da Eudora ad Outlook: odissea di una migrazione &#8211; le difficoltà">Da Eudora ad Outlook: odissea di una migrazione &#8211; le difficoltà</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/varie/da-eudora-ad-outlook-odissea-di-una-migrazione-le-premesse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL: come controllare l&#8217;esistenza di un file</title>
		<link>http://www.dicesare.com/programmazione/sql/sql-come-controllare-l-esistenza-di-un-file/</link>
		<comments>http://www.dicesare.com/programmazione/sql/sql-come-controllare-l-esistenza-di-un-file/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 17:28:11 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[exec]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[sp]]></category>
		<category><![CDATA[stored procedure]]></category>
		<category><![CDATA[stored procedures]]></category>
		<category><![CDATA[xp_fileexist]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/?p=786</guid>
		<description><![CDATA[SQL Server offre la possibilità di controllare se un file esiste. Vediamo come.

Tramite una procedura interna di SQL è possibile controllare l&#8217;esistenza di un file. La procedura è xp_fileexist e va usata così

EXEC master..xp_fileexist &#039;C:\immagine.jpg&#039;

viene riportato 1 se il file esiste, oppure 0 se non esiste.
In un caso pratico ho dovuto controllare l&#8217;esistenza di un [...]]]></description>
			<content:encoded><![CDATA[<p>SQL Server offre la possibilità di controllare se un file esiste. Vediamo come.<br />
<span id="more-786"></span></p>
<p>Tramite una procedura interna di SQL è possibile controllare l&#8217;esistenza di un file. La procedura è <strong>xp_fileexist</strong> e va usata così</p>
<pre class="brush: sql">
EXEC master..xp_fileexist &#039;C:\immagine.jpg&#039;
</pre>
<p>viene riportato <strong>1</strong> se il file esiste, oppure <strong>0</strong> se non esiste.</p>
<p>In un caso pratico ho dovuto controllare l&#8217;esistenza di un certo numero di files, il cui nome era memorizzato in una tabella. Per fare questo, ho innanzitutto creato una funzione (udf) che effettuasse il controllo e ritornasse il flag di trovato/non trovato</p>
<pre class="brush: sql">
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		&lt;EDC&gt;
-- Create date: &lt;05.sep.2009&gt;
-- Description:	&lt;Check file exist&gt;
-- =============================================
ALTER FUNCTION udf_FileExist
(
	@in_FileName VARCHAR(512)
)
RETURNS INT
AS
BEGIN

	DECLARE @out_result INT

	EXEC master..xp_fileexist @in_FileName, @out_result OUT

	RETURN ISNULL(@out_result,0)

END
GO
</pre>
<p>La funzione <strong>udf_FileExist</strong> accetta in input il nome del file (percorso completo) e restituisce un intero che varrà <strong>1</strong> se il file esiste, oppure <strong>0</strong> se non esiste.</p>
<p>Per usarla, sarà sufficiente richiamare la funzione nella query, così:</p>
<pre class="brush: sql">
SELECT NomeFile, dbo.udf_FileExist(NomeFile) AS Esiste FROM Tabella_Files
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/programmazione/sql/sql-come-controllare-l-esistenza-di-un-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Artisteer ::: Templates per siti web, WordPress, Joomla, Drupal</title>
		<link>http://www.dicesare.com/utilita/artisteer-templates-per-siti-web-wordpress-joomla-drupal/</link>
		<comments>http://www.dicesare.com/utilita/artisteer-templates-per-siti-web-wordpress-joomla-drupal/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 10:20:30 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Utilità]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[sito]]></category>
		<category><![CDATA[sito web]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[web site]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/utilita/artisteer-templates-per-siti-web-wordpress-joomla-drupal/</guid>
		<description><![CDATA[Volete personalizzare il vostro sito o il vostro blog fatto in Wordpress, Joomla o Drupal? Artisteer è il generatore di templates che fa per voi.
Se avete un vostro sito web o un blog, fatto in HTML classico, oppure usando uno strumento come Wordpress, Joomla o Drupal, probabilmente vi sarete scontrati con la difficoltà di inventare [...]]]></description>
			<content:encoded><![CDATA[<p>Volete personalizzare il vostro sito o il vostro blog fatto in Wordpress, Joomla o Drupal? Artisteer è il generatore di templates che fa per voi.<br />
<span id="more-779"></span>Se avete un vostro sito web o un blog, fatto in HTML classico, oppure usando uno strumento come Wordpress, Joomla o Drupal, probabilmente vi sarete scontrati con la difficoltà di inventare un tema o di personalizzare quelli forniti di default. Se volete un tema fortemente personalizzato, potete usare Artisteer, un generatore di templates semplice e potente.</p>
<p>Buon lavoro.</p>
<p align="center">
<a target='new' href="http://click.linksynergy.com/fs-bin/click?id=b0AJx8T98gQ&#038;offerid=173675.10000039&#038;type=4&#038;subid=0"><IMG alt="Artisteer - Web Design Generator" border="0" src="http://cdn.extensoft.com/Artisteer/banners/WebDesign/WebDesign_120x90.gif"></a><IMG border="0" width="1" height="1" src="http://ad.linksynergy.com/fs-bin/show?id=b0AJx8T98gQ&#038;bids=173675.10000039&#038;type=4&#038;subid=0"><br />
<a target='new' href="http://click.linksynergy.com/fs-bin/click?id=b0AJx8T98gQ&#038;offerid=173675.10000005&#038;type=4&#038;subid=0"><IMG alt="Artisteer - Wordpress Theme Generator" border="0" src="http://cdn.extensoft.com/Artisteer/banners/WP/wp_120x90.gif"></a><IMG border="0" width="1" height="1" src="http://ad.linksynergy.com/fs-bin/show?id=b0AJx8T98gQ&#038;bids=173675.10000005&#038;type=4&#038;subid=0"><br />
<a target='new' href="http://click.linksynergy.com/fs-bin/click?id=b0AJx8T98gQ&#038;offerid=173675.10000023&#038;type=4&#038;subid=0"><IMG alt="Artisteer - Joomla Theme Generator" border="0" src="http://cdn.extensoft.com/Artisteer/banners/Joomla/joomla_120x90.gif"></a><IMG border="0" width="1" height="1" src="http://ad.linksynergy.com/fs-bin/show?id=b0AJx8T98gQ&#038;bids=173675.10000023&#038;type=4&#038;subid=0"><br />
<a target='new' href="http://click.linksynergy.com/fs-bin/click?id=b0AJx8T98gQ&#038;offerid=173675.10000011&#038;type=4&#038;subid=0"><IMG alt="Artisteer - Drupal Theme Generator" border="0" src="http://cdn.extensoft.com/Artisteer/banners/Drupal/drupal_120x90.gif"></a><IMG border="0" width="1" height="1" src="http://ad.linksynergy.com/fs-bin/show?id=b0AJx8T98gQ&#038;bids=173675.10000011&#038;type=4&#038;subid=0"></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/utilita/artisteer-templates-per-siti-web-wordpress-joomla-drupal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL: come aggregare risultati diversi in un&#8217;unica riga di risultati</title>
		<link>http://www.dicesare.com/programmazione/sql/sql-come-aggregare-risultati-diversi-in-una-unica-riga-di-risultati/</link>
		<comments>http://www.dicesare.com/programmazione/sql/sql-come-aggregare-risultati-diversi-in-una-unica-riga-di-risultati/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 15:50:51 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[aggregate]]></category>
		<category><![CDATA[aggregazione]]></category>
		<category><![CDATA[COUNT()]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[sp]]></category>
		<category><![CDATA[stored procedure]]></category>
		<category><![CDATA[stored procedures]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/?p=772</guid>
		<description><![CDATA[Come aggregare risultati diversi in un&#8217;unica riga (record) di risultati
Un amico ha sollevato questo problema: come conoscere con un&#8217;unica query quante foto ha inserito un dato utente nella tabella foto e quanti blog ha inserito lo stesso utente nella tabella blogs.
Dato che il database in uso era Access, non si potevano usare Stored Procedures, quindi [...]]]></description>
			<content:encoded><![CDATA[<p>Come aggregare risultati diversi in un&#8217;unica riga (record) di risultati</p>
<p><span id="more-772"></span>Un amico ha sollevato questo problema: come conoscere con un&#8217;unica query quante foto ha inserito un dato utente nella tabella foto e quanti blog ha inserito lo stesso utente nella tabella blogs.</p>
<p>Dato che il database in uso era Access, non si potevano usare Stored Procedures, quindi il tutto andava fatto con un&#8217;unica query.</p>
<p>Procediamo quindi per passi successivi.</p>
<p>1. Per prima cosa vediamo come leggere quante foto sono state inserite (il nostro utente immaginario si chiamerà&#8230;. &#8220;Pippo&#8221;, come sempre)</p>
<pre class="brush: sql">
SELECT COUNT(*) FROM gallerieFoto WHERE fAutore=&quot;Pippo&quot;
</pre>
<p>il risultato della query sarà (ad esempio):<br />
<em>5</em></p>
<p>2. Adesso procediamo con la lettura di quanti messaggi sono stati inseriti nel blog</p>
<pre class="brush: sql">
SELECT COUNT(*) FROM blogs WHERE bAutore=&quot;Pippo&quot;
</pre>
<p>il risultato della query sarà (ad esempio):<br />
<em> 3</em></p>
<p>3. Ora uniamo le due query con una UNION, visto che il formato di uscita è identico</p>
<pre class="brush: sql">
SELECT COUNT(*) FROM gallerieFoto WHERE fAutore=&quot;Pippo&quot;
UNION
SELECT COUNT(*) FROM blogs WHERE bAutore=&quot;Pippo&quot;
</pre>
<p>il risultato della query sarà:<br />
<em> 5<br />
3</em></p>
<p>4. così facendo avremmo due record, ma non si vuole fare un ciclo di lettura; quindi bisogna fare in modo che la query restituisca 2 colonne, non due righe</p>
<p>5. iniziamo con l&#8217;attribuire i due nomi di colonna per i risultati: qFoto e qBlog</p>
<pre class="brush: sql">
SELECT COUNT(*) AS qFoto FROM gallerieFoto WHERE fAutore=&quot;Pippo&quot;
UNION
SELECT COUNT(*) AS qBlog FROM blogs WHERE bAutore=&quot;Pippo&quot;
</pre>
<p>il risultato della query sarà:<br />
<em>5<br />
3</em></p>
<p>6. però è ancora una colonna sola; quindi aggiungiamo una colonna per query che faccia da segnaposto: nella query delle foto aggiungiamo il segnaposto dei blog, nella query dei blog aggiungiamo il segnaposto delle foto</p>
<pre class="brush: sql">
SELECT COUNT(*) AS qFoto, 0 AS qBlog FROM gallerieFoto WHERE fAutore=&quot;Pippo&quot;
UNION
SELECT 0 as qFoto, COUNT(*) AS qBlog FROM blogs WHERE bAutore=&quot;Pippo&quot;
</pre>
<p>da notare l&#8217;inserimento incrociato dei segnaposto, per ottenere la corrispondenza delle colonne</p>
<p>il risultato della query sarà:<br />
<em>5 0<br />
0 3</em></p>
<p>7. sistemata la questione delle due colonne, resta il problema delle due righe; aggiungiamo una query esterna che raccolga i MAX delle query (infatti interessano i risultati <em>5</em> e <em>3</em>, gli zeri vanno ignorati); potremmo usare anche SUM, io per abitudine preferisco MAX.</p>
<pre class="brush: sql">
SELECT MAX(qFoto) AS qFoto, MAX(qBlog) as qBlog FROM (
SELECT COUNT(*) AS qFoto, 0 AS qBlog FROM gallerieFoto WHERE fAutore=&quot;Pippo&quot;
UNION
SELECT 0 as qFoto, COUNT(*) AS qBlog FROM blogs WHERE bAutore=&quot;Pippo&quot;
) AS subQry
</pre>
<p>il risultato della query sarà:<br />
<em>5 3</em></p>
<p>che è esattamente quello che si voleva ottenere.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/programmazione/sql/sql-come-aggregare-risultati-diversi-in-una-unica-riga-di-risultati/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come duplicare (clonare) una pratica</title>
		<link>http://www.dicesare.com/applicativi/elite/come-duplicare-clonare-una-pratica-elite/</link>
		<comments>http://www.dicesare.com/applicativi/elite/come-duplicare-clonare-una-pratica-elite/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 15:37:49 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Élite]]></category>
		<category><![CDATA[avvocati]]></category>
		<category><![CDATA[avvocato]]></category>
		<category><![CDATA[blugeco]]></category>
		<category><![CDATA[software studi legali]]></category>
		<category><![CDATA[studio legale]]></category>
		<category><![CDATA[studio legale associato]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/applicativi/elite/come-duplicare-clonare-una-pratica/</guid>
		<description><![CDATA[Avete bisogno di creare una pratica che è un duplicato di un&#8217;altra. Oppure dovete dividerne una complessa in due. Come fare?
Come duplicare (clonare) una pratica
Élite non dispone di una funzione immediata di duplicazione pratiche; tuttavia, tramite pochi semplici passi, sarà possibile ottenere una nuova pratica che è il duplicato di una già esistente.
Andremo a sfruttare [...]]]></description>
			<content:encoded><![CDATA[<p>Avete bisogno di creare una pratica che è un duplicato di un&#8217;altra. Oppure dovete dividerne una complessa in due. Come fare?<span id="more-769"></span><strong></strong></p>
<p><strong>Come duplicare (clonare) una pratica</strong></p>
<hr />Élite non dispone di una funzione immediata di duplicazione pratiche; tuttavia, tramite pochi semplici passi, sarà possibile ottenere una nuova pratica che è il duplicato di una già esistente.</p>
<p>Andremo a sfruttare la funzione di archiviazione pratiche, in questo modo:</p>
<ul>
<li>evidenziate la pratica che volete duplicare e chiedetene l&#8217;archiviazione</li>
<li>nella finestra di archiviazione selezionate tutte le informazioni e chiedete di &#8216;Mantenere le informazioni originali nell&#8217;archivio&#8217;</li>
<li>date quindi conferma</li>
</ul>
<p>In questo modo avrete la stessa pratica sia nell&#8217;archivio Corrente che in quello Storico</p>
<ul>
<li>portatevi adesso nell&#8217;archivio Storico e selezionate nuovamente la pratica</li>
<li>chiedetene nuovamente l&#8217;archiviazione (dallo Storico viene riportata nel Corrente)</li>
<li>nella finestra di archiviazione selezionate tutte le informazioni e chiedete di <strong><span style="text-decoration: underline;">NON</span></strong>  &#8217;Mantenere le informazioni originali nell&#8217;archivio&#8217;</li>
<li>date quindi conferma</li>
<li>Élite vi segnalerà che la pratica esiste già nell&#8217;archivio di destinazione (è giusto, è proprio quello che ci serve)</li>
<li>tra le opzioni proposte, scegliete &#8216;Crea nuova&#8217;</li>
<li>Élite creerà una nuova pratica aggiungendo il suffisso &#8216;/1&#8242; al Codice Pratica</li>
</ul>
<p>Avete così duplicato la pratica. Se necessita, potrete attribuire un nuovo codice entrando in modifica pratica.</p>
<hr />
<table border="0">
<tbody>
<tr>
<td><a href="http://elite.blugeco.com"><img class="alignnone size-medium wp-image-89" title="eli40logo" src="http://lnx.dicesare.com/wp-content/uploads/2008/09/eli40logo1.gif" alt="" width="109" height="41" /></a></td>
<td>
<h5>Élite è la procedura ideale per la gestione dello studio legale. Informazioni, prezzi e dimostrativo sul sito <a href="http://elite.blugeco.com" target="_blank">Blugeco</a>.</h5>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/applicativi/elite/come-duplicare-clonare-una-pratica-elite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL: trovare (ed eventualmente eliminare) i record duplicati</title>
		<link>http://www.dicesare.com/programmazione/sql/sql-trovare-ed-eventualmente-eliminare-i-record-duplicati/</link>
		<comments>http://www.dicesare.com/programmazione/sql/sql-trovare-ed-eventualmente-eliminare-i-record-duplicati/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 17:22:15 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[doppioni]]></category>
		<category><![CDATA[duplicates]]></category>
		<category><![CDATA[duplicati]]></category>
		<category><![CDATA[exec]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[record doppi]]></category>
		<category><![CDATA[record duplicati]]></category>
		<category><![CDATA[row_number]]></category>
		<category><![CDATA[sp]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[sql server 2005]]></category>
		<category><![CDATA[stored procedure]]></category>
		<category><![CDATA[stored procedures]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/programmazione/sql/trovare-ed-eventualmente-eliminare-i-record-duplicati/</guid>
		<description><![CDATA[In questo articolo spiegherò come selezionare (e poi eventualmente eliminare) i record duplicati di una tabella, usando SQL 2005.
Può capitare che in una tabella ci siano dei record (righe) duplicati. Rintracciarli per poi eliminarli è sempre una faccenda noisa.
Per fare questo possiamo avvalerci della funzione di numerazione righe ROW_NUMBER() di MS SQL Server 2005.
Ad esempio, questa query:

SELECT  ROW_NUMBER() [...]]]></description>
			<content:encoded><![CDATA[<p>In questo articolo spiegherò come selezionare (e poi eventualmente eliminare) i record duplicati di una tabella, usando SQL 2005.</p>
<p><span id="more-767"></span>Può capitare che in una tabella ci siano dei record (righe) duplicati. Rintracciarli per poi eliminarli è sempre una faccenda noisa.</p>
<p>Per fare questo possiamo avvalerci della funzione di numerazione righe ROW_NUMBER() di MS SQL Server 2005.</p>
<p>Ad esempio, questa query:</p>
<pre class="brush: sql">
SELECT  ROW_NUMBER() OVER(PARTITION BY PART_IVA ORDER BY CODICE) AS [RowNumber]
      , PART_IVA
      , CODICE
FROM  CLIENTI
</pre>
<p>elencherà tutti i Clienti, numerandoli progressivamente quando hanno la stessa Partita IVA ( &#8230; PARTITION BY PART_IVA &#8230; ).</p>
<p>Per evidenziare i duplicati, basterà aggiungere una WHERE, così</p>
<pre class="brush: sql">
SELECT * FROM (
   SELECT  ROW_NUMBER() OVER(PARTITION BY PART_IVA ORDER BY CODICE) AS [RowNumber]
         , PART_IVA
         , CODICE
   FROM  CLIENTI
   ) AS T1
WHERE RowNumber&gt;1
</pre>
<p>Similarmente, potremo usare lo stesso stratagemma per eliminare tutti i doppioni</p>
<pre class="brush: sql">
 DELETE T1 FROM (
   SELECT  ROW_NUMBER() OVER(PARTITION BY PART_IVA ORDER BY CODICE) AS [RowNumber]
         , PART_IVA
         , CODICE
   FROM  CLIENTI
   ) AS T1
  WHERE T1.RowNumber &gt;1
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/programmazione/sql/sql-trovare-ed-eventualmente-eliminare-i-record-duplicati/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL: COUNT inusuali</title>
		<link>http://www.dicesare.com/programmazione/sql/sql-count-inusuali/</link>
		<comments>http://www.dicesare.com/programmazione/sql/sql-count-inusuali/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 17:40:46 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[COUNT()]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[sp]]></category>
		<category><![CDATA[stored procedure]]></category>
		<category><![CDATA[stored procedures]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/programmazione/sql/count-inusuali/</guid>
		<description><![CDATA[In questo articolo illustrerò alcuni modi di usare la funzione COUNT().
La funzione COUNT() viene usata per contare (appunto) quanti record ci sono in una tabella o vista, eventualmente rispondenti ad una determinata condizione.
Ad esempio potremmo voler contare quanti clienti hanno sede a Milano.

SELECT
    COUNT(*) AS qClienti
FROM
    Clienti
WHERE
   Localita=&#039;MILANO&#039;

Potrebbe succedere però di dover riportare più conteggi; [...]]]></description>
			<content:encoded><![CDATA[<p>In questo articolo illustrerò alcuni modi di usare la funzione COUNT().</p>
<p><span id="more-753"></span>La funzione COUNT() viene usata per contare (appunto) quanti record ci sono in una tabella o vista, eventualmente rispondenti ad una determinata condizione.</p>
<p>Ad esempio potremmo voler contare quanti clienti hanno sede a Milano.</p>
<pre class="brush: sql">
SELECT
    COUNT(*) AS qClienti
FROM
    Clienti
WHERE
   Localita=&#039;MILANO&#039;
</pre>
<p>Potrebbe succedere però di dover riportare più conteggi; ad esempio quanti clienti hanno sede a Milano e quanti in Lombardia.</p>
<p>La prima soluzione che viene in mente è di eseguire due interrogazioni, con due WHERE diverse; si potrebbero anche riunire le due interrogazioni con una UNION, in questo modo:</p>
<pre class="brush: sql">
SELECT SUM(cMilano) AS qMilano, SUM(cLombardia) AS qLombardia FROM
   (SELECT COUNT(*) AS cMilano, 0 as cLombardia FROM Clienti WHERE Localita=&#039;MILANO&#039;
    UNION
    SELECT 0 AS cMilano, COUNT(*) AS cLombardia FROM Clienti WHERE Regione=&#039;LOMBARDIA&#039;)
</pre>
<p>Non il massimo dell&#8217;eleganza, né dell&#8217;efficienza.</p>
<p>Nella funzione COUNT possiamo però usare l&#8217;istruzione CASE, che ci permetterà di scrivere una interrogazione migliore.</p>
<p>Sfrutteremo la regola per cui i NULL non vengono contati nella COUNT; in particolare, nel nostro caso, se il risultato della WHEN è positivo (cioè corrisponde) viene restituito un risultato non-NULL, e conseguentemente contato; altrimenti (un altrimenti implicito) viene riportato NULL, che non viene contato.</p>
<pre class="brush: sql">
SELECT
   (COUNT(CASE WHEN Localita=&#039;MILANO&#039; THEN 1 END)) qMilano,
   (COUNT(CASE WHEN Regione=&#039;LOMBARDIA&#039; THEN 1 END)) qLombardia
FROM
   CLIENTI
</pre>
<p>La query è più pulita, più performante e più manutenibile. Non lasciatevi fuorviare dalla cifra &#8216;1&#8242; restituita dal CASE; un qualunque valore non-NULL va altrettanto bene (es.: <em>COUNT(CASE WHEN Localita=&#8217;MILANO&#8217; THEN &#8216;Ok!&#8217; END)</em>  )</p>
<p>Tutte le funzioni di aggregazione (COUNT, SUM, AVG, ecc.) possono essere usate in questo modo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/programmazione/sql/sql-count-inusuali/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come inserire una scadenza di preavviso</title>
		<link>http://www.dicesare.com/applicativi/elite/come-inserire-una-scadenza-di-preavviso-elite/</link>
		<comments>http://www.dicesare.com/applicativi/elite/come-inserire-una-scadenza-di-preavviso-elite/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 15:22:03 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Élite]]></category>
		<category><![CDATA[atto]]></category>
		<category><![CDATA[avvocati]]></category>
		<category><![CDATA[avvocato]]></category>
		<category><![CDATA[blugeco]]></category>
		<category><![CDATA[deposito]]></category>
		<category><![CDATA[preavviso]]></category>
		<category><![CDATA[scadenza]]></category>
		<category><![CDATA[scadenza legale]]></category>
		<category><![CDATA[software studi legali]]></category>
		<category><![CDATA[studio legale]]></category>
		<category><![CDATA[studio legale associato]]></category>
		<category><![CDATA[tribunale]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/?p=524</guid>
		<description><![CDATA[Fra un mese dovrete depositare un atto: come potete farvi preavvisare da Élite mettendo in scadenza anche la preparazione dell&#8217;atto stesso inserendo una sola scadenza?
Gli Iter di Scadenze (Macro)
Una delle funzioni più potenti di Élite sono le cosiddette macro, che permettono di inserire più scadenze con una sola richiesta: si tratta in pratica di definire un [...]]]></description>
			<content:encoded><![CDATA[<p>Fra un mese dovrete depositare un atto: come potete farvi preavvisare da Élite mettendo in scadenza anche la preparazione dell&#8217;atto stesso inserendo una sola scadenza?<span id="more-524"></span><strong></strong></p>
<p><strong>Gli Iter di Scadenze (Macro)</strong></p>
<hr />Una delle funzioni più potenti di Élite sono le cosiddette macro, che permettono di inserire più scadenze con una sola richiesta: si tratta in pratica di definire un Iter che contiene una sequenza di scadenze.</p>
<p>La particolarità che andremo a sfruttare per poterci far pre-avvisare è la possibilità di inserire un intervallo di tempo negativo: in pratica occorre fare così:</p>
<ul>
<li>chiedete l&#8217;inserimento di una nuova macro</li>
<li>nella tab &#8216;Dati Principali&#8217; inserite un codice mnemonico e una descrizione</li>
<li>andate poi nella tab &#8216;Elenco Scadenze&#8217;</li>
<li>inserite nella prima riga la scadenza di riferimento; nel nostro caso il deposito dell&#8217;atto fra 30 giorni</li>
<li>completate la prima riga inserendo gli eventuali altri dati</li>
<li>nella seconda riga inserite la scadenza di preavviso; nel nostro caso la redazione dell&#8217;atto dopo -3 giorni; dato che Élite <em>aggiunge </em>giorni al precedente, aggiungendone una quantità negativa in pratica li sottrare</li>
<li>anche in questo caso, completate la riga inserendo gli eventuali altri dati</li>
<li>salvate poi come di consueto l&#8217;informazione</li>
</ul>
<p>Quando dovrete inserire una scadenza con preavviso, selezionate questa macro: vedrete inserire due scadenze, una tra 27 giorni (la redazione), l&#8217;altra tra 30 (il deposito).</p>
<p>Seguendo questo esempio potrete creare tutte le macro che vi servono per gestire i preavvisi.</p>
<hr />
<table border="0">
<tbody>
<tr>
<td><a href="http://elite.blugeco.com"><img class="alignnone size-medium wp-image-89" title="eli40logo" src="http://lnx.dicesare.com/wp-content/uploads/2008/09/eli40logo1.gif" alt="" width="109" height="41" /></a></td>
<td>
<h5>Élite è la procedura ideale per la gestione dello studio legale. Informazioni, prezzi e dimostrativo sul sito <a href="http://elite.blugeco.com" target="_blank">Blugeco</a>.</h5>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/applicativi/elite/come-inserire-una-scadenza-di-preavviso-elite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come compattare manualmente il database di Elite</title>
		<link>http://www.dicesare.com/applicativi/elite/come-compattare-manualmente-il-database-di-elite/</link>
		<comments>http://www.dicesare.com/applicativi/elite/come-compattare-manualmente-il-database-di-elite/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 11:06:36 +0000</pubDate>
		<dc:creator>Enrico Di Cesare</dc:creator>
				<category><![CDATA[Élite]]></category>
		<category><![CDATA[avvocati]]></category>
		<category><![CDATA[avvocato]]></category>
		<category><![CDATA[blugeco]]></category>
		<category><![CDATA[compattazione]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[software studi legali]]></category>
		<category><![CDATA[studio legale]]></category>
		<category><![CDATA[studio legale associato]]></category>

		<guid isPermaLink="false">http://www.dicesare.com/?p=514</guid>
		<description><![CDATA[La versione di Élite basata su Microsoft Access prevede la compattazione periodica del database, ed è Élite stesso a proporla ogni due settimane. Tuttavia può essere necessario &#8211; per diversi motivi &#8211; dover procedere alla compattazione manuale.

Come procedere alla compattazione manuale
Operate in questo modo:

accertatevi innanzitutto che nessuno stia usando Élite, in quanto la compattazione può avvenire soltanto [...]]]></description>
			<content:encoded><![CDATA[<p>La versione di Élite basata su Microsoft Access prevede la compattazione periodica del database, ed è Élite stesso a proporla ogni due settimane. Tuttavia può essere necessario &#8211; per diversi motivi &#8211; dover procedere alla compattazione manuale.<br />
<span id="more-514"></span></p>
<h2>Come procedere alla compattazione manuale</h2>
<hr />Operate in questo modo:</p>
<ul>
<li>accertatevi innanzitutto che nessuno stia usando Élite, in quanto la compattazione può avvenire soltanto quando il database non è in uso</li>
<li>fate doppio click su <em>Risorse del computer</em></li>
<li>portatevi sul disco che ospita Élite</li>
<li>entrate nella cartella <strong>ELI40</strong></li>
<li>localizzate il programma <strong>ELI_RBLD.EXE</strong> (o semplicemente <strong>ELI_RBLD</strong> se il vostro Windows nasconde le estensioni)</li>
<li>mandatelo in esecuzione con un doppio click</li>
<li>seguite infine le indicazioni che appaiono a schermo.</li>
</ul>
<p>Una volta terminate le operazioni di compattazione potrete riprendere il vostro lavoro con Élite come di consueto.</p>
<hr />
<table border="0">
<tbody>
<tr>
<td><a href="http://elite.blugeco.com"><img class="alignnone size-medium wp-image-89" title="eli40logo1" src="http://lnx.dicesare.com/wp-content/uploads/2008/09/eli40logo1.gif" alt="" width="109" height="41" /></a></td>
<td>
<h5>Élite è la procedura ideale per la gestione dello studio legale. Informazioni, prezzi e dimostrativo sul sito <a href="http://elite.blugeco.com" target="_blank">Blugeco</a>.</h5>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.dicesare.com/applicativi/elite/come-compattare-manualmente-il-database-di-elite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
