Бөлісу құралы:


Кенеп қолданбаларында жазба сілтемелерін және полиморфты іздеулерді түсіну

Мектепте зерттеу жұмысын жазған кезде соңында сілтемелер тізімін берген боларсыз. Біреулер бастапқы дерек көзін табуы үшін пайдаланылған нақты материалдың көшірмесі емес, оның орнына веб-сілтеме, кітаптың атауы және авторы немесе басқа ақпарат көрсетіледі. Бір тізімде тиісті түрде сілтеме жасау үшін әр қайсысы арнайы мәліметтер қамтитын әртүрлі дерек көздерін, аудио жазбалардың қасына газет мақалаларын қойып араластыратынсыз. Мысалы, Уикипедия мақалаларында әдетте ұзын пайдаланылған әдебиеттер тізімі болады.

Кенеп қолданбаларында көбінесе деректер көздерінен жүктелген жазбалардың көшірмелерімен жұмыс жасайсыз. Өзіңізге қажетті белгілі жазбаны анықтау үшін Іздеу және Сүзу функцияларын және Галерея басқару элементінің Таңдалған сипатын пайдаланасыз. Сүзгі немесе Таңдалған бағандағы барлық жазбалар бір кесте түрінен болады, сондықтан өрісті қарапайым .Field нұсқауымен пайдалануға болады. Бұл көшірмелерде әдетте сілтемелік ақпарат болады, сондықтан Түзету функциясын бастапқы дерек көзін жаңарту үшін пайдалануға болады.

Сондай-ақ кенеп қолданбалары жазба сілтемелерін қолдайды. Зерттеу жұмысының сілтемесі сияқты, жазба сілтемесі оның толық көшірмесін қоспай жазбаға сілтеме жасайды. Мұндай сілтеме кез келген кестедегі жазбаға сілтеме жасай алады. Ғылыми-зерттеу сілтемелері сияқты, әртүрлі кестелердегі жазбаларды бір кестеде араластыруға болады.

Жазба сілтемелеріне қатысты көптеген операциялар жазбалардың өзімен жұмыс істеумен бірдей. Жазба сілтемелерін бір-бірімен және толық жазбалармен салыстыруға болады. Жазба сілтемесінің мәнін толық жазбамен іздеу жасайтындай Түзету функциясымен орнатуға болады.

Пайдаланудың бір маңызды айырмашылығы бар: жазба сілтемесінің өрістеріне қай кестеге жататындығын анықтамастан, тікелей қатынаса алмайсыз. Себебі кенеп қолданбалары формулалар жазғанда барлық түрлердің белгілі болуын талап етеді. Қолданба іске қосылмайынша жазба сілтемесінің түрін білмегендіктен, қарапайым .Өріс нотациясын тікелей пайдалана алмайсыз. Алдымен динамикалық түрде IsType функциясымен кесте түрін анықтау керек, содан кейін AsType функциясының .Field нұсқауын пайдаланыңыз.

Кесте түрі кестедегі әр жазбаның схемасына сілтеме жасайды. Әр кестеде әртүрлі аттары мен деректер түрлері бар өрістердің бірегей жиынтығы бар. Кестенің әрбір жазбасы сол құрылымды иеленеді; екі жазба бір кестеден алынса, кесте түрі бірдей болады.

Ескерім

Кенеп бағдарламаларына арналған деректер көздерінің әртүрлі түрлеріне қосылу үшін көптеген қосқыштардың ішінен таңдауға болады. Алайда, Power Apps Studio ішіндегі кенеп бағдарламалармен жұмыс істегенде, Microsoft Dataverse жүйесіндегі бағандар барлық басқа деректер көздері сияқты өрістер деп аталады. Баған өрісі Dataverse жүйесіндегі бағанға сілтеме жасаған кезде ғана қолданылады. Қосымша ақпарат: Dataverse терминология жаңартулары

Полиморфты іздеулер

Microsoft Dataverse жазбалар арасындағы қатынастарды қолдайды. Тіркелгілер кестесіндегі әр жазбада Контактілер кестесіндегі жазба үшін Негізгі контакт іздеу бағаны бар. Іздеу тек Контактілер кестесіндегі жазбаға сілтеме жасай алады және мысалы, Топтар кестесіндегі жазбаға сілтеме жасай алмайды. Сол соңғы мәлімет маңызды, өйткені сіз іздеу үшін қандай бағандар қолжетімді болатынын білесіз.

Сонымен қатар Dataverse жүйесі жинақтағы кез келген кестедегі жазбаға сілтеме жасай алатын полиморфты іздеулерге қолдау көрсетеді. Мысалы, Жауапты бағаны Пайдаланушылар кестесіндегі немесе Топтар кестесіндегі жазбаға сілтеме жасай алады. Әртүрлі жазбалардағы бірдей іздеу бағаны әртүрлі кестелердегі жазбаларға сілтеме жасай алады. Бұл жағдайда сіз қандай бағандар қолжетімді болатынын біле бермейсіз.

