Jump to content
  • 0

FMDefaultFields.xml probleem


andre65

Question

Hi

Ik heb een FMDefaultFields.xml file gemaakt om bij een nieuw tabel wat standaard velden aan te maken. Best handig..
Dit werkt, echter..... bij een aantal calculatie velden die met het veld "_ats_create" rekenen, worden deze voorzien van /* (code) */

Het veld "_ats_create" heeft id 3 en de calculatie velden 6 en hoger. Dus "_ats_create" bestaat al wel... die wordt ook netje gevuld !! 
Kom er niet achter waarom dit gebeurd. Zal wel weer iets simpels zijn wat ik zo 1,2,3.. niet zie ;-)

Met vriendelijke groet 

André

363299962_Schermafbeelding2021-05-02om10_31_03.png.36aaea27b8eabcdbc77cb93f19c1ebab.png

 

<Field id="3" name="_ats_create" fieldtype="Normal" datatype="TimeStamp" comment="">
<AutoEnter type="CreationTimestamp" prohibitModification="False"></AutoEnter>
<Validation type="OnlyDuringDataEntry" allowOverride="True" notEmpty="False" unique="False" existing="False"></Validation>
<Storage autoIndex="True" index="None" global="False" maxRepetitions="1"></Storage>
<TagList>#_FMI_0 </TagList>
</Field>

 

<Field id="6" dataType="Number" fieldType="Calculated" name="_cn_aanmaak_jaar" comment="Aanmaak jaar">
<AutoEnter alwaysEvaluate="False">
<Calculated>
<Calculation>
<Text><![CDATA[Year(_ats_create)]]></Text>
</Calculation>
</Calculated>
</AutoEnter>
<Validation type="OnlyDuringDataEntry" allowOverride="True" notEmpty="False" unique="False" existing="False"></Validation>
<Storage storeCalculationResults="True" autoIndex="True" index="None" indexLanguage="Dutch" global="False" maxRepetition="1"></Storage>
<TagList>#_FMI_0 </TagList>
</Field>
Link to post

9 answers to this question

Recommended Posts

  • 0

Ik denk dat dit niet aan jou ligt, want ik krijg exact hetzelfde resultaat als ik FileMaker een xml-bestand laat maken en daarmee een FMDefaultFields.xml maak.

Dit komt er uit "save a copy as xml":

<Field DefaultStyle="" id="8" name="_cn_aanmaak_jaar" fieldtype="Calculated" datatype="Number" comment="Aanmaak jaar">
	<UUID modifications="1" userName="Admin" accountName="Admin" timestamp="2021-05-02T12:05:13">5FBE8BB1-319A-49C8-A2EB-9CD88E60288F</UUID>
	<AutoEnter alwaysEvaluate="True"></AutoEnter>
	<Storage storeCalculationResults="True" autoIndex="True" index="None" global="False" maxRepetitions="1">
		<LanguageReference name="Dutch" id="20"></LanguageReference>
	</Storage>
	<Calculation>
	<TableOccurrenceReference id="1065089" name="Untitled" UUID="245ABE62-1816-4BFF-9C31-AE4150A4B230"></TableOccurrenceReference>
		<Text><![CDATA[Year ( _ats_create )]]></Text>
	</Calculation>
	<TagList>#_FMI_0 </TagList>
</Field>

en dit blijft er over om in het defaults-bestand te zetten:

<Field id="8" name="_cn_aanmaak_jaar" fieldtype="Calculated" datatype="Number" comment="Aanmaak jaar">
	<AutoEnter alwaysEvaluate="True"></AutoEnter>
	<Storage storeCalculationResults="True" autoIndex="True" index="None" global="False" maxRepetitions="1"/>
	<Calculation><Text><![CDATA[Year ( _ats_create )]]></Text></Calculation>
	<TagList>#_FMI_0 </TagList>
</Field>

