AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2020, 12:51   #1  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Регистрация: 20.02.2020
Значение CheckBox, mandatory
Доброго времени суток. Новичок в dax, не могу разобраться.
Есть чекбоксы со значениями аналитик. При выборе любой необходимо делать поля аналитик обязательными к заполнению.
Как сделать проверку чекбоксов с последующим выставлением mandatory?
Старый 20.02.2020, 13:26   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Где хранятся значения чекбоксов? Где происходит заполнение аналитик?
Старый 20.02.2020, 13:53   #3  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Регистрация: 20.02.2020
Значения чекбоксов в именах журналов inventJournalName (они слинкованы с inventDimParm)
Аналитики в журналах проводки / строки журнала inventJournalMovement
Версия 12

Последний раз редактировалось Earl1; 20.02.2020 в 14:05.
Старый 20.02.2020, 13:42   #4  
Pandasama is offline
Pandasama
Участник
 
457 / 134 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Да, опишите детальнее.
Что у вас - форма связанная с таблицей? просто диалог?
И укажите версию DAX
Старый 20.02.2020, 15:44   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Вообще в системе свойство mandatory может быть задано на разных уровнях.
- на поле таблицы
- на поле источника данных
- на элементе управления

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

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

Если интересно то почитайте ещё про событие LinkActive. В вашем случае подойдёт и оно.
Старый 20.02.2020, 17:13   #6  
Earl1 is offline
Earl1
Участник
 
12 / 10 (1) +
Регистрация: 20.02.2020
А если как то перебрать в цикле?
Старый 20.02.2020, 17:24   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Earl1 Посмотреть сообщение
А если как то перебрать в цикле?
Вы спрашиваете как перебрать в цикле поля таблицы?

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

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

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

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
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

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:24.