Кенеп жазбаларына сілтемелер Dataverse ішінде полиморфты іздеулермен жұмыс істеуге арналған. Сондай-ақ жазба сілтемелерін осы контексттен тыс пайдалануға болады, бұл — осы екі тұжырымның айырмашылығы.

Келесі бөлімде Иесі іздеуімен жұмыс жасай отырып осы тұжырымдармен танысасыз.

Жазба жауаптысының бағандарын көрсету

Dataverse жүйесіндегі кез келген кесте Жауапты бағанын қамтиды. Бұл бағанды жою мүмкін емес, басқасын қоса алмайсыз және ол әрқашан мәнді қажет етеді.

Бұл бағанды Тіркелгі кестесінде көрсету үшін:

  1. Power Apps жүйесіне кіріңіз.

  2. Сол жақ тақта жолағында Деректер > Кестелер тармағын таңдаңыз.

  3. Кестелер тізімінде Тіркелгі параметрін таңдаңыз.

  4. Жоғарғы оң жақ бұрышта сүзгілеу тізімін ашыңыз (әдепкі бойынша Әдепкі етіп орнатылған) да, Барлық тармағын таңдаңыз.

  5. Жауапты бағаны пайда болғанша төмен айналдырыңыз.

    Тіркелгі кестесіндегі жауапты бағаны.

Бұл іздеу бағаны Топтар кестесіндегі немесе Пайдаланушылар кестесіндегі жазбаға сілтеме жасай алады. Бұл кестелердегі барлық жазбалардың Жауапты бағаны болуға рұқсаты жоқ ; егер мәселеге тап болсаңыз, қолдау көрсетілетін рөлдерді тексеріңіз.

Бұл графикада Тіркелгілер кестесі бағдарламаға деректер көзі ретінде қосылған Тіркелгілер қарапайым галереясы көрсетіледі:

Галерея басқару элементінде көрсетілген тіркелгілер.

Маңызды

Осы мақаланың ішінде суреттер Dataverse қызметімен ұсынылатын үлгілік деректердің бөлігі болып табылмайтын кейбір аттар мен мәндерді көрсетеді. Қадамдар нақты нәтиже алу үшін басқару элементтерін конфигурациялау жолын дәл көрсетеді, бірақ сіздің тәжірибеңіз ұйымыңыздың деректеріне байланысты болады.

Галереядағы әр тіркелгінің иесін көрсету үшін ThisItem.Owner.Name формуласын қолданғыңыз келуі мүмкін. Алайда Топ кестесіндегі атау өрісі Топ атауы және Пайдаланушы кестесіндегі атау өрісі Толық аты болып табылады. Бағдарлама бағдарламаны іске қосқанға дейін іздеудің қандай түрімен жұмыс істейтініңізді біле алмайды және ол Тіркелгілер кестесіндегі жазбалар арасында әртүрлі болуы мүмкін.

Осы өзгешелікке бейімделетін формула қажет. Сондай-ақ Жауапты бағаны болуы мүмкін кесте түрлері үшін деректер көзін қосу керек (бұл жағдайда Пайдаланушылар және Топтар). Қолданбаға осы үш дерек көзін қосыңыз:

Деректер тақтасындағы тіркелгілер, топтар және пайдаланушылар кестелері.

Осы деректер көздері қолданылғанда осы формуланы пайдаланушының немесе топтың атын көрсету үшін пайдаланыңыз:

If( IsType( ThisItem.Owner, Teams ),
    "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
    "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )

Иесі өрісі көрсетілген Галерея басқару элементінде көрсетілген тіркелгілер.

Бұл формулада IsType функциясы Жауапты өрісін Топтар кестесімен тексереді. Егер ол сол кесте түріне жататын болса, AsType функциясы оны Топ жазбасына түрлендіреді. Осы кезде .Field нұсқауы арқылы Топ атауы кестесін қоса алғанда, Топтар кестесінің барлық өрістеріне қатынасуға болады. Егер IsType функциясы Жауапты өрісі Топтар кестесіндегі жазба еместігін анықтаса, бұл өріс Пайдаланушылар кестесіндегі жазба болуы керек, себебі Жауапты өрісі міндетті (бос болмауы керек).

Жазба сілтемесінің кез келген өрістерін пайдалану үшін алдымен оны белгілі бір кесте түріне келтіру үшін AsType функциясын пайдалану керек. Сіз өрістерге Жауапты өрісінен тікелей қатынаса алмайсыз, себебі жүйе қандай кесте түрін қолданғыңыз келетінін білмейді.

AsType функциясы Жауапты өрісі сұралған кесте түріне сәйкес келмесе қате көрсетеді, сондықтан бұл формуланы жеңілдету үшін IfError функциясын пайдалануға болады. Алдымен Формула деңгейіндегі қателерді басқару тәжірибелік мүмкіндігін қосыңыз:

Формула деңгейіндегі қателерді басқару мүмкіндігіне тәжірибелік қосылу.

Содан кейін алдыңғы формуланы мына формуламен ауыстырыңыз:

IfError(
    "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
    "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )

Иесіне негізделген сүзгі

Құттықтаймыз - жазба сілтемесімен жұмыс істеудің ең қиын қадамдарын аяқтадыңыз. Пайдаланудың басқа жағдайлары қарапайым, себебі олар жазба өрістеріне кірмейді. Нақты жағдай ретінде осы бөлімде қарастырылатын сүзгілеуді іске асырыңыз.

Аралас тізім басқару элементін галереяның үстіне қосып, жаңа басқару элементінің мына сипаттарын орнатыңыз:

  • Элементтер: Users
  • SelectMultiple: false

Элементтер сипаты Пайдаланушылар параметріне орнатылған галерея үстіне қосылған аралас тізім.

Галереяны осы аралас тізімнен таңдалған белгілі пайдаланушы бойынша сүзгілеу үшін галереяның Элементтер сипатын мына формулаға орнатыңыз:

Filter( Accounts, Owner = ComboBox1.Selected )

Аралас тізім басқару элементінде орнатылған мән негізінде сүзгіленген галерея.

Маңызды

Егер қадамдарды дәл орындасаңыз, осы мақаладағы нұсқаулар дұрыс болады. Алайда, басқару элементінің аты басқа болса, басқару элементіне оның атымен сілтеме жасайтын кез келген формула сәтсіз болады. Егер бір түрге жататын басқару элементін жойсаңыз және қоссаңыз, басқару элементі атының соңындағы нөмір өзгереді. Қатені көрсететін кез келген формула үшін барлық басқару элементтерінің дұрыс атаулары бар екеніне көз жеткізіңіз.

IsType немесе AsType функциясын пайдалану қажет емес, себебі жазба сілтемелерін басқа жазба сілтемелерімен немесе толық жазбалармен салыстырасыз. Бағдарлама ComboBox1.Selected кесте түрін біледі, себебі ол Пайдаланушылар кестесінен алынған. Иесі топ болып табылатын шоттар сүзгілеу шартына сәйкес келмейді.

Пайдаланушы немесе топ бойынша сүзгілеуді қосып біраз көңіл көтере аласыз.

  1. Галереяның өлшемін өзгерту және аралық тізімді жылжыту арқылы экранның жоғарғы жағында бос орын қалдырыңыз, Радио басқару элементін галереяның үстіне қойып, жаңа басқару элементі үшін мына сипаттарды орнатыңыз:

    • Элементтер: [ "All", "Users", "Teams" ]
    • Орналасу: Layout.Horizontal
  2. Аралас тізім басқару элементі үшін мына сипатты орнатыңыз (егер аралас тізім өшіп қалса, радио басқару элементінде Пайдаланушылар тармағын таңдаңыз):

    • Көрінеді: Radio1.Selected.Value = "Users"
  3. Аралас тізім басқару элементін көшіріп қойыңыз, көшірмені түпнұсқаның дәл үстіне апарыңыз да, көшірмеге мына сипаттарды орнатыңыз:

    • Элементтер: Teams
    • Көрінеді: Radio1.Selected.Value = "Teams"

    Қолданба радио басқару элементінің күйіне байланысты бір уақытта тек бір аралас тізімді көрсетеді. Олар дәл бірінің үстінде бірі тұрғандықтан, олар мазмұнын өзгертетін бірдей басқару құралы болып көрінеді.

  4. Галерея басқару элементінің Элементтер сипатын мына формулаға орнатыңыз:

    Filter( Accounts,
        Radio1.Selected.Value = "All"
        Or (Radio1.Selected.Value = "Users" And Owner = ComboBox1.Selected)
        Or (Radio1.Selected.Value = "Teams" And Owner = ComboBox1_1.Selected)
    )
    

    Барлық жазбаларды немесе белгілі бір пайдаланушыны немесе топты көрсететін сүзгіленген галерея.

Осы өзгертулермен барлық жазбаларды көрсете аласыз немесе оларды пайдаланушы немесе топ негізінде сүзгілей аласыз:

Радио басқару элементі мен аралас тізімдер негізінде сүзгіленген нәтижелерді көрсететін анимация.

Формула толығымен қайта тағайындалуы мүмкін. Ажыратып қосқыш мәндерін салыстыратын бөлік барлық жазбалар бойынша тұрақты болып табылады және сүзгінің қалған бөлігін Dataverse қызметіне жібермес бұрын бағаланады.

Иесінің түрі бойынша сүзгіңіз келсе, онда IsType функциясын пайдалануға болады, бірақ ол әлі толық қайта тағайындалатын емес.

IsType көмегімен иесінің түрі бойынша сүзгілеу.

Түзету арқылы иесін жаңарту

Иесі өрісін кез келген басқа іздеулер сияқты жаңартуға болады. Қазіргі таңдалған тіркелгі иесін бірінші топқа орнату үшін:

Patch( Accounts, Gallery1.Selected, { Owner: First( Teams ) } )

Бұл тәсіл қарапайым іздеуден ерекшеленбейді, өйткені қолданба Бірінші( Топтар ) түрін біледі. Егер сіз оның орнына бірінші пайдаланушыны алғыңыз келсе, сол бөлікті ауыстырыңыз Бірінші (пайдаланушылар). Түзету функциясы Жауапты өрісін осы екі кесте түрінің біріне орнатуға болатынын біледі.

Қолданбаға осы мүмкіндікті қосу үшін:

  1. Тармақ көрінісі тақтасында Радио басқару элементі мен екі Аралас тізім басқару элементтерін бір уақытта таңдаңыз.

  2. Эллипс мәзірінде Осы элементтерді көшіру тармағын таңдаңыз.

    Тармақ көрінісі пайдаланылған бірнеше басқару элементтерінің көшірмесі.

  3. Дәл сол мәзірден Қою тармағын таңдаңыз.

    Тармақ көрінісі пайдаланылған бірнеше басқару элементтерінің қойылуы.

  4. Көшірілген басқару элементтерін галереяның оң жағына жылжытыңыз.

    Галереяның оң жағына көшірілген жылжытылған басқару элементтері.

  5. Көшірілген Радио басқару элементін таңдап, содан кейін мына сипаттарды өзгертіңіз:

    • Элементтер: [ "Users", "Teams" ]
    • Әдепкі:If( IsType( Gallery1.Selected.Owner, Users ), "Users", "Teams" )

    Радио басқару элементінен жойылған барлық таңдаулар.

  6. Радио басқару элементінде пайдаланушылар тізімін қамтитын Аралас тізім көрінуі үшін Пайдаланушылар тармағын таңдаңыз.

  7. Көрінетін Аралас тізім басқару элементін таңдаңыз да, DefaultSelectedItems сипатын мына формулаға орнатыңыз:

    If( IsType( Gallery1.Selected.Owner, Users ),
        AsType( Gallery1.Selected.Owner, Users ),
        Blank()
    )
    

    Пайдаланушылар аралас тізіміне орнатылған әдепкі сипат.

  8. Радио басқару элементінде топтар тізімін қамтитын Аралас тізім көрінуі үшін Топтар тармағын таңдаңыз.

  9. Пайдаланушылар үшін қазір көрінетін Аралас тізім басқару элементінен таңдауы жою үшін Радио басқару элементін таңдаңыз.

  10. Топтар үшін көрінетін Аралас тізім басқару элементін таңдаңыз да, DefaultSelectedItems сипатын мына формулаға орнатыңыз:

    If( IsType( Gallery1.Selected.Owner, Teams ),
        AsType( Gallery1.Selected.Owner, Teams ),
        Blank()
    )
    

    Топтар аралас тізіміне орнатылған әдепкі сипат.

  11. Түйме басқару элементін қосып, Аралас тізім басқару элементінің астына жылжытыңыз да, түйменің Мәтін сипатын "Patch Owner" параметріне орнатыңыз.

  12. Осы түйменің OnSelect сипатын мына формулаға орнатыңыз:

    Patch( Accounts, Gallery1.Selected,
        { Owner: If( Radio1_1.Selected.Value = "Users",
                     ComboBox1_2.Selected,
                     ComboBox1_3.Selected ) } )
    

    Түйме басқару элементіне орнатылған формула.

Көшірілген Радио және Аралас тізім басқару элементтері ағымдағы таңдалған тіркелгі иесін галереяда көрсетеді. Дәл сол басқару элементтері арқылы тіркелгі иесін кез келген топқа немесе пайдаланушыға мына түймені басып орнатуға болады:

Пайдаланушымен немесе Топпен Иесінің түзетуін көрсететін анимация.

Пішінді пайдаланып иесін көрсету

Теңшелмелі картаны қосып пішін ішіндегі Иесі өрісін көрсетуге болады. Осы жазудан бастап өрістің мәнін пішін басқару элементімен өзгерту мүмкін емес.

  1. Пішінді өңдеу басқару элементін енгізіңіз де, өлшемін өзгертіңіз және төменгі оң жақ бұрышқа жылжытыңыз.

  2. Экранның оң жағындағы Сипаттар қойыншасында Деректер көзі тізімін ашыңыз да, Тіркелгілер тармағын таңдаңыз.

    Бос мәндері бар қосымша өрістерді көрсететін пішінді басқару элементі.

  3. Пішіннің Элемент сипатын Gallery1.Selected параметріне орнатыңыз.

    Галереядағы таңдалған элементтен толтырылған қосымша өрістерді көрсететін пішінді басқару элементі.

  4. Экранның оң жағындағы Сипаттар қойыншасында Өрістерді өңдеу параметрін таңдаңыз.

  5. Өрістер тақтасында эллипсті, содан кейін Теңшелмелі картаны қосу тармағын таңдаңыз.

    Теңшелмелі картаны қосу пәрмені.

    Жаңа карта пішінді басқару элементінің төменгі жағында пайда болады.

  6. Бүкіл мәтінді көрсету үшін басқару элементінің өлшемін қажетінше өзгертіңіз.

    Енгізілген бос, теңшелмелі карта.

  7. Теңшелмелі картаға Белгі басқару элементін қосып, содан кейін белгінің Мәтін сипатын галереяда қолданған формулаға орнатыңыз:

    If( IsType( ThisItem.Owner, Teams ),
        "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
        "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
    

    Белгі басқару элементінде иесінің өрісін көрсететін теңшелмелі карта.

Галереядағы әр таңдау үшін, жазба иесімен қоса тіркелгінің қосымша өрістері пішінде пайда болады. Түзету түймесін басып иесін өзгертсеңіз, пішінді басқару элементі де осы өзгерісті көрсетеді.

Галереядағы өзгерістерге сәйкес келетін пішінді басқару элементін көрсететін анимация.

Тұтынушы бағандарын көрсету

Dataverse жүйесінде Тұтынушы іздеу бағаны Жауапты бағанына ұқсас тағы бір полиморфты іздеу болып табылады.

Жауапты бір кестеде біреуімен шектеледі, бірақ кестелерде нөл, бір немесе бірнеше Тұтынушы іздеу бағаны болуы мүмкін. Контактілер жүйелік кестесінде Тұтынушы іздеу бағаны болып табылатын Компания атауы бағаны бар.

Компания атауы бағанын тұтынушының деректер түрі ретінде көрсететін контакт кестесі қажет емес.

Жаңа бағанға арналған Тұтынушы деректер түрін таңдау арқылы қосымша Тұтынушы іздеу бағандарын қосу мүмкін емес.

Баған жасау кезінде деректер түрінің тізіміндегі тұтынушы деректер түрі.

Тұтынушы іздеу өрісі Тіркелгілер кестесіндегі немесе Контактілер кестесіндегі жазбаға сілтеме жасай алады. Сіз IsType және AsType функцияларын осы кестелермен пайдаланасыз, сондықтан қазір оларды деректер көзі ретінде қосу керек (Топтар және Пайдаланушылар кестесін орнында қалдыруға болады).

Деректер тақтасындағы тіркелгілер, топтар, пайдаланушылар және контактілер кестелері.

Тұтынушы және Иесі өрістерін пайдалану жолының ұқсастығы соншалық, қолданбаны көшіруге (Файл > Басқаша сақтау, содан кейін басқа атты көрсетіңіз) және мына қарапайым ауыстыруларды жасауға болады:

Орналасқан жері Иесі үлгісі Тұтынушы үлгісі
Барлық жерде Жауапты «Тұтынушы аты»
Барлық жерде Пайдаланушылар Тіркелгілер
Барлық жерде Топтар Контактілер
Галереяның Элементтер сипаты Тіркелгілер Контактілер
Пішіннің Элементтер сипаты Тіркелгілер Контактілер
Түзету нысанының бірінші аргументі
түйменің OnSelect сипатында
Тіркелгілер Контактілер
Радионың Элементтер сипатын сүзгілеу [ «Барлық», «Пайдаланушылар», «Топтар» ] [ «Барлық», «Тіркелгілер», «Контактілер» ]
Радионың Элементтер сипатын түзету [ «Пайдаланушылар», «Топтар» ] [ «Тіркелгілер», «Контактілер» ]
Аралас тізімнің Көрінетін сипаты «Пайдаланушылар» және «Топтар» «Тіркелгілер» және «Контактілер»

Мысалы, жаңа галереяда осы Элементтер сипаты болуы керек:

Filter( Contacts,
    Radio1.Selected.Value = "All"
    Or (Radio1.Selected.Value = "Accounts" And 'Company Name' = ComboBox1.Selected)
    Or (Radio1.Selected.Value = "Contacts" And 'Company Name' = ComboBox1_1.Selected)
)

Қарапайым өзгертулер енгізілген Иесі қолданбасынан алынған Тұтынушы қолданбасы.

Тұтынушы және Иесі арасындағы маңызды айырмашылықтар галерея мен пішін ішіндегі формулаларды жаңартуды қажет етеді:

  1. Тіркелгілер мен Контактілер арасындағы біреуі көпке қатынасы осы кесте түрлеріне аттары бойынша жүгінген кезде басымдыққа ие болады. Тіркелгілер орнына [@Тіркелгілер]; Контактілерін орнына [@Контактілер] түрін пайдаланыңыз. Глобалдық ажырату операторын пайдалану арқылы сіз IsType және AsType функциясындағы кесте түріне сілтеме жасайтыныңызға көз жеткізесіз. Бұл мәселе галерея және пішін басқару элементтерінің жазба мәтінмәнінде ғана бар.

  2. Иесі өрісінде мән болуы керек, бірақ Тұтынушы өрістер бос болуы мүмкін. Дұрыс нәтижені түр атауынсыз көрсету үшін, осы жағдайды IsBlank функциясын пайдаланып тексеріңіз және орнына бос мәтін жолын көрсетіңіз.

Бұл өзгерістердің екеуі де бірдей формулада болады, ол пішіннің теңшелмелі картасында, сондай-ақ галерея белгі басқару элементінің Мәтін сипатында көрсетіледі:

If( IsBlank( ThisItem.'Company Name' ), "",
    IsType( ThisItem.'Company Name', Accounts ),
        "Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name',
    "Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)

Галереядағы тақырыпша басқару элементінің Мәтін сипатына жаңарту.

Осы өзгертулер арқылы Контактілер кестесіндегі Компания атауы өрісін көруге және өзгертуге болады.

Контактіні таңдау басқа басқару элементтері мен пішінді қалай өзгертетінін көрсететін анимация.

Қатысты іздеу бағандарын түсіну

Қатысты іздеу бағаны осы тақырыпта бұрын жұмыс істеген бағандардан сәл өзгеше. Осы тақырыпта сипатталған үлгіні қолданудан бастап, содан кейін сіз басқа амал-тәсілдерді үйренесіз.

Жай Факстар кестесінен бастауға болады. Бұл кестеде полиморфты Қатысты іздеу бағаны бар, ол Тіркелгілер, Контактілер және басқа кестелерге сілтеме жасай алады. Тұтынушылар нысанына арналған қолданбаны алып, оны Факстар үшін өзгертуге болады.

Орналасқан жері Тұтынушы үлгісі Факстар үлгісі
Барлық жерде «Тұтынушы аты» Қатысты
Галереяның Элементтер сипаты Контактілер Факстар
Пішіннің Элементтер сипаты Контактілер Факстар
Түзету нысанының бірінші аргументі
түйменің OnSelect сипатында
Контактілер Факстар

Тағы да сізге деректер көзін қосу керек: бұл жолы Факстар үшін. Көрініс қойыншасында Деректер көздері опциясын таңдаңыз:

Тіркелгілер, топтар, пайдаланушылар, контактілер және факстар кестелерін көрсететін деректер тақтасы.

Қатысты өрісінің маңызды айырмашылығы ол Тіркелгілер және Контактілер нысандарымен шектелмейді. Негізінде кестелердің тізімі реттелетін кестелермен кеңейтіледі. Қолданбаның көп бөлігі бұл ерекшелікті өзгеріссіз орындай алады, бірақ сіз галереядағы және пішіндегі белгі формуласын жаңартуыңыз керек:

If( IsBlank( ThisItem.Regarding ), "",
    IsType( ThisItem.Regarding, Accounts ),
        "Account: " & AsType( ThisItem.Regarding, Accounts ).'Account Name',
    IsType( ThisItem.Regarding, Contacts ),
        "Contacts: " & AsType( ThisItem.Regarding, Contacts ).'Full Name',
    ""
)

Қатысты іздеудің тақырыпша басқару элементі үшін жаңартылған Мәтін сипаты.

Осы өзгертулерді енгізгеннен кейін Қатысты іздеуімен дәл Иесі және Тұтынушы іздеулері сияқты жұмыс істейсіз.

Галереяда элементті таңдау басқа басқару элементтері мен пішінді қалай өзгертетінін көрсететін анимация.

Қатысты қатынастарын түсіну

Қатысты іздеуінің Иесі және Тұтынушы іздеулерінен ерекшелігі: онда көбіне біреу қатынасы бар. Анықтама бойынша, кері - біреуі көпке қатынасы Бірінші( Тіркелгілер ).Факстар формуласын жазуға мүмкіндік береді.

Сақтық көшірме жасап, кесте анықтамаларын қарастырайық. Dataverse жүйесінде Факстар, Тапсырмалар, Электрондық пошталар, Ескертпелер, Телефон қоңыраулары, Хаттар және Чаттар сияқты кестелер әрекеттер ретінде белгіленеді. Сонымен қатар сіз жеке реттелетін әрекет кестесін жасай аласыз. Әрекет кестесін көргенде немесе жасаған кезде оның параметрлері Қосымша параметрлер бөлімінің астында пайда болады.

Кесте жасау кезіндегі әрекет тапсырмасының параметрі.

Басқа кестелер кесте параметрлеріндегі әрекет тапсырмасы ретінде қосылған болса, оларды әрекет кестесімен байланыстыруға болады. Тіркелгілер, Контактілер және басқа да көптеген стандартты кестелер осылай тағайындалады (қайта Қосымша параметрлер бөлімінен).

Кесте жасау кезіндегі әрекет кестесінің параметрі.

Барлық әрекет кестелері мен әрекет тапсырмалары кестелері өзара байланысты болады. Экранның жоғарғы жағында сүзгіні Барлығы опциясына өзгертсеңіз, Факстар кестесін таңдаңыз, содан кейін Қатынастар қойыншасын таңдаңыз, Қатысты іздеудің мақсаты болуы мүмкін барлық кестелер пайда болады.

Қатысты көбісі біреуге қатынасын көрсететін факстар кестесінің қатынастары.

Егер Тіркелгілер кестесі үшін қатынасты көрсетсеңіз, Қатысты іздеу өрісінің бастапқы көзі болуы мүмкін барлық кестелер пайда болады.

Қатысты біреуі көбісіне қатынасын көрсететін тіркелгі кестесінің қатынастары.

Мұның бәрі нені білдіреді?

  • Формулаларды жазған кезде, әрекет кестелерінің тізімі бекітілмегендігін және сіз өзіңіздің жеке тізіміңізді жасай алатындығыңызды ескеріңіз. Формула сіз күтпеген әрекет кестесін тиісті түрде өңдеуі керек.
  • Әрекет тапсырмалары мен әрекеттер біреуі көпке қатынасына ие. Тіркелгіге қатысты барлық факстарды оңай сұрай аласыз.

Бұл ұғымды қолданбада зерттеу үшін:

  1. Басқа экран қосыңыз.

    Бос экран енгізу.

  2. Галереяны басқару элементін қосыңыз, өлшемін өзгертіңіз, содан кейін оны экранның сол жағына жылжытыңыз.

  3. Экранның оң жағындағы Сипаттар қойыншасында галереяның Элементтер сипатын Тіркелгі параметріне орнатыңыз.

    Сипаттар тақтасында элементтерді тіркелгілерге орнату.

  4. Галереяның орналасуын Атауы етіп орнатып, тақырып өрісін Тіркелгі аты параметріне орнатыңыз.

    Сипаттар тақтасында галерея басқару элементі үшін орналасуды Тақырып параметріне орнату.

  5. Екінші галереяны қосыңыз, өлшемін өзгертіңіз, содан кейін оны экранның оң жағына жылжытыңыз.

  6. Жаңа галереяның Элементтер сипатын Gallery2.Selected.Faxes дескрипторына орнатыңыз.

    Бұл қадам берілген тіркелгіге арналған сүзгіленген факстар тізімін қайтарады.

    Факстарды көрсететін галереяның Элементтер сипатын орнату.

  7. Галереяның орналасуын Тақырып және тақырыпша етіп орнатып, тақырып өрісін Тақырып өрісі көрсетілетіндей етіп орнатыңыз (кіші әріпті тақырып болуы мүмкін).

    Тақырыпты Тақырып өрісіне орнату.

Тіркелгілер тізіміндегі элементті таңдаған кезде, факстардың тізімі тек осы тіркелгіге арналған факстарды көрсетеді.

Факс тізімін жүргізетін тіркелгілер галереясында таңдауды көрсететін анимация.

Әрекет кестесі

Алдыңғы бөлімде сипатталғандай, тіркелгінің барлық факстарын көрсете аласыз. Дегенмен, тіркелгінің барлық әрекеттерін, соның ішінде факстарды, электрондық пошта хабарларын, телефон қоңырауларын және басқа әрекеттерді көрсете аласыз.

Соңғы сценарий үшін Әрекет кестесін пайдаланыңыз. Сіз бұл кестені жоғарғы оң жақ бұрыштағы Барлығы опциясының көмегімен қосып көрсету арқылы кестелер тізімінен сүзгіні алып тастай аласыз.

Әрекет кестесін көрсететін кестелер тізімі.

Әрекет кесте ерекше болып табылады. Факстар кестесіне жазба қосқан сайын, жүйе де барлық әрекеттер кестелерінде жиі кездесетін бағандармен Әрекет кестесінде жазба жасайды. Сол бағандардан Тақырып бағаны ең қызықтысы болып табылады.

Алдыңғы әрекеттегі бір жолды өзгерту арқылы барлық әрекеттерді көрсете аласыз. Gallery2.Selected.Faxes элементін Gallery2.Selected.Activities элементімен ауыстырыңыз.

Екінші галереядағы элементтердің қасиеттерін факстардан әрекетке ауыстыру.

Жазбалар Әрекет кестесінен алынады, бірақ олардың қандай әрекет түрі екенін анықтау үшін IsType функциясын пайдалануға болады. Тағы да кесте түріндегі IsType түрін қолданбас бұрын, деректер көзін қосу керек.

IsType функциясы үшін қажет барлық кестелерді көрсететін деректер тақтасы.

Осы формуланы қолданып жазба түрін галереядағы белгі басқару элементінде көрсете аласыз:

If( IsType( ThisItem, Faxes] ), "Fax",
    IsType( ThisItem, 'Phone Calls' ), "Phone Call",
    IsType( ThisItem, 'Email Messages' ), "Email Message",
    IsType( ThisItem, Chats ), "Chat",
    "Unknown"
)

Факстар, телефон қоңыраулары және басқа әрекеттер туралы ақпаратты көрсету үшін мәтін сипатын формулаға орнатыңыз.

Сондай-ақ AsType функциясын нақты түрге жататын өрістерге қол жеткізу үшін пайдалануға болады. Мысалы, бұл формула әр әрекеттің түрін анықтайды және телефон қоңыраулары үшін телефон нөмірі мен Телефон нөмірлері кестесінен қоңырау бағытын көрсетеді:

If( IsType( ThisItem, Faxes ), "Fax",
    IsType( ThisItem, 'Phone Calls' ),
       "Phone Call: " &
       AsType( ThisItem, 'Phone Calls' ).'Phone Number' &
       " (" & AsType( ThisItem, 'Phone Calls' ).Direction & ")",
    IsType( ThisItem, 'Email Messages' ), "Email Message",
    IsType( ThisItem, Chats ), "Chat",
    "Unknown"
)

Телефон қоңырауы туралы көбірек ақпараты бар кеңейтілген мәтін сипаты.

Нәтижесінде қолданба барлық әрекеттер тізімін көрсетеді. Тақырып өрісі формула оларды ескеретініне не ескермейтініне қарамастан барлық әрекет түрлері үшін көрсетіледі. Сіз білетін әрекет түрлері үшін олардың түрлерінің аттарын және әр әрекет түріне қатысты ақпаратты көрсетуге болады.

Әртүрлі әрекет түрлеріне қатысты ақпаратты көрсететін толық экран.

Ескертпелер кестесі

Осыған дейін барлық Қатысты мысалдары әрекеттерге негізделген болатын, бірақ Ескертпелер кестесі басқа жағдайды білдіреді.

Кесте жасаған кезде тіркемелерді қосуға болады.

Кесте жасау кезінде тіркемелер мен ескертпелер қосу.

Егер сіз тіркемелерді қосу үшін құсбелгіні қойсаңыз, Тіркелгілер кестесіне арналған графикада көрсетілгендей, Ескертпелер кестесі бар Қатысты қатынасын жасайсыз:

Біреуі көбісіне қатынасы арқылы ескертпелер қатынасын көрсететін тіркелгі кестесі.

Осы айырмашылықтан басқа жағдайда Қатысты іздеуімен әрекеттерді пайдаланғандай жұмыс істейсіз. Тіркемелер үшін қосылған кестелер Ескертпелер кестесімен біреуі көпке қатынасына ие, мына мысалдағыдай:

First( Accounts ).Notes

Ескерім

Осы жазу кезінде Қатысты іздеуі Ескертпелер кестесі үшін қолжетімсіз. Қатысты бағаны негізінде оқу немесе сүзгілеу мүмкін емес және Түзету көмегімен бағанды орнату мүмкін емес.

Алайда, кері Ескертпелер біреуден көпке қатынасы қол жетімді, сондықтан тіркемелер үшін қосылған жазбалардың тізімін сүзгілей аласыз. Сондай-ақ Қатысты функциясын жазбаның Ескертпелер кестесіне ескертпе қосу үшін пайдалануға болады, бірақ мына мысалдағыдай алдымен ескертпені жасау керек:

Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note" } ) )

Әрекет тараптары

Осы жазбадан бастап кенеп қолданбалары әрекет тараптарына қолдау көрсетпейді.

Ескерім

Сіз құжат тіліңіздің артықшылықтары туралы айта аласыз ба? Қысқа сауалнамаға қатысыңыз. (бұл сауалнама ағылшын тілінде екеніне назар аударыңыз)

Сауалнама шамамен жеті минут уақытыңызды алады. Жеке деректер жиналмайды (құпиялылық туралы мәлімдеме).