Пустое значение в EnumControl или как выбирать Месяц и Год и формировать Дату для записи в БД
Как на OnPrepare окна задать что бы EnumControl (не завязанным на Data) был пустым
Так нужно для того что бы парсить дату которую получаем с БД, а по нажатию Ок писать дату, с которой мы по сути берем месяц и год
Код на OnPrepare
var DisposalDate = Dataset('DisposalDate');
if (!IsEmptyValue(DisposalDate)) {
enmMothDisposal.Value = enmMothDisposal.Enum.ItemsByID(String(new Date(DisposalDate).getMonth()));
enmYearDisposal.Value = enmYearDisposal.Enum.ItemsByID(String(new Date(DisposalDate).getYear()));
}
else
{
enmMothDisposal.Value = /*тут придумать так что бы было пусто*/;
enmYearDisposal.Value = /*тут придумать так что бы было пусто*/;
}
Просьба перед Вашим ответом убедиться самим что
enmYearDisposal.Value = '';
enmYearDisposal.Value = new Object();
enmYearDisposal.Value = [];
enmYearDisposal.Value = 'undefined';
enmYearDisposal.Value = GUID_NULL;
Не работаеют, а свойства IsNull у EnumControl - не работает
Код на Ok
if (!IsEmptyValue(enmMothDisposal.Value) && IsEmptyValue(enmYearDisposal.Value)) {
MessageBox('Please fill Year);
return;
}
if (IsEmptyValue(enmMothDisposal.Value) && !IsEmptyValue(enmYearDisposal.Value)) {
MessageBox('Please fill Month');
return;
}
if (!IsEmptyValue(enmMothDisposal.Value) && !IsEmptyValue(enmYearDisposal.Value)) {
var DisposalDate = new Date(String(enmYearDisposal.Value.ID),String(enmMothDisposal.Value.ID),1);
Dataset('DisposalDate') = DisposalDate.getVarDate();
}
Без кода /*тут придумать так что бы было пусто*/ не обойтись так как OnPrepare срабатывает один раз и если 1 раз выбрать зн. тогда при открытии еще раз карточки значения подтянуться с предыдущей
Заранее спасибо
Бинарные файлы 3.3.2.288
Нравится
Внимание, правильный ответ: enmYearDisposal.Value = System.EmptyValue
Дмитрий, если будет настроение поискать: была тема когда-то на форуме, где обсуждалось как сделать Месяц и Год для задания даты. Если найдете, мой скрипт будет правильным дополнением