11.12.2010, 13:35 | #1 |
Участник
|
Здравствуйте! Я новичок в С/AL. Если можно разъясните следующую ситуацию:
Как инициализировать переменную с типом Record? В Globals описаниях я ставлю Auto0->тип Record->subtype AutoInfo(требуемая таблица) В следующем коде: Auto0.RESET; Auto0.SETFILTER(RecCode,RepairTimes); Quantity:=Auto0.RepairTime; Переменная Auto0 пустая. Строчка Quantity:=Auto0.RepairTime возвращает пустое значение. Что делать ума не приложу. В документации и на форуме решения не нашел! Заранее благодарен. |
|
11.12.2010, 17:00 | #2 |
Участник
|
В общем разобрался уже сам!
Код должен быть такой: Auto0.RESET; //Снимаем все фильтры Auto0.SETRANGE(RecCode,RepairTimes,RepairTimes); //Вот это на всякий случай Auto0.SETFILTER(RecCode,RepairTimes); //Устанавливаем фильр Auto0.FIND('-'); //Находим первую запись Quantity:=Auto0.RepairTime; //И присваеваем ее В общем все гуд! |
|
12.12.2010, 10:12 | #3 |
Administrator
|
Цитата:
Сообщение от nikshev
В общем разобрался уже сам!
Код должен быть такой: Auto0.RESET; //Снимаем все фильтры Auto0.SETRANGE(RecCode,RepairTimes,RepairTimes); //Вот это на всякий случай Auto0.SETFILTER(RecCode,RepairTimes); //Устанавливаем фильр Auto0.FIND('-'); //Находим первую запись Quantity:=Auto0.RepairTime; //И присваеваем ее В общем все гуд! Auto0.RESET; //вот это на всякий случай Auto0.SETRANGE(RecCode,RepairTimes); //а вот это устанавливаем фильтр * IF Auto0.FIND('-') THEN //Находим первую запись, если не нашли, ничего страшного Quantity:=Auto0.RepairTime; //И присваеваем ее только нифига не понятно, как это мы на RecCode накладываем фильтр, а потом ее же саму кидаем в Квантити... мы по первичному ключу ищем? тогда юзаем GET... |
|
12.12.2010, 10:26 | #4 |
Участник
|
Фильтр накладываем на RecCode, а в Квантити кидаем RepairTimes.
Проблема была в том что после наложения фильтра в Quantity заносилось пустое значение. Но после добавления вот этой строчки: Auto0.FIND('-');\\Найти первую запись. Все начало работать. |
|
12.12.2010, 11:12 | #5 |
Administrator
|
да, наложение фильтра это еще не поиск.
но setrange уже накладывает фильтр, setfilter не нужен а if find('-') then позволяет избежать ошибки, если запись не найдена. |
|