Страница 1 из 1

Зависает на простейшем отчёте

Добавлено: 21 авг 2008, 13:29
Pomuk
Добрый день.
Решил написать небольшой отчёт с использованием стандартного интерфейса множественного выбора. версия 7,12. Компилируется без проблем. В Галактике открывается интерфейс, выбираю несколько накладных, нажимаю Enter, и отчет виснет. Вот урезанный до простейшего исходник. Может кто подскажет что не так?

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

.Form 'GrupNakl'
.NameInList 'Выбор группы накладных'
.ARD
.var
 a:integer;
.endvar
.create view nakl as Select *
From KatSopr,pick
Where (( 
      word(22)      ==   Pick.wList  and
      KatSopr.NRec  ==   Pick.cRec (noindex)
));

.begin
   RunInterface('GetSomekatSopr',word(201),date(1,1,2008),date(1,1,2100),1,1);
   a:=getfirst pick;
end.

.fields
nakl.katsopr.dsopr
nakl.katsopr.nsopr
.endfields

   Дата         Номер

.{table nakl
 @@@@@@@@@@       ^
.}
.endform

Добавлено: 21 авг 2008, 13:47
m0p3e

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

.Form 'GrupNakl' 
.NameInList 'Выбор группы накладных' 
.ARD 
.var 
 a:integer; 
.endvar 
.create view nakl as Select * 
From KatSopr,pick 
Where (( 
      word(22)      ==   Pick.wList  and 
      Pick.cRec      ==  KatSopr.NRec
)); 

.begin 
   RunInterface('GetSomekatSopr',word(201),date(1,1,2008),date(1,1,2100),1,1); 
   a:=getfirst pick; 
end. 

   Дата         Номер 

.{table 'nakl:Main'
.fields 
nakl.katsopr.dsopr 
nakl.katsopr.nsopr 
.endfields 
 @@@@@@@@@@       ^ 
.} 
.endform

Добавлено: 21 авг 2008, 13:59
Pomuk
Результат тот же.
Да и вроде ничего не поменялось. Есть какая-то разница между тем где описать Fields - до начала цикла или в нём? Главное ж чтоб описание было пред самими полями.

Добавлено: 21 авг 2008, 14:05
Pomuk
Извиняюсь. Не заметил вот это изменение. Заработало. Спасибо огромное!
m0p3e писал(а):

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

.{table 'nakl:Main'
А можно в двух словах, что означает вот это ":Main" Пока не встречал упоминания об этом.

Добавлено: 21 авг 2008, 15:02
Den
2 Pomuk

А ты убери :Main в коде m0p3e и попробуй выполнить... ;

Добавлено: 21 авг 2008, 15:07
Pomuk
пробывал:) я ж и написал в первом сообщении что ничего не поменялось - Виснет.
Хотя вот в других отчётах(но с другим интерфейсом группового выбора) всё работает нормально. И в методичках Галактических в примерах там тоже нет никакого Main (правда и группового выбора там нет, а просто цикл по вьюшке). Вот и возник вопрос в каком случае надо использовать Main. В документации я ничего о нём не нашёл.

Добавлено: 21 авг 2008, 15:38
m0p3e
Изменений 3
1. Pick.cRec == KatSopr.NRec - основное! Смена корневой таблицы.
2. table 'nakl:Main' - почему так - х.з., но без него глючит неимоверно. :)
3. Fields - не принципиально, но так нагляднее в сложном коде.

Добавлено: 21 авг 2008, 15:47
Pomuk
Ясненько. Спасибо большое за ЛикБез :cool: