Arxius per mes: Novembre 2007

MOLSA diu Me My columna nom és Reservats o en l'ús … Però no és

ACTUALITZACIÓ 12/04/07: Veure Aquest Microsoft KB (http://support.microsoft.com/kb/923589) per a informació relacionada.

En realitat, resulta és, però tricksy MOSS havia de fer-ho difícil.

El meu client fa algun treball de desenvolupament al seu lloc de molsa el cap setmana. És una mica d'un poti sobre el que va fer, però el resultat final és aquesta:

  • Intenta afegir una columna del lloc anomenat "quantitat" i les respostes de molsa: "El nom de columna que heu introduït és ja en ús o reservat. Trieu un altre nom."
  • Ell intenta afegir-lo a un altre entorn i que treballa. Per tant, "Quantitat" no és un nom reservat.
  • Ell intenta trobar una columna del lloc existent anomenat "quantitat" en aquesta col·lecció de llocs. Ell no ho trobo.

Vaig fer algunes recerca, i fins i tot alguns de codificació, encerat filosòfica i finalment han trobat que una columna anomenada quantitat, de fet, existeixen. Va ser a la _Hidden"" grup. Per tant, no hem pogut trobar-lo mitjançant la interfície d'usuari del SharePoint.

Com-lo arribar-hi? No sé, però tinc una teoria (o com la meva dona diria, "bla, bla, bla, bla"). En algun lloc al llarg de la línia, un plantilla fabulós quaranta va ser afegit i probablement s'activa en un indret de la col·lecció de llocs. Llavors es va ser desactivat (o el lloc suprimit). La columna del lloc, No obstant això, es va mantenir però a la "_Hidden" grup. Si algú sap millor, Si us plau, hágamelo saber mitjançant correu electrònic o publicar en els comentaris.

SharePoint estava dient la veritat. És gairebé val la pena assenyalar que el missatge no es tan útil com podria ser. Seria bonic de veure aquesta forquilla missatge en dos missatges diferents en el futur: 1) Diuen que el nom de columna està reservat o no és. 2) Si no està reservat, mostrar la pàgina, o almenys el grup, on el nom de columna ja està sent utilitzat.

</final>

Dades d'OM presents a través d'una llista de costum (o, Encara un altre Displayor de dades d'OM [com YACC, però diferents])

Avui, Vaig passar un grapat d'hores localitzar la causa arrel darrere el missatge "el nom de columna que heu introduït és ja en ús o reservat. Trieu un altre nom."

Es podria crear la columna en qüestió, se suprimia i en un altre entorn, Així que sabia que no era un nom reservat. No obstant això, Jo simplement no podria trobar la columna en qualsevol lloc mitjançant la interfície d'usuari del SharePoint estàndard a qualsevol lloc en la col·lecció de llocs.

He publicat a Fòrums MSDN aquí i l'indòmit Andrew Woodward em va assenyalar en la direcció de les dades del model objecte subjacent.

Vaig anar a CodePlex per trobar algunes eines que ajudaria a mi fitar les dades subjacents OM i ajudar-me a localitzar els problemes.

He intentat diverses eines i eren molt fresc i interessant però al final, l'UI no era prou bo per al meu propòsit. Jo no estic criticant-los per qualsevol mitjà, però clarament les eina-fabricants no tenia el meu problema en ment quan van crear la seva interfície d'usuari :). Majoria de la gent sembla ser invertir una quantitat considerable de temps i esforç en la creació de treball / aplicacions del client que proporcionen la vista d'arbre, Cliqueu els menús de context i així successivament. Aquests són el bonics i tots els, però és un munt de treball per crear una experiència d'usuari de dalt-of-the-line que també és molt flexible.

