martedì 31 luglio 2007

Virtual Pc 2007 su Windows Vista errore incomprensibile

Ho sempre odiato i messaggi criptici, una regola per i miei programmi è introdurre sempre messaggi atti a far capire dove sta l'errore e aiutare me o l'utente a porvi rimedio, questo senza vergognarmi dell'errore.

Non mi sembra che questo sia un buon esempio soprattutto se si pensa che sono personalmente convinto di non avere conflitti.
Ho rimosso più volte il flag di sola lettura dalla cartella senza esito.
La lista delle cose che non posso fare con Windows Vista si allunga, stiamo arrivando al limite dell'impossibilità di utilizzo.
Grazie a tutti quelli che mi daranno qualche suggerimento, suggerimenti come non usare Windows Vista e/o Virtual Pc sono bene accette ma purtroppo non risolvono il mio problema :))

Windows Vista - Impossibile rinominare le cartelle remote

Come benvenuto tra i nuovi utilizzatori mi sono beccato quasi subito questo errore:

Error message in Windows Vista when you try to rename a new subfolder in a shared folder on the network: "The <SharedFolderName> folder does not exist"

E' relativo ad un malfunzionamento già conosciuto da Microsoft e di cui è già nota la soluzione (o meglio il workaround)

Navision 5 su Sql Server 2005 e Windows Vista

Ho recentemente provveduto ad installare Navision 5 e Sql Server 2005 sul mio nuovo portatile con Windows Vista.

Nessun problema per l'installazione e la configurazione di Sql Server 2005 e del Service Pack 2, è rimasta una cosa per me importantissima.

Navision 5 sul database nativo funziona correttamente, invece sul database Sql Server 2005 l'importazione degli oggetti (.fob) ed il recupero dei backups di Navision è estremamente lenta, con tempi del tutto inaccettabili.

Ho provato a caricare anche il database di demo sia con i soli oggetti sia come backup la lentezza è esasperante.

Bacerò (in senso figurato ovviamente ..) chiunque mi aiuterà a risolvere il mio problema.

domenica 22 luglio 2007

Appunti e analisi - creazione di una libreria per la generazione di uno scadenzario parte 1

Obiettivi da raggiungere

Il principale obiettivo da raggiungere è la produzione di una libreria che dovrà gestire e coordinare la generazione delle righe di scadenza da proporre all’applicazione interfacciata.

Iniziamo con l’analisi dei giocatori:

Metodo di pagamento

Il metodo di pagamento è, lo dice la parola stessa, la modalità concordata per regolare il pagamento, in altre parole il “modo” in cui dovrà essere fatto il pagamento

