Галактика 5,84. Присоединенная форма

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Галактика 5,84. Присоединенная форма

Сообщение Алексей »

что то я не совсем понял вопроса... нужно, выводите. до вывода полей делаете .begin end. присваиваете туда значение.
мне иногда бывало необходимо изменить порядок данных идущий с прототипа, я объявлял таблицу в памяти, заполнял её данными из потока и уже потом заполнял форму данные из моей таблицы с нужным мне индексом.
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Галактика 5,84. Присоединенная форма

Сообщение agrail »

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

.linkform 'TexG_Rep_2_excelllllll' prototype is 'TexG_Rep'
.NameInList 'Карточка учета расхода топлива EXCEL(3)!!!'
.Group 'Карточка  учета  расхода  топлива'
.Var
 p,g,t,te,k,p1,g1,t1,te1,k1:double
.EndVar
.create view my from putgsm;
.fields
p
g
t
te
k
.endfields
.begin  {...}
end.
.{ CheckEnter Shapka {...}
.}
.{ CheckEnter DocAnalGSM
.begin
_loop putgsm where ((NrecPL==putgsm.cputlst(noIndex)))
{p:=my.putgsm.probegall
g:=my.putgsm.gruztn
t:=my.putgsm.timeheat
te:=my.putgsm.timeengine
k:=my.putgsm.kofn.}
end.
 ^^^^^
.}
.endform
т.е. в коде где цикл в итоге будет выведено 3 записи к примеру одних и тех же значений, т.е. последняя итерация со знач будет выведена 3 раза...а мне нужно чтобы вывела 3 раза с разными значениями. :mad: принцип след: те поля которые указаны в прототипе и которые я указываю в своей присоединенке выводит значения на ура. как только я указ что присоед табличку , указ перем. присваиваю в цикле этим перем поля из этой таблицы - в моем случае если в таблице заполнен один бак в гсм - выводит нормально, но елси несколько баков - выводит к примеру 3 раза с одними и теми же значениями а именно те что были в послед итерации цикла! может этот цикл в др место вставить или что? как? не понимаю.... :(
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Галактика 5,84. Присоединенная форма

Сообщение Den »

дак может поможет .{?internal внутри .{ CheckEnter DocAnalGSM
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Галактика 5,84. Присоединенная форма

Сообщение Den »

а..Вот Вы о чем..ну да что то вроде .{table (цикл по логической таблице внутри DocAnalGSM) тогда поможет..
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Галактика 5,84. Присоединенная форма

Сообщение Алексей »

тогда поможет следующая конструкция

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

.{Table 

.}
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Галактика 5,84. Присоединенная форма

Сообщение agrail »

попробовал через .{table .} та же история...делаю так:

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

.linkform 'TexG_Rep_2_excelllllll' prototype is 'TexG_Rep'
.NameInList 'Карточка учета расхода топлива EXCEL(3)!!!'
.Group 'Карточка  учета  расхода  топлива'
.Var
-----
.endvar
.create view my from putgsm where ((NrecPL==putgsm.cputlst));
.fields
p,g,t,te,k
.endfields
---------
.{ CheckEnter DocAnalGSM
.{table 'my.putgsm'
.begin
if getfirst my putgsm where ((NrecPL==putgsm.cputlst(noIndex)))=tsok do
{p:=my.putgsm.probegall
g:=my.putgsm.gruztn
t:=my.putgsm.timeheat
te:=my.putgsm.timeengine
k:=my.putgsm.kofn
}while getnext my putgsm where ((NrecPL==putgsm.cputlst(noIndex)))=tsok
end.
.}   //конец .{table
.Begin
----- //checkenter DocAnalGSM
end.
.}
^^^^^
-- та же история((( что я делаю не так?
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Галактика 5,84. Присоединенная форма

Сообщение Den »

.fields
...
my.putgsm.probegall
my.putgsm.gruztn
my.putgsm.timeheat
...
.endfields

.{ CheckEnter DocAnalGSM
....
.{table my
^ ^ ^ // здесь будут поля выведены стока скока рекордом в логический таблице my
.}
.}
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Галактика 5,84. Присоединенная форма

Сообщение agrail »

действительно все получилось данные вывелись...только вот какая незадача...3 раза вывелось одно и тоже (если в путевом листе 3 бака), например: пробег общий: 12км, 13 км, 14 км..и снова 12км, 13 км, 14 км, и еще раз 12км, 13 км, 14 км. - 3 раза. как убрать дупликаты? возможно в списке полей указываю вместе с полями прототипа свои поля с подключенной таблицей?
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Галактика 5,84. Присоединенная форма

Сообщение Den »

Я честно гря не понимаю толком что Вы там пытаетесь сделать исходя из предметной области. Но одно ясно точно - в цикле DocAnalGSM значит приходят нреки путевых листов (NrecPl прототипа) , в которых есть совпадение по putgsm.cputlst по 3-м записям. Вот и выводит на каждый NrecPl в цикле 3 записи putgsm. Как написана вью и логика отчета - так и выводит вообщем то....
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Галактика 5,84. Присоединенная форма

Сообщение agrail »

да все верно. я просто забыл привязать присоединенную табличку с данными прототипа, добавил условие: .create view my putgsm where ((NrecPL==putgsm.cputlst(noindex) and ostout==putgsm.ow(noindex))) и все встало на свои места. Спасибо!
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Галактика 5,84. Присоединенная форма

Сообщение agrail »

имеется стандартный шаблон из папки галактики: RGSM_Rep.xlt. Почитал литературу, про то что в этом шаблоне 3 листа (отчет, лист с таблицей и лист с переменными). А что если необходимо добавить поля с другой таблички как в примере свыше? как присоединить таблицу putgsm аналогично примеру выше? ведь здесь не объявить типа .create view .... .{table.... и т.д....
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Галактика 5,84. Присоединенная форма

Сообщение RAJAH »

agrail писал(а):имеется стандартный шаблон из папки галактики: RGSM_Rep.xlt.
Это - вообще другая тема, не относящаяся к присоединённым формам. Ищите на форуме. Вот, например: http://www.tyumbit.ru/gal_forum/viewtop ... f=2&t=5330
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Галактика 5,84. Присоединенная форма

Сообщение Den »

тока через макрос, через провайдера нужного организовать подключение в БД и вытянуть данные.
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Галактика 5,84. Присоединенная форма

Сообщение agrail »

Подключился к бд, присоединил табличку, указал поля(5 штук). как в макросе привязать данную табличку putgsm к переменным шаблона: toplivo, bak, и т.д...имя шаблона - лежит в C:\gal\EXE_240912\Xls\M_TRANSP\RGSM_Rep.xlt
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Галактика 5,84. Присоединенная форма

Сообщение zna »

Возникла смешная проблема по данной теме: перестала компилиться присоединённая rtf- форма, которая ранее компилилась нормально. Вызывается так:

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

#include \\galtest2\galsrv\130529Frn_resGkMks\DOGMKSPO_DOGPRN2.rtf
Отрабатывает компиляция мгновенно, никаких сообщений не получаю, ресурсник не создаётся и новая форма в списке не появляется. Если попробовать компилить текстовую форму, то всё проходит нормально. Что не так?
Ответить