Realment necessitava una resposta a aquest problema. Se li va ocórrer a mi que si pogués aconseguir totes les columnes del lloc en la col·lecció de llocs en una llista personalitzada, Jo podria filtrar, ordenar i crear visualitzacions que ajudaria a mi trobar aquesta columna suposadament existent (que ho va fer, BTW). Vaig seguir endavant i va fer que i una hora o dues més tard, tenia totes les meves columnes del lloc carregat en una llista personalitzada amb agrupament, classificació i així successivament. He trobat la meva resposta cinc minuts més tard.

Si i quan em prenc amb èxit arreu del món, Crec que es decret que tots els proveïdors d'eines del SharePoint s'ha de considerar seriosament emergir dades del model d'objecte en una llista personalitzada. D'aquesta manera, Jo tinc el poder per buscar qualsevol manera vull (limitats, clar, els trets sharepoint estàndard).

Acció de costum de flux de treball de dissenyador de SharePoint — Observació sobre <Dissenyador de FieldBind tipus =”StringBuilder” … />

Només una observació ràpida que hi ha una diferència molt important entre aquestes dues definicions:

<Camp de FieldBind = "InParam1" DesignerType = "StringBuilder" ID = "2" Text "Paràmetre d'aportació # 1" = />

versus:

<Camp de FieldBind = "InParam1" ID = "2" Text "Paràmetre d'aportació # 1" = />

El primer Mostra com aquest en l'SPD:

imatge

mentre les últim espectacles com aquest:

imatge

No estic segur de quina utilitat són aquestes captures de pantalla, però m'esforço per fer-les perquè les hagis de veure 🙂

L'observació és això: StringBuilder li permet acumular una cadena (Òbviament) barrejant juntes literals corda i dades de flux de treball (Via la "afegir Lookup" botó a la cantonada esquerra inferior). Quan utilitzeu el botó afegir Cerca, Insereix un testimoni de la forma"[%Token %]". Quan el SharePoint invoca el seu acció personalitzada, (Codi de c# en el meu cas), SharePoint passa la fitxa en si, no el valor de la fitxa. Si utilitzeu el tipus de disseny per defecte (el segon tipus), SharePoint s'expandeix la fitxa i passa el valor real de la testimoni a l'acció.

StringBuilder = dolent, tipus de dissenyador d'omissió = bo.

Clar, que és el realment vol dir. No només provaré i passar un paràmetre a l'acció personalitzada quan el dissenyador tipus = StringBuilder. Utilitzar el tipus de disseny per defecte i un StringBuilder a la mateixa cadena al davant si cal construir complexes cordes en el seu flux de treball (que per cert és exactament el que un fa per crear un tema dinàmic per a l'acció de correu electrònic, però aquest és un tema per a una altra entrada de bloc, har har).

<final />

Activació de flux de treball prematur — Una solució de no-mèdiques

ACTUALITZACIÓ: Veure aquesta discussió de MSDN, especialment l'última entrada: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Descriu una condició que pot circuit curt de tot això. En poques paraules, pot ser tan simple com fent com a mínim un dels camps obligatoris.

Tinc una biblioteca de documents que dóna suport a vuit tipus de contingut.

Tinc un flux de treball de SharePoint Designer que vol calcular i assignar una data de recordatori"" simplement restant 30 dies des d'una altra columna, "data de venciment". Això només hauria de passar per un dels tipus de contingut, "Assegurança". L'objectiu de negoci és per produir un KPI que mostra dues categories de documents d'assegurances: "punt d'expirar" i "caducat." (Podeu llegir més sobre aquest tipus de KPI i més substancial-Àfrica aquí).

He configurat el flux de treball quan es crea un nou element i quan es modifica un element de foc. La idea és que quan es carrega un document d'assegurances, podem calcular una "cita d'advertència" basat en la data de caducitat. Un parell de visites treballen en una llista de KPI per posar de relleu aquestes condicions quan usuaris colpeixen la seva pàgina principal.

Aquesta estratègia no funciona quan vaig penjar un document.