bij jou staat er dan noig wat vervuiling van gewone tekstvelden, maar dat wordt door FM genegeerd. Ik krijg met deze xml net zoals jij calculatie-formules die zijn uitgecommenteerd. Overigens gebeurt dit bij mij alleen bij velden die referenties naar andere velden gebruiken, calculatie-velden met alleen constanten gaan wél goed.

Link to post
  • 0

Ik vond net nog deze: https://www.dropbox.com/s/n3oqfb480v8w538/DefaultFields.fmp12?dl=0  (via dit artikel: default-fields-xml-generator ) maar deze maakt zo te zien geen calculatievelden. Via het artikel op Claris kan je ook naar een interessant artikel van Mark Baum bij Soliant consulting

Nader bekeken, denk ik dat ze dit bij Claris als een "feature" beschouwen. Dus met opzet calculaties in comments zetten, zodat je ze eerst moet "reviewen" voordat je ze activeert. Maak je een veld met een "auto-enter" met een calculatie, dan gebeurt namelijk hetzelfde:

<Field id="8" name="_aanmaak_jaar" fieldtype="Normal" datatype="Number" comment="Aanmaak jaar">
	<AutoEnter type="Calculated" prohibitModification="True" overwriteExisting="False" alwaysEvaluate="False">
		<Calculated>
			<Calculation>
				<Text><![CDATA[Year ( _ats_aanmaak )]]></Text>
			</Calculation>
		</Calculated>
	</AutoEnter>
	<Validation type="OnlyDuringDataEntry" allowOverride="True" notEmpty="False" unique="False" existing="False"></Validation>
	<Storage autoIndex="True" index="None" global="False" maxRepetitions="1"/>
	<TagList>#_FMI_0 </TagList>
</Field>

 

Link to post
  • 0
34 minuten geleden zei menno:

Nader bekeken, denk ik dat ze dit bij Claris als een "feature" beschouwen. Dus met opzet calculaties in comments zetten, zodat je ze eerst moet "reviewen" voordat je ze activeert. Maak je een veld met een "auto-enter" met een calculatie, dan gebeurt namelijk hetzelfde:

Menno,

Dank je voor de snelle reactie.

Bij het kopiëren van calculatie velden gebeurt dit ook en dat vind ik logisch.... (niet hier ;-) ) 
Het werkt zo fijn in versie 18 en eerder om snel die standaard velden erin te krijgen bij elke tabel.
Dan maar een dummy tabel maken die je snel kan dupliceren. 

André

Link to post
  • 0

Het  lijkt mij dat het gebruiken van veld verwijzingen in calculaties op dit niveau sowieso problematisch is. Kennelijk gaat dat mis, maar het is in het voorbeeld ook volstrekt onnodig. 
 

waarom niet direct:

Year ( get ( CurrentDate )) ?
 

Link to post
  • 0
3 minuten geleden zei Marsau:

Het  lijkt mij dat het gebruiken van veld verwijzingen in calculaties op dit niveau sowieso problematisch is. Kennelijk gaat dat mis, maar het is in het voorbeeld ook volstrekt onnodig. 
 

waarom niet direct:

Year ( get ( CurrentDate )) ?
 

:D.... waarom ben ik daar niet opgekomen !!

Thanks Marsau

 

Link to post
  • 0

Kan het niet zijn dat de referenties naar de calculatievelden gewoon nog niet bestaan? Met andere woorden hij ziet helemaal (nog) niet dat de andere velden er al zijn en maakt er daarom een comment van, net als hij zou doen wanneer je een calculatieveld plakt met referenties naar onbekende velden.

Link to post
  • 0
49 minuten geleden zei bigbadwolf:

Kan het niet zijn dat de referenties naar de calculatievelden gewoon nog niet bestaan? Met andere woorden hij ziet helemaal (nog) niet dat de andere velden er al zijn en maakt er daarom een comment van, net als hij zou doen wanneer je een calculatieveld plakt met referenties naar onbekende velden.

Niet helemaal mee eens.. In FM 18 en eerder werkte dit wel.
Moest je natuurlijk wel de _ats_create veld boven de calculatie plaatsen (die faut al eens gemaakt ;-) )

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...