Jump to content
  • 0
DEER

subdirectory aanmaken

Question

Hallo

Hierbij een vraag over het opslaan van een variabele bestandsnaam in een nog aan te maken subdir.

 

In veld BestandenPadPakbon uit de tabel Verkoop staat een berekening voor een relatief pad naar een subdir die al bestaat of nog aangemaakt moet worden.

BestandenPadPakbon = Systeem::BestandenPad & "/" & Left (Bedrijfsnaam ; 6) & "/Pakbonnen"

 

In een script krijgt de variabele $DoelSubDir de waarde uit BestandenPadPakbon

In dezelfde script krijgt de variabele $Bestnm een variabele bestandsnaam toegewezen.

 

In de script wordt de plaats van het doelbestand weergegevens als filewin:/$DoelSubDir/$Bestnm

 

Het probleem: Als het pad, dat in BestandenPadPakbon wordt berekend, fysiek bestaat, dan loopt alles op rolletjes. Moet het echter nog aangemaakt worden (door Filemaker) dan zegt de foutmelder van Filemaker dat ie het bestand, bedoeld in $Bestnm, niet kan wegschrijven op de harde schijf.

 

Hoe wordt dit probleem opgelost ?

 

mvg., DEER

Share this post


Link to post

20 answers to this question

Recommended Posts

  • 0
... dan zegt de foutmelder van Filemaker dat ie het bestand, bedoeld in $Bestnm, niet kan wegschrijven op de harde schijf...

Dit betekent dat de waarde van $Bestnm niet voldoet aan de syntaxregels voor bestandsnamen.

 

Voorbeelden hoe dit moet staan in het exportvenster onderaan. (zie screenshot)

 

Succes

bestandsnm.png.cf64d2e6c05578369f6ae2ab96525cbc.png

Share this post


Link to post
  • 0

Nog even voor de compleetheid:

Stel $DoelSubDir = (zoals geformuleerd in Filemaker) D:/Goederenbeheer/Klanten/Christ/Pakbonnen en dit pad is reeds met Windows Verkenner gemaakt dan wordt het doelbestand gecreëerd foutloos op de bedoelde plaats met behulp van het script "uitvoerbestand opgeven" filewin:/$DoelSubDir/$Bestnm

 

Echter als alleen het pad D:/Goederenbeheer/Klanten door WIndows Verkenner tevoren is aangemaakt en je vraagt Filemaker met een script om dan de rest van het pad te creëren, nl /Christ/Pakbonnen , en vervolgens het bedoelde bestand daarin te maken ... dan zegt de foutmelder van Filemaker dat ie het bestand, bedoeld in $Bestnm, niet kan wegschrijven op de harde schijf...

 

Kortom, de oplossing Dit betekent dat de waarde van $Bestnm niet voldoet aan de syntaxregels voor bestandsnamen. roept bij mij vragen op als: hoezo ?

 

Waarom werkt $Bestnm in het ene geval goed en in 't andere niet goed ?

 

mvg., DEER

Share this post


Link to post
  • 0

In de hoop dat ik het goed verwoord:

 

Je verwacht dat Filemaker behalve bestanden aanmaken ook de nieuwe submap aanmaakt?

 

Helaas, dat doet Filemaker dus niet.

 

Zelf hou ik per klant ook aparte mappen bij, waarbij de mapnaam overeenstemt met de klantnaam.

Wat ik doe indien een nieuwe klant zich aandient, is via Filemaker de nieuwe map aanmaken via het volgende commando (let op: Windows!):

 

Send Event:

cmd /c md "bestandspad"

 

waarbij je zelf kan uitpuzzelen hoe je de bestandspad in elkaar schroeft, als het maar op een Windows manier is.

Dus: niet D:/Goederenbeheer/Klanten/Christ/Pakbonnen, maar D:\Goederenbeheer\Klanten\Christ\Pakbonnen

Gelukkig kan je in één keer alle nivo's van submappen aanmaken, zodat je met dit ene commando gelijk klaar bent.

Let er wel op dat als er spaties kunnen voorkomen in het bestandspad, dat je er dubbele kwootjes om het bestandspad heen plaatst. Anders hakt Windows het bestandspad in mootjes en maakt er aparte parameters van.

Laat dit commando vooraf gaan aan het plaatsen van het bestand, zet er 1 seconde wachttijd op zodat Windows haar werk kan afmaken en het plaatsen van het bestand gaat altijd goed.

Mocht de map al bestaan, dan zal Windows het proberen uit te voeren, wat uiteindelijk niet lukt, maar er ontstaan geen problemen door.

Gewoon consequent toepassen dus, of je moet de gebruiker eerst via een knop bewust zo'n map laten aanmaken.

Nog mooier is dat je de foutmelding gebruikt om daarna de map te laten maken, gevolgd door een extra actie om daarna alsnog het bestand geplaatst te krijgen.

Share this post


Link to post
  • 0

SuperWimmie, dit is em...... maar

 

Een variabele pad (bijv deel van de naam van een klant) laten berekenen in Filemaker gaat prima met de "/"

Maar hoe maak je hetzelfde pad voorelkaar met de "\" ? Filemaker begint te rillen als ie "\" ziet in een berekening. Middenin een kantenklare tekst geen probleem.

 

Goed werkend voorbeeld: Systeem::BestandenPad1 & "/" & Systeem::BestandenPad2 & "/" & Systeem::BestandenPad3 &

"/ " & Left (Bedrijfsnaam ; 6) & "/ Pakbonnen"

 

Fouten opleverend voorbeeld: zie bovenstaand geval maar alle "/" vervangen door "\"

 

Hoe bouw je een goede tekstregel in Event verzenden ? Heb jouw oplossing geprobeerd. Gaat goed. Maar dat is een eenvoudige tekstregel.

Kun je me oplossing aanreiken voor (bijvoorbeeld) bovenstaande berekening dat middels een berekening in Filemaker geschikt gemaakt wordt voor gebruik met Event verzenden ?

Share this post


Link to post
  • 0

'k Heb hem al gevonden.

 

De omvorming vindt plaats via Substitute (BestandenPadPakbonFM ; "/" ; "\\" )

 

Bedankt

Share this post


Link to post
  • 0

Met het commando van SuperWimmi

Send Event:

cmd /c md "bestandspad"

kan ik wel een map aanmaken op mijn desktop.

maar als ik een vast pad over netwerk ter beschiking krijg en ik wil daarop via netwerk een map aanmaken lukt het mij niet.

Kan iemand mij helpen.

Share this post


Link to post
  • 0

In een Server pad heb je server:// als schijfnaam.

 

Dit zal je met "server:///" moeten benoemen om via de Escape alsnog de dubbele foward slashes opgenomen te krijgen.

Share this post


Link to post
  • 0

Ondertussen werk de mapstructuur perfect en wordt deze geopend in een webviewer.

Hierdoor is het precies of je gaat de documenten uploaden binnen Filemaker .

Via een popover laat ik de webviewer opengaan.

Graag zou ik bij het inslepen ook de documenten hernoemen.

Iemand hiervoor een oplossing

Share this post


Link to post
  • 0

Gaat niet.

Tenminste, voor zover ik weet blijven dat twee aparte acties.

Het is zoals bij de gewone verkenner, met twee schermen open.

Zodra je een bestaand bestand wil gaan overschrijven, geeft windows een melding. Dan gaat Windows zelf aan de slag met een herbenoeming van de naam.

Wil je dat vervolgens aanpassen, dan heb je zelf acties te ondernemen.

Share this post


Link to post
  • 0

Via event verzenden maak ik mappen aan op mijn schijf.

Vervelend is wel als je spaties tegenkomen wanneer je met de instructie cmd /c md gaat werken.

een accountname onder windows wijzigen waar je spatie uithaalt lukt wel maar onder je users blijft hij wel staan met die spatie.

kan ik die spatie toch opvangen zodat mijn instructie hier geen last van heeft

Share this post


Link to post
  • 0

helaas lukt het niet bij mij

variabele waar ik volgend insteek "C:\Users\Dell E6520\Desktop\Dropbox\map"

via event versturen - berekening

"cmd /c md " & $$var

 

helaas lukt dit niet

Share this post


Link to post
  • 0
$$var moet zijn "/"C:\Users\Dell E6520\Desktop\Dropbox\map/""

 

Via escape moet je de " extra benoemd hebben.

 

Ik weet echt niet hoe ik die quote kan inbrengen.

Het probleem zit wel in de Dell E6520

wat bedoel je met via escape

Share this post


Link to post
  • 0

Via een webviewer, waar ik het juiste pad via berekening bepaal,wordt een map die aangemaakt is op een netwerkdrive getoond.

Via de webviewer kan ik hierin documenten gooien die dan automatisch in die map op de netwerkdrive worden geplaatst.

Prachtige tool omdat alle documenten bij dat bepaald dossier zichtbaar zijn.

mappen worden aangemaakt via doscommande cmd /D md & variabele (event versturen)

 

Dit alles werkt perfect op verschillende databanken van het werk via een FM-server waar we lokaal of via vpn op inloggen.

 

Dit systeem werkt niet bij

een gehoste databank bij Clickworks en bij een lokale databank.

Als je hier de documenten in de webviewer verplaatst worden deze direct geopend maar niet in de map geplaatst.

 

heeft iemand hiervoor een verklaring.

Share this post


Link to post
  • 0
$$var moet zijn "/"C:\Users\Dell E6520\Desktop\Dropbox\map/""

 