Carrego el document i m'atorgo la pantalla d'entrada de dades de meta. En aquest punt, Ja estic en problemes. SharePoint ja ha, prematurament del meu punt de vista, acomiadat el flux de treball. No he tingut l'oportunitat de triar el tipus de contingut correcte ni assignar una data de venciment. Al mateix temps, el flux de treball no foc quan colpeixo el botó d'enviar en aquest moment. Hi ha alguns lògica predefinit que "considera" que primer presentar és part de la "crear" esdeveniment. Així … meu flux de treball ha acomiadat i quan s'executa, es transmetien els valors de dades per defecte meta.

El millor treball al voltant que sap d'és inserir una "pausa fins" activitat en el flux de treball. Tinc la pausa de flux de treball per a 1 minut. Mentre s'està parant, Vaig seleccionar el tipus de contingut correcte, Introdueix les dades de meta. La pausa completa i el flux de treball procedeix segons calgui. (Tingueu en compte que en el meu entorn, activitats de flux de treball de temporitzador del SPD no funcionen fora de la caixa. Vostè pot tenir el mateix problema. Veure aquí per a més detalls).

No m'agrada "màgia retard" treball al voltant. Què passa si l'usuari carrega un document i sona el mòbil i la subsegüent conversa sobreviu a gran la pausa? Puc fer la pausa més llarga, però encara no m'agrada.

Escrivia sobre això en els fòrums MSDN aquí: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

Fonaments de seguretat de SharePoint imprimació / Evitar trampes comuns

ACTUALITZACIÓ 12/18/07: Veure article de Paul Liebrand algunes conseqüències tècniques de eliminant o modificant els noms de grup per defecte (veure el seu comentari a continuació, així).

Visió de conjunt:

Seguretat de SharePoint és fàcil de configurar i administrar. No obstant això, ha demostrat ser difícil per a alguns administradors primera vegada realment embolicar les seves mans al voltant. No només allò, He vist alguns administradors arribar a una entesa perfecte dilluns a només han perdut per divendres, ja que no cal fer qualsevol configuració en el temps intermedis. (Reconec que té aquest problema jo mateix). Aquesta entrada del blog esperem que proporciona una útil introducció de seguretat de SharePoint i apunta cap a algunes pràctiques millors de configuració de seguretat.

Nota important:

Aquesta descripció es basa de la caixa de seguretat de SharePoint. La meva experiència personal està orientat als voltants molsa perquè hi pot haver alguns molsa matèria específica aquí, però crec que és precís per WSS. Espero que ningú veure errors o omissions a assenyalar que en els comentaris o Rebi per email. Vaig a fer correccions enviar de pressa.

Fonaments:

Als efectes d'aquesta visió de conjunt, hi ha quatre aspectes fonamentals a la seguretat: els usuaris/grups, SecurAble objectes, nivells de permís i l'herència.

Els usuaris i grups trencar a:

  • Usuaris individuals: Va treure de l'actiu directori o creades directament en SharePoint.
  • Grups: Assignades directament des de l'active directory o creat en SharePoint. Els grups són una col·lecció d'usuaris. Els grups són globals en una col·lecció de llocs. Ells mai "lligat" a un objecte de securable específic.

SecurAble objectes trencar cap avall per com a mínim:

  • Llocs
  • Biblioteques de documents
  • Elements individuals en les llistes i biblioteques de documents
  • Carpetes
  • Diverses escenes del BDC.

Hi ha altres objectes securable, però apareix el quadre.

Nivells de permís: Un farcell de granular / drets d'accés de nivell baix que inclouen coses com crear/llegir/suprimir entrades de llistes.

L'herència: Per defecte les entitats hereta la configuració de seguretat del seu objecte que conté. Subllocs hereten el permís dels seus pares. Les biblioteques de documents hereta des del seu lloc. Així successivament i així successivament.

Els usuaris i grups relacionar objectes securable mitjançant els nivells de permís i l'herència.

