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

Синтаксис логической таблицы

Добавлено: 15 сен 2014, 18:34
smmmmm
Добрый день.
Подскажите, что обозначает конструкция .{table 'vBaseDocRee.BaseDoc'?
Т.е. если бы было .{table 'vBaseDocRee', то это цикл по логич. таблице vBaseDocRee, а .{table 'vBaseDocRee.BaseDoc' что такое?

Re: Синтаксис логической таблицы

Добавлено: 16 сен 2014, 01:58
evchic
цикл по логич. таблице vBaseDocRee с сортировкой по полу BaseDoc

Re: Синтаксис логической таблицы

Добавлено: 16 сен 2014, 10:33
smmmmm
Благодарю.

Re: Синтаксис логической таблицы

Добавлено: 16 сен 2014, 14:34
Ольга
evchic писал(а):цикл по логич. таблице vBaseDocRee с сортировкой по полу BaseDoc
Не, не так. Цикл по ЛТ vBaseDocRee по узлу BaseDoc. А сортировка применяется та, которая задана в ЛТ для этого узла.

Re: Синтаксис логической таблицы

Добавлено: 24 сен 2014, 10:18
smmmmm
Ольга писал(а):
evchic писал(а):цикл по логич. таблице vBaseDocRee с сортировкой по полу BaseDoc
Не, не так. Цикл по ЛТ vBaseDocRee по узлу BaseDoc. А сортировка применяется та, которая задана в ЛТ для этого узла.
Объясните, пожалуйста, поподробней...

Re: Синтаксис логической таблицы

Добавлено: 24 сен 2014, 10:39
edward_K
есть 3 способа задать сортировку
1. Указать индекс в скобках во from. При этом индекс в первых полях должен соотв. фильтру без noindex (то есть индексному). Это лучше соблюдать и для последующих вариантов. Если при компиляции получите сообщение, что запрос выполняется на внешней выгрузке это плохо.
2. Указать сортировку за )) в order by - но она будет распространяться на весь view. Можно и насколько именованных сортировок сделать
3. указать сортировку в bounds и поднять нужный в зависимости от потребностей.
Для 2 и 3 можно указывать индекс или перечислять поля для сортировки - но смотри 1.

Re: Синтаксис логической таблицы

Добавлено: 24 сен 2014, 11:16
Den
smmmmm , ну можно ведь попробовать да и написать оба варианта конструкций ? не ?)..и сравнить результаты чем отличаются.
//цикл по ЛТ

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

.form test123
.ard
.var
 d1,d2 : date;
.endvar
.create view t1
  as select
    * from katorg,basedoc
     where ((    201==basedoc.viddoc
             and d1<<=basedoc.ddoc
             and d2>>=basedoc.ddoc
             and katorg.nrec /== basedoc.corg
           ))
           ;
.begin
 d1:=date(01,01,2014);
 d2:=date(31,03,2014);
end.
.{table t1
.fields
  katorg.name
  basedoc.ddoc
  basedoc.nodoc
.endfields
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     @@@@@@@@@@  @@@@@@@@@@@@@@
.}
.endform
//цикл по узлам ЛТ

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

.form test123
.ard
.var
 d1,d2 : date;
.endvar
.create view t1
  as select
    * from katorg,basedoc
     where ((    201==basedoc.viddoc
             and d1<<=basedoc.ddoc
             and d2>>=basedoc.ddoc
             and katorg.nrec /== basedoc.corg
           ))
           ;
.begin
 d1:=date(01,03,2014);
 d2:=date(31,03,2014);
end.
.{table 't1.katorg'
.fields
  katorg.name
.endfields
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
.{table 't1.basedoc'
.fields
  basedoc.ddoc
  basedoc.nodoc
.endfields
                    @@@@@@@@@@ @@@@@@@@@@@@@@@@
.}
.}
.endform