.LinkForm 'NAME' Prototype is 'Schfrees'
.Create view Tabl
from SchFact, SpSchf, KatMc, KatParty, KatOtPed
where
((
nSchFact == SchFact.nRec and
SchFact.nRec == SpSchf.cSchFact and
SpSchf.cMcUsl == KatMc.nRec and
SpSchf.cParty == KatParty.nRec and
SpSchf.cOtpEd == KatOtPed.nRec
))
order external by KatMc.Name, KatParty.Name, SpSchf.Price
;
... // структура прототипа
.{Table tabl
.begin
... // Заполнение Таблицы в Памяти
end.
.}
Как далее можно организовать цикл по Таблице в Памяти и вывести из неё все необходимые данные?
Последний раз редактировалось DarkAngel27 11 окт 2006, 16:44, всего редактировалось 1 раз.
1. order external by - уберите нафиг, вы ж все равно во времянку грузите.
2.getfirst da.SpSchf - правильней писать da.getfirst SpSchf - в 8 такое и компилятор не скушает.
3.чтобы понять в чем дело(в коде или в select)
вставте мессагу в первую строку формы.
4.insert in table_in_mem тоже не понятно - убирайте
set tabl1.table_in_mem.name := mc_name;
set tabl1.table_in_mem.BARKOD := da.KatMC.BarKod;
set tabl1.table_in_mem.CMC := da.SpSchf.cMcUsl;
If tabl1.insert current table_in_mem<>tsOK then
insert into ??? set здесь не покатит, так есть данные с другой вьюхи(тогда точно такая мессага и будет)
2. Спасибо за совет.
3. Вставил Message. В итоге ошибка выскачила до появления сообщения.
4. Сделано так исходя из того, что: если такого индекса нету, то мы вставляем запись, а если он есть, то только делаем update строки.
ну попробуйте оставить тока
.Create view tabl1 as select table_in_mem.*
from table_in_mem
;
мне вообще не нравиться table_in_mem - какое то оно не уникальное
может с другим ресом пересеклось?
поменяйте имя таблы.
и
If insert in table_in_mem<>tsOK
все таки неправильная конструкция.
1. Пробовал, та же ошибка.
2. Имя таблицы менял, та же ошибка (На сколько помню, если в ресурсе таблицы с одним и тем же именем встретятся, то компелятор выдаст ошибку)
при компиляции ругнется если у вас все ресы подцепляны.
сделайте ард тока с этой view и мессагой и скомпилите в новый рес.
у меня всегда работало - даже на 573.
поробуйте объявить новую таблу с 1,2 полями.
Выдаются пустые значения (такое впечатление, что таблица в памяти заполнена пустыми записями), ставил message после update запись в таблице есть и правильная. Но при печати выводятся пустые строки, хотя их количество верное.
Что сделано не так?
Если в .fields выводить ASDLKJFHG.NAME ASDLKJFHG.BARKOD, то выводится последняя запись в таблице.