Desktop version

Main > Forum > Learning > 1C Junior Developer Course > Creating a custom query

Forum

Search UsersRules
Creating a custom query
#1
Interested
Points:: 0
Joined:: Sep 30, 2020

Hello, I have created a custom query,but it did't works.Can you help me

SEL ECT

CatalogCashiers.LastName,
CatalogCashiers.FirstName,

CASE

WHEN CatalogCashiers.Gender = "Female"
THEN "Mrs. ," + SUBSTRING(CatalogCashiers.LastName, 1, 1) + "," +
                       SUBSTRING(CatalogCashiers.FirstName, 1, 1)
WHEN CatalogCashiers.Gender = "Male"
       THEN
              "Mr. ," + SUBSTRING(CatalogCashiers.LastName, 1, 1) + "," +
                       SUBSTRING(CatalogCashiers.FirstName, 1, 1)
       ELSE
      SUBSTRING(CatalogCashiers.LastName, 1, 1) + "," +
                      SUBSTRING(CatalogCashiers.FirstName, 1, 1)
END

FR OM
Catalog.Cashiers AS CatalogCashiers

Profile
#2
Administrator
Points:: 0
Joined:: Oct 3, 2019

Hello Mesut,

i copied your code and it works absolutely correctly - see screenshots 1 and 2 pls.

By the way, it's not quite the right decision to store gender as a String. It's better to use an enumeration for this. After that the application structure will look like in scr. 3, and the query:

Code
SELECT
   CatalogCashiers.LastName AS LastName,
   CatalogCashiers.FirstName AS FirstName,
   CASE
      WHEN CatalogCashiers.Gender = VALUE(Enum.Gender.Female)
         THEN "Mrs. ," + SUBSTRING(CatalogCashiers.LastName, 1, 1) + "," + SUBSTRING(CatalogCashiers.FirstName, 1, 1)
      WHEN CatalogCashiers.Gender = VALUE(Enum.Gender.Male)
         THEN "Mr. ," + SUBSTRING(CatalogCashiers.LastName, 1, 1) + "," + SUBSTRING(CatalogCashiers.FirstName, 1, 1)
      ELSE SUBSTRING(CatalogCashiers.LastName, 1, 1) + "," + SUBSTRING(CatalogCashiers.FirstName, 1, 1)
   END AS Field1
FROM
   Catalog.Cashiers AS CatalogCashiers



I recommend doing this, it will allow you to avoid various mistakes in the future.

Aleksandr

Profile
#3
Interested
Points:: 0
Joined:: Sep 30, 2020

it works Thank you Aleksandr Biryukov!

Profile
#4
Interested
Points:: 0
Joined:: Sep 30, 2020

I have also a simple question.
User enter a number and amountpaid that is greater than the number is showed.
My code below;

SEL ECT
Sales.Number AS Number,
Sales.Date AS Date,
Sales.AmountPaid AS AmountPaid,
Sales.PaymentMethod AS PaymentMethod
FR OM
Document.Sales AS Sales

WHERE AmountPaid > What I need to write here
ORDER BY AmountPaid DESC

Profile
#5
Administrator
Points:: 0
Joined:: Oct 3, 2019

Mesut,

unfortunately, I didn't quite understand your question :-)

Do you want to select payments above a certain amount?

In this case, the query code will be like this:

Code
WHERE AmountPaid > &Number


where "&Number" is the parameter to be passed to the query.

Profile
#6
Active user
Points:: 0
Joined:: May 8, 2013

Mesut,

You need to pass the minimum amount as a parameter as is shown in this episode of the course. Please, watch it once again.

Konstantin

Profile
#7
Interested
Points:: 0
Joined:: Sep 30, 2020

Thank you , it works

Profile
#8
Interested
Points:: 0
Joined:: Sep 30, 2020

Thank you , it works

Profile
Subscribe
Users browsing this topic (guests: 1, registered: 0, hidden: 0)



© 1C LLC. All rights reserved
1C Company respects the privacy of our customers and visitors
to our Web-site.