Добрый день, можете подсказать. Существует таблица скажем с названием товара и его стоимостью. В карточке добавлены 2 поля LookupDataControl с названием и FloatDataControl для его стоимости. Как сделать так чтобы, когда мы выбираем товар из лукапа в флоат заносилось его значение. Ясно что нужно ловить событие OnDatasetDataChange датасета, Но вот как взять значение цены к названию не понятно. Спасибо.
Нравится
как-то так
Dataset('Price') = GetFieldValueFromDisabledField(DataField.LookupDataset, 'Price')
где DataField- поле справочника
или даже лучше вот так
GetFieldValueFromLookupDataset(DataField.LookupDataset, DataField.Value, 'Price')
Здравствуйте, Илья!
в данном случае исчерпывающий ответ предоставил Дмитрий. В некоторых случаях можно реализовать это также на уровне подзапроса в sq
Я думаю, что никак (хотя если я ошибаюсь, поправьте меня).
Это нужно делать из скрипта окна редактирования (в нем же можно тоже использовать событие OnDatasetDataChange).
А чтобы добраться до нужного вам компонента окна используйте
Self.ComponentsByName('Имя фрейма')
Илья, напрямую нельзя, но к датасету можно обращаться из скрипта окна.
В качестве решения могу предложить записывать ссылку на объект окна в атрибуты датасета, и если указанный атрибут не пуст, выполнить собственный код.