Jump to content

if statement in a config file


DSweet

Recommended Posts

Can a config file contain an if statement? I have a template that needs to have two different imposition layouts based on the state code within a data file.

 

Can I combine the two imposition calls into one statement such as:

if (Field("state1") == "FL")  {
   ImpositionDefFileName=.\gedcRXpadFinal_Florida.fpi
}
else  {
   ImpositionDefFileName=.\gedcRXpadFinal_nonFlorida.fpi
}

Just trying to make it a bit easier for our webProgrammer.

 

I know that I can pass a parameter from the .cfg file to the Template, so can this be accomplished in reverse -- passing a parameter from the Template (i.e. a field value) to the .cfg file then use that data value in a conditional statement within it. If this is not the way to pass parameters from the template to the config file then how do we?

.

Link to comment
Share on other sites

No, you can't do this. At the point that JavaScript rules are run, the CFG file has already been read. In fact, one of the things that is read from the CFG file is the path to the Data Definition (.def) file which contains the JavaScript rules. Therefore, the JavaScript rules in the template can only access the CFG file entries; they can't modify them. That said, some composition parameters (like the output file) can be modified with the FusionPro.Composition object in certain callbacks, but the imposition template (FPI file) is not one of them.

 

This is something you would need to do with the FusionPro VDP Producer Web Service API (or by directly modifying the CFG file) in your web application's code, not in JavaScript in the FusionPro template itself. A C# example using the Web Service would look something like this:

CompositionRequest request = new CompositionRequest();
request.TemplateName = "YourTemplateName";
request.Options = new JobOptions();
request.Options.OutputFormat = OutputFormat.PDF;
request.Options.UseImposition = true;

string ErrorMessage = "";
int CompositionID = myFPWcfService.CreateCompositionSession(out ErrorMessage, request);
if (!String.IsNullOrEmpty(ErrorMessage))
   return "Failed to create composition session: " + ErrorMessage;

ErrorMessage = myFPWcfService.AddCompositionFile(CompositionID, FileType.Imposition, "gedcRXpadFinal_Florida.fpi");
if (!String.IsNullOrEmpty(ErrorMessage))
   return "Failed to add imposition file for composition " + CompositionID + ": " + ErrorMessage;

ErrorMessage = myFPWcfService.StartCompositionFromSession(CompositionID);

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

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