Via escape moet je de " extra benoemd hebben.

 

Ik weet echt niet hoe ik die quote kan inbrengen.

Het probleem zit wel in de Dell E6520

wat bedoel je met via escape

 

 

De Escape is het / teken.

 

Stel dat je in een variabele de " wilt opnemen, dan kom je in problemen omdat Filemaker programmeertaal het " teken zelf ook nodig heeft om de string te herkennen.

Vandaar dat de programmeertaal /" zal herkennen als een " die in de tekst aanwezig moet zijn.

De / is dan de escape voor de "

 

Ik heb in mijn uitleg al de volledige $$var neergezet.

Deze is dan

"/"C:\Users\Dell E6520\Desktop\Dropbox\map/""

 

Dus...

" voor het aangeven voor het openen van de Filemaker tekst

/" voor het aangeven van een " IN de tekst

C:\Users\Dell E6520\Desktop\Dropbox\map is de mapnaam

/" voor het aanbrengen van de " in de tekst

" voor het beeindigen van de Filemaker opgave.

 

Je moet er even mee spelen om te zien dat het echt goed werkt.

Toegegeven, ook ik heb jaren lang zitten worstelen met dit ding voordat ik de escapes goed door had.

 

 

De webviewer en de Windows verkenner:

 

Denk de webviewer maar weg en we praten alleen over de Windows verkenner.

Want de webviewer zelf doet niets anders dan jouw LOKALE windows verkenner aanspreken, dus die van jouw eigen werkstation.

 

Dan is het ineens logisch dat je op externe hosts daar de boel niet ziet werken.

Simpelweg omdat je vanaf jouw lokale computer met de Windows verkenner helemaal niet bij de mappen kan komen van de server.

 

Ook binnen in eigen netwerken kan het oppassen zijn.

Alle gebruikers moeten exact dezelfde mapbenaming kunnen gebruiken om het werkbaar te maken.

Zijn er gebruikers / werkstations die andere driveletters gebruiken, of geen rechten hebben op een aantal mappen, dan werkt het bij de ene gebruiker wel, bij de andere niet.

 

Tegenwoordig met Windows 10 en de integratie van Dropbox zou je daar nog creatief mee om kunnen gaan.

Dan kan je wereldwijd vrij gemakkelijk bestanden centraal opslaan en delen met alle gebruikers.

Maar ook hier geldt dat alle gebruikers exact dezelfde toegang moeten hebben tot exact dezelfde mappen.

En dat vergt beheer en een goede afstemming.

Daarmee wordt het lastig en niet altijd aan te raden.

Share this post


Link to post
  • 0

In toepassingen waar ik al enkele maanden de windows verkenner weergeef via een webviewer werkt alles perfect. dit wel enkel op de databank die gehost wordt op een FM-server van onze maatschappij.

 

Werking binnen onze maatschappij.

netwerkdrive (Q) waar een map projecten geshared is.

via event verzenden maak ik onderstaande map aan die dan zichtbaar wordt in de webviewer.

via dit pad in de webviewer (Q:\Projecten\labvantage\2015\kwaliteit\assenede\dorpstraat) werkt alles perfect.

vanaf labvantage gebeurt er wel een berekening die de naam van de map aanmaakt voor ieder record.

 

Als ik verwijs naar dezelfde Q schijf maar dan wel vanop een lokale databank dan werkt het niet zoals het hoort.

Soms lukt het wel om de documenten via de webviewer in de map te slepen. Maar soms ook niet en vraagt hij om het document te openen.

Een probleem dat ik nooit ken bij de werking via onze maatschappij.

 

Wat wel werkt is het kopiëren van documenten en plakken via de webviewer van deze documenten (xls, pdf, ea) in de map. Dit bij de beide opstellingen.

Wat ook steeds werkt is het slepen van een mail in de map via de webviewer.

 

Waarom werkt alles feilloos wanneer ik inlog op de FM-server binnen onze maatschappij en niet via een lokale databank of een databank gehost bij Clickworks.

Kan dit een verkeerde instelling zijn van een map.

 

Je bent niet afhankelijk van windows 10 om documenten op te slaan in Dropbox.

Dit kan je zelfs XP.

Ik heb een databank gehost bij clickworks waar het pad (desktop) een variabele is die bij de opstart haar gegevens meekrijgt.

Vanaf de desktop hebben we een berekening om iedereen via scripting naar die map te laten wegschrijven. Dit voor PDF-bestanden.

Natuurlijk moet de map geshared zijn met de gebruikers die kunnen inloggen met je FM-database

Share this post


Link to post
  • 0

Behalve de spaties lukt alles op PC voor aanmaken van mappen en openen in Webviewer.

 

Via PC kan ik een map in een webviewer weergeven door het pad in te geven.

Helaas lukt mij dit niet op mac.

Share this post


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...