Не активны кнопки в детали

Сделал свою деталь, на первом этапе там активна только кнопка добавить. После заполнения детали должны сразу стать активны кнопки Копировать, Изменить, Удалить, но в реальности они становятся активны только после Обновления(F5). В чем может быть ошибка?

Нравится

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

Вам нужно добавит Notify из карточки редактирования для объекта грида
на котором должно быть что-то типа:

function wnd_BaseGridAreaOnNotify(ScriptableService, Sender, Message, Data) {
	if (Message == MSG_OK) {
		if (!Assigned(BaseGridArea.GridDataset)) {
			BaseGridArea.GridDataset = GetDatasetFromWindow(Sender, 'dlData');
		}
		UpdateGridAreaByEditWindow(Sender, BaseGridArea);
		if (Sender.Attributes.IsValueExists('LookupColumnClick')) {
			var Dataset = dlData.Dataset;
			var RecordID = GetRecordID(Dataset);
			if (!IsEmptyValue(RecordID)) {
				Dataset.RefreshRecord(RecordID, false);
			}
		}

пример точно есть в гриде задач

В том то и дело, что в объекте грида такая функция есть и под дебаггером видно, что она отрабатывает, но на кнопки это не влияет почему-то, в чем может быть дело. Вот функция в моем гриде:

function wnd_Keys2GridAreaOnNotify(ScriptableService, Sender, Message, Data) {
wnd_BaseGridAreaOnNotify(ScriptableService, Sender, Message, Data);
}  

Событие MSG_OK туда передается, а также события Close, After_Close. В чем может быть причина. Какой участок кода отвечает за видимость кнопок? И что туда должно передаться, чтобы сделать кнопки видимыми?

Здравствуйте, Андрей!
Установка видимости кнопок осуществляется в скрипте "scr_BaseGridAreaUtils" в функции "InitializeButtons", которая вызывается в "InitializeGridArea".

Но проблема в том, что InitializeGridArea не вызывается при обработке сообщения MSG_OK. Отсюда вопрос, где в самой функции wnd_BaseGridAreaOnNotify происходит настройка кнопок?

Андрей, добавьте в вашу wnd_Keys2GridAreaOnNotify

RefreshDataset(BaseGridArea.GridDataset)

Спасибо, это конечно выход, но просто интересно, почему базовая функция не повлияла на кнопки

"Рябенко Андрей" написал:почему базовая функция не повлияла на кнопки

а у вас есть событие dlDataOnDatasetAfterPost? т.к. в BaseGridArea именно на это событие стоит обновление кнопок после добавления записи (см UpdateButtonsByDataset). Возможно вы не вызвали этот метод из вашего

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