Страница 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