AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 20.02.2020, 12:51   #1  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Join Date: 20.02.2020
Значение CheckBox, mandatory
Доброго времени суток. Новичок в dax, не могу разобраться.
Есть чекбоксы со значениями аналитик. При выборе любой необходимо делать поля аналитик обязательными к заполнению.
Как сделать проверку чекбоксов с последующим выставлением mandatory?
Old 20.02.2020, 13:26   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Join Date: 28.04.2007
Location: Калуга
Где хранятся значения чекбоксов? Где происходит заполнение аналитик?
Old 20.02.2020, 13:42   #3  
Pandasama is offline
Pandasama
Участник
 
465 / 140 (5) +++++
Join Date: 11.08.2014
Location: Барнаул
Да, опишите детальнее.
Что у вас - форма связанная с таблицей? просто диалог?
И укажите версию DAX
Old 20.02.2020, 13:53   #4  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Join Date: 20.02.2020
Значения чекбоксов в именах журналов inventJournalName (они слинкованы с inventDimParm)
Аналитики в журналах проводки / строки журнала inventJournalMovement
Версия 12

Last edited by Earl1; 20.02.2020 at 14:05.
Old 20.02.2020, 15:44   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Join Date: 28.04.2007
Location: Калуга
Вообще в системе свойство mandatory может быть задано на разных уровнях.
- на поле таблицы
- на поле источника данных
- на элементе управления

Для вашего случая подойдёт уровень источника данных. Уровень таблицы будет недостаточным, так как не позволит динамически включать и выключать это свойство, а уровень элемента управления будет избыточным. Вообще обращаться напрямую к элементу управления не принято, разве что когда он не связан с источником данных.

1) Нужно уметь из кода менять свойства у полей источника данных.
Это делается так: FormDataSourceName_ds.object(FieldId).mandatory(value), где FieldId - это идентификатор поля. Он у вас либо уже есть, раз вы используете inventDimParm, либо его можно получить при помощи функции fieldNum().
2) Нужно понимать в какой момент это делать. Где написать этот код?
Самый простой вариант - это метод Active источника данных. Он срабатывает каждый раз при получении строкой фокуса ввода.

Если интересно то почитайте ещё про событие LinkActive. В вашем случае подойдёт и оно.
Old 20.02.2020, 17:13   #6  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Join Date: 20.02.2020
А если как то перебрать в цикле?
Old 20.02.2020, 17:24   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Join Date: 28.04.2007
Location: Калуга
Quote:
Originally Posted by Earl1 View Post
А если как то перебрать в цикле?
Вы спрашиваете как перебрать в цикле поля таблицы?

Перечисление полей таблицы
Old 20.02.2020, 17:40   #8  
Pandasama is offline
Pandasama
Участник
 
465 / 140 (5) +++++
Join Date: 11.08.2014
Location: Барнаул
Мне кажется, вам лучше описать всю вашу задачу подробнее.
С учетом того что у вас уже используется inventDimParm - возможно, используется и стандартный движок обязательности складских аналитик. Ну или его можно подключить.
Old 20.02.2020, 22:39   #9  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Join Date: 20.02.2020
На форме строк журнала добавить метод, который в зависимости от выбранных аналитик делает поля аналитик обязательными
Old 21.02.2020, 10:57   #10  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Join Date: 01.04.2004
Location: Москва
Quote:
Originally Posted by Pandasama View Post
Мне кажется, вам лучше описать всю вашу задачу подробнее.
С учетом того что у вас уже используется inventDimParm - возможно, используется и стандартный движок обязательности складских аналитик. Ну или его можно подключить.
Именно таки надо делать
Складская аналитика и ее доступность и обязательность это в первую очередь настройки номенклатуры. Ваши дополнительные проверки должны работать вместе со стандартными. Иначе, например, может получиться что будете требовать обязательность неактивной для конкретной номенклатуры аналитики.
Old 23.02.2020, 19:38   #11  
Pandasama is offline
Pandasama
Участник
 
465 / 140 (5) +++++
Join Date: 11.08.2014
Location: Барнаул
Если по-боцмански и без исследования связанного стандартного функционала (о котором вам писали уже выше):
при открытии строк журнала идете в наименование, смотрите какие там стоят флажки для ваших обязательных аналитик, делаете InvetDim_ds.object(fieldnum(InventDim, XXX)).mandatory(true) для нужных
также имеет смысл в validateWrite для строки аналогичную проверку прописать

Как-то такой вариант работать будет, но это не самое верное решение, скорее всего (но вам, видимо, сгодится).
Old 24.02.2020, 16:19   #12  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Join Date: 20.02.2020
А как можно реализовать проверку checkbox'ов в цикле? проверяется с value() же?
Table.Field = CheckBoxName.value()
Old 24.02.2020, 19:33   #13  
Pandasama is offline
Pandasama
Участник
 
465 / 140 (5) +++++
Join Date: 11.08.2014
Location: Барнаул
А почему в цикле? они у вас хранятся в массиве?
Если нет, если отдельным полями - то так и берите отдельные проверки, у вас их, как и складских аналитик, определенное заранее известное и практически неизменное количество
Old 24.02.2020, 22:20   #14  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Join Date: 20.02.2020
А как их брать?)
Old 25.02.2020, 05:21   #15  
Pandasama is offline
Pandasama
Участник
 
465 / 140 (5) +++++
Join Date: 11.08.2014
Location: Барнаул
Я понятия не имею, как у вас хранятся эти данные в InventJournalName
Вероятно, отдельными полями типа InventJournalName.InventDimSizeMandatory, InventJournalName.InventDimSiteMandatory и т.д.
Или массивом InventJournalName.InventDimMandatory[]
Old 25.02.2020, 09:42   #16  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Join Date: 20.02.2020
Есть сhbox на форме. Как их проверить на true/false? как обратиться не пойму. Нужны названия выбранных на chbox'ах аналитик.
Old 25.02.2020, 10:00   #17  
Pandasama is offline
Pandasama
Участник
 
465 / 140 (5) +++++
Join Date: 11.08.2014
Location: Барнаул
Мне кажется, вы взялись за слишком сложную для вас задачу, не понимая даже базовых основ.
У вас контролы на форме привязаны, наверно, к каким-то полям таблицы? тогда эти значения хранятся в соответствующих полях таблицы
или контролы просто так созданы, без привязки? но тогда их значение нигде не сохраняется, если форма уже закрыта
Old 25.02.2020, 13:05   #18  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Join Date: 20.02.2020
Просто, как проверить чекбокс?)
Old 25.02.2020, 13:22   #19  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Join Date: 28.04.2007
Location: Калуга
Quote:
Originally Posted by Earl1 View Post
Просто, как проверить чекбокс?)
Нельзя просто так взять и проверить чекбокс )

Как я понял с ваших слов у вас чекбоксы расположены на одной форме (в именах журналов inventJournalName), а проверять вы их хотите находясь в контексте другой формы (в строках журнала)?
Вас ничего не смущает?
Old 25.02.2020, 17:40   #20  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Join Date: 20.02.2020
Проверять собираюсь на форме, которой находятся они)
Tags
checkbox, mandatory

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
dynamicsaxhints: How to make enum a mandatory field on a table Blog bot DAX Blogs 0 04.05.2016 06:17
значение из realControl DmitryK DAX: Программирование 8 21.02.2012 14:43
Ruslan Goncharov: Mandatory property for DialogField Blog bot DAX Blogs 1 29.12.2007 20:48
Значение Checkbox cherv DAX: Программирование 4 27.07.2006 17:37
значение checkBox kitty DAX: Программирование 16 08.09.2005 17:01

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 15:40.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.