9 Replies Latest reply on Mar 13, 2015 12:14 PM by Steve Soeder

    Setting yes/no variable in transition action doesn't work??

    Steve Soeder

      I'm trying to set a variable to flag an item as obsolete or released. 

      I have two variables, both are of type Yes/No.

      The variables are each tied to their own checkbox on a file card (i.e. FlgObsolete is tied to Checkbox "Obsolete", FlgReleased is tied to Checkbox "Released").

      The transition to the state "Obsoleted" has a set variable action which sets the value of FlgObsolete to 1.

      The transitions to the state "Released" have a set variable action which sets the value of FlgReleased to 1.

       

      When I run my transitions, the variables are not being set.

      This is screwing up a conditional transition later in the workflow, and is screwing up control logic on my file card.

       

      I've tried setting the value to "1" and I've tried setting it to "Yes" and neither seems to work.

      I know I'm able to tie a Yes/No variable to a checkbox using values "1" and "0" because I've done this already tying a file card's checkbox to radio buttons on a folder card labeled "0" and "1"

       

      What am I doing wrong here?

        • Re: Setting yes/no variable in transition action doesn't work??
          Adrian Velazquez

          I stoped using Yes/No Variable because the input to them is Inconsistent as hell!

           

          across EPDM you can get Yes/No, Y/N, 1/0 and True/False

           

          I got tired of dealing with this and when to something like:

           

          DocStatus = Active/Obsolete using a regular text variable

          • Re: Setting yes/no variable in transition action doesn't work??
            Steve Soeder

            So my VAR had to help me on this one.

            Here's what I learned.  Hopefully this helps someone else struggling with this.

             

            1. Don't use YES/NO variables (as Adrian suggested, these are buggy, you're better off not using them).
            2. If you want YES/NO functionality, instead use a Text variable and assign it a value of 1 or 0. Definitely don't use an Integer variable (you know, the container designed to hold numbers) cause you know, a string (not a number) is somehow equivalent to "...a binary yes (1) or no (0) value"
            3. You cannot set a version free variable using a transition action.  It just won't work.
            4. If you follow rules 1-3, your variables will set and your conditions will work sometimes.
              • According to my VAR, something he wanted to warn me about (why not, we've already paid for the software now) is that when using conditional transitions, they don't always work - sometimes even though the variable is set correctly, and you'll see the value is there in the preview window, and your file cards and search cards will all read that value, the software will still report it as the condition not being met.  Nobody knows why. They keep sending this to Dassault whenever they see it, but it still hasn't been fixed.
            5. Control logic doesn't work on images.  This is a known bug.  SPR#  382762.  The current workaround is to create a tab control, add each image to a tab, and use control logic to hide the tabs instead of the images.

             

            So to summarize, EPDM works pretty well for an open source project in it's first Beta.

            Wait, what's that you say?  This is a RELEASED version of a mature product offered by the same company that developed Solidworks (the product who's entire business strategy and massive success was based on it's intuitive UI and user friendly modeling methods)??  Oh, and it costs TENS of THOUSANDS of dollars plus thousands more in yearly maintenance?

            Fantastic.

              • Re: Setting yes/no variable in transition action doesn't work??
                Adrian Velazquez

                1. Agree

                2.Yep, I only use text fields. Number, Yes/No. and even Date.. are too inconsistent to deal with

                3. Haven't try that.

                4. Have not experienced this

                5. I use Control Tab (controlled by variable) to toggle images on a Card, it works just fine.

                  • Re: Setting yes/no variable in transition action doesn't work??
                    Steve Soeder

                    Adrian, would you mind explaining how you use control logic to hide tabs?
                    It seems to me you can only check one variable to do this, but I need to check 3.

                     

                    I ended up creating 4 separate tab objects, one for each of my images, and adding control logic to hide each tab object based on variable conditions.

                    I dragged each tab object so they were all positioned on top of each other, so I get the same effect I wanted.

                     

                    The end result is seemless to the user, but I have noticed that having 4 separate tab objects seems to have slowed everything down.  Card display, state changes, right-click menu display, etc. all seem to take significantly longer.  When I had all 4 images showing (no tabs) there was no noticeable change in performance, so I think this has to do with the tab objects.

                     

                    Here is what I'm doing.  If you can think of a simpler solution, I'm all ears!

                     

                     

                     

                    I have 3 variables I'm using to create the logic:

                    1. ControlStatus
                      • Is type TEXT, values are set as 1 or 0
                      • Used to indicate if a file is controlled or not controlled
                    2. FlgObsolete
                      • Is type TEXT, values are set as 1 or 0
                      • Used to flag a file as obsolete
                    3. FlgReleased
                      • Is type TEXT, values are set as 1 or 0
                      • Used to flag a file as released

                     

                    I then have 4 images I display using the following control logic

                    1. UncontrolledStamp
                      1. HIDE when ControlStatus does not contain 0
                    2. ReleasedStamp
                      1. OR
                        1. HIDE when ControlStatus does not contain 1
                        2. HIDE when FlgReleased does not contain 1
                    3. ObsoleteStamp
                      1. OR
                        1. HIDE when ControlStatus does not contain 1
                        2. HIDE when FlgObsolete does not contain 1
                    4. PendingStamp
                      1. OR
                        1. HIDE when ControlStatus does not contain 1
                        2. HIDE when FlgReleased does not contain 0
                        3. HIDE when FlgObsolete does not contain 0