Последняя версия DataExpress 26.10.11

Изображение Скачать | Изображение Что нового? | Демо

Ошибка присваивания значения объекта в скрипте

Здесь обсуждаем все ошибки общего характера или непонятного происхождения. Нашли ошибку - вам сюда. Увидели окошко "Опа!", не проходите мимо.
Правила форума
Прежде чем сообщить об ошибке убедитесь, что у вас установлена актуальная версия программы и вы ознакомились с последними новостями.
НЕ ПИШИТЕ СЮДА ОШИБКИ В РАСШИРЕНИЯХ!
Аватара пользователя
AlekseiM
Новичок
Сообщения: 18
Зарегистрирован: 19 сен 2024, 16:35
Откуда: Екатеринбург
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Ошибка присваивания значения объекта в скрипте

Сообщение AlekseiM » 12 сен 2026, 15:32

- На простой форме разместил объект «Объект» и кнопку.
- Объект связал с таблицей, в качестве отображаемого поля выбрал числовое поле.
- По кнопке присваиваю объекту ID существующей записи:

Код: Выделить всё

procedure dxButton1Click(Sender: TObject);
begin
  Self['Объект'] := 1; //любой  ID таблицы
end;

Если отображаемое числовое поле равно 0 или пустое, возникает ошибка Field … error invalid variant value.
Вручную через список объекта запись выбирается нормально. Если поменять отображаемое поле на текстовое, тот же код работает.

Аватара пользователя
cordek
Эксперт
Сообщения: 2563
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 754 раза
Поблагодарили: 612 раз
Контактная информация:

Ошибка присваивания значения объекта в скрипте

Сообщение cordek » 12 сен 2026, 15:36

То есть вручную вы можете выбрать 0?
балуюсь разработкой LIMS JDX
cordek {/а} yandex/ru

Аватара пользователя
AlekseiM
Новичок
Сообщения: 18
Зарегистрирован: 19 сен 2024, 16:35
Откуда: Екатеринбург
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Ошибка присваивания значения объекта в скрипте

Сообщение AlekseiM » 12 сен 2026, 15:40

Да, можно выбрать 0. Если в одинарные кавычки значение обернуть - работает

Код: Выделить всё

 Self['Объект'] := '1';

В общем как-то странно.

Аватара пользователя
AlekseiM
Новичок
Сообщения: 18
Зарегистрирован: 19 сен 2024, 16:35
Откуда: Екатеринбург
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Ошибка присваивания значения объекта в скрипте

Сообщение AlekseiM » 13 сен 2026, 09:23

Уточнение:
Ошибка выскакивает в числовом поле = null. Кавычки ни при чем, 0 - работает.
Снимок экрана 2026-09-13 112000.png
Снимок экрана 2026-09-13 112000.png (42.4 КБ) 406 просмотров

На скрине в поле объекта - осталось предыдущее значение

Код:

Код: Выделить всё

procedure dxButton1Click(Sender: TObject);
var L:integer;
begin
  L:= Self['ID поля'];
  Self['Объект'] := L;
end;

procedure Form_Create;
begin
 dxButton1.OnClick := @dxButton1Click;
end;   


Вернуться в «Ошибки (баги) в DataExpress»