Мне нужно переопределить метод GotoNext() датасета, чтобы он выполнял помимо стандартной своей функции еще одно дополнительное действие. Переопределение метода позволит избежать масштабных единообразных изменений в коде.
"Зверев Александр" написал:Или нужно во всех таблицах сразу?
Это могут быть разные датасеты, не один какой-то конкретный, а какой попадется в тот момент.
В принципе, можно присвоить свой обработчик на событие AfterPositionChange.
Пример в конфигурации:
[javascript]
//-------------------------------------
// wnd_MailTemplateLinkGridAreaScript
//-------------------------------------
...
function FillDataset(Dataset) {
...
}
function DoAdd() {
var Dataset = MailTemplateLinkGridArea.ColumnsDataset;
if (!Dataset) {
Dataset = GetSingleItemByCode('mds_DictionaryTemplate',
'wnd_MailTemplateLinkGridAreaScript');
Dataset.Caption = "Поле для связи сообщения";
SetObjectEventDispatcher(Self, Dataset, Dataset.Name, 'OnDatasetAfterOpen',
'FillDataset');
...
}
[/javascript]
Может кто-нибудь пояснить мне разницу между методами получения значения полей данных в датасете: * Dataset.ValAsGUID('') (ValAsStr, ValAsFloat etc)
* Dataset.Values('')
* Dataset('')
Например, я знаю, что Dataset.Values('') передает null, а ValAs... как правило нет
ValAsStr - конвертирует к строке
ValAsFloat - конвертирует к дробному числу
ValAsGUID - конвертирует к GUID (строка)
Если хранится null в поле, тогда он вернет либо пустую строку либо 0.