Добрый день! Нужна помощь.
Есть задача получить бух. справку закрытия счетов текущего месяца. Пишу:
select Plpor.* where ((
0 == REFTABLE.WACCOUNT
and 16 == REFTABLE.WMAIN
and 0 == REFTABLE.WSUB
and 9008 == REFTABLE.WTABLE1
and 4612012188596493196 == REFTABLE.CRECORD1
and REFTABLE.CRECORD2 /== PLPOR.NREC
and date(31,10,2007) == PLPOR.DATVIP (noindex)));
Все прекрасно работает, выдает нужную справку.
Но нужно то же самое сделать в vip. Если же пишу
GetFirst Plpor.* where ((
0 == REFTABLE.WACCOUNT
and 16 == REFTABLE.WMAIN
and 0 == REFTABLE.WSUB
and 9008 == REFTABLE.WTABLE1
and 4612012188596493196 == REFTABLE.CRECORD1
and REFTABLE.CRECORD2 /== PLPOR.NREC
and date(31,10,2007) == PLPOR.DATVIP (noindex)));
то не находит! Почему?
Разница между select и GetFirst
Модераторы: m0p3e, edward_K, Модераторы
-
- На пенсии
- Сообщения: 797
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г. Тюмень
- Контактная информация:
Во первых что такое GetFirst Plpor.*
Во вторых GetFirst может работать только с одной таблицей, в данном случае в where должно справа использоваться только PlPor
Во вторых GetFirst может работать только с одной таблицей, в данном случае в where должно справа использоваться только PlPor
Код: Выделить всё
if GetFirst REFTABLE where //возможно не GetFirst?
((
0 == REFTABLE.WACCOUNT
and 16 == REFTABLE.WMAIN
and 0 == REFTABLE.WSUB
and 9008 == REFTABLE.WTABLE1
and 4612012188596493196 == REFTABLE.CRECORD1
)) = tsOK
{
//непонятно зачем date(31,10,2007) == PLPOR.DATVIP?
if GetFirst PlPor where ((REFTABLE.CRECORD2 == PLPOR.NREC)) = tsOK
{
if date(31,10,2007) = PLPOR.DATVIP {}
}
}
Жду выхода Вселенная 2.12!