Re: Прямой SQL
Добавлено: 02 мар 2011, 12:41
И так тоже пробовал, всегда результат "пусто".Vik писал(а):Если у вас параметр №1 константа, сделайте так:Код: Выделить всё
sqlAddStr(str_handle, '''user'' = UserDeskRep.ownname ');
Обсуждение различных вопросов, связанных с сопровождением, администрированием и программированием
https://asu.tyumbit.ru/
И так тоже пробовал, всегда результат "пусто".Vik писал(а):Если у вас параметр №1 константа, сделайте так:Код: Выделить всё
sqlAddStr(str_handle, '''user'' = UserDeskRep.ownname ');
Почему нереально?Yuri писал(а):Столкнулся с такой ситуацией. Таблица Pick заполняется после вызова RunInterface(L_KatOrg::GetSomeKontr,false); неким количеством записей. При просмотре ее в Саппорте кол-во записей абсолютно верное. Но при просмотре ее MS Server Management Studio кол-во абсолютно другое (в сотни или даже тысячи раз больше). Естественно, прямой SQL-запрос выдает мне полную чепуху. Приходится делать вторую выборку в CREATE VIEW. Но проблема в том, что запрос не постоянный, а может меняться в зависимости от некоторых условий. А 2 вьюхи, как я понимаю сделать в одном интерфейсе нереально. Пришлось разбивать на 2 интерфейса, что не есть красиво.
Так вот вопрос. Может кто сталкивался с таким недоразумением в Pick?
Код: Выделить всё
create view
as select
*
from
Pick
;
Код: Выделить всё
create view two
as select
*
from
Pick
;
Код: Выделить всё
create view three
as select
*
from
Pick
;
Код: Выделить всё
if tsOk=getfirst Pick where(())
{}
if tsOk=two.getfirst Pick where(())
{}
if tsOk=three.getfirst Pick where(())
{}
А есть ли у меня возможность обратиться к полю Sys#UNRec в этой таблице в прямом запросе. Ибо как только я впихиваю или Pick.Sys#UNRec или Pick.UNRecgalover писал(а):Насколько помню по курсам, Pick особая таблица. Т.е. она содержит данные для текущего пользователя и обрабатывается индивидуально. Вот тут http://tyumbit.ru/gal_forum/viewtopic.php?f=2&t=228 еще немного про Pick.
А эти поля идентичны?galover писал(а):Просто Pick.nRec не прокатывает?
Код: Выделить всё
Create Table User.Pick "Выбранные элементы ВИПа"
Using "PICK.tmp"
#ifdef ComponentVersion
Component C_Common
#end
With Table_CODE = 1405
With Replace
(
NRec : tNRec "Номер записи"
, LastDate : Date "LASTDATE" // // используется в L_MakeDO
, FilialNo : Longint "FILIALNO"
, cRec : tNRec "номер элемента в выбираемой таблице"
, wList : Word "код списка (таблицы)"
, PickKol : tSumma "выбранное количество"
, PickNum : Word "порядок выбора"
)
With Index
(
Pick01 = wList + cRec
, Pick02 = wList + PickNum // для поддержания порядка выбора
);
Грустно. Но все равно спасибо )galover писал(а):А, ну так такие служебные поля в любой таблице есть, они обычно с индексами связаны. Их в описании словаря нет, по ним DSQL работать не будет