cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
MH3
Post Prodigy
Post Prodigy

Nested If Condition Problem

Hi,

I have this code which is used in the OnScan property of Bar Code Control,  I am actually scanning only those codes which have selected "S" as a Prefix  for Serial Codes.  and "1S" as Prefix selected for Product and Serial Together bar code.

I am using a dropdown called as Prefix Selector

The Condition is working for "1S"  and it's showing popup if the code is scanned again, it will show Duplicate Scanned, and if the different code is scanned it will show a popup >>> Not a 1S Bar Code Type

Issue:  But the code for "S" creating some issues, if the user scans the serial code, it stores and works good, but if the user scans it again it shows both Popups >> Not a Serial Code and Duplicate Scanned at the same time and if the user scans a different code while "S" is selected, it shows popup >>> Not a 1S Bar Code Type (This is not working as expected, what's wrong is in my statements ??)

 

If(ToggleIssue.Value=false && PrefixSelected.Selected.Title = Left(BarcodeScanner2_3.Value,2),


 
// Left(BarCodeScanner2_3.Value,2) is used because if the user has selected ("1S") Prefix, than it will match with it while scanning and store Serial code and Product information.
 
 

If(IsEmpty(Filter('Barcodes - Test',  BarcodeScanner2_3.Value = Title)), 

 
\\ The Above if condition will checks in the Database if there is an entry or not , at first it will return false and then it will patch the data into the databse, and if the scanned code is scannned again it will show a popup to the user as Already Scanned.
 

   Patch('Barcodes - Test',    // Patch Command
   
   Defaults('Barcodes - Test'),

 

   {
   SerialCode:Right(BarcodeScanner2_3.Value,8),
   'Product Code': Mid(BarcodeScanner2_3.Value,3,10),
   Title:BarcodeScanner2_3.Value,
   'Batch No': BatchSelection.Selected.Title,
   ReceiveCheck: ToggleIssue.Value,
   UserName:MyUser,
   ReceivedSatus: "Yet To Receive",
   When:Today() + Time(Hour(Now()), Minute(Now()),Second(Now()))    
   }
),Set(_DuplicateScan,true)),  // Duplicate Popup

 

If(ToggleIssue.Value=false && PrefixSelected.Selected.Title = Left(BarcodeScanner2_3.Value,1),
 
// Left(BarCodeScanner2_3.Value,1) is used because if the user has selected ("S") Prefix, than it will match with it and store only Serial code information.

 

If(IsEmpty(Filter('Barcodes - Test',  BarcodeScanner2_3.Value = Title)), 

 

   Patch('Barcodes - Test',
   
   Defaults('Barcodes - Test'),

 

   {
   SerialCode: Right(BarcodeScanner2_3.Value,8),
   Title:BarcodeScanner2_3.Value,
   'Batch No': BatchSelection.Selected.Title,
   ReceiveCheck: ToggleIssue.Value,
   UserName:MyUser,
   ReceivedSatus: "Yet To Receive",
   When:Today() + Time(Hour(Now()), Minute(Now()),Second(Now()))    
   }

 

),Set(_DuplicateScan,true),
 

Set(_NotSerialCode,true))   // if the user has selected (1S) and if he tries to scan a serial code, or any other code which does not match, it will show a popup, Not a S  Code
 
,Set(_NotISCode,true)))  // if the user has selected (S) and if he tries to scan a serial code, or any other code which does not match, it will show a popup, Not a 1S  Code

 

  I Need Help @WarrenBelz  @v-siky-msft 

39 REPLIES 39

@MH3 

One comma missing!  Please scrub through the formulas I provide as I type them by hand without the aide of a design editor.

If(!ToggleIssue.Value,

    Switch(PrefixSelected.Selected.Title,
        // if the user has selected (1S) and if he tries to scan a serial code, or any other code which does not match, it will show a popup, Not a 1S  Code
        "1S", Set(_NotISCode, !(PrefixSelected.Selected.Title = Left(BarcodeScanner2_3.Value,2))),
        
        // if the user has selected (S) and if he tries to scan a serial code, or any other code which does not match, it will show a popup, Not a S  Code
        "S", Set(_NotSerialCode, !(PrefixSelected.Selected.Title = Left(BarcodeScanner2_3.Value,1))),

        // Is it a duplicate?
        If(!IsEmpty(Filter('Barcodes - Test',  BarcodeScanner2_3.Value = Title)),
            Set(_DuplicateScan, true), // Duplicate Popup
            
            // ELSE - Patch Command
            Patch('Barcodes - Test',    
                Defaults('Barcodes - Test'),
                {
	            SerialCode:Right(BarcodeScanner2_3.Value,8),
	            Title:BarcodeScanner2_3.Value,
	            'Batch No': BatchSelection.Selected.Title,
	            ReceiveCheck: ToggleIssue.Value,
	            UserName:MyUser, 
	            ReceivedSatus: "Yet To Receive",
	            When:Today() + Time(Hour(Now()), Minute(Now()),Second(Now()))    
	        },
	        If(PrefixSelected.Selected.Title="1S",
	            {'Product Code': Mid(BarcodeScanner2_3.Value,3,10)},
	            {}
	        )
            )
        )
    )
)

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Dear Sir @RandyHayes ,

 

I have tried to see that but unfortunately, couldn't find that Comma missing issue, but there is still an error, called Record Type required, why you are patching only Product code if it's "1S" Selected?

I actually want to patch all the details as it set for Serial Code "S" and for "1S",  The Difference between them is that, the Product code is in for "1S" and the serial code is trimmed for "1S". differently, I will show you the patch commands:

Patch Columns for "1S"

 Patch('Barcodes - Test',
   
   Defaults('Barcodes - Test'),

   {
   SerialCode:Right(BarcodeScanner2_3.Value,8),
   'Product Code': Mid(BarcodeScanner2_3.Value,3,10),
   Title:BarcodeScanner2_3.Value,
   'Batch No': BatchSelection.Selected.Title,
   ReceiveCheck: ToggleIssue.Value,
   UserName:MyUser,
   ReceivedSatus: "Yet To Receive",
   When:Today() + Time(Hour(Now()), Minute(Now()),Second(Now()))    
   }


Patch Columns for "S"

Patch('Barcodes - Test',
   
   Defaults('Barcodes - Test'),

   {
   SerialCode: Right(BarcodeScanner2_3.Value,8),
   Title:BarcodeScanner2_3.Value,
   'Batch No': BatchSelection.Selected.Title,
   ReceiveCheck: ToggleIssue.Value,
   UserName:MyUser,
   ReceivedSatus: "Yet To Receive",
   When:Today() + Time(Hour(Now()), Minute(Now()),Second(Now()))    
   }



and in your code you have set only product code as the else for "1S".  Need help in this if condition solution. Sorry for disturbing you on one same topic. but I am kinda confused. 


Thanks

@MH3 

The formula I provided patches for both conditions.

The formula should be (this is just a recopy of the last posting - no changes made):

If(!ToggleIssue.Value,

    Switch(PrefixSelected.Selected.Title,
        // if the user has selected (1S) and if he tries to scan a serial code, or any other code which does not match, it will show a popup, Not a 1S  Code
        "1S", Set(_NotISCode, !(PrefixSelected.Selected.Title = Left(BarcodeScanner2_3.Value,2))),
        
        // if the user has selected (S) and if he tries to scan a serial code, or any other code which does not match, it will show a popup, Not a S  Code
        "S", Set(_NotSerialCode, !(PrefixSelected.Selected.Title = Left(BarcodeScanner2_3.Value,1))),

        // Is it a duplicate?
        If(!IsEmpty(Filter('Barcodes - Test',  BarcodeScanner2_3.Value = Title)),
            Set(_DuplicateScan, true), // Duplicate Popup
            
            // ELSE - Patch Command
            Patch('Barcodes - Test',    
                Defaults('Barcodes - Test'),
                {
	            SerialCode:Right(BarcodeScanner2_3.Value,8),
	            Title:BarcodeScanner2_3.Value,
	            'Batch No': BatchSelection.Selected.Title,
	            ReceiveCheck: ToggleIssue.Value,
	            UserName:MyUser, 
	            ReceivedSatus: "Yet To Receive",
	            When:Today() + Time(Hour(Now()), Minute(Now()),Second(Now()))    
	        },
	        If(PrefixSelected.Selected.Title="1S",
	            {'Product Code': Mid(BarcodeScanner2_3.Value,3,10)},
	            {}
	        )
            )
        )
    )
)

 

Where specifically in the formula are you seeing the error?

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Hi @RandyHayes 

The issue is here:
Switch.jpg

But Mr. Randy as I said, there must be two patch statements for "S" and "1S" because the trimming functions are different for both of them, I want to in corporate those two patch commands I sent you earlier in this logic..

 

Hope you understand, that two patch commands will be used one for "S" and another one for "1S"..

@MH3 

Let me review the formula a little closer.  In theory it should be working fine, but I might have overlooked something while hand typing.

As for the two patches...there IS a patch for each type "S" and "1S".  You are not seeing that there is one patch statement, but it has the logic in it to incorporate both into one primary patch. 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Oh Yes @RandyHayes ,
I am sorry, I haven't looked that the serial code, has the same trimming function for both "S" and "1S", My BAD!!

 

but the code isn't working what's wrong in it?

 

@MH3 

I'm looking into that right now...stay tuned!

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

@MH3 

I see the issue - it's because the if statement is getting mismatched returns.

Change formula to the following:

If(!ToggleIssue.Value,

    Switch(PrefixSelected.Selected.Title,
        // if the user has selected (1S) and if he tries to scan a serial code, or any other code which does not match, it will show a popup, Not a 1S  Code
        "1S", Set(_NotISCode, !(PrefixSelected.Selected.Title = Left(BarcodeScanner2_3.Value,2))),
        
        // if the user has selected (S) and if he tries to scan a serial code, or any other code which does not match, it will show a popup, Not a S  Code
        "S", Set(_NotSerialCode, !(PrefixSelected.Selected.Title = Left(BarcodeScanner2_3.Value,1))),

        // Is it a duplicate?
        If(!IsEmpty(Filter('Barcodes - Test',  BarcodeScanner2_3.Value = Title)),
            Set(_DuplicateScan, true), // Duplicate Popup
            
            // ELSE - Patch Command
            UpdateContext({patchedRecord:
                Patch('Barcodes - Test',    
                    Defaults('Barcodes - Test'),
                    {
                        SerialCode:Right(BarcodeScanner2_3.Value,8),
                        Title:BarcodeScanner2_3.Value,
                        'Batch No': BatchSelection.Selected.Title,
                        ReceiveCheck: ToggleIssue.Value,
                        UserName:MyUser, 
                        ReceivedSatus: "Yet To Receive",
                        When:Today() + Time(Hour(Now()), Minute(Now()),Second(Now()))    
                    },
                    If(PrefixSelected.Selected.Title="1S",
                        {'Product Code': Mid(BarcodeScanner2_3.Value,3,10)},
                        {}
                    )
                })
            )
        )
    )
)
_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Sorry @RandyHayes ,

 

Thanks for your time and effort, the formula shows no error, but I can only check it on Monday!

because right now I don't have any bar codes at home to test out the formula.

 

I will notify you on Monday is that okay? 

Many Thanks, if this formula works as per my expectations, Fingers crossed!!! 

@MH3 

Sounds good.  Let me know.  Have a good weekend.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Helpful resources

Announcements

Back to Basics: Tuesday Tip #2: All About Community Ranks

This weekly series is our way of helping the amazing members of our community--both new members and seasoned veterans--learn and grow in how to best engage in the community! Each Tuesday, we will feature new areas of content that will help you best understand the community--from ranking and badges to profile avatars, from Super Users to blogging in the community. Our hope is that this information will help each of our community members grow in their experience with Power Platform, with the community, and with each other!   Have you ever wondered how your fellow community members earn the different ranks available? What is the difference between an Advocate and a Helper, a Solution Sage and a Community Champion? In today's #TuesdayTip, we share the secrets and tips to help YOU keep your ranking growing--and why it's so important to our communities. What are community ranks? - Power Platform Community (microsoft.com)   Get the details in this Knowledge Base article that shows you what ranks are, how they are achieved, and what they mean to you as you engage with other community members on a regular basis. Once you start your journey in the community, ranking up, you'll find the benefits. So get busy with those kudos, solutions, and more! We can't wait to see how you rank!That's it for this week. Tune in for more Tuesday Tips next Tuesday and join the community as we continue to get "Back to Basics."

It's #MPPC23 Week! Check Out the Community Sessions and Events Happening in Vegas

After all the planning and preparing, the annual Microsoft Power Platform Conference is finally here! We are excited to see so many of our community in Las Vegas this week. To help make sure you don't miss any of the workshops, sessions, and events we have planned, make sure to check out this handy Community One-Sheet, and download the pdf today! Make sure to stop by the Community Lounge to meet @hugobernier, @EricArcher, @heaher_italent, and @AshleyFelts from our team! See you in Vegas!    

Join Us for the First-Ever Biz Apps Community User Group Meeting: Live from MPPC23

  Join us for the first-ever the Biz Apps Community User Group meeting live from the Power Platform Conference! This one hour user group meeting is all about discovering the value and benefits of User Groups! Discover how you can find a group in your local area or about specific topics where you can learn new skills and meet like-minded people as a user group member.   Hear from User Group leaders about why they do what they do and what resources they receive to help them succeed as community ambassadors. If you have never attended a User Group meeting before, this will be a great introduction! We hope you are inspired to find a group that meets your unique interests!   October 5th at 2:15 pm Pacific time   If you're attending #MPPC23 in Las Vegas, join us in person! Find out more here: https://powerplatformconf.com/#!/session/Biz%20Apps%20Community%20User%20Group%20Meeting%20-%20Live%20from%20MPPC/6172   Not at MPPC23? Attend vvirtually by registering here: https://aka.ms/MPPCusergroupmeeting2023    If you can't attend this meeting live, don't worry! We will record this meeting and share it with the Community at powerusers.microsoft.com 

Back to Basics: Tuesday Tip #1: All About YOUR Community Account

We are excited to kick off our new #TuesdayTIps series, "Back to Basics." This weekly series is our way of helping the amazing members of our community--both new members and seasoned veterans--learn and grow in how to best engage in the community! Each Tuesday, we will feature new areas of content that will help you best understand the community--from ranking and badges to profile avatars, from Super Users to blogging in the community. Our hope is that this information will help each of our community members grow in their experience with Power Platform, with the community, and with each other!     This Week's Tips: Account Support: Changing Passwords, Changing Email Addresses or Usernames, "Need Admin Approval," Etc.Wondering how to get support for your community account? Check out the details on these common questions and more. Just follow the link below for articles that explain it all.Community Account Support - Power Platform Community (microsoft.com)   All About GDPR: How It Affects Closing Your Community Account (And Why You Should Think Twice Before You Do)GDPR, the General Data Protection Regulation (GDPR), took effect May 25th 2018. A European privacy law, GDPR imposes new rules on companies and other organizations offering goods and services to people in the European Union (EU), or that collect and analyze data tied to EU residents. GDPR applies no matter where you are located, and it affects what happens when you decide to close your account. Read the details here:All About GDPR - Power Platform Community (microsoft.com)   Getting to Know You: Setting Up Your Community Profile, Customizing Your Profile, and More.Your community profile helps other members of the community get to know you as you begin to engage and interact. Your profile is a mirror of your activity in the community. Find out how to set it up, change your avatar, adjust your time zone, and more. Click on the link below to find out how:Community Profile, Time Zone, Picture (Avatar) & D... - Power Platform Community (microsoft.com)   That's it for this week. Tune in for more Tuesday Tips next Tuesday and join the community as we get "Back to Basics."

Power Platform Community Newsletter: September 2023

Welcome to our September 2023 Newsletter, where we highlight the latest news, product releases, podcasts, upcoming events, and the great work of our Power Platform Community members. As usual, please make sure you follow our News & Announcements in the Community to stay up to date. Another great way to connect is to join our Power Platform Community on LinkedIn. You can join our LInkedIn community here.   MPPC's Got Power - Submissions end September 28th! Are you ready to showcase your skills at the Microsoft Power Platform Conference in Las Vegas? Don't miss out on the "MPPC's Got Power" talent show, a grand celebration of connection, inspiration, and shared journeys. Whether you're a technical innovator, a talented storyteller, or have a hidden creative side, we want to see what you've got! With three categories to choose from, you have the chance to shine on stage and make your mark in the Microsoft Power Platform community.  Click the GIF to sign up by Thursday 28th September to be part of an unforgettable MPPC23 experience. Now is your time to shine!     Check Out the Low Code Approach Podcast Give the Low Code Approach Podcast a listen! Hosted by Sean Fiene, Wendy Haddad, and Kenric Auguillard, this innovative show shines a light on how Microsoft MVPs, product team members, and Community users are building exciting solutions using Microsoft Power Platform. Plus, with guests like Kartik Kanakasabesan, April Dunnam, Ricardo Duncan Jr., Sonja Gu, Phil Topness, Shane Young and more, this weekly show is a must for all you Business Applications enthusiasts out there. Click the image below to check it out!           COMMUNITY HIGHLIGHTS Check out the most active Community users for August 2023. These hardworking members are posting regularly, answering questions, writing blogs, giving kudos, and providing top solutions in their communities across Power Platform. Huge thanks to these amazing community members for their great contributions last month! trice602poweractivateLaurensMWarrenBelzAmikBCBuizerSamLedcreativeopinion timlExpiscornovusManishSolankiMattJimisonfernandosilvaMisterMarkPstork1saudali_25hafizsultan242Lucas001ragavanrajanp_doc   UPCOMING EVENT: 365 EDUCON CHICAGO Whether you're new to Microsoft 365, Power Platform and SharePoint, or an experienced power user, admin or developer, 365 EduCon has content designed to fit your experience level and area of interest. Their workshops and sessions are taught by Microsoft Certified Trainers, MVPs, Regional Directors, and Engineers. Find out more and register here: Home - Microsoft 365 EduCon Chicago - A Microsoft 365 Conference.  

Announcing the MPPC's Got Power Talent Show at #MPPC23

Are you attending the Microsoft Power Platform Conference 2023 in Las Vegas? If so, we invite you to join us for the MPPC's Got Power Talent Show!      Our talent show is more than a show—it's a grand celebration of connection, inspiration, and shared journeys. Through stories, skills, and collective experiences, we come together to uplift, inspire, and revel in the magic of our community's diverse talents. This year, our talent event promises to be an unforgettable experience, echoing louder and brighter than anything you've seen before.    We're casting a wider net with three captivating categories:  Demo Technical Solutions: Show us your Power Platform innovations, be it apps, flows, chatbots, websites or dashboards... Storytelling: Share tales of your journey with Power Platform. Hidden Talents: Unveil your creative side—be it dancing, singing, rapping, poetry, or comedy. Let your talent shine!    Got That Special Spark? A Story That Demands to Be Heard? Your moment is now!  🚀 Sign up to Showcase Your Brilliance: https://aka.ms/MPPCGotPowerSignUp  🔥 Deadline for submissions: Thursday, Sept 28th    How It Works:  Submit this form to sign up: https://aka.ms/MPPCGotPowerSignUp  We'll contact you if you're selected. Get ready to be onstage!  The Spotlight is Yours: Each participant has 3-5 minutes to shine, with insightful commentary from our panel of judges. We’re not just giving you a stage; we’re handing you the platform to make your mark.     Be the Story We Tell: Your talents and narratives will not just entertain but inspire, serving as the bedrock for our community’s future stories and successes.    Celebration, Surprises, and Connections: As the curtain falls, the excitement continues! Await surprise awards and seize the chance to mingle with industry experts, Microsoft Power Platform leaders, and community luminaries. It's not just a show; it's an opportunity to forge connections and celebrate shared successes.    Event Details:  📆 Date and Time: Wed Oct 4th, 6:30-9:00PM   📍 Location: MPPC23 at the MGM Grand, Las Vegas, NV, USA  

Top Solution Authors
Top Kudoed Authors
Users online (2,513)