Я хочу изменить значение по умолчанию аттрибута IsReadOnly для окна выборки.
Я так понимаю это должно быть доступно в обработчике события OnPrepareSelectWindow LookupDataField, однако не смог разобраться как. все, что смог найти - это указать SelectWindowUSI и настроить LoockupDataset для окна выбора.

Нравится

1 комментарий

Денис, этот атрибут задаётся в свойствах или датасета, или окна. Вот как он проверяется в скрипте scr_SelectData:

	var IsReadOnlyFromDataset = 
		GetAttribute(SelectData.Dataset, IsReadOnlyAttrName);
	var IsReadOnlyFromWindow = GetAttribute(Window, IsReadOnlyAttrName);
	SelectData.IsReadOnly = IsReadOnlyFromDataset || IsReadOnlyFromWindow;

А так он задаётся в обработчике OnPrepareSelectWindow в wnd_CampaignEditScript:

function edtOwnerOnPrepareSelectWindow(LookupDataControl) {
	PrepareLookupDataControl(LookupDataControl, dlData.Dataset);
}

Эта функция в scr_WindowUtils:

function PrepareLookupDataControl(LookupDataControl, Dataset) {
	var DataFieldName = LookupDataControl.DataFieldName;
	var DataField = Dataset.DataFields.ItemsByName(DataFieldName);
	var LookupDataset = DataField.LookupDataset;
	SetAttribute(LookupDataset, 'IsReadOnly', true);
}
Показать все комментарии

День добрый!

Форма wnd_SelectData.
Поиск по определенным для поиска полям производится посредством конструкции LIKE.
Такой способ не работает в случае, если тип поля - DATETIME.

Как "обойти" данную проблему и реализовать поиск по дате?

Нравится

12 комментариев

Значение какого справочника или раздела нужно выбрать ?

Без разницы.

Ну, для примера, - сделать так, чтобы при выборе Документа в форме редактирования Задачи был возможен поиск по полю Дата Документа.

Могу предложить такой вариант:
в запросе sq_Document сделать "колонку с текстом SQL" выбор даты в строку. В датасете ds_Document создать текстовое поле по этой колонке и установить его "полем для поиска"

Все так.
Логичное решение.

Только поиск ведется не по "колонке с текстом SQL", а всегда непосредственно по полю.

Наверное быстрее всего будет создание дополнительного строкового поля (для хранения даты в текстовом виде).

Тогда не придется изменять SelectData.

создать пользовательский фильтр , типа строка , который будет искать по кастомному полю в котором преобразовать дату в текст определенного формата

Денис М
То есть, предлагается уйти от использования темплейта окна?
Хммм...
Думалось, что подобные базовые вещи должны быть реализованы в стандартном функционале.

Добрый день.

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

Спасибо за то, что делаете наш продукт лучше.

Terrasoft Support Team

"Дмитрий Данилов" написал:То есть, предлагается уйти от использования темплейта окна?
Хммм...

поиск LIKE по дате , никогда не был стандартным

Я про то, что в стандартном шаблоне SelectData не реализован поиск по полю типа DATETIME.
Причем здесь LIKE?

А быстрый фильтр Вам не подходит?

Как обходной вариант - вполне.

SelectData подправил своими силами.
Теперь - все ОК.

Думаю, тему можно закрыть.

Показать все комментарии