Страница 1 из 1
Народ помогите новичку с временной таблицей справиться
Добавлено: 20 июл 2005, 18:51
slotart
Подскажите что еще наддо написать чтобы все нормально выгрузилось в мою таблицу.
.LinkForm 'REEPLATDOCS2_0_NEW' Prototype is 'ReePlatDocs'
.Group 'Реестр оплаченных валютных документов'
.DEFO LANDSCAPE
.Create view tPlat as select plpor.npassport where ((PlPorNrec == Plpor.nrec));
.fields
CommonFormHeader
header
datebeg
dateend
ourbankInfo
VidDoc
strFilters
FilterPlDoc1
FilterName
ndesimv
plpor.npassport
nodok
datob1
nameall
sumplat
simvolv
SummaByAll
.endfields
.Create View vmy As Select * from myTmp;
.fields
vMy.myTmp.Field1
vMy.myTmp.Field2
vMy.myTmp.Field3
vMy.myTmp.Field4
vMy.myTmp.Field5
vMy.myTmp.Field6
vMy.myTmp.Field7
vMy.myTmp.Field8
vMy.myTmp.Field9
vMy.myTmp.Field10
vMy.myTmp.Field11
vMy.myTmp.Field12
vMy.myTmp.Field13
vMy.myTmp.Field14
vMy.myTmp.Field15
vMy.myTmp.Field16
vMy.myTmp.Field17
.endfields
.{
.{
.{
insert current myTmpTable Set
myTmp.Field1:=CommonFormHeader,
myTmp.Field2:=header,
myTmp.Field3:=datebeg,
myTmp.Field4:=dateend,
myTmp.Field5:=ourbankInfo,
myTmp.Field6:=VidDoc,
myTmp.Field7:=strFilters,
myTmp.Field8:=FilterPlDoc1,
myTmp.Field9:=FilterName,
myTmp.Field10:=ndesimv,
myTmp.Field11:=plpor.npassport,
myTmp.Field12:=nodok,
myTmp.Field13:=datob1,
myTmp.Field14:=nameall,
myTmp.Field15:=sumplat,
myTmp.Field16:=simvolv,
myTmp.Field17:=SummaByAll;
}
}
}
^
@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
с @@@@@@@@@@ г. по @@@@@@@@@@ г.
^
^
^
.{CheckEnter FILTERPLDOC
^
.{CheckEnter FILTERPLDOCNAME
^
.}
.}
Паспорт │ Номер │ Дата │ Наименование │ Сумма │Валюта│
сделки док-та платежа │
.{table 'vMyView.myTmpTable'
.{
.{
@@@@@ @@@@@ @@@@@ @@@@@@@@@ @@@@@@ @@@@@@ .}
.{.?BANKFOOTER1;;false; .}
.}
.{.?ORGFOOTER1;false .}
.{.?ORGFOOTER2;false .}
.}
ИТОГО : .{.?FOOTER2;&'&&&&&&&&&&&&&&&&&.}
.endform
Добавлено: 21 июл 2005, 05:07
edward_K
такое ощущение что вы сильно отступили от формы прототипа
все циклы должны быть на старых местах.
после стандартных циклов дожен идти тока цикл по вашей табле, в котором вы можете организовать свои циклы используя
.{while
.{horizontal while
.{table
.{horizontal table
.{?internal;
и не в коем случае циклы из формы прототипа
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 03 июл 2015, 11:41
Nadusha
Создаю форму по валютным п/п... В excel-кой форме не подбрасывается сумма валюты!!! Подскажите что не так написано???
.LinkForm 'pev2_REEPLATDOCS11' Prototype is 'REEPLATDOCS'
.Group 'Реестр оплаченных валютных документов'
.Nameinlist 'Журнал валютных платежных документов (ПК, собственные п/п)'
.DEFO LANDSCAPE
.var
ab,nd:string;
dd:date;
.endvar
.create view tabl;
as select fpstbud.abbr
from plpor,fpoborot,fpstbud
where
((
comp(plpornrec)==fpoborot.csoprdoc(noindex)
and fpoborot.cstbud==fpstbud.nrec
))
;
.fields
MyOrgName
CommonFormHeader
header
datebeg
dateend
ourbankInfo
VidDoc
strFilters
FilterPlDoc1
FilterName
ndesimv
ab
nodok
datvip1
sumplat
sumplat дело в этой таблице, а как прописать её "голову сломала"; проблема со столбиком ''Сумма ^ ''
simvolv
PolName
NAMEPL1
NAMEPL2
NAMEPL3
NAMEPL3
NAMEPL3
PlatBankName
summaall
if(Подписант_Роль <> '', Подписант_Роль, Подписант_должность)
Подписант_ФИО
.endfields
^
^
^ с ^ по ^
^
^
^
.{CheckEnter FILTERPLDOC
^
.{CheckEnter FILTERPLDOCNAME
^
.}
.}
.{.?SHAPKA1; .}
.{.?SHAPKA2; .}
.{.?SHAPKA3; .}
.{.?SHAPKA4; .}
Столбики:
Аббр.ст. ПК Номер Дата выписки Сумма оплаты в рублях Сумма ^ Вид валюты Получатель Назначение платежа Банк плательщика
.{
.{
.{
.begin
if tabl.getfirst=0 then ab:=tabl.fpstbud.abbr else ab:=' ';
end.
Столбики для таблицы excel:
^ ^ ^ ^ ^ ^ ^ ^^^^ ^ .{.?SUMMA1; ^ .}
.}
.{.?BANKFOOTER1;;false; .}
.}
.{.?ORGFOOTER1;false .}
.{.?ORGFOOTER2;false .}
.}
.{.?FOOTER1; .}
ИТОГО : .{.?FOOTER2; ^ .}
.if EXISTFEESIGNERS_REEPLATDOCS
.{CheckEnter FEESIGNERSCYCLE_REEPLATDOCS
^ ^
.}
.else
.end
.endform
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 08 июл 2015, 10:40
Nadusha
И тишина... и мертвые с косами стоят(((...
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 08 июл 2015, 20:29
edward_K
1. Влом. Работы и так хватает.
2. Поля лучше раскидывать по местам - тяжко так понять где чего не так.
3. а в стандартной форме то выводится?
4. Это SLK или EXCEL? В SLK может быть проблема со скобками. 100 лет не делал, но наскока помню {} должны быть в разных ячейках
Я предпочитаю именно Excel и вывод делать с помощью функции в fields где сдвигать столбец.
5. По правилам форумов не стоит мешать все в одну кучу - удалю ведь без предупреждения
. Потому никто и не читает.
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 09 июл 2015, 17:00
Nadusha
форма slk... бяки!!! за эти данные отвечает таблица plpor и поле sumplatv (столбик сумма ^)!!!
как же тяжело новичкам с галактикой
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 09 июл 2015, 18:41
edward_K
Вы просто не умеете ее готовить. Или беретесь сразу за большое, не понимая сути.
1. Заведите новую тему. Обзовите "Как вывести данные из таблицы в отчет"
2. Из вашей формы вырежьте все лишние - но чтобы форма собиралась. Ну или хотя бы раскидайте.
3. Сие вставить в "Code - видите чуть выше кнопочку.
Ответов будет больше - скорей всего будете посланы в поиск по форму- там чего то есть, но местами ссылки битые
4. А так начните с текстовой -что вы сразу в SLK c горизонтальным циклом? Я и то вроде час промучался чтобы подобрать комбинацию.
должно быть типа |.{^|.}| или наоборот. Если текст заработает, тогда уж делайте SLK. Мож там у вас галочки не стоит что сумма в валюте.
5. SLK отстой. И там вагон проблем может быть при компиляции. Посмотрите Excel_lib.Pdf и сноски на форуме. Лучше тогда RTF.
6. Слушайтесь модератора. А то он бывает злой
.
Код: Выделить всё
.create view tabl;
as select fpstbud.abbr
from plpor,fpoborot,fpstbud
where
((
comp(plpornrec)==fpoborot.csoprdoc(noindex)
and fpoborot.cstbud==fpstbud.nrec
))
надо бы переписать
Код: Выделить всё
.create view tabl;
as select fpstbud.abbr
from plpor,fpoborot,fpstbud
where
((
comp(plpornrec)==fpoborot.csoprdoc(noindex)
and fpoborot.cstbud==fpstbud.nrec
[i]and comp(plpornrec) == plpor.nrec[/i]
))
ко всем полям лучше обращаться с указанием view и таблицы - tabl.plpor.sumplatv.
позиционирование лучше тоже делать по каждой табле в отдельности. Иначе все нужные поля нужно прописать в as select.
if tbal.getfirst plpor=0 {} - тока так.
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 10 июл 2015, 13:28
Nadusha
спасибки за наставления...
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 04 апр 2016, 19:06
Иван
Коллеги, подскажите пожалуйста как примерно в таком же отчете создать временную таблицу с данными из прямого SQL ?
можно просто пример?
я делаю примерно так, но на строке sqlFetchInto(stmt, tnOb02); компилятор говорит, что не знает, что это за таблица
Код: Выделить всё
#include FeeSigners.frn
.linkform 'AmortSee03_Excel_new2' prototype is 'AmortSee'
.nameinlist 'Реестр разниц данных по амортизации по методам учета в формате Excel 3'
.group 'Реестр разниц данных по амортизации'
.var
MrkKatOS : longint;
IndNo : longint;
stmt : longInt;
str: longint;
.endvar
table struct Ob02
(
inv : string,
Sum : double
)
with index
(
ob02_idx = inv
);
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 04 апр 2016, 19:33
savov
Коллеги, подскажите пожалуйста как примерно в таком же отчете создать временную таблицу с данными из прямого SQL ?
можно просто пример?
я делаю примерно так, но на строке sqlFetchInto(stmt, tnOb02); компилятор говорит, что не знает, что это за таблица
Я делал через vip
Код: Выделить всё
create View as Select *
from tblsalesNota...
;
stmt := sqlAllocStmt;
sqlAddStr(StmtString,' SELECT t2.daten, t2.usl, t2.name, Sum(sale), Sum(sebest), Sum(kolvo), t2.cpodr, t2.invero, t2.country ');
.... тут формируются остальные строки запроса
sqlPrepare ( stmt, StmtString );
sqlExecute ( stmt );
sqlFetchInto(stmt, tntblsalesNota);
sqlFreeStmt(stmt);
Сама tblsalesNota описана в проекте.
У Вас присоединенка, но объявить таблицу через .Create view все равно надо, а таблицу тоже можно запихнуть в проект.
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 04 апр 2016, 19:57
savov
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 05 апр 2016, 08:13
RAJAH
Иван
Про sqlCreateTmpTable читали?
Re: Народ помогите новичку с временной таблицей справиться
Добавлено: 05 апр 2016, 12:19
edward_K
1. Для форм временные таблицы нужно объявлять в проекте (лучше include ?????.tbl)
Если у вас FCOM то сие вам использовать не получиться.
Учтите, что после этого они становятся глобальными - не забывайте чистить перед использованием.
2. Далее везде в Fcom нужно их включать в .create view имя [as select ...] From ваша_таблица
3. Всегда лучше обращяться к ним как имя_вью.таблица.поле или имя_вью.tnтаблица если нужен индетификатор или имя_вью.getfirst таблица
4. Для DSQL есть еще sqlFetchIntoMT - получите структуру с вариантным массивом, по которой можно также бегать. Будет падать - значит ссылку на структуру не освободили. Можно просто в 0 ее приравнять.
5. Ну и совсем экзотика - многомерные массивы и т.п.
6. Ну и SqlBindCol + SqlFetch также можно использовать, но с MT проще в конечном счете.