A titolo esemplificativo enumero, probabilmente in modo non esaustivo, alcuni metodi di pagamento.

  • Rimessa Diretta - il cliente paga direttamete
  • Bonifico bancario
  • Rid (addebito diretto in conto dell'improto fatturato)
  • Mav (la banca emette un avviso che il cliente paga presso una qualsiasi banca)
  • RIBA (Ricevute bancarie alla scadenza viene addebitato il conto)
  • Bollettino Postale o Freccia (si tratta di due metodi similari, l’uno valido per la posta, l’altro per tutte le altre banche, i due circuiti sono alternativi )

Il metodo di pagamento in conclusione descrive il “come” deve avvenire il pagamento.

E’ del tutto ovvio che la tabella che dovrà gestire una simile struttura di dati è semplicissima

Metodi di pagamento

Campo

Descrizione

CodiceMetodo

PK, Codice univoco

Descrizione

Testo relativo alla descrizione interna

TipoMetodo

Indicatore numerico intero, riferimento al valore dell’ enumerazione dei tipi metodo

Descrizioni in lingua metodi di pagamento

Campo

Descrizione

CodiceMetodo

PK, Riferimento al metodo

CodiceLingua

PK, Codice Iso dello stato della lingua, il codice iso della lingua è un attributo dell’anagrafica clienti, il valore blank su questo campo indica le descrizioni in lingua italiana

Descrizione

Descrizione metodo di pagamento alternativa per ciascuna lingua

Enumerazione TipiMetodo

Si può scegliere la via “software” con la creazione all’interno del proprio progetto di un oggetto di tipo Enum,

Esempio VB.NET

Public Enum TipiMetodo

Indefinito = 0

Rimessa

RiBa

Mav

Posta

Freccia

Rid

Bonifico

End Enum

Esempio C#

public enum TipiMetodo

{

Indefinito = 0,

Rimessa,

RiBa,

Mav,

Posta,

Freccia,

Rid,

Bonifico

}

E’ possibile inoltre scegliere di gestire la stessa struttura tramite una normale tabella di descrizioni tipi metodo referenziata dalla tabella Metodi di pagamento

Campo

Descrizione

TipoMetodo

Pk

Descrizione

Descrizione metodo

Termine di pagamento

Se il metodo di pagamento indica il “come” deve avvenire il pagamento , il termine di pagamento rappresenta invece il “quando” e cioè regola tutti gli aspetti relativi alla scadenza del pagamento.

Tabella Termini di pagamento

Campo

Descrizione

CodiceTermini

Pk

Descrizione

Descrizione termini di pagamento

NumeroRate

Indica il numero di rate, default 1

InizioCalcolo

Valore che parametrizza la data inizio del calcolo,

valori ammessi: 0 data riferimento - 1 – fine mese

Ciascun termine di pagamento descrive il calcolo che porterà alla determinazione della scadenza; la sua struttura cioè deve riuscire a stabilire con esattezza la data in cui si prevede debba avvenire il pagamento.

Tabella Rate Termini Pagamento

Campo

Descrizione

Codice

PK1

Rata

PK2

CodiceFormula

Riferimento alla formula ogni riga di formula descrive una singola applicazione

Tabella formula calcolo rate

Campo

Descrizione

CodiceFormula

PK

Formula

Stringa con codificata una formula che associata ad un parser determina il calcolo

Ad esempio sono possibili:

+1M (un mese in più)

FM (fine mese )

+1MFM (+ 1 mese, poi fine mese)

+20G (+ 20 giorni)

I mesi sono considerati come “numero mese” e non mesi di 30 giorni 28 febbraio diventa 31 marzo (fine mese) e poi 30 aprile

E’ ovvio che una simile situazione comporta lo stabilire delle formule e delle regole da applicarsi.

Abitualmente e convenzionalmente per i termini di pagamento sono valutati gli elementi

Campo

Descrizione

Data riferimento

È la data di riferimento per il calcolo delle rate / scadenze, di solito è basata sulla data della fattura ma … visto che siamo in Italia la variabilità è ovviamente massima, la data di riferimento può essere:

- La data della fattura

- La data di consegna

- La data dell’ordine

Anticipato

Il pagamento anticipato interrompe qualsiasi calcolo



Ovviamente questa struttura prevede una gestione tabellare che andremo a realizzare nel prossimo articolo.

In attesa delle parti successive, mi piacerebbe avere il parere di chi, interessato, è arrivato fino a questo punto. Valuteremo eventuali proposte di implementazioni o strutture di dati alternative.

sabato 21 luglio 2007

Non è in vendita

Avevo voglia di provare il mio nuovo flash Nikon SB 800.
Questa è la prima immagine che ho fatto con il suddetto flash e la mia Nikon D200

Ripeto: NON E' IN VENDITA.

domenica 15 luglio 2007

Appunti e suggerimenti per la strutturazione dei classi campi e metodi su .NET

Come tutti ben sanno scrivere bene il nostro codice ne aumenta la leggibilità e la manutenibilità, Microsoft ha da molto tempo pubblicato i sui consigli e suggerimenti su MSDN.
Per esperienza posso dire che la bontà di questi suggerimenti la vedi realizzata quando devi modificare del codice scritto da altri :)

Scrivere applicazioni per Mobile/PDA e Windows Forms contemporaneamente

Nel numero di Luglio di MSDN Magazine ho trovato questo interessantissimo articolo sulla metodologia da applicare per scrivere applicazioni per Mobile e per applicazioni desktop Windows Forms.

lunedì 2 luglio 2007

Visual Studio 2005 SP1

E' uscito il Service Pack 1 per Visual Studio 2005

SP1 aggiorna le versioni Standard Professional e Team Suite (tutte le versioni con esclusione della Express che ha un suo SP separato).
Visual Studio Team Suite SP1 Italiano
Visual Studio Team Suite SP1 Inglese

Da utilizzare esclusivamente per le versioni Express di Visual Studio 2005
Visual Studio 2005 Express Edition SP1 Italiano
Visual Studio 2005 Express Edition SP1 Inglese

Aggiornamento del lato server di Team Fountation.
Visual Studio Team Foundation Server SP1

Visual Studio Sp1 - note sulla versione
Elenco correzioni SP1

Archivio Sportelli Bancari - elenco Abi Cab Aggiornato a fine Giugno 2007

L'archivio sportelli bancari elenco Abi Cab aggiornato a fine giugno 2007  è disponibile per lo scaricamento a questo indirizzo:
Alcune informazioni sui files:
- campi separati da tabulazione hex: 09
- righe separate dal terminatore di riga windows hex: 0d0a
- intestazione colonne sulla prima riga
Il file TabAbi contiene i dati relativi alle banche.
Il file TabAbiCab contiene le informazioni relative agli sportelli
Nel file TabAbi e TabAbiCab è presente il campo "Aggiornamento" che evidenzia la data di riferimento di validità dei dati.
Tutte le righe di TabAbiCab che NON contengono la data più recente sono da considerarsi relative a sportelli non più attivi o assorbiti da altre banche, tali sportelli sono presenti solo come log dei dati storici, ne è sconsigliato l'utilizzo per nuove emissioni di flussi di comunicazione con le banche.