Les normes de seguretat més importants d'entendre, alguna vegada 🙂 :

  1. Grups només són col·leccions d'usuaris.
  2. Els grups són globals dins d'una col·lecció de llocs (i. e. no hi ha cap tal cosa com a grup definit en l'àmbit de lloc).
  3. Nom del grup malgrat les, grups no, a i de si mateixos, tenir qualsevol nivell particular de seguretat.
  4. Grups tenir seguretat en el context d'un objecte específic securable.
  5. Pot assignar nivells de permís diferent a un mateix grup per a cada objecte de securable.
  6. Normes d'aplicació web tot això superen (Vegeu a continuació).

Els administradors de la seguretat perduts en un mar de llistats de grups i usuaris sempre poden confiar en aquests axiomes de gestionar i entendre la seva configuració de seguretat.

Trampes comuns:

  • Grup noms falsament implica l'autorització: Fora de la caixa, SharePoint defineix un conjunt dels grups els noms dels quals implica un nivell de seguretat inherent. Considerar el grup "La contribuent". Un desconegut amb seguretat de SharePoint bé pot mirar aquest nom i assumir que qualsevol membre d'aquest grup poden "contribuir" a qualsevol lloc/llista/biblioteca al portal. Això pot ser cert, però no perquè el nom del grup passa a ser "la contribuent". Això només és cert fora de la caixa perquè el grup s'ha proporcionat un nivell de permís que els permet afegir, editar i suprimir contingut en el lloc arrel. Per herència, els col·laboradors"" grup també pot afegir, editar i suprimir contingut en cada sub-lloc. Un pot "trencar" la cadena d'herència i canvi el nivell de permís d'un sub-site que els membres de la anomenada "contribuent" grup no poden aportar res, però només llegir (per exemple). Això no seria una bona idea, Òbviament, des d'aleshores seria molt confús.
  • Grups no es defineixen en l'àmbit de lloc. És fàcil confondre per la interfície d'usuari. Microsoft proporciona un enllaç convenient a la gestió de l'usuari/grup a través de "persones i grups de tots els llocs" enllaç. És fàcil creure que quan estic al lloc "xyzzy" i crea un grup a través persones de xyzzy i grups que he creat un grup que només existeix a xyzzy enllaç. Aquest no és el cas. En realitat he creat un grup per a la col·lecció de llocs sencer.
  • Membres de grups no varia en el lloc (i. e. és el mateix a tot arreu que el grup s'utilitza): Considerar el "propietari de grup" i dos llocs, "L'H" i "Logística". Seria normal a pensar que els individus separats dos vols propis aquells llocs — un propietari HR i propietari d'una logística. La interfície d'usuari fa que sigui fàcil per a un administrador de seguretat de embalat aquest escenari. Si no saben millor, Puguin accedir a les persones i grups enllaços via el lloc d'HR, Seleccioneu els propietaris"" grup i afegir el meu propietari HR a aquest grup. Un mes més tard, Logística ve en línia. Accedir les persones i grups des del lloc de logística, afegir tiri dels propietaris"" grup. Veig el propietari HR allà i treure-la, pensant que estic traient ella dels propietaris en el lloc de logística. De fet, Jo li estic traient del grup propietaris global. Sobrevé hilaritat.
  • Fracassant a grups de nom basat en el paper específic: Els examinadors"" grup és un exemple perfecte. Què pot membres d'aquest aprova grup? On van aprovar-lo? Realment vull Departament de logística de gent per poder aprovar els documents de HR? Per descomptat no. Sempre nom basats en el seu paper dins l'organització de grups. Això reduirà el risc que el grup té assignat un nivell de permís inadequat per a un determinat objecte securable. Grups de nom basats en el seu paper destinat. En el cas anterior HR/logística, He ha creat dos nous grups: "HR propietaris" i "logística propietaris" i assignar els nivells de permís sensible per a cada un i l'import mínim necessari per a aquells usuaris a fer la seva feina.

Altres referències útils:

Si ho heu fet això molt:

Si us plau deixi'm saber els seus pensaments mitjançant els comentaris o email. Si coneixeu altres bones referències, Si us plau, fer el mateix!

Etiquetas de Technorati:

Ràpid i fàcil: Crear un element Web de visualització de dades (DVWP)

Hi ha una gran quantitat d'informació gran sobre la WSS 3.0 Element Web de visualització de dades (DVWP) a la web de fonts diverses. No obstant això, Em va semblar ser sorprenentment difícils de trobar informació sobre aquest primer pas molt bàsic. Heus aquí un altre article en "ràpida i fàcil" sèrie per encarar-lo.

Seguiu aquests passos per crear un element web de visualització de dades (DVWP). Es basen en anuncis"" element web, però s'apliquen a la majoria de llistes.

  1. Crear un element web anuncis i afegiu-lo a un lloc.
  2. Obrir el web al SharePoint Designer.
  3. Obrir aspx la pàgina.
  4. Seleccioneu l'element web anuncis i clic correcte.
  5. Al menú contextual, Selecte "convertir a XSLVisualització de t de dades".

SharePoint Designer li notifica que aquest lloc és ara personalitzat de la seva definició del lloc. Això no és necessàriament dolent, però hi ha implicacions importants en relació (rendiment, Actualització, altres) que s'expliquen d'aquest petit "ràpid i fàcil" entrada. Per obtenir més informació sobre aquest tema, Us recomano dos llibres aquí així com el seu favorit cerca a Internet.

Confirmar que ho feia correctament:

  1. Tanqui i reobri el navegador web (per evitar accidentalment tornar a publicar la original "Afegeix una nova part de la web").
  2. Seleccioni la fletxa de l'element web manera desplegable i triar "modificar compartit elements Web" des del menú.
  3. Tauler de l'eina s'obre a la dreta.
  4. El panell ha canviat de seus habituals definir les opcions per això:
imatge

“No es pot obtenir la propietat de columna de l'esquema de llista de la llista del SharePoint” — Descripció/solucions

Aquesta setmana, Finalment hem reproduït un problema que havia estat informat per un usuari remot: Quan ella va intentar d'exportar el contingut d'una llista a l'excel, les coses, sembla per començar a treballar, però llavors Excel esclataria cap amunt d'un error: "No puc aconseguir el propietat llista esquema columna de la llista del SharePoint". Ella estava funcionant oficina 2003, Windows XP i connexió a molsa.

He buscat la Internets i veure algunes especulacions però res 100% definitiva. Per tant, aquest post.

El problema: Exportar una vista per l'excel que conté una data (data = el tipus de dades de la columna).

Què treballava per nosaltres: Convertir la data per "una sola línia de text". Llavors, reconvertir-la per una data.

Que resolt. Era bonic veure que va treballar la conversió, en realitat. Era molt nerviós que converteix les coses d'aquesta manera fallaria, però no feia.

Aquest error ha llançat una gran ombra sobre el tipus de dades data en la ment del client, Així que anem a estar buscant una resposta definitiva des de Microsoft i esperem que vaig a publicar i actualització aquí en el pròxim període curt de temps amb la seva resposta i hotfix informació oficial.

Altres referències:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<final>

Subscriure's al meu blog.

Etiquetas de Technorati: ,

Ràpid i senzill: Enviar un correu electrònic amb l'hipervincle incrustat de flux de treball de SharePoint Designer

Una vegada o dues vegades mes, algú publica una pregunta del Fòrum: "Com puc incloure enllaços a URL que es pot fer clic des d'un correu electrònic de SharePoint Designer?"

Presentar sense cap comentari: (bé, en realitat hi ha més comentari després de la imatge):

imatge

Becky Isserman segueix amb una explicació útil sobre com inserir un enllaç a un article a l'e-mail: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Nova versió: Extensions de flux de treball de SharePoint Designer (funcions de manipulació de corda)

ACTUALITZACIÓ: Veure aquí per als meus pensaments en comercialitzar aquest projecte: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

He estat ocupat treballant en el meu projecte de Codeplex que en l'actualitat se centra en la prestació de cadena extensions de manipulació als fluxos de treball creat mitjançant el SharePoint Designer.

Veure aquí per a detalls:

Projecte casa: http://www.codeplex.com/spdwfextensions

Llançament: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Versió 1.0 inclou els trets nous següents:

Funció Descripció (Si no mateix com funció .net)
Num-entrades() Retorna els número "entrades" en una cadena segons un delimitador especificat.

Per exemple: Num-entrades en una corda "a,b,c" amb delimitador de"," = 3.

Entrada() Retorna l'enèsima testimoni d'una cadena segons un delimitador especificat.
Longitud String.Length
Substituir() String.Replace()
Conté() String.Contains()
Retorna la paraula "veritable" o la paraula "fals".
Subcadena(Inici) String.Substring(Inici)
Subcadena(Inici,longitud) String.Substring(Inici,longitud)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Retorna la paraula "veritable" o la paraula "fals".
EndsWith() String.EndsWith()
Retorna la paraula "veritable" o la paraula "fals".

Un error de temps d'execució del servei BDC ha explicat

Em va causar un error BDC aquesta setmana que es manifesta en si en la interfície d'usuari i en la 12 registre de rusc al temps d'execució.

Primer, Això va aparèixer en la interfície d'usuari:

No s'ha pogut trobar camps per inserir tots els valors d'identificador per executar correctament la MethodInstance d'SpecificFinder amb nom … Assegurar que paràmetres d'entrada tinguin TypeDescriptors associats amb cada identificadors definits per a aquesta entitat.

Aquí està una captura de pantalla:

clip_image001

Jo també podria provocar aquest missatge per aparèixer en el 12 registre de rusc a es (utilitzant el meu high-tech-don't-try-this-at-home patentat "errors del misteriós" mètode):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C dades de negoci SharePoint Portal Server 6q4x excepció alta a BusinessDataWebPart.OnPreRender: System.InvalidOperationException: El valor d'identificador ”, de tipus ”, no és vàlid. Valor esperat identificador de tipus "System. String". a Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(L'objecte[] subIdentifierValues, LobSystemInstance lobSystemInstance) a Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entitat de l'entitat, L'objecte[] userValues, LobSystemInstance lobSystemInstance) a Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Veure desiredView) a Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() a Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

He buscat al voltant i va trobar algunes iniciatives en el Fòrum MSDN, però no fos suficient per a mi entendre el que estava fent mal. Vaig veure una transmissió per Ted Pattison que el meu empresa té segur en un servidor i va arribar a realitzar el meu problema.

En la meva ADF, Jo estic connectant a una base de dades SQL com mostrat:

            <Propietat Nom="RdbCommandText" Tipus="System.string">
              <![CDATA[
                SELECCIONEU SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      PAÍS, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, CIUTAT, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COMTAT, ESTAT, POSTAL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELÈFON, EXTENSIÓ, ENVIAR PER FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG de dbo.PS_CARRIER_ID_VW amb (nolock)
                ON
                  (SETID <> "COMPARTIR") i
                  (inferior(CARRIER_ID) >= inferior(@MinId)) i
                  (inferior(CARRIER_ID) <= inferior(@MaxId)) i
                  (inferior(DESCR) COM més baix(@InputDescr))
                ]]>
            </Propietat>

M'era facilitada que SQL d'una persona DBA i em donen a entendre que és un especial vista que van crear només per a mi. La clau única allà és CARRIER_ID.

Aquí està l'error que em introduït:

      <Identificadors>
        <Identificador Nom="CARRIER_ID" TypeName="System.string" />
        <Identificador Nom="DESCR" TypeName="System.string" /> 
</Identificadors>

En algun lloc al llarg de la línia, Me les vaig arreglar confondre-me sobre el significat de <Identificadors> i afegeix el descriptor tot i que no és en realitat un identificador. Prenia DESCR fora el conjunt d'identificadors i presto! Que tot funcionava.

Espero que això estalviï una mica de dolor a algú 🙂

Etiquetas de Technorati: , , ,